27 Star 240 Fork 53

AnyAnt / rssant

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

蚁阅 ( RSSAnt )

让 RSS 更好用,轻松订阅你喜欢的博客和资讯

主要特点

  • 全平台,无广告,无推荐,专注阅读
  • 支持全文阅读,支持播客和视频内容
  • 智能查找订阅源,智能裂图修复
  • 支持夜间模式,全球 RSS 均可订阅
  • 开源,开箱即用,也支持自己部署

开箱即用地址: https://rss.anyant.com

蚁阅会员

蚁阅按订阅制收费,因为订阅更新需要服务器资源,免费无法持续提供稳定服务。

会员版 免费版 开源版
订阅数量 不限 不限 不限
使用方式 开箱即用 开箱即用 自己部署维护
全部功能 支持 试用30天 支持
技术支持 优先 常规 常规

会员版价格:5元/月 或者 30元/年
充值入口在【账号设置】页面,欢迎充值会员,支付蚁阅服务器费用!

蚁阅兑换码

在博客,公众号,论坛社区上推荐蚁阅,可联系我获取超级兑换码。
如果你喜欢蚁阅,不妨也推荐给更多人,非常感谢!

给蚁阅提供反馈和建议,报 Bug 等等,也可以获得兑换码。
如有任何疑问和建议都欢迎与我联系!

作者近况

很高兴你能看到这里,在2021年初,我开始全职独立开发,踏上了创业之路。考虑到恰饭问题,我开启了新的项目,蚁阅暂时处于维护状态,新功能要再搁置一段时间了。

我会每两周写一篇文章,记录创业的过程,欢迎关注Guyskk的博客自宅创业系列。

反馈与协作

蚁阅主仓库托管在 码云 上,GitHub 主要作为镜像仓库。

码云和 GitHub 均可提交 Issue:

码云和 GitHub 也均可提交 Pull Request:

如果你有码云账号,建议到码云提交 Pull Request。
非常感谢你的支持!

部署文档

蚁阅基于Docker部署,服务器环境要求:

第一步,准备配置文件

配置文件保存为 ~/rssant/rssant.env,按照注释说明修改。

# 默认关闭DEBUG,请勿在开发测试之外开启DEBUG
RSSANT_DEBUG=0

# 请随机生成一个字符串
RSSANT_SECRET_KEY=SECRET

# 应用的访问地址
RSSANT_ROOT_URL=http://localhost:6789

# 检查订阅的时间间隔,默认30分钟
RSSANT_CHECK_FEED_MINUTES=30

# 请前往GITHUB设置页面申请,不需要Github登录可留空
# GitHub OAuth callback:
# http://<你的域名>/api/v1/accounts/github/login/callback/
RSSANT_GITHUB_CLIENT_ID=
RSSANT_GITHUB_SECRET=

# SMTP邮件功能,不需要注册功能可留空
RSSANT_ADMIN_EMAIL=
RSSANT_SMTP_ENABLE=false
RSSANT_SMTP_HOST=smtp.qq.com
RSSANT_SMTP_PORT=465
RSSANT_SMTP_USE_SSL=true
RSSANT_SMTP_USERNAME=
RSSANT_SMTP_PASSWORD=

# RSS代理功能,可留空
# 参考项目 cloudflare_worker/rssant 目录下的说明部署代理
RSSANT_RSS_PROXY_ENABLE=false
RSSANT_RSS_PROXY_URL=
RSSANT_RSS_PROXY_TOKEN=

# 为保障网络安全,默认不允许订阅局域网地址,如有需要可设置为true
# RSSANT_ALLOW_PRIVATE_ADDRESS=true

# 以下配置保持不动
RSSANT_SCHEDULER_NETWORK=rssant
RSSANT_PG_DB=rssant
RSSANT_PG_HOST=localhost
RSSANT_PG_USER=rssant
RSSANT_PG_PASSWORD=rssant

第二步,启动服务

将以下脚本保存为 ~/rssant/start.sh,其中端口 6789 可改为自定义端口。

#!/bin/bash

docker volume create rssant-data || true
docker volume create rssant-postgres-data || true
docker volume create rssant-postgres-logs || true

