Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md
We-MP-RSS Logo

WeRSS - WeChat Official Account RSS Subscription Assistant

Python Version License

中文|English

Quick Start

docker run -d  --name we-mp-rss  -p 8001:8001 -v ./data:/app/data  ghcr.io/rachelos/we-mp-rss:latest

Visit http://:8001/ to get started

Quick Upgrade

docker stop we-mp-rss
docker rm we-mp-rss
docker pull ghcr.io/rachelos/we-mp-rss:latest
# If you added other parameters, please modify accordingly
docker run -d  --name we-mp-rss  -p 8001:8001 -v ./data:/app/data  ghcr.io/rachelos/we-mp-rss:latest

Official Image

docker run -d  --name we-mp-rss  -p 8001:8001 -v ./data:/app/data  rachelos/we-mp-rss:latest

Proxy Mirror for Faster Access (Faster access in China)

docker run -d  --name we-mp-rss  -p 8001:8001 -v ./data:/app/data  docker.1ms.run/rachelos/we-mp-rss:latest  

Special Thanks (In no particular order)

cyChaos, 子健MeLift, 晨阳, 童总, 胜宇, 军亮, 余光, 一路向北, 水煮土豆丝, 人可, 须臾, 澄明, 五梭,Jarvis,三三,哈基米,苹果





A tool for subscribing to and managing WeChat Official Account content, providing RSS subscription functionality.

Features

  • WeChat Official Account content scraping and parsing
  • RSS feed generation
  • User-friendly web management interface
  • Scheduled automatic content updates
  • Multiple database support (default SQLite, optional MySQL)
  • Multiple scraping methods support
  • Optional weread_mp collection mode for MP_WXS_* feeds (configuration)
  • Multiple RSS client support
  • Authorization expiration reminders
  • Custom notification channels
  • Custom RSS title, description, and cover
  • Custom RSS pagination size
  • Export to md/docx/pdf/json formats
  • API interface and WebHook support
  • HTML content filtering rules (global rules and MP-specific rules)
  • Multi-theme support (13 themes: Default Purple, Blue, Green, Orange, Rose, Teal, Pink, Indigo, Violet, Coffee, Navy, Dark Mode, Sepia)
  • Responsive pagination (PC: click navigation, Mobile: load more button)
  • Cascade System: Parent-child node architecture with intelligent task distribution for scaling collection capabilities
  • Environment Exception Statistics: Automatic tracking and statistics of environment exceptions when accessing WeChat articles
  • Headers and Cookies Authentication: Support custom headers and cookies in message tasks for authenticated webhook calls
  • Configuration Cache: Support Redis, Memcached, and memory caching for improved configuration read performance

❤️ Sponsorship

If you find We-MP-RSS helpful, feel free to buy me a beer!
Paypal

Screenshots

  • Login Interface
    Login

  • Main Interface
    Main Interface

  • QR Code Authorization
    QR Code Authorization

  • Add Subscription
    Add Subscription

  • Client Application
    FOLO Client Application

System Architecture

The project adopts a front-end and back-end separation architecture:

  • Backend: Python + FastAPI
  • Frontend: Vue 3 + Vite
  • Database: SQLite (default)/MySQL Architecture Diagram

For more project principles, please refer to the Project Documentation.

HTML Content Filtering Rules

WeRSS supports custom HTML content filtering rules to automatically clean unwanted elements during article content collection, such as ads, recommendation links, etc.

Features

  • Global Rules: Apply to all official accounts when no specific account is selected
  • MP-Specific Rules: Configure different filtering rules for specific official accounts
  • Priority Control: Set rule priority (higher number = executed first)
  • Multiple Filtering Methods:
    • Remove elements by ID
    • Remove elements by CSS Class
    • Remove elements by CSS Selector
    • Filter elements by attribute
    • Remove content by regular expression
    • Remove common HTML elements (script, style, comments, etc.)

Usage

  1. Login to the admin interface, go to "Filter Rules" page
  2. Click "Add Filter Rule"
  3. Configure the rule:
    • Select Official Account: Optional, leave empty for global rules
    • Rule Name: A descriptive name for the rule
    • Priority: Higher number means higher priority (0-100)
    • Filter Configuration:
      • Remove ID elements: One ID per line, e.g., ad-banner
      • Remove Class elements: One class per line, e.g., ad-container
      • CSS Selectors: e.g., div.ad-wrapper, .recommend-list > li
      • Attribute filtering: e.g., data-type="ad"
      • Regular expressions: For precise content matching and removal

API Endpoints

# Get filter rules list
GET /api/filter-rules

# Create filter rule
POST /api/filter-rules
{
  "mp_id": "[]",  // Empty array for global rules
  "rule_name": "Global Ad Filter",
  "remove_ids": ["ad-banner"],
  "remove_classes": ["ad-container"],
  "priority": 10
}

