Skip to content

rachelos/we-mp-rss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

941 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • 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 Variable Default Value Description
APP_NAME we-mp-rss Application name
SERVER_NAME we-mp-rss Server name
WEB_NAME WeRSS微信公众号订阅助手 Frontend display name
SEND_CODE True Whether to send authorization QR code notifications
CODE_TITLE WeRSS授权二维码 QR code notification title
ENABLE_JOB True Whether to enable scheduled tasks
AUTO_RELOAD False Auto-restart service on code changes
THREADS 2 Maximum number of threads
DB sqlite:///data/db.db Database connection string
DINGDING_WEBHOOK Empty DingTalk notification webhook URL
WECHAT_WEBHOOK Empty WeChat notification webhook URL
FEISHU_WEBHOOK Empty Feishu notification webhook URL
CUSTOM_WEBHOOK Empty Custom notification webhook URL
SECRET_KEY we-mp-rss Secret key
USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36/WeRss User agent
SPAN_INTERVAL 10 Scheduled task execution interval (seconds)
WEBHOOK.CONTENT_FORMAT html Article content sending format
PORT 8001 API service port
DEBUG False Debug mode
MAX_PAGE 5 Maximum scraping pages
RSS_BASE_URL Empty RSS domain address
RSS_LOCAL False Whether to use local RSS links
RSS_TITLE Empty RSS title
RSS_DESCRIPTION Empty RSS description
RSS_COVER Empty RSS cover
RSS_FULL_CONTEXT True Whether to display full text
RSS_ADD_COVER True Whether to add cover images
RSS_CDATA False Whether to enable CDATA
RSS_PAGE_SIZE 30 RSS pagination size
TOKEN_EXPIRE_MINUTES 4320 Login session validity duration (minutes)
CACHE.DIR ./data/cache Cache directory
ARTICLE.TRUE_DELETE False Whether to truly delete articles
GATHER.CONTENT True Whether to collect content
GATHER.MODEL app Collection mode
GATHER.CONTENT_AUTO_CHECK False Whether to automatically check uncollected article content
GATHER.CONTENT_AUTO_INTERVAL 59 Time interval for automatically checking uncollected article content (minutes)
GATHER.CONTENT_MODE web Content correction mode
SAFE_HIDE_CONFIG db,secret,token,notice.wechat,notice.feishu,notice.dingding Configuration information to hide
SAFE_LIC_KEY RACHELOS Authorization encryption key
LOG_FILE Empty Log file path
LOG_LEVEL INFO Log level
EXPORT_PDF False Whether to enable PDF export functionality

About

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

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors