V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
guyskk0x0
V2EX  ›  分享创造

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

  •  1
     
  •   guyskk0x0 ·
    guyskk · 2019-06-08 16:21:05 +08:00 · 11159 次点击
    这是一个创建于 2001 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为一个 RSS 重度使用者,我订阅了几百个博客,十几个资讯和论坛网站,利用每天茶余饭后的时间看看资讯,不时也能看到各个博主发的好文章。之前我尝试过很多 RSS 阅读器,有的太复杂,有的阅读体验不好,有的不支持移动端,我甚至定制过一个开源的 RSS 阅读器,还是觉得不够好用。

    所以我用了半年时间,完成了蚁阅的第一版。自己也使用了将近一个月,可以满足日常使用需求了。 今天是第一次发布,欢迎大家体验和反馈意见!

    主要特点:

    • 为移动端优化,适合随时随地阅读
    • 非社交,无广告,无推荐,专注阅读
    • 按订阅更新频率区分消息,好文章慢慢看,读资讯一目十行
    • 输入博客地址,自动查找订阅
    • 导入浏览器书签(或任意含有大量博客链接的网页),可获得大量订阅
    • 智能图片代理,解决防盗链导致图片无法加载问题
    • 开源,源码和部署文档正在整理,稍后公布

    开箱即用地址: https://rss.anyant.com (建议用手机浏览器访问)

    第 1 条附言  ·  2019-06-08 18:27:04 +08:00

    源码和部署文档如下:
    后端代码: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:
    mmqrcode1559988989262.png

    附几张蚁阅的截图:
    Screenshot_2019-06-08-16-25-48-118_com.quark.browser.png Screenshot_2019-06-08-16-24-59-548_com.quark.browser.png Screenshot_2019-06-08-16-24-47-617_com.quark.browser.png Screenshot_2019-06-08-16-27-25-001_com.quark.browser.png

    76 条回复    2020-10-16 21:18:59 +08:00
    ningfeng
        1
    ningfeng  
       2019-06-08 16:25:32 +08:00
    已添加的订阅,无法删除
    guyskk0x0
        2
    guyskk0x0  
    OP
       2019-06-08 16:30:47 +08:00
    @ningfeng #1 可以删除的,在订阅详情页,右上角有个删除按钮
    ningfeng
        3
    ningfeng  
       2019-06-08 16:33:25 +08:00
    @guyskk0x0 我的意思是种子好像无法删除
    loading
        4
    loading  
       2019-06-08 16:34:14 +08:00 via Android
    看看。
    guyskk0x0
        5
    guyskk0x0  
    OP
       2019-06-08 16:35:36 +08:00
    @ningfeng #3 是的,种子在 24 小时后会自动删除,目前无法手动删除
    cqcn1991
        6
    cqcn1991  
       2019-06-08 16:37:08 +08:00 via Android
    厉害。。。。顶一个
    ningfeng
        7
    ningfeng  
       2019-06-08 16:38:15 +08:00   ❤️ 1
    @guyskk0x0 我添加自己的博客订阅,有两篇文字在蘑菇里显示空白,2 篇显示正常。 你可以订阅测试下。https:_//ningfeng_im/
    loading
        8
    loading  
       2019-06-08 16:38:51 +08:00 via Android   ❤️ 1
    只取标题?
    ningfeng
        9
    ningfeng  
       2019-06-08 16:39:33 +08:00
    @loading 蘑菇里面取全文,菌圃里面只取标题。。。
    loading
        10
    loading  
       2019-06-08 16:44:07 +08:00 via Android
    @ningfeng 不错,很赞。
    guyskk0x0
        11
    guyskk0x0  
    OP
       2019-06-08 16:50:42 +08:00
    @ningfeng #9 我也许明白你的意思了,菌圃里面点击展开是只显示摘要的,点击右边的蓝色跳转按钮就是原文了
    ningfeng
        12
    ningfeng  
       2019-06-08 16:52:22 +08:00   ❤️ 1
    @guyskk0x0 你没明白我的意思,我的意思是我博客里面不止有 4 篇文章,但是蘑菇里面只显示了 4 篇,而且这其中两篇还显示成了空白,另外两篇正常
    guyskk0x0
        13
    guyskk0x0  
    OP
       2019-06-08 16:59:00 +08:00
    @ningfeng #12 感谢反馈。蘑菇里面只显示了 4 篇,这是因为蘑菇只取最近 2 周发布的文章,作为消息流。其中两篇还显示成了空白,这个确实是 bug,正文抽取有点问题。
    QianFengWuHen
        14
    QianFengWuHen  
       2019-06-08 18:52:32 +08:00 via Android
    上架谷歌应用商店吗?
    guyskk0x0
        15
    guyskk0x0  
    OP
       2019-06-08 19:00:50 +08:00 via Android
    @QianFengWuHen 目前是纯 web 应用,你是想打包成一个 app,上架应用商店吗?
    saintyy
        16
    saintyy  
       2019-06-08 19:03:44 +08:00 via iPad
    支持一下 虽然我用习惯 Feedly 了😂
    chinesestudio
        17
    chinesestudio  
       2019-06-08 20:18:28 +08:00 via Android
    希望活得九点
    omph
        18
    omph  
       2019-06-08 20:26:17 +08:00
    微信公众号支持不?
    glouhao
        19
    glouhao  
       2019-06-08 20:28:40 +08:00 via Android
    inoreader 可以看很多东西,就是普通人看不到的那种。
    z1s23
        20
    z1s23  
       2019-06-08 20:39:37 +08:00
    不错,支持
    z1s23
        21
    z1s23  
       2019-06-08 20:40:02 +08:00
    @glouhao #19 是的,需要科学才行
    glouhao
        22
    glouhao  
       2019-06-08 21:04:50 +08:00 via Android
    @zs8861 不需要,inoreader 可以直接看。
    guyskk0x0
        23
    guyskk0x0  
    OP
       2019-06-08 21:11:21 +08:00   ❤️ 1
    @loading @ningfeng 感谢二位反馈,"只取标题" 这是个 Bug,蘑菇或收藏中的文章,在菌圃中便会出现这个问题,现已修复。
    guyskk0x0
        24
    guyskk0x0  
    OP
       2019-06-08 21:14:13 +08:00
    @chinesestudio #17 🤝感谢支持
    @omph #18 微信订阅号目前不支持,爬微信难度比较大,也有法律风险
    appstorereview
        25
    appstorereview  
       2019-06-08 21:43:38 +08:00
    支持一下,虽然习惯用 Inoreader。
    Kilerd
        26
    Kilerd  
       2019-06-08 21:52:44 +08:00
    可惜你不是用 react 写的,不然可以很快地通过 react-native 做成 app。

    RSS 这一块很久之前就实践过了,WEB 版本还是不太好用。而且你这个还是没有 PC web 的 UI。

    或者换个思路,优化一下,做成 PWA 也是一个不错的选择。
    guyskk0x0
        27
    guyskk0x0  
    OP
       2019-06-08 22:12:33 +08:00
    @Kilerd 老朋友你换头像了!有考虑打包成 App,这样用户体验会好一些。cordova 貌似也能做,不知道实际效果如何。
    oppoic
        28
    oppoic  
       2019-06-08 22:15:24 +08:00 via iPhone
    楼主考虑做个谷歌浏览器插件,用户群体更大。
    guyskk0x0
        29
    guyskk0x0  
    OP
       2019-06-08 22:20:17 +08:00
    @oppoic 多谢反馈,会考虑进来
    Kilerd
        30
    Kilerd  
       2019-06-08 22:24:26 +08:00   ❤️ 1
    @guyskk0x0 #27 可以先考虑做一下 PWA 的优化。
    我有一个 side project,用 React 写的,PWA 支持也就花了 2 天的时间,很快,但是提升的体验却很好。
    guyskk0x0
        31
    guyskk0x0  
    OP
       2019-06-08 22:32:57 +08:00
    @Kilerd 好的,我尝试一下。你的 side project 是开源的吗,是的话我可以参考一下。
    Kilerd
        32
    Kilerd  
       2019-06-08 22:37:32 +08:00
    @guyskk0x0 #31 没有耶,因为 devops 那一套流水线( CI 做自动编译,自动打包,自动发布)是几个项目公用的,所以没有开源,抱歉了。但是 PWA 的优化我也是跟着 google 官网来做的
    guyskk0x0
        33
    guyskk0x0  
    OP
       2019-06-08 22:44:32 +08:00
    @Kilerd 好的,多谢!
    Kilerd
        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 也是不需要对外暴露的)
    Kilerd
        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
    Kilerd
        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 (推荐)
    guyskk0x0
        37
    guyskk0x0  
    OP
       2019-06-08 22:59:24 +08:00
    @Kilerd 赞同,目前的做法比较简单粗暴。CI 目前还没完善,没精力做。
    数据库端口绑定的 127.0.0.1,不会有问题。另外我用的阿里云 VPC 网络,安全组只开了 80 端口,其他端口外部都访问不了,API 端口主要是 admin 页面使用,我会本地挂 VPN 连上去访问。
    guyskk0x0
        38
    guyskk0x0  
    OP
       2019-06-08 23:02:24 +08:00
    @Kilerd #36 pipenv 和 poetry 我都用过,感觉还是 requirements.txt 比较实用,我都是固定版本号(和 lock 文件一样的效果),不会有版本问题的。
    Kilerd
        39
    Kilerd  
       2019-06-08 23:07:45 +08:00
    requirements.txt 的话,你要手动 freeze 依赖的依赖版本出来就没问题。
    如果只是加了一级依赖的版本号就可能出问题。

    我还是不喜欢这种手动 freeze 的方法,太原始了。
    Kilerd
        40
    Kilerd  
       2019-06-08 23:30:04 +08:00   ❤️ 1
    建议:
    我试了下输入自己的博客,然后 crawler 去遍历我首页的每个 link,去看是不是 rss。

    其实可以先去跑几个比较常见的网页啊。

    - foo.com/rss
    - foo.com/atom

    没有再去尝试遍历
    guyskk0x0
        41
    guyskk0x0  
    OP
       2019-06-08 23:48:52 +08:00
    @Kilerd 其实常见路径非常多,写法各异,所以默认是去首页找链接,大部分情况都有类似 <link rel="alternate" type="application/atom+xml" > 这样的标签,可以直接找到。这部分还可以再优化。
    Kilerd
        42
    Kilerd  
       2019-06-08 23:54:14 +08:00
    @guyskk0x0 #41 我刚刚去看 rss specification 也看到了这点,看来是我的博客不规范,已经加入 issue 里面了
    lance6716
        43
    lance6716  
       2019-06-09 00:16:13 +08:00 via Android   ❤️ 1
    无法从 XML 导入订阅,账号同名
    guyskk0x0
        44
    guyskk0x0  
    OP
       2019-06-09 00:27:02 +08:00
    @lance6716 感谢反馈,我看到报错日志了,我会尽快修复。
    guyskk0x0
        45
    guyskk0x0  
    OP
       2019-06-09 02:23:01 +08:00
    @lance6716 #43 导入 XML/OPML 问题已修复
    lance6716
        46
    lance6716  
       2019-06-09 11:34:16 +08:00   ❤️ 1
    @guyskk0x0 后端返回 500
    guyskk0x0
        47
    guyskk0x0  
    OP
       2019-06-09 14:24:03 +08:00
    @lance6716 感谢,再次(真的)已修复
    guyskk0x0
        48
    guyskk0x0  
    OP
       2019-06-09 14:36:40 +08:00
    今天上午邮件账号被限制,导致邮件发送失败,注册和重置密码功能受影响。
    现已恢复,邮件发件地址改为了 [email protected]
    standin000
        49
    standin000  
       2019-06-09 15:08:19 +08:00
    请教智能图片代理能获得公众号图片?
    guyskk0x0
        50
    guyskk0x0  
    OP
       2019-06-09 15:41:26 +08:00
    @standin000 解析文章内容时,会尝试请求图片,如果收到 401,403 之类的状态码,就替换成代理图片地址。图片代理会在请求头中加上相应的 Referer 头,绕过防盗链机制。所以只要浏览器直接能访问的图片,通过智能图片代理也都能访问。
    stardust21
        51
    stardust21  
       2019-06-10 13:54:04 +08:00   ❤️ 1
    可以弄一些推荐订阅的 RSS
    zsguy
        52
    zsguy  
       2019-06-10 16:39:23 +08:00   ❤️ 1
    有没有清空订阅的选项,我导入了一下发现还是不合用,想清空了不让楼主的服务器继续拉取了,免得浪费效能,或者说如何销号
    guyskk0x0
        53
    guyskk0x0  
    OP
       2019-06-10 19:25:27 +08:00 via Android
    @stardust21 感谢建议,我有空弄一个

    @zsguy 你的蚁阅用户名是什么?需要的话我帮你手动清一下
    zsguy
        54
    zsguy  
       2019-06-10 23:10:17 +08:00
    @guyskk0x0

    用户名就 zsguy
    用的 GitHub 登录的,麻烦清空一下了,估计过段时间还会再回来看一下,到时候有自己清空功能就好了
    guyskk0x0
        55
    guyskk0x0  
    OP
       2019-06-11 06:18:10 +08:00
    @zsguy 已清空
    molezznet
        56
    molezznet  
       2019-06-11 10:50:36 +08:00   ❤️ 1
    web 轻量化, 打算从 inoreader 转过来了, 有没有类似首页全部的列表, 每次点下分类有点繁琐
    guyskk0x0
        57
    guyskk0x0  
    OP
       2019-06-11 16:49:57 +08:00 via Android
    @molezz765 感谢反馈,我会考虑这个优化
    Pore
        58
    Pore  
       2019-06-11 21:57:27 +08:00   ❤️ 1
    很好起 蘑菇 菌 fu 里面是啥 哈哈哈
    guyskk0x0
        59
    guyskk0x0  
    OP
       2019-06-11 22:17:48 +08:00
    @Pore 哈哈,多添加几个订阅自然就明白啦

    > 其实是按订阅更新频率分为丛林,菌圃,沙漠。蘑菇=菌圃中两周内发布的文章组成消息流。
    abc1763613206
        60
    abc1763613206  
       2019-06-12 11:12:52 +08:00 via Android   ❤️ 1
    把 FreshRSS 里导出的 OPML 再导入蚁阅就 500 了,是文件太大了吗
    guyskk0x0
        61
    guyskk0x0  
    OP
       2019-06-12 22:19:09 +08:00
    @abc1763613206 非常感谢反馈,我通过报错日志发现是一个 Bug,正在修复。
    guyskk0x0
        62
    guyskk0x0  
    OP
       2019-06-12 22:35:13 +08:00   ❤️ 1
    Spoter
        63
    Spoter  
       2019-06-13 09:07:35 +08:00   ❤️ 1
    好,希望有 Mac 版本的
    abc1763613206
        64
    abc1763613206  
       2019-06-13 14:53:39 +08:00   ❤️ 1
    @guyskk0x0 可以导入了,感谢
    jasonqiao36
        65
    jasonqiao36  
       2019-06-13 22:56:55 +08:00   ❤️ 1
    没看懂,蘑菇,丛林,苗圃是什么意思
    guyskk0x0
        66
    guyskk0x0  
    OP
       2019-06-14 05:50:24 +08:00 via Android
    @jasonqiao36 参考#59 楼
    googlefans
        67
    googlefans  
       2019-06-17 20:00:14 +08:00   ❤️ 1
    做这个的初衷是啥 市面已经很多了
    Hater
        68
    Hater  
       2019-06-19 18:50:04 +08:00 via iPhone   ❤️ 1
    在用蚁阅 但是刚刚进去 所有的图标没了…
    guyskk0x0
        69
    guyskk0x0  
    OP
       2019-06-19 22:28:21 +08:00 via Android
    @Hater 是网络问题没加载出来吗?刷新之后有没有恢复?
    guyskk0x0
        70
    guyskk0x0  
    OP
       2019-06-19 22:38:09 +08:00 via Android
    @googlefans 做一个好用的 RSS 阅读器,给自己用,顺便分享给别人用
    Hater
        71
    Hater  
       2019-06-20 01:24:27 +08:00 via iPhone   ❤️ 1
    @guyskk0x0 #69 现在有了
    standin000
        72
    standin000  
       2019-06-23 11:07:26 +08:00   ❤️ 1
    @guyskk0x0 尝试了订阅微信公众号文章,文章的图片还是不能显示了。请试试 https://qnmlgb.tech/authors/5ba5c06f244d4e5506b7335e 这个 rss
    guyskk0x0
        73
    guyskk0x0  
    OP
       2019-06-23 15:35:55 +08:00
    @standin000 感谢反馈!原因是微信公众号的图片防盗链不返回 401,403 之类的错误码,而是返回 200 和一张防盗链提示图片,导致图片代理失效。现在问题已修复,新文章图片都已正常,较老的文章数据无法修复,因为重新请求 RSS 源已无法获取这些文章。
    standin000
        74
    standin000  
       2019-06-28 12:57:20 +08:00   ❤️ 1
    @guyskk0x0 rss 新出来了, 但 https://rss.anyant.com/story/409m4178-6 这条仍然不能在蚁阅网页版看到图片,麻烦再查下
    guyskk0x0
        75
    guyskk0x0  
    OP
       2019-06-28 22:43:36 +08:00
    @standin000 感谢反馈,有些微信图片确实加载不出来。通常图片 <img> 标签会有 src 属性,这样图片能直接显示,但有些微信公众号的图片没有 src 属性,而是有 data-src 属性,并通过 JS 动态添加的 src 属性。所以这个要特殊处理,等我修复了再通知你,需要一些时间。
    guyskk0x0
        76
    guyskk0x0  
    OP
       2020-10-16 21:18:59 +08:00
    @Hater @Kilerd @Pore @QianFengWuHen @Spoter @abc1763613206 @appstorereview @chinesestudio @cqcn1991 @glouhao @ningfeng @loading @saintyy @zs8861 @oppoic @molezz765 @stardust21 @lance6716
    感谢各位老铁的支持!蚁阅现已开始预售,可在蚁阅兑换页面输入你的 V2EX ID 直接兑换使用时长。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2830 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:10 · PVG 14:10 · LAX 22:10 · JFK 01:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.