背景/引言
无论是帖子还是短视频都隐藏着推荐算法,这些算法把我们困在信息茧房中,为了破除这些信息茧房,我想到了“失传已久”的RSS。
实现
需求分析
- 能够推送高质量内容 -> 需要对内容进行选择
- 能够实现内容聚合 -> 利用RSS很容易实现
问题与解决方案
- 现在几乎没有网站提供RSS内容了
- 高质量内容难找
扩展需求
- 每日pixiv
- 英语新闻阅读
我的方案

服务说明
RSSHUB: 一个中间件,可以将不支持RSS的站点转出RSS,例如: bilibili,贴吧,pixiv等,具体可以去[路由列表 | RSSHub](https://docs.rsshub.app/zh/routes/)查看
FreshRSS: 一个RSSweb平台,便于我们多端同步并且支持插件
PS: 两者皆支持arm架构设备部署,也许可以用电视盒子实现?
部署
RSSHUB:
vim docker-compose.yml
services:
rsshub:
image: diygod/rsshub
restart: always
ports:
- '1200:1200'
# 加载 .env 文件中的配置 (GitHub Token, OpenAI Key 等)
env_file: .env
environment:
# --- 覆盖网络配置以匹配 Docker 内部网络 ---
# 注意:Docker 内部通信使用容器名和内部端口,不需要使用宿主机映射的端口
NODE_ENV: production
CACHE_TYPE: redis
# 内部连接 Redis 标准端口 6379
REDIS_URL: 'redis://redis:6379/'
# 连接 Browserless 标准端口 3000
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
# 连接 Real-Browser 标准端口 3000
PUPPETEER_REAL_BROWSER_SERVICE: 'http://real-browser:3000'
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:1200/healthz']
interval: 30s
timeout: 10s
retries: 3
depends_on:
- redis
- browserless
- real-browser
# 新版 RSSHub 推荐搭配,用于绕过 Cloudflare
real-browser:
image: ghcr.io/hyoban/puppeteer-real-browser-hono
restart: always
ports:
- '3002:3000' # 如果你需要在宿主机调试,访问 localhost:3002
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:3000']
interval: 30s
timeout: 10s
retries: 3
# 标准 Puppeteer 服务
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
ports:
- '6380:6379' # 宿主机 6380 -> 容器 6379。配合你之前的习惯
volumes:
- redis-data:/data
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 30s
timeout: 10s
retries: 5
start_period: 5s
volumes:
redis-data:
vim .env
# =============================================================================
# 基础配置
# =============================================================================
# --- 系统环境 ---
NODE_ENV=production
# --- 缓存配置 (Redis) ---
CACHE_TYPE=redis
REDIS_URL=redis://redis:6380/
# --- Puppeteer (浏览器服务) ---
PUPPETEER_WS_ENDPOINT=ws://browserless:3002
# =============================================================================
# 未配置项 (已全部注释)
# 如需启用,请删除行首的 "#" 并填入对应值
# =============================================================================
# --- 网络配置 ---
# PORT=1200
# LISTEN_INADDR_ANY=1
# REQUEST_RETRY=2
# REQUEST_TIMEOUT=3000
# NO_RANDOM_UA=
# --- 跨域设置 ---
# ALLOW_ORIGIN=*
# --- 缓存设置 (默认/内存) ---
# CACHE_EXPIRE=300
# CACHE_CONTENT_EXPIRE=3600
# MEMORY_MAX=256
# --- 代理配置 (Proxy) ---
# PROXY_URI=https://rsshub.ser.onecreeper.cn
# PROXY_AUTH=
# PROXY_URL_REGEX=.*
# --- 访问控制 (Access Control) ---
ACCESS_KEY=250250250c_RSSHUB
# --- 日志配置 ---
# DEBUG_INFO=true
# LOGGER_LEVEL=info
# SENTRY=
# --- 其他应用配置 ---
# DISALLOW_ROBOT=true
# ENABLE_CLUSTER=false
# TITLE_LENGTH_LIMIT=150
# OPENAI_TEMPERATURE=0.2
# --- OpenAI (ChatGPT) ---
# OPENAI_API_KEY=
# OPENAI_API_ENDPOINT=
# OPENAI_MODEL=
# =============================================================================
# 路由特定配置可以参考官方 [配置 | RSSHub](https://docs.rsshub.app/zh/deploy/config)
# =============================================================================
FreshRSS
mkdir data freshrss_data freshrss_extensions
vim docker-compose.yml
version: '3.8'
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
ports:
- "1244:80"
# 左边是你想暴露的端口
environment:
- TZ=Asia/Shanghai
- CRON_MIN=4,34
- FRESHRSS_ENV=production
# 核心配置:设置您的外部访问域名
- BASE_URL=https://rss.ser.onecreeper.cn
# 核心配置:信任反向代理。
# 必须允许私有网段,以便 FreshRSS 正确读取 X-Forwarded-Proto: https 头
- TRUSTED_PROXY=172.16.0.0/12 192.168.0.0/16 10.0.0.0/8 127.0.0.1
volumes:
# 将 FreshRSS 的数据映射到本地的 ./data/freshrss 目录
- ./data/freshrss:/var/www/FreshRSS/data
# 将 FreshRSS 的扩展映射到本地的 ./data/freshrss_extensions 目录
- ./data/freshrss_extensions:/var/www/FreshRSS/extensions
depends_on:
- db
db:
image: postgres:15-alpine
container_name: freshrss-db
restart: unless-stopped
volumes:
# 将 PostgreSQL 的数据映射到本地的 ./data/db 目录
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=freshrss
- POSTGRES_USER=freshrss
- POSTGRES_PASSWORD=freshrss_password # 建议修改此密码
RSS源
- pixiv可通过RSShub实现,需要配置refresh_token
- 每日英语新闻学习 ,利用现成的网站,news in levels ,每日按照分级提供新闻 ,地址 https://www.newsinlevels.com/feed
效果


Comments NOTHING