Giter VIP home page Giter VIP logo

cherry's People

Contributors

haishanh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cherry's Issues

git source clone, npm run dev, Cherry bookmarks have broken icons and NodeJS console error "Proxy opts.uri is mandatory"

Proxy opts.uri is mandatory
InvalidArgumentError: Proxy opts.uri is mandatory
   at buildProxyOptions (...cherry/node_modules/undici/lib/proxy-agent.js:28:11)
   at new ProxyAgent (...cherry/node_modules/undici/lib/proxy-agent.js:40:20)
   at ...cherry/src/routes/api/favicon/[site]/favicon.util.ts:16:61

I'm not running with docker or anything, just git clone of the project, setup .env for database, I was able to create (email/SQLite local) account through the webapp, then after adding a bookmark this error is on the server-side when running localhost in browser.

EDIT: More information. It's the images are broken on all the bookmark. In Chrome I opened the Image link in another tab and it's like this: http://localhost:5173/api/favicon/old.reddit.com - which generates the server-side console error.

I'm not running within docker, running native on Ubuntu 22.04 development machine. Thank you.

Importing bookmarks fails (Chrome and Safari...)

Import of bookmarks from Safari fails. I have also tested Chrome export and also failed. Also tested Chrome as browser for import...

Step 1. I export bookmarks from Safari on Mac, it gives an "Safari Bookmarks.html" file of about 600kb.
Step 2. Import file

Big red "Import failed" message.

Here are the logs from docker logs cherry for Safari import

Listening on 0.0.0.0:5173
10.0.0.1 - - [08/Oct/2022:12:59:23 +0000] "GET /settings/import HTTP/1.1" 200 6497 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"
2022/10/08 12:59:28 [warn] 489#489: *1 a client request body is buffered to a temporary file /tmp/nginx/1/00/0000000001, client: 10.0.0.1, server: , request: "POST /api/import HTTP/1.1", host: "cherry.personal.domain", referrer: "https://cherry.personal.domain/"
10.0.0.1 - - [08/Oct/2022:12:59:28 +0000] "POST /api/import HTTP/1.1" 413 31 "https://cherry.personal.domain/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"

Here is for Chrome import

