概要
大概就是自己为了逃脱算法推荐和打破信息茧房,正好最近买了阿里云的应用服务器,所以想搭建一套信息聚合系统,来避免浪费时间,将自己的注意力放在具有正面意义的内容上。

需求
- 一台云服务器,或者能够进行内网穿透的 NAS,甚至是电脑也行
- 轻度 linux 操作经验
- 开放端口:1200; 4000; 8080; 7890; 7891; 4000
依赖
- docker-compose
- Rsshub
- WeweRss
- FreshRSS
- Clash
- RSSpush
Docker-compose
花了一点时间来摸索这东西,发现能够把容器统一配置在一个 compose 文件里面,就立刻改用了这种方式,把所有的容器转移到一个 compose 文件里面,具体实现如下:
services:
rsshub:
image: diygod/rsshub
restart: always
ports:
- "1200:1200"
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: "redis://redis:6379/"
PUPPETEER_WS_ENDPOINT: "ws://browserless:3000"
ACCESS_KEY: pwd #改成自己的
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1200/healthz?key=${ACCESS_KEY}"]](<test: ["CMD-SHELL", "curl -f http://localhost:1200/healthz?key=$$ACCESS_KEY"
interval: 30s
timeout: 10s
retries: 3
depends_on:
- redis
- browserless
browserless:
image: browserless/chrome
restart: always
ulimits:
core:
hard: 0
soft: 0
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/pressure"]
interval: 30s
timeout: 10s
retries: 3
redis:
image: redis:alpine
restart: always
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 5
start_period: 5s
freshrss:
image: lscr.io/linuxserver/freshrss:latest
container_name: freshrss
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ~/appdata/freshrss:/config
ports:
- 8080:80
restart: unless-stopped
wewerss:
image: cooderl/wewe-rss-sqlite:latest
ports:
- 4000:4000
environment:
- DATABASE_TYPE=sqlite
- AUTH_CODE=1234567
- CRON_EXPRESSION=35 7,12,17,22 * * *
- PUID=1000
- PGID=1000
- UMASK=022
- FEED_MODE=fulltext
- PLATFORM_URL=https://weread.965111.xyz
volumes:
- ~/appdata/wewerss:/app/data
restart: unless-stopped
rsspush:
image: easychen/rsspush
volumes:
- "./data:/rsspush/api/data"
environment:
- ADMIN_KEY=PWD
- RSS_BASE=http://外网IP:1200/
- TZ=Asia/Chongqing
ports:
- 8000:8000
volumes:
redis-data:
把上面的代码复制到~/docker-compose.yml 文件里面,然后执行
sudo docker-compose up -d
安装完成后,所有的应用就装好了。

Rsshub
核心组建,用来把网站上的内容转换成 RSS 的 feed 文件,需要开通1200端口。
把上面的ACCESS_KEY的 PWD改成自己的密码,就可以在浏览器的 Rsshub Radar 里面设置成自己的服务器了。

这样就完成了探测 RSS Feed 的基本工作。
WeweRss
这个东西就是利用微信读书来获取微信公众号的 RSS 从而订阅,端口是4000,设置好以后进去先要连接自己的微信扫码,然后就可以添加公众号了。

FreshRSS
RSS 阅读的统一管理服务,可以在多个平台之间同步已度状态、收藏等多种数据,基本各系统主流的 RSS 阅读器都支持。需要开放端口8080。
设置
关键设置有两个:
7. 需要在系统的设置里面开启 API 功能。
8. 需要给自己的账号生成 API 连接密码。


设置好以后就可以用 API 登录阅读器了。
客户端选择
MacOS/iOS/iPad
推荐 NetNewsWire,完全免费。

Android
推荐 AgrReader,不过是收费的,其他还有类似 Read you 这种免费的,自行尝试。

WIN
推荐 Fluent Reader,完全免费,好看。我目前没有 WIN 就用 MAC 的截图替代了。

