diff --git a/apps/wewe-rss/2.5.0/.env.sample b/apps/wewe-rss/2.5.0/.env.sample
new file mode 100644
index 00000000..54b5a845
--- /dev/null
+++ b/apps/wewe-rss/2.5.0/.env.sample
@@ -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"
diff --git a/apps/wewe-rss/2.5.0/data.yml b/apps/wewe-rss/2.5.0/data.yml
new file mode 100644
index 00000000..503bc67e
--- /dev/null
+++ b/apps/wewe-rss/2.5.0/data.yml
@@ -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
+ 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
+
diff --git a/apps/wewe-rss/2.5.0/docker-compose.yml b/apps/wewe-rss/2.5.0/docker-compose.yml
new file mode 100644
index 00000000..a040a538
--- /dev/null
+++ b/apps/wewe-rss/2.5.0/docker-compose.yml
@@ -0,0 +1,24 @@
+services:
+ wewe-rss:
+ image: "cooderl/wewe-rss-sqlite:v2.5.0"
+ 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
diff --git a/apps/wewe-rss/README.md b/apps/wewe-rss/README.md
new file mode 100644
index 00000000..537042d9
--- /dev/null
+++ b/apps/wewe-rss/README.md
@@ -0,0 +1,30 @@
+# WeWe RSS
+
+更优雅的微信公众号订阅方式。
+
+## 使用方式
+
+1. 进入账号管理,点击添加账号,微信扫码登录微信读书账号。
+
+
+2. 进入公众号源,点击添加,通过提交微信公众号分享链接,订阅微信公众号。
+ **(添加频率过高容易被封控,等24小时解封)**
+
+
+## 账号状态说明
+
+- 今日小黑屋
+
+ > 账号被封控,等一天恢复
+ > 如果账号正常,可以通过重启服务/容器清除小黑屋记录
+
+- 禁用
+
+ > 不使用该账号
+
+- 失效
+ > 账号登录状态失效,需要重新登录
+
+## 风险声明
+
+为了确保本项目的持久运行,某些接口请求将通过`weread.111965.xyz`进行转发。请放心,该转发服务不会保存任何数据。
\ No newline at end of file
diff --git a/apps/wewe-rss/data.yml b/apps/wewe-rss/data.yml
new file mode 100644
index 00000000..3fab0acc
--- /dev/null
+++ b/apps/wewe-rss/data.yml
@@ -0,0 +1,19 @@
+name: WeWe RSS
+tags:
+ - 建站
+title: 更优雅的微信公众号订阅方式
+description: 更优雅的微信公众号订阅方式
+additionalProperties:
+ key: wewe-rss
+ name: WeWe RSS
+ tags:
+ - Website
+ shortDescZh: 更优雅的微信公众号订阅方式
+ shortDescEn: A more elegant way to subscribe to WeChat
+ 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
diff --git a/apps/wewe-rss/latest-mysql/.env.sample b/apps/wewe-rss/latest-mysql/.env.sample
new file mode 100644
index 00000000..341e0067
--- /dev/null
+++ b/apps/wewe-rss/latest-mysql/.env.sample
@@ -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"
diff --git a/apps/wewe-rss/latest-mysql/data.yml b/apps/wewe-rss/latest-mysql/data.yml
new file mode 100644
index 00000000..9dd3e4c7
--- /dev/null
+++ b/apps/wewe-rss/latest-mysql/data.yml
@@ -0,0 +1,88 @@
+additionalProperties:
+ formFields:
+ - child:
+ default: ""
+ envKey: PANEL_DB_HOST
+ required: true
+ type: service
+ default: mysql
+ envKey: PANEL_DB_TYPE
+ labelEn: Database Service
+ labelZh: 数据库服务
+ required: true
+ type: apps
+ values:
+ - label: MySQL
+ value: mysql
+ - label: LocalMySQL
+ value: localmysql
+ - default: "wewe-rss"
+ envKey: PANEL_DB_NAME
+ labelEn: Database
+ labelZh: 数据库名
+ random: true
+ required: true
+ rule: paramCommon
+ type: text
+ - default: "wewe-rss"
+ envKey: PANEL_DB_USER
+ labelEn: User
+ labelZh: 数据库用户
+ random: true
+ required: true
+ rule: paramCommon
+ type: text
+ - default: "wewe-rss"
+ envKey: PANEL_DB_USER_PASSWORD
+ labelEn: Password
+ labelZh: 数据库用户密码
+ random: true
+ required: true
+ rule: paramComplexity
+ type: password
+ - default: "40332"
+ 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:40332"
+ edit: true
+ envKey: SERVER_ORIGIN_URL
+ labelEn: External URL
+ labelZh: 外部访问地址
+ required: true
+ 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
+
diff --git a/apps/wewe-rss/latest-mysql/docker-compose.yml b/apps/wewe-rss/latest-mysql/docker-compose.yml
new file mode 100644
index 00000000..446c9a5c
--- /dev/null
+++ b/apps/wewe-rss/latest-mysql/docker-compose.yml
@@ -0,0 +1,22 @@
+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=${PANEL_DB_TYPE}://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${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}
+ labels:
+ createdBy: "Apps"
+
+networks:
+ 1panel-network:
+ external: true
diff --git a/apps/wewe-rss/latest/.env.sample b/apps/wewe-rss/latest/.env.sample
new file mode 100644
index 00000000..54b5a845
--- /dev/null
+++ b/apps/wewe-rss/latest/.env.sample
@@ -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"
diff --git a/apps/wewe-rss/latest/data.yml b/apps/wewe-rss/latest/data.yml
new file mode 100644
index 00000000..503bc67e
--- /dev/null
+++ b/apps/wewe-rss/latest/data.yml
@@ -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
+ 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
+
diff --git a/apps/wewe-rss/latest/docker-compose.yml b/apps/wewe-rss/latest/docker-compose.yml
new file mode 100644
index 00000000..3dc2f4d9
--- /dev/null
+++ b/apps/wewe-rss/latest/docker-compose.yml
@@ -0,0 +1,24 @@
+services:
+ wewe-rss:
+ image: "cooderl/wewe-rss-sqlite:latest"
+ 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
diff --git a/apps/wewe-rss/logo.png b/apps/wewe-rss/logo.png
new file mode 100644
index 00000000..812ceb92
Binary files /dev/null and b/apps/wewe-rss/logo.png differ