2022/10/08 13:20:01 [warn] 481#481: *50 a client request body is buffered to a temporary file /tmp/nginx/2/00/0000000002, client: 10.0.0.1, server: , request: "POST /api/import/netscape-bookmark-file-1 HTTP/1.1", host: "cherry.personal.domain", referrer: "https://cherry.personal.domain/"
10.0.0.1 - - [08/Oct/2022:13:20:01 +0000] "POST /api/import/netscape-bookmark-file-1 HTTP/1.1" 413 31 "https://cherry.personal.domain/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"
2022/10/08 13:20:01 [info] 481#481: *50 client 10.0.0.1 closed keepalive connection
2022/10/08 13:21:17 [warn] 481#481: *59 a client request body is buffered to a temporary file /tmp/nginx/3/00/0000000003, client: 10.0.0.1, server: , request: "POST /api/import/netscape-bookmark-file-1 HTTP/1.1", host: "cherry.personal.domain", referrer: "https://cherry.personal.domain/"
10.0.0.1 - - [08/Oct/2022:13:21:17 +0000] "POST /api/import/netscape-bookmark-file-1 HTTP/1.1" 413 31 "https://cherry.personal.domain/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"```

[Feature] Save a local copy of bookmarks

Feature explanation

A local archive of all bookmarks saved, such as a copy of the webpage or a high quality screenshot.

Why it would be useful

This would be useful for offline use and having a backup of your bookmark if the link goes dead.

If I have time this week I may attempt implementing this my self.

Docker Compose - user & password

Hello,
I have executed the following docker compose

---
version: '3.3'

services:
  cherry:
    image: haishanh/cherry:test
    container_name: auth_cherry
    volumes:
      - "/home/cherry:/data"
    environment:
      - JWT_SECRET=some-secret-string
      # this flag is important for remote-user feature to work
      - ENABLE_HTTP_REMOTE_USER=1
      - HTTP_REMOTE_USER_HEADER_NAME=Remote-User
    ports:
      - 8012:8000

When the docker is up, it requests a user and a password, which I can't find in your documentation.
What is the default user and password, so I can authenticate to the app.

Chrome browser, Bookmarklet works on Reddit page, but "fetch failed" on Twitter page

  1. This works: https://old.reddit.com/r/AskReddit/comments/y01xtf/film_snobs_of_reddit_who_was_the_single_worst/irri5i5/ you get "Cherry Picked!"

  2. This fails: https://twitter.com/Aishalee02/status/1576501603376324608 with "failed to fetch"

I'm running the Cherry app with "npm run dev" from git source checkout, localhost:xxx

The Chrome console says CORS issue when Bookmarklet is used on Twitter. Is Twitter blocking this?

Site not resolving over Dynamic DNS address

I'm currently running cherry, via docker, like this:

docker run -d --name cherry \
-v /home/user1/dockerfiles/cherryBookmarks/data:/data \
-p "8032:8000" \
-e "JWT_SECRET=mys3cr3cts0StronG43!" \
-e "ENABLE_PUBLIC_REGISTRATION=1" \
-e "USE_INSECURE_COOKIE=1" \
haishanh/cherry

I had to use the USE_INSECURE_COOKIE because it wouldn't let me login without that being set.

And now I'm able to wonderfully access it on my local network at http://192.168.1.25:8032. I.e. where my server is on my local network. I'm able to access that as long as, of course, I'm connected to my local network. That works great.

I'm using Chrome web browser through all this.

The problem now starts with me using my router's dynamic dns. We'll call it: https://mysynologyrouter.publicdynamicdns.com. I've configured my router to port forward the public port 33847 to my local port 8032. So, when I go to https://mysynologyrouter.publicdynamicdns.com:33847, I get a ERR_SSL_PROTOCOL_ERROR that says "This site can’t provide a secure connection."

I've tried to just access via plain http via a http://mysynologyrouter.publicdynamicdns.com:3387. However, my dynamicDNS provider appears to always auto forward http to https and then receives the same error. I know my dynamicDNS has all its letsencrypt certs in place because I have other services, such as Bitwarden, successfully using this dynamicDNS URL.

How do I get passed this ERR_SSL_PROTOCOL_ERROR error that says "This site can’t provide a secure connection" whenever I try to access Cherry via my dynamicDNS host name?

Importing my Bookmarks Successful, but shows no bookmarks

I've installed Cherry version 0.0.6 and it is working flawlessly, but after importing my bookmarks no bookmarks are shown.

My bookmarks HTML backup file is 10.8 megabytes in size. The newest versions of Firefox (version 108.0.1) and Google Chrome (version 108.0.5359.125) both successfully import my bookmarks file. But, Pocket does not -- it does the same thing Cherry does (shows 0 bookmarks after "successfully" importing my bookmarks backup file).

Perhaps the issue has something to do with my bookmark file as I've been faithfully backing up my bookmarks since 2007?

A copy of my Bookmarks file can be found here.

请问宝塔如搭建了如何设置环境变量。

我通过linux服务器宝塔搭建的!直接Docker跑起来了,反向代理也设置好了。在登陆的输入账号密码无反应!请问这是咋回事?请问宝塔怎么设置环境变量?

[Feature Request] Enhance search bar - Show untagged bookmarks

Hi!
Thanks for create this. Simple, fast and reliable.

If you search for a tag in the search bar, you must "enter" o click the "search" button to get the result and if you want to "clean" the search, you must delete the tag in the search bar and then press again the button.
There is a way to show the result when you type the tag or the query? Like real time?

In the Tag view you can view all the tags. But you can't see the untagged ones. Can you add this? This will be useful to keep in order the bookmarks.

Thanks!!

FR: SSO by Proxy authentication

Describe the feature you would like to see.

It would be nice to allow authentication via an HTTP-header containing the username. This would allow using proxy authentication via sso providers like Authelia or Authentik and by this, it would also be possible to authenticate using ldap or oidc.

Describe the solution you'd like.

  • New environment variables for:
    • Whether the header authentication should be enabled
    • The header containing the username of the user
    • The header containing the email of the user
  • Automatic account creation for new users, this can happen transparently

Additional context to this request.

Proxy authentication basically works like this:

  • You put a proxy in front of your application
  • This proxy does not let anything through to the application until the user authenticates with the proxy
  • As soon as the user is authenticated, the proxy passes the traffic to the application including a header containing their username, email and whatever else you configure
  • Authentication for apps like the browser extension can be handled by creating an API-token which can be used to authenticated to the api when no heder is present

OpenID Connect would also be a good option, but this is much simpler to implement.

Many other services do this as well, for example Paperless
and Firefly III

I'd really like to have some form of SSO, as I host many services for myself and don't like to sue different credentials for everything. And it should not be too complicated to implement 🙂 What do you think?

502 after logging in via Nginx reverse proxy

Hello there. Cherry seems to be a super nice tool, only thing is that I can't get it to work reliably. I can register and log into it, but only the first time; every subsequent query to it greets me with a 502.

This is my NGINX segment for Cherry, specifically. What am I missing here?

server {
	server_name				cherryinstance.domain.com;
	
	listen					443 ssl http2;
	
	ssl_certificate			/etc/letsencrypt/live/cherryinstance.domain.com/fullchain.pem;
	ssl_certificate_key		/etc/letsencrypt/live/cherryinstance.domain.com/privkey.pem;
	ssl_protocols			TLSv1.2 TLSv1.3;
	
	location / {
		proxy_pass								http://172.18.0.14:8000;
		proxy_http_version						1.1;
		proxy_set_header X-Real-IP				$remote_addr;
		proxy_set_header X-Forwarded-For		$proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto		$scheme;
		proxy_set_header Upgrade				$http_upgrade;
		proxy_set_header Connection				$connection_upgrade;
		proxy_set_header Host					$host;
		proxy_redirect							http:// https://;
		add_header Strict-Transport-Security	"max-age=15552000; includeSubDomains" always;
	}
}

[Feature Request] Ability to export bookmarks from Cherry to json

Hi,
Most bookmark services have the ability to export the bookmarks saved in their chosen domain form into to some format of json. So it'd be nice if Cherry came out of the box with the ability to not only import from popular format, but to also export back to chrome, firefox, etc.. Suggesting that format be json. And suggesting that the json export include the metadata saved for each cherry picked bookmark. e.g. Its: tags, group, name, and description.

Congrats on a wonderful piece of software. really useful

Is cherry dead?

I think cherry has a lot potential, but I cant see activity for a long time. Does somebody knows more?

After creating the account, click the "login button" and there is no response.

After my docker-compose was created, the input account number and clicking the login button did not respond.

docker-compose file:

version: '3'

services:
  cherry:
    image: haishanh/cherry:v0.0.3
    container_name: cherry
    restart: unless-stopped
    ports:
      - 5150:8000
    volumes:
      - /data/cherry/data:/data
    environment:
      - JWT_SECRET=some-some-secret-string
      - ENABLE_PUBLIC_REGISTRATION=1

请问一次性删除全部书签?

如何批量删除,或者一次性删除全部书签?
使用场景:
导入chrome书签后,发现书签不对或者需要更新。
因此需要一次删除全部的书签后,在重新导入;

但是没有找到,删除全部书签的按钮,只能一个组一个组的去删除。

Remote assets?

Hi,

is there any reason, why the favicons are not in the docker container, but instead are served directly from your server? this way you can get referrer to my installation.

Could you please put the favicon in the images and locally load them?

<link rel="icon" href="https://i1.haishan.me/file/pelican/01/jCNacmZIbjv.png" sizes="160x160" />

Search functionality through Chrome's Omnibox

Hey,
I started using Cherry a couple days ago and realized it didn't have a search feature in order to access my bookmarks more quickly.
Took some inspiration from Linkding's Omnibox feature and decided to try it out.
I don't have too much experience with the API at this moment.
The idea would be to improve it so it can use the Personal Access Token and query without having to login first.
At this moment, it can access the bookmarks by calling /api/bookmarks?q= while the user is logged in.

I tried it locally, importing the unpacked source code into Chrome.

https://github.com/MassilloAriel/CherryOmnibox

Thanks for your work :)
Best!

Extension Feature Requests: Shortcut to cherry webpage and already favorited indicator

Hi, I have two feature requests for the browser extension.

One is a way to get to the cherry webpage through the extension icon. Some of my other extensions have a right click menu with custom entries so it should be possible to add a small shortcut there. (I'm using Firefox, I don't know if Chrome can do the same)

The other request is adding a small icon (like a star) in the corner of the extension icon so you know if you've already favorited a page. I have other extensions that show a number on their icon (uBlock Origin shows blocked ads, Bitwarden shows how many saved passwords for a page) but I don't know if that's a feature built in to Firefox and if it is limited to just numbers.

Loving everything else about Cherry so far, good job

Edit Number of Groups on Sidebar

It would be good to be able to edit the number of visible groups on the side bar, including showing all groups at once instead of the 4 or 5 most recent.

[Feature request] Show untagged or ungrouped bookmarks

It would be nice to have feature where you could sort out bookmarks that are not tagged as well as bookmarks that are ungrouped.

The use case is that I use the bookmarklet a lot to add bookmarks. Now and then I go in to add tags and groups to each bookmark to have a good way to organize the items. But right now it is difficult to see which bookmarks have already been tagged or grouped in the all view. Therefore I am seeking for a feature to see only untagged/ungrouped.

Thank you! Also Really nice job on creating Cherry 😊

signin stop

Hi there.
When i sign, IT stays in that page. Cant do anything more it stays static
The credencial are correct, i made previous registry them.
Thanks

FR: LDAP integration

it would be very nice to integrate a LDAP for user authentication. Any chance to see it in the future?

Docker Compose file.

I am not sure if you had a docker-compose.yml, but I have included one and also the volumes should have a ./cherry_data_v1:/data

version: '3.3' services: cherry: container_name: cherry volumes: - './cherry_data_v1:/data' ports: - '8000:8000' environment: - JWT_SECRET=Secret-here - ENABLE_REGISTRATION=1 image: haishanh/cherry

version: '3.3'
services:
cherry:
container_name: cherry
volumes:
- './cherry_data_v1:/data'
ports:
- '8000:8000'
environment:
- JWT_SECRET=Secret-here
- ENABLE_REGISTRATION=1
image: haishanh/cherry

Issue with deletion bookmarks

When I :

  1. Delete a bookmark
  2. Edit and save another bookmark
    Then the bookmark I deleted re-appears, until the page is refreshed.
    Demo of the problem :
    Peek 2022-10-09 21-36

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.