docker rm -f rssant || true
docker run -ti --name rssant -d \
    -p 6789:80 \
    --env-file ~/rssant/rssant.env \
    -v rssant-data:/app/data \
    -v rssant-postgres-data:/var/lib/postgresql/11/main \
    -v rssant-postgres-logs:/var/log/postgresql \
    --log-driver json-file --log-opt max-size=50m --log-opt max-file=10 \
    --restart unless-stopped \
    guyskk/rssant:latest

docker logs --tail 1000 -f rssant

先执行 sed -i 's/\r//' ~/rssant/start.sh 处理脚本换行符,再启动服务 bash ~/rssant/start.sh,当看到下面的日志时,服务就启动好了。

# 初始化数据库的日志
I 2019-12-22 11:01:36 scripts.django_db_init:26   extension hstore created
I 2019-12-22 11:01:36 scripts.django_db_init:33   create admin user
I 2019-12-22 11:01:36 scripts.django_db_init:41   update site info
I 2019-12-22 11:01:36 scripts.django_db_init:53   create github social app
# 程序正常运行中的日志
I 2019-12-22 13:16:08 rssant_harbor.actors.rss:418  delete 0 old feed creations
I 2019-12-22 13:16:08 rssant_harbor.actors.rss:423  retry 0 status=UPDATING feed creations
I 2019-12-22 13:16:08 rssant_harbor.actors.rss:429  retry 0 status=PENDING feed creations

执行 docker exec -ti rssant supervisorctl status, 以下进程状态说明一切正常:

api                              RUNNING   pid 9, uptime 0:10:03
async-api                        RUNNING   pid 10, uptime 0:10:03
harbor                           RUNNING   pid 11, uptime 0:10:03
initdb                           EXITED    Dec 22 01:15 PM
nginx                            RUNNING   pid 15, uptime 0:10:03
postgres                         RUNNING   pid 17, uptime 0:10:03
scheduler                        RUNNING   pid 19, uptime 0:10:03
worker                           RUNNING   pid 21, uptime 0:10:03

访问 http://localhost:6789/admin/ 用户名: admin 密码: admin
点击页面右上角 "CHANGE PASSWORD" 修改密码。

大功告成,返回首页即可开始使用了!

如需停止服务,执行: docker rm -f rssant
如需备份数据,备份 rssant-postgres-data 这个卷即可,其他卷可忽略。

开发环境

系统级依赖

后端

安装依赖

git clone git@gitee.com:anyant/rssant.git
cd rssant
pyenv virtualenv -p python3.8 3.8.6 rssant
pyenv local rssant
pip install -r requirements.txt

启动数据库

bash ./scripts/postgres_start.sh

初始化数据库

python manage.py migrate
python manage.py runscript django_db_init

开多个终端,分别启动以下服务

python manage.py runserver 6788

python -m rssant_async.main

python -m rssant_scheduler.main --concurrency 10

python -m rssant_harbor.main --concurrency 10

python -m rssant_worker.main --concurrency 10

访问 http://127.0.0.1:6788/doc/v1/ 账号: admin 密码: admin

访问 http://127.0.0.1:6788/docs/v1/#api-v1-feed-import-create
点击 Interact,输入任意博客地址,例如: https://www.ruanyifeng.com/blog/ , 然后提交。
请求应当正常返回,后台任务控制台会输出查找订阅的日志信息。

测试

pytest

打包

docker build -t rssant/api:latest .

前端

git clone git@gitee.com:anyant/rssant-web.git
cd rssant-web
npm install
npm run serve

访问 http://127.0.0.1:6789/ 即可看到前端页面。

打包

docker build -t rssant/web:latest .

guyskk/rssant

打包

bash ./box/build.sh

运行

bash ./box/run.sh
BSD 3-Clause License Copyright (c) 2019, guyskk All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

蚁阅 - 让 RSS 更好用,轻松订阅你喜欢的博客和资讯 展开 收起
Python 等 6 种语言
BSD-3-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/anyant/rssant.git
git@gitee.com:anyant/rssant.git
anyant
rssant
rssant
master

搜索帮助