Stringer自托管RSS源码 开源资讯导航阅读工具源码

Stringer自托管RSS源码 开源资讯导航阅读工具源码

  • 全站源码免费
  • 日/微信/10次解锁
  • 日/IP/100次解锁
资源下载
免费资源
立即下载

Stringer GitHub 项目封面

源码系统概览

文章正文

Stringer 是一款自托管 RSS 阅读器,基于 Ruby on Rails 构建,以 MIT 协议开源,可以部署到自己的服务器上使用。

每天打开手机刷新闻,刷到的多是算法推给你的内容,评论区吵吵闹闹,想安静读几篇文章越来越难。

这次分享的是 Stringer 的完整 Ruby 源码,部署之后就能拥有一个安静、干净的新闻阅读系统。

源码简介

Stringer 由开发者 Matt Swanson 创建,原仓库 swanson/stringer 在 GitHub 上收获约 4100 个 Star。

它的设计主线是「反社交」,砍掉点赞、评论、关注与算法推荐,只保留订阅、抓取、阅读、收藏这几件事。

项目基于 Ruby on Rails 构建,仓库共 423 个文件,其中 Ruby 代码 252 个,另有 TypeScript、CSS 与 ERB 视图等。

后端路由覆盖文章列表、订阅源管理、OPML 导入导出、Fever 协议与后台任务等完整能力。

前端由 Hotwire 的 Turbo 与 Stimulus 搭配 Backbone.js 组成,配合 Mousetrap 支持全键盘操作。

项目内置 17 种语言包,包含简体中文与繁体中文,装上即可切换界面。

适用场景

适合厌倦信息过载、追求纯粹阅读体验的个人用户。

自媒体与资讯爱好者如果不愿把订阅数据交给第三方平台,也可以把它部署到自己的服务器上。

运维开发者可以在 VPS、Docker 或 Heroku 上快速搭建一套私有的新闻订阅服务。

把它当作 Ruby on Rails 学习项目也不错,可以研究 Hotwire、GoodJob 后台任务与 RSS 解析的工程实践。

功能亮点

纯粹阅读:无社交功能、无算法推荐,界面专注文章内容本身。

全键盘操作:按键即可查看快捷键列表。

轻量架构:数据库仅需 PostgreSQL,外部依赖极少。

Fever 协议兼容:可对接各类支持 Fever 的移动客户端,多端同步阅读。

订阅管理完善:支持手动添加订阅源,也支持 OPML 批量导入与导出。

收藏与阅读状态:文章可标星收藏、标记已读,也可一次性全部标记已读。

界面多语言:内置 17 种语言,覆盖简体中文、繁体中文、日文等。

旧文自动清理:内置清理任务,可移除 30 天前的已读旧文章。

技术架构与部署指南

技术栈与运行环境

前端:Hotwire(Turbo 与 Stimulus)、Backbone.js、Underscore、Bootstrap 5、Font Awesome 与 Mousetrap。

后端:Ruby on Rails 8.1,GoodJob 处理后台任务,Feedjira 与 Feedbag 负责订阅源解析与发现。

数据库:PostgreSQL,通过 ActiveRecord 访问,使用 strong_migrations 保障数据库迁移安全。

运行环境:Ruby 3.x、PostgreSQL 10 及以上、Node.js 与 pnpm,支持 VPS、Docker、Heroku 与 OpenShift 部署。

其他依赖:Nokogiri 与 Loofah 处理 HTML 清洗,bcrypt 加密密码,will_paginate 分页,Puma 作为应用服务器。

安装与部署提示

官方提供 Heroku 一键部署按钮,同时准备了 VPS、Docker、OpenShift 三份详细部署文档。

本地开发需先安装 Ruby、Node、PostgreSQL 与 pnpm,随后执行 bin/setup 即可完成依赖安装与数据库初始化。

之后运行 bin/dev 启动服务,默认监听 3000 端口。

首次访问会引导设置密码与基础教程,按提示完成即可开始使用。

通过环境变量 LOCALE 可切换界面语言,例如设置为 zh 即可使用简体中文。

生产环境注意配置 DATABASE_URL、SECRET_KEY_BASE 等必要环境变量,并建议启用 HTTPS。

截图与演示说明

仓库自带 screenshots 目录,包含 stories、feed、instructions、keyboard_shortcuts 等六张界面截图。

文章列表页是阅读的核心界面,未读文章按订阅源分组展示,并实时统计各订阅源的未读数量。

列表支持星标收藏与保持未读等操作,对应的 UnreadCount 控制器会即时刷新未读计数。

单篇阅读页展示标题、来源与发布时间,支持一键重新抓取文章内容。

键盘快捷键界面按 ? 键唤起,将常用操作集中到键盘上。

订阅源管理页提供增删改查,支持导出 OPML,也支持从 OPML 文件批量导入。

设置页可调整文章排序与分组显示方式。

常见问题

问:Stringer 是什么?

答:Stringer 是一款开源的「反社交」自托管 RSS 阅读器,主打纯粹阅读,无社交干扰与算法推荐。

问:怎么安装使用?

答:可参照官方文档部署到 VPS、Docker、Heroku 或 OpenShift,本地开发也可用 bin/setup 一键初始化环境。

问:它和 Miniflux、FreshRSS、Tiny Tiny RSS 有什么区别?

答:Miniflux 主打极简与低资源占用,FreshRSS 偏多用户与插件扩展,Tiny Tiny RSS 功能完整但操作偏传统,Stringer 则以反社交理念、全键盘操作与 Fever 协议支持见长,界面更克制。

项目 语言与框架 数据库 特色 协议
Stringer Ruby on Rails PostgreSQL 全键盘操作、Fever 协议 MIT
Miniflux Go PostgreSQL 极简、低资源占用 Apache 2.0
FreshRSS PHP MySQL/SQLite 多用户、扩展丰富 AGPL

问:项目是否免费?

答:完全免费,采用 MIT 开源协议,可自由使用、修改与再分发。

安全风险提示

特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!

作为参考,原版项目自身带有较强的安全设计。

SafeFetch 借助 private_address_check 拦截内网地址,可有效防止 SSRF 攻击。

文章内容在渲染前经 Loofah 清洗,订阅源地址仅允许 http 与 https 协议。

授权层会校验每条记录的归属用户,开发流程中还内置了 brakeman 安全扫描。

下载说明

本文所述源码来自 GitHub 开源社区,仅供学习与研究使用。

请在下载后自行完成代码审计与安全检查,确认环境安全后再部署上线。

因使用本源码产生的任何问题与损失,本站不承担相关责任。

GitHub项目开源地址:https://github.com/swanson/stringer

最后更新:2026-08-18

资源下载
下载价格免费
本文章资源https://www.aosen.cc/mianfei14420.html来源于互联网,如存在侵权,请联系我们立马删除!
0
显示验证码