mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-04-15 00:17:12 +08:00
feat: add app WeWe-RSS
This commit is contained in:
9
apps/wewe-rss/2.6.1-sqlite/.env.sample
Normal file
9
apps/wewe-rss/2.6.1-sqlite/.env.sample
Normal file
@@ -0,0 +1,9 @@
|
||||
AUTH_CODE="password"
|
||||
CONTAINER_NAME="wewe-rss"
|
||||
CRON_EXPRESSION="35 5,17 * * *"
|
||||
DATABASE_TYPE="sqlite"
|
||||
DATA_PATH="./data"
|
||||
FEED_MODE="fulltext"
|
||||
MAX_REQUEST_PER_MINUTE=60
|
||||
PANEL_APP_PORT_HTTP=40332
|
||||
SERVER_ORIGIN_URL="http://1.2.3.4:40332"
|
||||
62
apps/wewe-rss/2.6.1-sqlite/data.yml
Normal file
62
apps/wewe-rss/2.6.1-sqlite/data.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: "40332"
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: "./data"
|
||||
edit: true
|
||||
envKey: DATA_PATH
|
||||
labelEn: Data Path
|
||||
labelZh: 数据路径
|
||||
required: true
|
||||
type: text
|
||||
- default: "sqlite"
|
||||
disabled: true
|
||||
envKey: DATABASE_TYPE
|
||||
labelEn: Database Type
|
||||
labelZh: 数据库类型
|
||||
required: true
|
||||
type: text
|
||||
- default: "password"
|
||||
edit: true
|
||||
envKey: AUTH_CODE
|
||||
labelEn: Auth Code
|
||||
labelZh: 授权码
|
||||
random: true
|
||||
required: true
|
||||
rule: paramComplexity
|
||||
type: password
|
||||
- default: "http://1.2.3.4:40332"
|
||||
edit: true
|
||||
envKey: SERVER_ORIGIN_URL
|
||||
labelEn: External URL
|
||||
labelZh: 外部访问地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: "fulltext"
|
||||
edit: true
|
||||
envKey: FEED_MODE
|
||||
labelEn: Feed Mode
|
||||
labelZh: 提取模式
|
||||
required: false
|
||||
type: text
|
||||
- default: "35 5,17 * * *"
|
||||
edit: true
|
||||
envKey: CRON_EXPRESSION
|
||||
labelEn: Cron Expression
|
||||
labelZh: 定时更新表达式
|
||||
required: false
|
||||
type: text
|
||||
- default: "60"
|
||||
edit: true
|
||||
envKey: MAX_REQUEST_PER_MINUTE
|
||||
labelEn: Max Requests Per Minute
|
||||
labelZh: 每分钟最大请求次数
|
||||
required: false
|
||||
type: number
|
||||
24
apps/wewe-rss/2.6.1-sqlite/docker-compose.yml
Normal file
24
apps/wewe-rss/2.6.1-sqlite/docker-compose.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
services:
|
||||
wewe-rss:
|
||||
image: "cooderl/wewe-rss-sqlite:v2.6.1"
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:4000"
|
||||
environment:
|
||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||
- AUTH_CODE=${AUTH_CODE}
|
||||
- FEED_MODE=${FEED_MODE}
|
||||
- CRON_EXPRESSION=${CRON_EXPRESSION}
|
||||
- MAX_REQUEST_PER_MINUTE=${MAX_REQUEST_PER_MINUTE}
|
||||
- SERVER_ORIGIN_URL=${SERVER_ORIGIN_URL}
|
||||
volumes:
|
||||
- ${DATA_PATH}:/app/data
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
14
apps/wewe-rss/2.6.1/.env.sample
Normal file
14
apps/wewe-rss/2.6.1/.env.sample
Normal file
@@ -0,0 +1,14 @@
|
||||
AUTH_CODE="password"
|
||||
CONTAINER_NAME="wewe-rss"
|
||||
CRON_EXPRESSION="35 5,17 * * *"
|
||||
FEED_MODE="fulltext"
|
||||
MAX_REQUEST_PER_MINUTE=60
|
||||
PANEL_APP_PORT_HTTP=40332
|
||||
PANEL_DB_HOST="mysql"
|
||||
PANEL_DB_HOST_NAME="mysql"
|
||||
PANEL_DB_NAME="wewe-rss"
|
||||
PANEL_DB_PORT=3306
|
||||
PANEL_DB_TYPE="mysql"
|
||||
PANEL_DB_USER="wewe-rss"
|
||||
PANEL_DB_USER_PASSWORD="wewe-rss"
|
||||
SERVER_ORIGIN_URL="http://1.2.3.4:40332"
|
||||
64
apps/wewe-rss/2.6.1/data.yml
Normal file
64
apps/wewe-rss/2.6.1/data.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: "wewe-rss"
|
||||
envKey: PANEL_DB_NAME
|
||||
labelEn: Database
|
||||
labelZh: 数据库名
|
||||
random: true
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: "wewe-rss"
|
||||
envKey: PANEL_DB_ROOT_PASSWORD
|
||||
labelEn: Password
|
||||
labelZh: 数据库用户密码
|
||||
random: true
|
||||
required: true
|
||||
rule: paramComplexity
|
||||
type: password
|
||||
- default: "4000"
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: "password"
|
||||
edit: true
|
||||
envKey: AUTH_CODE
|
||||
labelEn: Auth Code
|
||||
labelZh: 授权码
|
||||
random: true
|
||||
required: true
|
||||
rule: paramComplexity
|
||||
type: password
|
||||
- default: "http://1.2.3.4:4000"
|
||||
edit: true
|
||||
envKey: SERVER_ORIGIN_URL
|
||||
labelEn: External URL
|
||||
labelZh: 外部访问地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: "fulltext"
|
||||
edit: true
|
||||
envKey: FEED_MODE
|
||||
labelEn: Feed Mode
|
||||
labelZh: 提取模式
|
||||
required: false
|
||||
type: text
|
||||
- default: "35 5,17 * * *"
|
||||
edit: true
|
||||
envKey: CRON_EXPRESSION
|
||||
labelEn: Cron Expression
|
||||
labelZh: 定时更新表达式
|
||||
required: false
|
||||
type: text
|
||||
- default: "60"
|
||||
edit: true
|
||||
envKey: MAX_REQUEST_PER_MINUTE
|
||||
labelEn: Max Requests Per Minute
|
||||
labelZh: 每分钟最大请求次数
|
||||
required: false
|
||||
type: number
|
||||
45
apps/wewe-rss/2.6.1/docker-compose.yml
Normal file
45
apps/wewe-rss/2.6.1/docker-compose.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
services:
|
||||
wewe-rss:
|
||||
image: "cooderl/wewe-rss:v2.6.1"
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:4000"
|
||||
environment:
|
||||
- DATABASE_URL=mysql://root:${PANEL_DB_ROOT_PASSWORD}@${CONTAINER_NAME}-mysql:3306/${PANEL_DB_NAME}?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30
|
||||
- AUTH_CODE=${AUTH_CODE}
|
||||
- FEED_MODE=${FEED_MODE}
|
||||
- CRON_EXPRESSION=${CRON_EXPRESSION}
|
||||
- MAX_REQUEST_PER_MINUTE=${MAX_REQUEST_PER_MINUTE}
|
||||
- SERVER_ORIGIN_URL=${SERVER_ORIGIN_URL}
|
||||
depends_on:
|
||||
- mysql
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
mysql:
|
||||
image: mysql:8.3.0
|
||||
container_name: ${CONTAINER_NAME}-mysql
|
||||
command: --mysql-native-password=ON
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${PANEL_DB_ROOT_PASSWORD}
|
||||
- TZ=Asia/Shanghai
|
||||
- MYSQL_DATABASE=${PANEL_DB_NAME}
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
networks:
|
||||
- 1panel-network
|
||||
healthcheck:
|
||||
test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost']
|
||||
timeout: 45s
|
||||
interval: 10s
|
||||
retries: 10
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
73
apps/wewe-rss/README.md
Normal file
73
apps/wewe-rss/README.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# [WeWe RSS](https://github.com/cooderl/wewe-rss)
|
||||
|
||||
更优雅的微信公众号订阅方式。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## ✨ 功能
|
||||
|
||||
- v2.x版本使用全新接口,更加稳定
|
||||
- 支持微信公众号订阅(基于微信读书)
|
||||
- 获取公众号历史发布文章
|
||||
- 后台自动定时更新内容
|
||||
- 微信公众号RSS生成(支持`.atom`、`.rss`、`.json`格式)
|
||||
- 支持全文内容输出,让阅读无障碍
|
||||
- 所有订阅源导出OPML
|
||||
|
||||
### 高级功能
|
||||
|
||||
- **标题过滤**:支持通过`/feeds/all.(json|rss|atom)`接口和`/feeds/:feed`对标题进行过滤
|
||||
```
|
||||
{{ORIGIN_URL}}/feeds/all.atom?title_include=张三
|
||||
{{ORIGIN_URL}}/feeds/MP_WXS_123.json?limit=30&title_include=张三|李四|王五&title_exclude=张三丰|赵六
|
||||
```
|
||||
|
||||
- **手动更新**:支持通过`/feeds/:feed`接口触发单个feedid更新
|
||||
```
|
||||
{{ORIGIN_URL}}/feeds/MP_WXS_123.rss?update=true
|
||||
```
|
||||
|
||||
## ⚙️ 环境变量
|
||||
|
||||
| 变量名 | 说明 | 默认值 |
|
||||
| ------------------------ | ----------------------------------------------------------------------- | --------------------------- |
|
||||
| `DATABASE_URL` | **必填** 数据库地址,例如 `mysql://root:123456@127.0.0.1:3306/wewe-rss` | - |
|
||||
| `DATABASE_TYPE` | 数据库类型,使用 SQLite 时需填写 `sqlite` | - |
|
||||
| `AUTH_CODE` | 服务端接口请求授权码,空字符或不设置将不启用 (`/feeds`路径不需要) | - |
|
||||
| `SERVER_ORIGIN_URL` | 服务端访问地址,用于生成RSS完整路径 | - |
|
||||
| `MAX_REQUEST_PER_MINUTE` | 每分钟最大请求次数 | 60 |
|
||||
| `FEED_MODE` | 输出模式,可选值 `fulltext` (会使接口响应变慢,占用更多内存) | - |
|
||||
| `CRON_EXPRESSION` | 定时更新订阅源Cron表达式 | `35 5,17 * * *` |
|
||||
| `UPDATE_DELAY_TIME` | 连续更新延迟时间,减少被关小黑屋 | `60s` |
|
||||
| `ENABLE_CLEAN_HTML` | 是否开启正文html清理 | `false` |
|
||||
| `PLATFORM_URL` | 基础服务URL | `https://weread.111965.xyz` |
|
||||
|
||||
> **注意**: 国内DNS解析问题可使用 `https://weread.965111.xyz` 加速访问
|
||||
|
||||
## 🔔 钉钉通知
|
||||
|
||||
进入 wewe-rss-dingtalk 目录按照 README.md 指引部署
|
||||
|
||||
## 📱 使用方式
|
||||
|
||||
1. 进入账号管理,点击添加账号,微信扫码登录微信读书账号。
|
||||
|
||||
**注意不要勾选24小时后自动退出**
|
||||
|
||||
<img width="400" src="./assets/preview2.png"/>
|
||||
|
||||
|
||||
2. 进入公众号源,点击添加,通过提交微信公众号分享链接,订阅微信公众号。
|
||||
**添加频率过高容易被封控,等24小时解封**
|
||||
|
||||
<img width="400" src="./assets/preview3.png"/>
|
||||
|
||||
## 🔑 账号状态说明
|
||||
|
||||
| 状态 | 说明 |
|
||||
| ---------- | ------------------------------------------------------------------- |
|
||||
| 今日小黑屋 | 账号被封控,等一天恢复。账号正常时可通过重启服务/容器清除小黑屋记录 |
|
||||
| 禁用 | 不使用该账号 |
|
||||
| 失效 | 账号登录状态失效,需要重新登录 |
|
||||
26
apps/wewe-rss/data.yml
Normal file
26
apps/wewe-rss/data.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
name: WeWe RSS
|
||||
tags:
|
||||
- 实用工具
|
||||
title: 更优雅的微信公众号订阅方式
|
||||
description: WeWe RSS 是一个优雅的微信公众号订阅工具,支持RSS输出和文章存档
|
||||
additionalProperties:
|
||||
key: wewe-rss
|
||||
name: WeWe RSS
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 更优雅的微信公众号订阅方式
|
||||
shortDescEn: A more elegant way to subscribe to WeChat Official Accounts
|
||||
description:
|
||||
en: WeWe RSS is an elegant tool for subscribing to WeChat Official Accounts with RSS output and article archiving
|
||||
zh-Hant: WeWe RSS 是一個優雅的微信公眾號訂閱工具,支持RSS輸出和文章存檔
|
||||
zh: WeWe RSS 是一个优雅的微信公众号订阅工具,支持RSS输出和文章存档
|
||||
type: website
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://github.com/cooderl/wewe-rss
|
||||
github: https://github.com/cooderl/wewe-rss
|
||||
document: https://github.com/cooderl/wewe-rss
|
||||
architectures:
|
||||
- amd64
|
||||
- arm64
|
||||
14
apps/wewe-rss/latest/.env.sample
Normal file
14
apps/wewe-rss/latest/.env.sample
Normal file
@@ -0,0 +1,14 @@
|
||||
AUTH_CODE="password"
|
||||
CONTAINER_NAME="wewe-rss"
|
||||
CRON_EXPRESSION="35 5,17 * * *"
|
||||
FEED_MODE="fulltext"
|
||||
MAX_REQUEST_PER_MINUTE=60
|
||||
PANEL_APP_PORT_HTTP=40332
|
||||
PANEL_DB_HOST="mysql"
|
||||
PANEL_DB_HOST_NAME="mysql"
|
||||
PANEL_DB_NAME="wewe-rss"
|
||||
PANEL_DB_PORT=3306
|
||||
PANEL_DB_TYPE="mysql"
|
||||
PANEL_DB_USER="wewe-rss"
|
||||
PANEL_DB_USER_PASSWORD="wewe-rss"
|
||||
SERVER_ORIGIN_URL="http://1.2.3.4:40332"
|
||||
64
apps/wewe-rss/latest/data.yml
Normal file
64
apps/wewe-rss/latest/data.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: "wewe-rss"
|
||||
envKey: PANEL_DB_NAME
|
||||
labelEn: Database
|
||||
labelZh: 数据库名
|
||||
random: true
|
||||
required: true
|
||||
rule: paramCommon
|
||||
type: text
|
||||
- default: "wewe-rss"
|
||||
envKey: PANEL_DB_ROOT_PASSWORD
|
||||
labelEn: Password
|
||||
labelZh: 数据库用户密码
|
||||
random: true
|
||||
required: true
|
||||
rule: paramComplexity
|
||||
type: password
|
||||
- default: "4000"
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: "password"
|
||||
edit: true
|
||||
envKey: AUTH_CODE
|
||||
labelEn: Auth Code
|
||||
labelZh: 授权码
|
||||
random: true
|
||||
required: true
|
||||
rule: paramComplexity
|
||||
type: password
|
||||
- default: "http://1.2.3.4:4000"
|
||||
edit: true
|
||||
envKey: SERVER_ORIGIN_URL
|
||||
labelEn: External URL
|
||||
labelZh: 外部访问地址
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: "fulltext"
|
||||
edit: true
|
||||
envKey: FEED_MODE
|
||||
labelEn: Feed Mode
|
||||
labelZh: 提取模式
|
||||
required: false
|
||||
type: text
|
||||
- default: "35 5,17 * * *"
|
||||
edit: true
|
||||
envKey: CRON_EXPRESSION
|
||||
labelEn: Cron Expression
|
||||
labelZh: 定时更新表达式
|
||||
required: false
|
||||
type: text
|
||||
- default: "60"
|
||||
edit: true
|
||||
envKey: MAX_REQUEST_PER_MINUTE
|
||||
labelEn: Max Requests Per Minute
|
||||
labelZh: 每分钟最大请求次数
|
||||
required: false
|
||||
type: number
|
||||
45
apps/wewe-rss/latest/docker-compose.yml
Normal file
45
apps/wewe-rss/latest/docker-compose.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
services:
|
||||
wewe-rss:
|
||||
image: "cooderl/wewe-rss:latest"
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:4000"
|
||||
environment:
|
||||
- DATABASE_URL=mysql://root:${PANEL_DB_ROOT_PASSWORD}@${CONTAINER_NAME}-mysql:3306/${PANEL_DB_NAME}?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30
|
||||
- AUTH_CODE=${AUTH_CODE}
|
||||
- FEED_MODE=${FEED_MODE}
|
||||
- CRON_EXPRESSION=${CRON_EXPRESSION}
|
||||
- MAX_REQUEST_PER_MINUTE=${MAX_REQUEST_PER_MINUTE}
|
||||
- SERVER_ORIGIN_URL=${SERVER_ORIGIN_URL}
|
||||
depends_on:
|
||||
- mysql
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
mysql:
|
||||
image: mysql:8.3.0
|
||||
container_name: ${CONTAINER_NAME}-mysql
|
||||
command: --mysql-native-password=ON
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${PANEL_DB_ROOT_PASSWORD}
|
||||
- TZ=Asia/Shanghai
|
||||
- MYSQL_DATABASE=${PANEL_DB_NAME}
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
networks:
|
||||
- 1panel-network
|
||||
healthcheck:
|
||||
test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost']
|
||||
timeout: 45s
|
||||
interval: 10s
|
||||
retries: 10
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
BIN
apps/wewe-rss/logo.png
Normal file
BIN
apps/wewe-rss/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
Reference in New Issue
Block a user