开源的书签服务Cherry

预告

老苏在 7 月份收到了付费合集功能灰度测试的通知,一直想研究下怎么玩的,所以国庆期间准备了三篇👇

  • 简单的豆瓣API接口(安装篇)
  • 简单的豆瓣API接口(TaleBook篇)
  • 简单的豆瓣API接口(Jellyfin篇)

预计在周四、周六、周日晚,分三次发布,一、三、五的正常发文不受影响

按照公众号的规则,每篇文章最小售价为 1 个微信豆,所以合集的售价为 3 个微信豆

老苏发现微信豆这玩意儿还有汇率差,iOS 1元=7微信豆,安卓 1元=10微信豆 😂,是因为苹果收了税吗?

为公平起见,这三篇文档不会在微信公众号之外的地方再进行发布。


什么是 Cherry ?

Cherry是一个开源的自托管书签服务。采用 SvelteKit 构建,并使用 SQLite 进行数据存储。支持全文搜索,由 SQLite fts5 提供支持。您可以从 PocketChromeFirefoxSafari 导出书签和 CSV 文件导入书签。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 haishanh ,目前还搜不到

开源的书签服务Cherry

但实际上是存在的

估计是 docker 服务器同步的问题,老苏发现新发布的镜像经常会遇到这种情况

开源的书签服务Cherry

映像 –> 新增 –> 从 URL 添加,地址输入:haishanh/cherry

开源的书签服务Cherry

版本选 latest

开源的书签服务Cherry

docker 文件夹中,创建一个新文件夹 cherry,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/cherry/data /data 存放 SQLite 数据库

开源的书签服务Cherry

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
5150 8000

开源的书签服务Cherry

环境

可变
JWT_SECRET 加密因子
ENABLE_PUBLIC_REGISTRATION 是否启用注册,默认为 0
USE_INSECURE_COOKIE 设置 1 为暂时禁用 Secure cookie
  • JWT_SECRET(必需的):此字符串将用于签署用户的 PAT(个人访问令牌)。PAT 采用 JWTJSON Web Token)格式,用于验证和识别 Cherry 用户。您应该将JWT_SECRET保密,以防止他人伪造令牌。

    • 老苏一般用 Bitwarden 的密码生成器来生成;
    • 也可以用 openssl rand -hex 位数 来生成;

开源的书签服务Cherry

  • ENABLE_PUBLIC_REGISTRATION :此值确定是否从外部(您的 Cherry Docker 容器实例)启用注册。将其设置 1 为启用注册。默认情况下,或使用其他值,注册被禁用。您很可能希望在全新部署后启用注册,并在创建用户后立即禁用它。

    • 老苏不建议启用,如果要建用户,可以用 API 接口直接创建;
  • USE_INSECURE_COOKIE:默认情况下,Cherry 使用仅适用于 HTTPSSecure cookie 。但是,如果您想尝试在本地主机上运行 Cherry,您可以将此环境变量设置 1 为暂时禁用 Secure cookie,否则您可能无法登录。

    • 按官方的说法,在局域网用 IP 访问需要将其设为 1,但是实际上在 ChromeSafari 浏览器上测试都没成功,原因不明,只能反代后用 https 协议访问才能登陆,所以这项可以不要设置

开源的书签服务Cherry

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 cherry 和 子目录
mkdir -p /volume2/docker/cherry/data

# 进入 cherry 目录
cd /volume2/docker/cherry

# 运行容器
docker run -d 
   --restart unless-stopped 
   --name cherry 
   -p 5150:8000 
   -v $(pwd)/data:/data 
   -e JWT_SECRET=some-secret-string 
   haishanh/cherry

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

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

然后执行下面的命令

# 新建文件夹 cherry 和 子目录
mkdir -p /volume2/docker/cherry/data

# 进入 cherry 目录
cd /volume2/docker/cherry

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

准备工作

接下来我们要添加用户,并准备 https 的运行环境

用户操作

# 创建用户
docker exec cherry cherry create-user <email> <password>

# 更新现有用户密码
docker exec cherry cherry update-user-password <email> <newPassword>

# 删除用户
docker exec cherry cherry delete-user <id> <email>

老苏给自己建了一个账号

# 邮件:wbsu2003@hotmail.com
# 密码:123456
docker exec cherry cherry create-user wbsu2003@hotmail.com 123456

开源的书签服务Cherry

如果你是在『终端机』里操作,只要输入

# 邮件:wbsu2003@gmail.com
# 密码:123456
cherry create-user wbsu2003@gmail.com 123456

开源的书签服务Cherry

反向代理

老苏在环境变量里设置了 USE_INSECURE_COOKIE1,但是在使用 http://群晖IP:5150 访问时,浏览器调试工具中会看到返回下面信息,表现症状为一直卡在登录界面

window.__sveltekit_data = {type:"redirect",location:"u002Fsignin"}

所以只能通过反代实现 https 协议访问

开源的书签服务Cherry

没问题的话,SSL 就全勾了

开源的书签服务Cherry

运行

在浏览器中输入 https://cherry.laosu.ml:444 就能看到主界面

开源的书签服务Cherry

如果没有在环境变量中启用外部注册,即便 https://cherry.laosu.ml:444/signup 看到注册页面,也是不能注册的

开源的书签服务Cherry

登录成功

开源的书签服务Cherry

Setting –> Import 可以导入浏览器导出的书签

开源的书签服务Cherry

Chrome 中导出的书签文件 bookmarks_2022_10_9.html 拖进来,点下面的 Import 按钮开始导入

开源的书签服务Cherry

等导入完成即可

开源的书签服务Cherry

浏览器插件

支持 Chrome

开源的书签服务Cherry

Firefox

开源的书签服务Cherry

Chrome 为例,首先需要 Add Server

开源的书签服务Cherry

填入服务器地址,有端口也要带上

开源的书签服务Cherry

回到 Cherry 主界面,右上角 Settings –> Account –> Personal Access Token,直接点后面的复制按钮

开源的书签服务Cherry

在你需要添加书签的页面上点 Cherry 插件按钮

开源的书签服务Cherry

Edit 可以添加 Tags 和 选择 Group

开源的书签服务Cherry

参考文档

haishanh/cherry: Cherry is a self-hostable bookmark service
地址:https://Github.com/haishanh/cherry

Cherry
地址:https://cherry.haishan.me/

Intro | Cherry
地址:https://cherry.haishan.me/docs/intro

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

原文始发于微信公众号(各种折腾):开源的书签服务Cherry

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/55743.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!