微信公众号订阅神器

项目简介

微信公众号订阅神器,一键生成RSS,轻松管理公众号内容!亮点:1. 支持微信公众号内容抓取与RSS生成;2. 提供用户友好的Web管理界面,操作简单;3. 定时自动更新,不错过任何新文章


功能特性

  • 微信公众号内容抓取和解析
  • RSS订阅生成
  • 用户友好的Web管理界面
  • 定时自动更新内容
  • 支持多种数据库(默认SQLite,可选MySQL)
  • 支持多种抓取方式
  • 支持多种RSS客户端
  • 支持授权过期提醒

界面截图

    • 登录界面

    • 主界面

    • 扫码授权

    • 添加订阅

    • 客户端应用


系统架构

项目采用前后端分离架构:

  • 后端:Python + FastAPI
  • 前端:Vue 3 + Vite
  • 数据库:SQLite (默认)/MySQL


安装指南

后端服务

1. 克隆项目
git clone https://github.com/rachelos/we-mp-rss.gitcd we-mp-rss
2. 安装Python依赖
pip install -r requirements.txt
3. 配置数据库 复制并修改配置文件:
cp config.example.yaml config.yamlcopy config.example.yaml config.yaml
4. 启动API服务
uvicorn web:app --host 0.0.0.0 --port 8001 --reload

或 如果需要初始化数据库和数据,可以使用以下命令:

python3 main.py -job True -init True

前端界面

1. 进入web_ui目录
cd web_ui
2. 安装Node.js依赖
npm install
3. 启动开发服务器
npm run dev


定时任务

配置定时抓取微信公众号内容:

python job.py

配置说明

编辑config.yaml文件配置以下参数:

  • 数据库连接
  • 微信公众号配置
  • 抓取间隔时间
  • API密钥等


快速运行

Docker Sqlite

docker run -d \  --name we-mp-rss \  -p 8001:8001 \  -e DB=sqlite:///data/db.db \  -e USERNAME:admin \  -e PASSWORD:admin@123 \  -e DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx \  -v $(pwd)/data:/app/data \  ghcr.io/rachelos/we-mp-rss:latest
  • Compose Yaml
services:  we-mp-rss:    image: ghcr.io/rachelos/we-mp-rss:latest    container_name: we-mp-rss    ports:      - "8001:8001"    environment:      - DB=sqlite:///data/db.db      - USERNAME=admin      - PASSWORD=admin@123      - DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx    volumes:      - ./data:/app/data

Docker Mysql

docker run -d \  --name we-mp-rss \  -p 8001:8001 \  -e DB=mysql+pymysql://<username>:<password>@<host>/<database>?charset=utf8mb4 \  -e USERNAME:admin \  -e PASSWORD:admin@123 \  -e DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx \  -v $(pwd)/data:/app/data \  ghcr.io/rachelos/we-mp-rss:latest
  • Compose Yaml
services:  we-mp-rss:    image: ghcr.io/rachelos/we-mp-rss:latest    container_name: we-mp-rss    ports:      - "8001:8001"    environment:      - DB=mysql+pymysql://<username>:<password>@<host>/<database>?charset=utf8mb4      - USERNAME=admin      - PASSWORD=admin@123      - DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx    volumes:      - ./data:/app/data




项目地址

https://github.com/rachelos/we-mp-rss


扫码加入技术交流群,备注「开发语言-城市-昵称

(文:GitHubStore)

发表评论