stringer

stringer-rssMIT活跃维护

自托管的 RSS 阅读器,没有社交推荐和算法干扰,只专注订阅和阅读,适合想安静看 feed 的人。

A self-hosted, anti-social RSS reader.

暂无版本4,126star390fork同步于 2026-11-10 05:38 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Stringer

    CircleCI Code Climate Coverage Status GitHub Sponsors

    A self-hosted, anti-social RSS reader.

    Stringer has no external dependencies, no social recommendations/sharing, and no fancy machine learning algorithms.

    But it does have keyboard shortcuts and was made with love!

    Installation

    Stringer is a Ruby app based on Rails, PostgreSQL, Hotwire (Turbo and Stimulus) and GoodJob.

    Deploy to Heroku

    Stringer will run just fine on the Eco/Basic Heroku plans.

    Instructions are provided for deploying to Heroku manually, to any Ruby compatible Linux-based VPS, to Docker and to OpenShift.

    Niceties

    Keyboard Shortcuts

    You can access the keyboard shortcuts when using the app by hitting ?.

    Using your own domain with Heroku

    You can run Stringer at http://reader.yourdomain.com using a CNAME.

    If you are on Heroku:

    heroku domains:add reader.yourdomain.com
    

    Go to your registrar and add a CNAME:

    Record: CNAME
    Name: reader
    Target: your-heroku-instance.herokuapp.com
    

    Wait a few minutes for changes to propagate.

    Fever API

    Stringer implements a clone of Fever's API so it can be used with any mobile client that supports Fever.

    image

    Use the following settings:

    Server: {path-to-stringer}/fever (e.g. http://reader.example.com/fever)
    
    Email: stringer (case-sensitive)
    Password: {your-stringer-password}
    

    Translations

    Stringer has been translated to several other languages. Your language can be set with the LOCALE environment variable.

    To set your locale on Heroku, run heroku config:set LOCALE=en.

    If you would like to translate Stringer to your preferred language, please use LocaleApp.

    Clean up old read stories on Heroku

    You can clean up old stories by running: rake cleanup_old_stories

    By default, this removes read stories that are more than 30 days old (that are not starred). You can either run this manually or add it as a scheduled task.

    Development

    Getting Started

    You'll need the toolchain versions pinned in .tool-versions (Ruby, Node, PostgreSQL, and pnpm). With those installed, run:

    bin/setup
    

    This installs dependencies, prepares the database, and launches the development server. The application will be running on port 3000.

    On subsequent runs you can start the server directly with bin/dev, which boots Puma alongside the esbuild watchers for JavaScript and CSS.

    You can launch an interactive console (a la rails c) using rake console.

    Tests and linting

    Run the Ruby tests with bundle exec rspec. Run a single file or example with bundle exec rspec spec/path/to/file_spec.rb:LINE.

    Run the JavaScript tests with pnpm test (Vitest). This also type-checks and runs ESLint first.

    Other checks: bundle exec rubocop (Ruby lint), pnpm eslint (JS lint), pnpm stylelint (CSS lint), pnpm tscheck (type check), and bundle exec brakeman (security scan).

    Acknowledgments

    Most of the heavy-lifting is done by feedjira and feedbag.

    General sexiness courtesy of Twitter Bootstrap and Flat UI.

    ReenieBeanie Font Copyright © 2010 Typeco ([email protected]). Licensed under SIL Open Font License, 1.1.

    Lato Font Copyright © 2010-2011 by tyPoland Lukasz Dziedzic ([email protected]). Licensed under SIL Open Font License, 1.1.

    Contact

    If you have a question, feature idea, or are running into problems, our preferred method of contact is to open an issue on GitHub. This allows multiple people to weigh in, and we can keep everything in one place. Thanks!

    Maintainers

    Robert Fletcher boon.gl

    Alumni

    Matt Swanson (creator), mdswanson.com, @_swanson Victor Koronen, victor.koronen.se, @victorkoronen