# Update filter rule
PUT /api/filter-rules/{rule_id}

# Delete filter rule
DELETE /api/filter-rules/{rule_id}

Installation Guide

Development

Environment Requirements

  • Python>=3.13.1
  • Node>=20.18.3

Backend Service

  1. Clone the project
git clone https://github.com/rachelos/we-mp-rss.git
cd we-mp-rss
  1. Install Python dependencies
pip install -r requirements.txt
  1. Configure database Copy and modify the configuration file:
cp config.example.yaml config.yaml
copy config.example.yaml config.yaml
  1. Start the service
python main.py -job True -init True

Frontend Development

  1. Install frontend dependencies
cd we-mp-rss/web_ui
yarn install
  1. Start frontend service
yarn dev
  1. Access frontend page
http://localhost:3000

Environment Variable Configuration

The following are the environment variable configurations supported in config.yaml:

Environment VariableDefault ValueDescription
APP_NAMEwe-mp-rssApplication name
SERVER_NAMEwe-mp-rssServer name
WEB_NAMEWeRSS微信公众号订阅助手Frontend display name
SEND_CODEFalseWhether to send authorization QR code in expired notification (text-only notification by default)
CODE_TITLEWeRSS授权二维码QR code notification title
ENABLE_JOBTrueWhether to enable scheduled tasks
AUTO_RELOADFalseAuto-restart service on code changes
THREADS2Maximum number of threads
DBsqlite:///data/db.dbDatabase connection string
DINGDING_WEBHOOKEmptyDingTalk notification webhook URL
WECHAT_WEBHOOKEmptyWeChat notification webhook URL
FEISHU_WEBHOOKEmptyFeishu notification webhook URL
CUSTOM_WEBHOOKEmptyCustom notification webhook URL
SECRET_KEYwe-mp-rssSecret key
USER_AGENTMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36/WeRssUser agent
SPAN_INTERVAL10Scheduled task execution interval (seconds)
WEBHOOK.CONTENT_FORMAThtmlArticle content sending format
PORT8001API service port
DEBUGFalseDebug mode
MAX_PAGE5Maximum scraping pages
RSS_BASE_URLEmptyRSS domain address
RSS_LOCALFalseWhether to use local RSS links
RSS_TITLEEmptyRSS title
RSS_DESCRIPTIONEmptyRSS description
RSS_COVEREmptyRSS cover
RSS_FULL_CONTEXTTrueWhether to display full text
RSS_ADD_COVERTrueWhether to add cover images
RSS_CDATAFalseWhether to enable CDATA
RSS_PAGE_SIZE30RSS pagination size
TOKEN_EXPIRE_MINUTES4320Login session validity duration (minutes)
CACHE.DIR./data/cacheCache directory
ARTICLE.TRUE_DELETEFalseWhether to truly delete articles
GATHER.CONTENTTrueWhether to collect content
GATHER.MODELappCollection mode
GATHER.CONTENT_AUTO_CHECKFalseWhether to automatically check uncollected article content
GATHER.CONTENT_AUTO_INTERVAL59Time interval for automatically checking uncollected article content (minutes)
GATHER.CONTENT_MODEwebContent correction mode
SAFE_HIDE_CONFIGdb,secret,token,notice.wechat,notice.feishu,notice.dingdingConfiguration information to hide
SAFE_LIC_KEYRACHELOSAuthorization encryption key
LOG_FILEEmptyLog file path
LOG_LEVELINFOLog level
EXPORT_PDFFalseWhether to enable PDF export functionality

关于 About

✨符合阅读习惯的微信公众号助手、微信公众号转MarkDown、微信公众号转PDF、定时更新订阅公众号文章、生成微信公众号RSS订阅源、导出微信公众号订阅源、支持微信公众号Webhook/微信公众号API/AI Agent接入微信公众号微信公众号、订阅微信公众号、微信公众号助手 、微信公众号阅读、微信公众号接口、微信公众号爬虫、微信公众号监测、标签订阅微信公众号、微信公众号源、微信公众号读书、微信公众号文章、微信公众号框架、微信公众号管理、微信公众号源、微信公众号平台、微信公众号代码、微信公众号系统、微信公众号源码
folomysqlrss-feedrss-hubrsshubwe-mp-rssweichatweixinwereadwersswexinrsswxwxsprider

语言 Languages

Python51.1%
TypeScript21.7%
Vue12.3%
JavaScript11.9%
HTML1.9%
Shell0.5%
Dockerfile0.2%
CSS0.2%
Batchfile0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
589
Total Commits
峰值: 82次/周
Less
More

核心贡献者 Contributors