Clash
这个东西是为了应付一些 你懂的导致无法连接的情况,需要开放端口7890和7891。
clash 的订阅需要自行准备
设置
这个东西本身并不需要设置什么,只是在订阅某些RSS遇到某些你懂的导致无法连接的情况时,在 FreshRSS 里面手工设置代理项从而进行订阅。输入clash命令可以查看个个命令的用法。
代理端口:socks5
代理 IP 地址:服务器的内网IP:7891
RSSpush
这是为了推送某些特定重要的的 RSS feed 的应用,可以通过 Server酱申请的 API Key 来监控部分重要的 RSS,在更新时可以收到微信通知。需要开放端口8000。
*Server酱是付费服务*

结尾
总共花了一天半的时间从 0 开始尝试直到把所有系统搭建完成,也学到了很多技术方面东西,但更重要的是,利用这套系统,学会让自己不受推荐算法的制约,不再受到 APP 厂家的算法捆绑,享受更多属于自己的时间。
更新
2025-02-13
网页抓取
可以利用 politepol 对不支持 RSSHub 的网页进行 xpath元素抓取,把网页贴到网址跟着操作选定标题、描述、日期等等元素就行了。

Twitter (X)抓取
大概分为如下步骤:
- 重新注册一个小号
- 用 Aegis Authenticator 开启 Twitter 的两步验证。
- 在Aegis Authenticator 查看并记录下密钥。
- 现在得到了用户名、密码、两步验证密钥三样东西
- 还有之前设置过的 Clash
- 设置到 docker-compose 里面的 Rsshub 的 environment 下面加入如下代码,代码如下:
TWITTER_USERNAME: 小号的用户名
TWITTER_PASSWORD: 小号的密码
TWITTER_AUTHENTICATION_SECRET: Aegis Authenticator得到的密钥
PROXY_URI: 'http://服务器的内网IP地址:7890'
成功后就可以正常的使用 Twitter 抓取成 RSS 了,以后再遇到一些你懂的本来不能访问的地址也不需要再单独在 FreshRSS 里面设置 Socks 5 代理了。

用到的 APP:



Good shout.
令人惊叹的 旅游网站, 不要停下 方向正确。致敬! [url=https://iqvel.com/zh-Hans/a/%E4%BF%84%E7%BD%97%E6%96%AF/%E5%8D%A1%E7%9A%AE%E6%B1%A0%E5%A1%98]園林景觀[/url] 我热爱这样的想法, 参观你们描述的目的地。很开心。
衷心感谢 美丽的地方描写。格外 有益。
色彩丰富的 内容! 已经规划路线。 [url=https://iqvel.com/zh-Hans/a/%E9%98%BF%E6%A0%B9%E5%BB%B7/%E7%B4%8D%E9%9F%8B%E7%88%BE%E7%93%A6%E7%9A%AE%E5%9C%8B%E5%AE%B6%E5%85%AC%E5%9C%92]安第斯景致[/url] 我珍视, 这里有真诚的评论。你的博客 就是 关于这些的。加油。
棒极了 关于旅行的门户! 越来越棒!
有趣的 旅游资源, 坚持下去 保持这种风格。十分感谢. [url=https://iqvel.com/zh-Hans/a/%E6%8D%B7%E5%85%8B%E8%AF%AD/%E8%80%81%E5%9F%8E%E5%B9%BF%E5%9C%BA]市政廳塔[/url] 所有文章都令人印象深刻。由衷感谢 感受。
万分感谢 有用的内容。十分 有帮助。
我尊重这样的项目, 真实的旅行者分享建议。你的内容 就是 属于这里的。加油。 [url=https://iqvel.com/zh-Hans/a/%E8%B6%8A%E5%8D%97/%E6%96%B9%E5%B0%BC%E4%BA%9A]地下河[/url] 写得非常生动。由衷感谢 温暖。