{"id":13457195,"url":"https://github.com/cooderl/wewe-rss","last_synced_at":"2025-05-13T15:09:13.581Z","repository":{"id":224920669,"uuid":"764165494","full_name":"cooderl/wewe-rss","owner":"cooderl","description":"🤗更优雅的微信公众号订阅方式，支持私有化部署、微信公众号RSS生成（基于微信读书）","archived":false,"fork":false,"pushed_at":"2025-04-04T03:55:08.000Z","size":2281,"stargazers_count":6903,"open_issues_count":221,"forks_count":1199,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-04-23T18:54:58.906Z","etag":null,"topics":["mysql","nestjs","rss","rsshub","sqlite","trpc","wechat","wechat-rss","weread"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cooderl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-27T15:41:31.000Z","updated_at":"2025-04-23T17:20:15.000Z","dependencies_parsed_at":"2024-03-30T12:21:26.917Z","dependency_job_id":"e554503d-e99a-4f3a-bfa4-573f6be4ae8d","html_url":"https://github.com/cooderl/wewe-rss","commit_stats":{"total_commits":156,"total_committers":14,"mean_commits":"11.142857142857142","dds":"0.14102564102564108","last_synced_commit":"c7f84273c7bf675fdb49de3855d724c18828733b"},"previous_names":["cooderl/wewe-rss"],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooderl%2Fwewe-rss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooderl%2Fwewe-rss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooderl%2Fwewe-rss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooderl%2Fwewe-rss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cooderl","download_url":"https://codeload.github.com/cooderl/wewe-rss/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253969239,"owners_count":21992262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mysql","nestjs","rss","rsshub","sqlite","trpc","wechat","wechat-rss","weread"],"created_at":"2024-07-31T08:01:35.420Z","updated_at":"2025-05-13T15:09:08.554Z","avatar_url":"https://github.com/cooderl.png","language":"TypeScript","funding_links":["https://paypal.me/cooderl"],"categories":["TypeScript","置顶","网络服务"],"sub_categories":["9、效率工具集合","网络服务_其他"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/cooderl/wewe-rss/main/assets/logo.png\" width=\"80\" alt=\"预览\"/\u003e\n\n# [WeWe RSS](https://github.com/cooderl/wewe-rss)\n\n更优雅的微信公众号订阅方式。\n\n![主界面](https://raw.githubusercontent.com/cooderl/wewe-rss/main/assets/preview1.png)\n\u003c/div\u003e\n\n## ✨ 功能\n\n- v2.x版本使用全新接口，更加稳定\n- 支持微信公众号订阅（基于微信读书）\n- 获取公众号历史发布文章\n- 后台自动定时更新内容\n- 微信公众号RSS生成（支持`.atom`、`.rss`、`.json`格式)\n- 支持全文内容输出，让阅读无障碍\n- 所有订阅源导出OPML\n\n### 高级功能\n\n- **标题过滤**：支持通过`/feeds/all.(json|rss|atom)`接口和`/feeds/:feed`对标题进行过滤\n  ```\n  {{ORIGIN_URL}}/feeds/all.atom?title_include=张三\n  {{ORIGIN_URL}}/feeds/MP_WXS_123.json?limit=30\u0026title_include=张三|李四|王五\u0026title_exclude=张三丰|赵六\n  ```\n\n- **手动更新**：支持通过`/feeds/:feed`接口触发单个feedid更新\n  ```\n  {{ORIGIN_URL}}/feeds/MP_WXS_123.rss?update=true\n  ```\n\n## 🚀 部署\n\n### 一键部署\n\n- [Deploy on Zeabur](https://zeabur.com/templates/DI9BBD)\n- [Railway](https://railway.app/)\n- [Hugging Face部署参考](https://github.com/cooderl/wewe-rss/issues/32)\n\n### Docker Compose 部署\n\n参考 [docker-compose.yml](https://github.com/cooderl/wewe-rss/blob/main/docker-compose.yml) 和 [docker-compose.sqlite.yml](https://github.com/cooderl/wewe-rss/blob/main/docker-compose.sqlite.yml)\n\n### Docker 命令启动\n\n#### MySQL (推荐)\n\n1. 创建docker网络\n   ```sh\n   docker network create wewe-rss\n   ```\n\n2. 启动 MySQL 数据库\n   ```sh\n   docker run -d \\\n     --name db \\\n     -e MYSQL_ROOT_PASSWORD=123456 \\\n     -e TZ='Asia/Shanghai' \\\n     -e MYSQL_DATABASE='wewe-rss' \\\n     -v db_data:/var/lib/mysql \\\n     --network wewe-rss \\\n     mysql:8.3.0 --mysql-native-password=ON\n   ```\n\n3. 启动 Server\n   ```sh\n   docker run -d \\\n     --name wewe-rss \\\n     -p 4000:4000 \\\n     -e DATABASE_URL='mysql://root:123456@db:3306/wewe-rss?schema=public\u0026connect_timeout=30\u0026pool_timeout=30\u0026socket_timeout=30' \\\n     -e AUTH_CODE=123567 \\\n     --network wewe-rss \\\n     cooderl/wewe-rss:latest\n   ```\n\n[Nginx配置参考](https://raw.githubusercontent.com/cooderl/wewe-rss/main/assets/nginx.example.conf)\n\n#### SQLite (不推荐)\n\n```sh\ndocker run -d \\\n  --name wewe-rss \\\n  -p 4000:4000 \\\n  -e DATABASE_TYPE=sqlite \\\n  -e AUTH_CODE=123567 \\\n  -v $(pwd)/data:/app/data \\\n  cooderl/wewe-rss-sqlite:latest\n```\n\n### 本地部署\n\n使用 `pnpm install \u0026\u0026 pnpm run -r build \u0026\u0026 pnpm run start:server` 命令 (可配合 pm2 守护进程)\n\n**详细步骤** (SQLite示例)：\n\n```shell\n# 需要提前声明环境变量,因为prisma会根据环境变量生成对应的数据库连接\nexport DATABASE_URL=\"file:../data/wewe-rss.db\"\nexport DATABASE_TYPE=\"sqlite\"\n# 删除mysql相关文件,避免prisma生成mysql连接\nrm -rf apps/server/prisma\nmv apps/server/prisma-sqlite apps/server/prisma\n# 生成prisma client\nnpx prisma generate --schema apps/server/prisma/schema.prisma\n# 生成数据库表\nnpx prisma migrate deploy --schema apps/server/prisma/schema.prisma\n# 构建并运行\npnpm run -r build\npnpm run start:server\n```\n\n## ⚙️ 环境变量\n\n| 变量名                   | 说明                                                                    | 默认值                      |\n| ------------------------ | ----------------------------------------------------------------------- | --------------------------- |\n| `DATABASE_URL`           | **必填** 数据库地址，例如 `mysql://root:123456@127.0.0.1:3306/wewe-rss` | -                           |\n| `DATABASE_TYPE`          | 数据库类型，使用 SQLite 时需填写 `sqlite`                               | -                           |\n| `AUTH_CODE`              | 服务端接口请求授权码，空字符或不设置将不启用 (`/feeds`路径不需要)       | -                           |\n| `SERVER_ORIGIN_URL`      | 服务端访问地址，用于生成RSS完整路径                                     | -                           |\n| `MAX_REQUEST_PER_MINUTE` | 每分钟最大请求次数                                                      | 60                          |\n| `FEED_MODE`              | 输出模式，可选值 `fulltext` (会使接口响应变慢，占用更多内存)            | -                           |\n| `CRON_EXPRESSION`        | 定时更新订阅源Cron表达式                                                | `35 5,17 * * *`             |\n| `UPDATE_DELAY_TIME`      | 连续更新延迟时间，减少被关小黑屋                                        | `60s`                       |\n| `ENABLE_CLEAN_HTML`      | 是否开启正文html清理                                                    | `false`                     |\n| `PLATFORM_URL`           | 基础服务URL                                                             | `https://weread.111965.xyz` |\n\n\u003e **注意**: 国内DNS解析问题可使用 `https://weread.965111.xyz` 加速访问\n\n## 🔔 钉钉通知\n\n进入 wewe-rss-dingtalk 目录按照 README.md 指引部署\n\n## 📱 使用方式\n\n1. 进入账号管理，点击添加账号，微信扫码登录微信读书账号。\n  \n   **注意不要勾选24小时后自动退出**\n   \n   \u003cimg width=\"400\" src=\"./assets/preview2.png\"/\u003e\n\n\n2. 进入公众号源，点击添加，通过提交微信公众号分享链接，订阅微信公众号。\n   **添加频率过高容易被封控，等24小时解封**\n\n   \u003cimg width=\"400\" src=\"./assets/preview3.png\"/\u003e\n\n## 🔑 账号状态说明\n\n| 状态       | 说明                                                                |\n| ---------- | ------------------------------------------------------------------- |\n| 今日小黑屋 | 账号被封控，等一天恢复。账号正常时可通过重启服务/容器清除小黑屋记录 |\n| 禁用       | 不使用该账号                                                        |\n| 失效       | 账号登录状态失效，需要重新登录                                      |\n\n## 💻 本地开发\n\n1. 安装 nodejs 20 和 pnpm\n2. 修改环境变量：\n   ```\n   cp ./apps/web/.env.local.example ./apps/web/.env\n   cp ./apps/server/.env.local.example ./apps/server/.env\n   ```\n3. 执行 `pnpm install \u0026\u0026 pnpm run build:web \u0026\u0026 pnpm dev` \n   \n   ⚠️ **注意：此命令仅用于本地开发，不要用于部署！**\n4. 前端访问 `http://localhost:5173`，后端访问 `http://localhost:4000`\n\n## ⚠️ 风险声明\n\n为了确保本项目的持久运行，某些接口请求将通过 `weread.111965.xyz` 进行转发。请放心，该转发服务不会保存任何数据。\n\n## ❤️ 赞助\n\n如果觉得 WeWe RSS 项目对你有帮助，可以给我来一杯啤酒！\n\n**PayPal**: [paypal.me/cooderl](https://paypal.me/cooderl)\n\n**微信**:  \n\u003cimg width=\"300\" src=\"https://r2-assets.111965.xyz/donate-wechat.jpg\" alt=\"Donate_WeChat.jpg\"\u003e\n\n## 👨‍💻 贡献者\n\n\u003ca href=\"https://github.com/cooderl/wewe-rss/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=cooderl/wewe-rss\" /\u003e\n\u003c/a\u003e\n\n## 📄 License\n\n[MIT](https://raw.githubusercontent.com/cooderl/wewe-rss/main/LICENSE) @cooderl\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooderl%2Fwewe-rss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcooderl%2Fwewe-rss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooderl%2Fwewe-rss/lists"}