前段时间在L站(linux.do)发现了一个好玩的工具 ssh ssh-news.top,用最原始的命令行上网,不得不服这创意。
image-1725171236399

之前折腾vps服务器,部署过Tiny RSS,所以想再来继续折腾,把这么好的想法也试着实践一下,大致如下,后面还要再继续完善。

image-1725176205206

然后把坑总结一下,

Tiny Rss 的:

  1. 新版本不支持自定义端口RSS源,本来是为了安全,但对于服务器内自建Web2RSS用户是反而是一个障碍。
  2. 不支持utf-16, 对于markdown文本,无法正确显示,主要是v2ex的api 返回的 content ,默认为markdown文本,后来使用content_rendered 作为description,算是解决吧。
  3. 官方默认docker配置,被google标记为风险,这个需要通过修改nginx服务的header,来屏蔽处理。
 add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self'>
    add_header X-Content-Type-Options "nosniff";
    add_header X-Frame-Options "DENY";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";

另坑是 PlayWright ,MS生态在国内虽然不好,自家webview2的强大,无人出右,但对于免费的vps服务器小鸡难扛,不是所有网站都提供免费API,知乎热榜更是要登录才能访问。头条,百度也是纯web不提供Feed,直接发简单请求,只能获得 js 的 pre data。试过几种方案,就找到PlayWright,以前完全没见过,在.net core api 表现操作更简单灵活些,也可能它本来就MS自家出品的原因。

PlayWright:

  1. 在windows 开发环境下发布时指定Linux版本,再部署,没有PlayWright运行良好,一旦使用PlayWright,会有误导性错误,比如说找不到node ,实际上不需要node运行环境。
  2. 为了解决上面的问题,最后把源码放在服务器上Run,准备把所需的环境变量和实际错误调试出来,结果人家的提示的非常友好,居然还留名。真的非常想骂人!!!
    image-1725177650248
  3. 驱动下载,并不像官网说的,运行命令或调用安装方法,会自动安装,也可能是我的版本(较新)吧。同问题1,以为是node环境问题。

总结

在流量至上的年代,内容服务商都不太愿意把自己的核心内容让人直接从后台拿走,所以不是没有好用的Rss Feed, 因为每个人的信息需求不同,自建Web到RSS的数据转换服务,可能是目前能做的唯一解 。