Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aflybird0/cubox-archiver
把 cubox 稍后读软件的「归档」内容转存到其他地方(如Notion),以突破其只能存200条数据的限制
https://github.com/aflybird0/cubox-archiver
Last synced: 1 day ago
JSON representation
把 cubox 稍后读软件的「归档」内容转存到其他地方(如Notion),以突破其只能存200条数据的限制
- Host: GitHub
- URL: https://github.com/aflybird0/cubox-archiver
- Owner: aFlyBird0
- Created: 2023-04-01T12:26:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-24T10:30:41.000Z (11 months ago)
- Last Synced: 2024-06-21T15:48:09.491Z (5 months ago)
- Language: Go
- Size: 1.31 MB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cubox Archiver
我很喜欢 [Cubox]((https://cubox.pro/)) 稍后读的多端收集功能。
我没有太多其他需求(如标注),只是想在读完后点击「归档」,并把归档内容作为一个知识库,以后可以通过标题和描述快速检索。
但 Cubox 免费版限制总数据条数200,归档的内容也会占用容量,开会员的话一年要 98。
所以我写了这个程序,用来把 Cubox 的归档内容自动同步到其他地方(Notion等),然后再把 Cubox 的归档内容删除了。
## 特性
- 抽象化归档器,支持多种归档方式
- 流式处理
- 自动去重
- 同时支持配置文件和命令行参数
- 自动发版## 归档器
* [x] Notion:自动创建数据库,并同步数据,自动去重。
* [ ] CSV 文件(写了一半,去重逻辑还没写,建议用于测试)
* [ ] 数据库## 效果
![Notion归档效果](images/notion.png)
你要是愿意建立一个 gallery 视图,并且把 Cover 字段设置为预览的话,就可以看到这样的效果:
![Notion归档效果-画廊](images/notion-gallery.png)
## 基本使用
术语介绍:
1. 程序形态:本质上是个命令行工具。可以下载二进制文件;也提供了 Docker 镜像,可以用 Docker、Kubernetes CronJob 等方式运行;也可以用定时的 GitHub Action 运行。
2. 数据源:Cubox 的稍后读列表。(目前只支持归档后的数据)
3. 归档器:把数据源的数据同步到其他地方的工具。一个数据源可以同时归档到多个归档器。
4. 配置:可以通过配置文件传入配置,也可以通过命令行参数传入配置。## 前置条件 - 获取 Cubox 的登录信息
![Cubox登录信息获取](images/cubox-auth.png)
进入 Cubox 网页,打开开发者工具(F12),找到 Network 选项卡,刷新页面,随便选一个网络请求,记录请求头的 `authorization` 和 `cookie` 对应的值。(后面需要传入配置文件或命令行参数中)
## 支持的归档器
### Notion
请先创建一个 Notion 机器人,然后选定一个页面把机器人 Connection 进来。详见 [Notioin API 官方文档](https://developers.notion.com/docs)
1. 运行一次程序,传入 page id,这时候会提示你已经自动创建了一个新数据库
2. 把新数据库的 database id 写到配置文件里,再运行,就真正启动了### CSV 文件
开发中,建议仅用于测试。
## 运行
### 使用二进制文件
先去 [Release 页](https://github.com/aFlyBird0/cubox-archiver/releases)下载二进制文件,Linux 和 macOS 用 `chmod +x` 给可执行权限。
1. 用文件传入配置
```bash
./cubox-archiver from-file -f config.yaml
```参数的详细解释,看 `config.example.yaml`。
2. 用命令行参数一个个传入配置
```bash
./cubox-archiver from-flag --help
```然后根据提示自己拼参数。
### 使用 Docker(目前只支持linux)
1. 用文件传入配置
```bash
docker run -v <主机的配置文件绝对路径/config.yaml>:/config.yaml aflybird0/cubox-archiver:latest from-file -f config.yaml
```2. 用命令行参数一个个传入配置
```bash
docker run aflybird0/cubox-archiver:latest from-flag --help
```然后根据提示自己拼参数。
## 后续计划
* [ ] 支持更多归档器
* [ ] 做成 GitHub Action,自动定期运行