作为一个 RSS 重度使用者,我订阅了几百个博客,十几个资讯和论坛网站,利用每天茶余饭后的时间看看资讯,不时也能看到各个博主发的好文章。之前我尝试过很多 RSS 阅读器,有的太复杂,有的阅读体验不好,有的不支持移动端,我甚至定制过一个开源的 RSS 阅读器,还是觉得不够好用。
所以我用了半年时间,完成了蚁阅的第一版。自己也使用了将近一个月,可以满足日常使用需求了。 今天是第一次发布,欢迎大家体验和反馈意见!
主要特点:
开箱即用地址: https://rss.anyant.com (建议用手机浏览器访问)
源码和部署文档如下:
后端代码:https://gitee.com/anyant/rssant_v2
前端代码:https://gitee.com/anyant/rssant-web
部署文档:https://gitee.com/anyant/rssant_v2/wikis/pages/preview?sort_id=1483079&doc_id=301419
建了一个微信群,欢迎加群交流报Bug:
附几张蚁阅的截图:
1
ningfeng 2019-06-08 16:25:32 +08:00
已添加的订阅,无法删除
|
4
loading 2019-06-08 16:34:14 +08:00 via Android
看看。
|
6
cqcn1991 2019-06-08 16:37:08 +08:00 via Android
厉害。。。。顶一个
|
7
ningfeng 2019-06-08 16:38:15 +08:00 1
@guyskk0x0 我添加自己的博客订阅,有两篇文字在蘑菇里显示空白,2 篇显示正常。 你可以订阅测试下。https:_//ningfeng_im/
|
8
loading 2019-06-08 16:38:51 +08:00 via Android 1
只取标题?
|
12
ningfeng 2019-06-08 16:52:22 +08:00 1
@guyskk0x0 你没明白我的意思,我的意思是我博客里面不止有 4 篇文章,但是蘑菇里面只显示了 4 篇,而且这其中两篇还显示成了空白,另外两篇正常
|
13
guyskk0x0 OP @ningfeng #12 感谢反馈。蘑菇里面只显示了 4 篇,这是因为蘑菇只取最近 2 周发布的文章,作为消息流。其中两篇还显示成了空白,这个确实是 bug,正文抽取有点问题。
|
14
QianFengWuHen 2019-06-08 18:52:32 +08:00 via Android
上架谷歌应用商店吗?
|
15
guyskk0x0 OP @QianFengWuHen 目前是纯 web 应用,你是想打包成一个 app,上架应用商店吗?
|
16
saintyy 2019-06-08 19:03:44 +08:00 via iPad
支持一下 虽然我用习惯 Feedly 了😂
|
17
chinesestudio 2019-06-08 20:18:28 +08:00 via Android
希望活得九点
|
18
omph 2019-06-08 20:26:17 +08:00
微信公众号支持不?
|
19
glouhao 2019-06-08 20:28:40 +08:00 via Android
inoreader 可以看很多东西,就是普通人看不到的那种。
|
20
z1s23 2019-06-08 20:39:37 +08:00
不错,支持
|
23
guyskk0x0 OP |
24
guyskk0x0 OP |
25
appstorereview 2019-06-08 21:43:38 +08:00
支持一下,虽然习惯用 Inoreader。
|
26
Kilerd 2019-06-08 21:52:44 +08:00
可惜你不是用 react 写的,不然可以很快地通过 react-native 做成 app。
RSS 这一块很久之前就实践过了,WEB 版本还是不太好用。而且你这个还是没有 PC web 的 UI。 或者换个思路,优化一下,做成 PWA 也是一个不错的选择。 |
27
guyskk0x0 OP @Kilerd 老朋友你换头像了!有考虑打包成 App,这样用户体验会好一些。cordova 貌似也能做,不知道实际效果如何。
|
28
oppoic 2019-06-08 22:15:24 +08:00 via iPhone
楼主考虑做个谷歌浏览器插件,用户群体更大。
|
30
Kilerd 2019-06-08 22:24:26 +08:00 1
@guyskk0x0 #27 可以先考虑做一下 PWA 的优化。
我有一个 side project,用 React 写的,PWA 支持也就花了 2 天的时间,很快,但是提升的体验却很好。 |
32
Kilerd 2019-06-08 22:37:32 +08:00
@guyskk0x0 #31 没有耶,因为 devops 那一套流水线( CI 做自动编译,自动打包,自动发布)是几个项目公用的,所以没有开源,抱歉了。但是 PWA 的优化我也是跟着 google 官网来做的
|
34
Kilerd 2019-06-08 22:45:45 +08:00 1
看了你的部署稳定,很多地方可以优化一下:
- docker 打包应该可以交给 CI,或者写一个脚本自动 build 所有的 image - 不要用 run 的方式来启动每一个服务, 尝试用 stack,或者至少都要用 service,不然一旦崩掉了其中一个服务就完了。 - 用 stack 的方式来部署,depends_on 的方式来解决启动顺序的问题,entrypoint.sh 来启动主程序和 db migration。 - docker run 会暴露出数据库的端口,这是一个极其不安全的操作方法,用 stack + network 的方式来避免没必要的暴露 (我看了下 async api 和 api 也是不需要对外暴露的) |
35
Kilerd 2019-06-08 22:48:58 +08:00 1
其次,部署文档最后部署出来的内容是 http 服务,其实用了 docker,就应该善用 docker service dicovery 的优势,把 load balancer 也用 docker 来实现。
推荐两个: - https://traefik.io/ - https://github.com/buchdag/letsencrypt-nginx-proxy-companion-compose |
36
Kilerd 2019-06-08 22:57:44 +08:00
BTW,怎么还在用 requirements.txt 的方式来管理依赖(缺少 lock 文件,项目过几个月估计就跑不起来了)
快换 pipenv 或者 poetry - pipenv: https://github.com/pypa/pipenv - poetry: https://github.com/sdispater/poetry (推荐) |
37
guyskk0x0 OP @Kilerd 赞同,目前的做法比较简单粗暴。CI 目前还没完善,没精力做。
数据库端口绑定的 127.0.0.1,不会有问题。另外我用的阿里云 VPC 网络,安全组只开了 80 端口,其他端口外部都访问不了,API 端口主要是 admin 页面使用,我会本地挂 VPN 连上去访问。 |
38
guyskk0x0 OP @Kilerd #36 pipenv 和 poetry 我都用过,感觉还是 requirements.txt 比较实用,我都是固定版本号(和 lock 文件一样的效果),不会有版本问题的。
|
39
Kilerd 2019-06-08 23:07:45 +08:00
requirements.txt 的话,你要手动 freeze 依赖的依赖版本出来就没问题。
如果只是加了一级依赖的版本号就可能出问题。 我还是不喜欢这种手动 freeze 的方法,太原始了。 |
40
Kilerd 2019-06-08 23:30:04 +08:00 1
建议:
我试了下输入自己的博客,然后 crawler 去遍历我首页的每个 link,去看是不是 rss。 其实可以先去跑几个比较常见的网页啊。 - foo.com/rss - foo.com/atom 没有再去尝试遍历 |
41
guyskk0x0 OP @Kilerd 其实常见路径非常多,写法各异,所以默认是去首页找链接,大部分情况都有类似 <link rel="alternate" type="application/atom+xml" > 这样的标签,可以直接找到。这部分还可以再优化。
|
42
Kilerd 2019-06-08 23:54:14 +08:00
@guyskk0x0 #41 我刚刚去看 rss specification 也看到了这点,看来是我的博客不规范,已经加入 issue 里面了
|
43
lance6716 2019-06-09 00:16:13 +08:00 via Android 1
无法从 XML 导入订阅,账号同名
|
48
guyskk0x0 OP 今天上午邮件账号被限制,导致邮件发送失败,注册和重置密码功能受影响。
现已恢复,邮件发件地址改为了 [email protected] 。 |
49
standin000 2019-06-09 15:08:19 +08:00
请教智能图片代理能获得公众号图片?
|
50
guyskk0x0 OP @standin000 解析文章内容时,会尝试请求图片,如果收到 401,403 之类的状态码,就替换成代理图片地址。图片代理会在请求头中加上相应的 Referer 头,绕过防盗链机制。所以只要浏览器直接能访问的图片,通过智能图片代理也都能访问。
|
51
stardust21 2019-06-10 13:54:04 +08:00 1
可以弄一些推荐订阅的 RSS
|
52
zsguy 2019-06-10 16:39:23 +08:00 1
有没有清空订阅的选项,我导入了一下发现还是不合用,想清空了不让楼主的服务器继续拉取了,免得浪费效能,或者说如何销号
|
53
guyskk0x0 OP |
54
zsguy 2019-06-10 23:10:17 +08:00
|
56
molezznet 2019-06-11 10:50:36 +08:00 1
web 轻量化, 打算从 inoreader 转过来了, 有没有类似首页全部的列表, 每次点下分类有点繁琐
|
58
Pore 2019-06-11 21:57:27 +08:00 1
很好起 蘑菇 菌 fu 里面是啥 哈哈哈
|
59
guyskk0x0 OP |
60
abc1763613206 2019-06-12 11:12:52 +08:00 via Android 1
把 FreshRSS 里导出的 OPML 再导入蚁阅就 500 了,是文件太大了吗
|
61
guyskk0x0 OP @abc1763613206 非常感谢反馈,我通过报错日志发现是一个 Bug,正在修复。
|
62
guyskk0x0 OP |
63
Spoter 2019-06-13 09:07:35 +08:00 1
好,希望有 Mac 版本的
|
64
abc1763613206 2019-06-13 14:53:39 +08:00 1
@guyskk0x0 可以导入了,感谢
|
65
jasonqiao36 2019-06-13 22:56:55 +08:00 1
没看懂,蘑菇,丛林,苗圃是什么意思
|
66
guyskk0x0 OP @jasonqiao36 参考#59 楼
|
67
googlefans 2019-06-17 20:00:14 +08:00 1
做这个的初衷是啥 市面已经很多了
|
68
Hater 2019-06-19 18:50:04 +08:00 via iPhone 1
在用蚁阅 但是刚刚进去 所有的图标没了…
|
70
guyskk0x0 OP @googlefans 做一个好用的 RSS 阅读器,给自己用,顺便分享给别人用
|
72
standin000 2019-06-23 11:07:26 +08:00 1
@guyskk0x0 尝试了订阅微信公众号文章,文章的图片还是不能显示了。请试试 https://qnmlgb.tech/authors/5ba5c06f244d4e5506b7335e 这个 rss
|
73
guyskk0x0 OP @standin000 感谢反馈!原因是微信公众号的图片防盗链不返回 401,403 之类的错误码,而是返回 200 和一张防盗链提示图片,导致图片代理失效。现在问题已修复,新文章图片都已正常,较老的文章数据无法修复,因为重新请求 RSS 源已无法获取这些文章。
|
74
standin000 2019-06-28 12:57:20 +08:00 1
@guyskk0x0 rss 新出来了, 但 https://rss.anyant.com/story/409m4178-6 这条仍然不能在蚁阅网页版看到图片,麻烦再查下
|
75
guyskk0x0 OP @standin000 感谢反馈,有些微信图片确实加载不出来。通常图片 <img> 标签会有 src 属性,这样图片能直接显示,但有些微信公众号的图片没有 src 属性,而是有 data-src 属性,并通过 JS 动态添加的 src 属性。所以这个要特殊处理,等我修复了再通知你,需要一些时间。
|
76
guyskk0x0 OP @Hater @Kilerd @Pore @QianFengWuHen @Spoter @abc1763613206 @appstorereview @chinesestudio @cqcn1991 @glouhao @ningfeng @loading @saintyy @zs8861 @oppoic @molezz765 @stardust21 @lance6716
感谢各位老铁的支持!蚁阅现已开始预售,可在蚁阅兑换页面输入你的 V2EX ID 直接兑换使用时长。 |