{"id":13689341,"url":"https://github.com/ncarlier/readflow","last_synced_at":"2025-05-15T17:05:19.163Z","repository":{"id":37681115,"uuid":"179956515","full_name":"ncarlier/readflow","owner":"ncarlier","description":"readflow is a news-reading (or read-it-later) solution focused on versatility and simplicity.","archived":false,"fork":false,"pushed_at":"2025-02-20T19:49:54.000Z","size":10811,"stargazers_count":433,"open_issues_count":11,"forks_count":34,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-07T23:03:56.008Z","etag":null,"topics":["bookmarks","feed","golang","graphql","news","pwa","react","read-it-later","reader","typescript"],"latest_commit_sha":null,"homepage":"https://about.readflow.app","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ncarlier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-07T11:30:08.000Z","updated_at":"2025-03-31T05:43:52.000Z","dependencies_parsed_at":"2023-09-24T09:15:45.230Z","dependency_job_id":"b6a881b5-a028-41c0-8482-abde04359ff8","html_url":"https://github.com/ncarlier/readflow","commit_stats":{"total_commits":660,"total_committers":10,"mean_commits":66.0,"dds":0.06818181818181823,"last_synced_commit":"607f876ac18390db0b06e593ea2559fa6cef77b1"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Freadflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Freadflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Freadflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Freadflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ncarlier","download_url":"https://codeload.github.com/ncarlier/readflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384988,"owners_count":22062422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmarks","feed","golang","graphql","news","pwa","react","read-it-later","reader","typescript"],"created_at":"2024-08-02T15:01:44.166Z","updated_at":"2025-05-15T17:05:14.153Z","avatar_url":"https://github.com/ncarlier.png","language":"Go","readme":"# readflow\n\n[![Build Status](https://github.com/ncarlier/readflow/actions/workflows/build.yml/badge.svg)](https://github.com/ncarlier/readflow/actions/workflows/build.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/ncarlier/readflow)](https://goreportcard.com/report/github.com/ncarlier/readflow)\n[![Docker pulls](https://img.shields.io/docker/pulls/ncarlier/readflow.svg)](https://hub.docker.com/r/ncarlier/readflow/)\n\nRead your Internet article flow in one place with complete peace of mind and freedom.\n\n![Logo](readflow.svg)\n\n## Features\n\n- Read articles from anywhere in one place.\n- Save articles for offline reading or locally on you disk in the format you want (HTML, PDF, EPUB, ZIP, ...).\n- Create categories and classify new articles.\n- Customize article integration with a scripting engine.\n- Link with external services thanks to incoming and outgoing webhooks (Newsletter, [RSS][feedpushr], [Keeper][keeper], [Pocket][pocket], [Shaarli][shaarli], [Wallabag][wallabag], S3 bucket, and more...).\n- Receive notifications when new articles are available.\n- Enjoy the same user experience on mobile as on desktop thanks to [Progressive Web App][pwa] support.\n- And all this without ads and trackers.\n\n## Installation\n\nUsing Go compiler:\n\n```bash\ngo install -v github.com/ncarlier/readflow@latest\n```\n\n**Or** using pre-compiled binary:\n\n```bash\ncurl -sf https://gobinaries.com/ncarlier/readflow | sh\n# or\ncurl -s https://raw.githubusercontent.com/ncarlier/readflow/master/install.sh | bash\n```\n\n**Or** using Docker:\n\n```bash\ndocker run -it --rm \\\n  -p 8080:8080 \\\n  -e READFLOW_DATABASE_URI=\u003cYOUR POSTGERSQL CONNECTION STRING\u003e \\\n  ncarlier/readflow:edge\n```\n\n**Or** using Docker Compose:\n\n```bash\ndocker compose up\n```\n\n\u003e The default Docker Compose file mounts a passwd file with a `demo` user having `demo` as password.\n\n## Configuration\n\nReadflow configuration is a TOML file that you can specify using the `-c` command line parameter or by setting the `READFLOW_CONFIG` environment variable.\n\nYou can initialize a configuration file example by using the `init-config -f config.toml` command.\n\nA configuration file example can be found [here](./internal/config/defaults.toml).\n\nType `readflow --help` to display available commands.\n\n## UI\n\nYou can access Web UI on http://localhost:8080\n\n![Screenshot](screenshot.png)\n\n## Documentation\n\nThe documentation can be found here: https://docs.readflow.app\n\n## GraphQL API\n\nYou can explore the server API using GraphiQL endpoint: http://localhost:8080/graphiql\n\n## Development\n\nTo be able to build the project you will need to:\n\n- Install `makefiles` external helpers:\n  ```bash\n  $ git submodule init\n  $ git submodule update\n  ```\n\nThen you can build the project using make:\n\n```bash\n$ make\n```\n\nType `make help` to see other possibilities.\n\n## Bakers\n\nThese amazing people have sponsored this project:\n\n[![Code Lutin](landing/public/img/code-lutin.svg)](https://www.codelutin.com/)\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/nunux)\n\n***\n\n## Licenses\n\nReadflow artworks except the logo are under the [Licence Creative Commons Attribution-NonCommercial-NoDerivatives 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode).\nAttribution to [Maxime Belloche](https://www.instagram.com/bouloche61/)\n\nAvatar artworks are under the [License Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/legalcode).\nAttribution to [David Revoy](https://www.davidrevoy.com/)\n\nReadflow is provided under the [GNU Affero General Public License Version 3 (AGPLv3)](https://github.com/ncarlier/readflow/blob/master/LICENSE).\n\n```text\nReadflow is a personal news reader service.\n\nCopyright (C) 2021 Nicolas Carlier\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as\npublished by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e\n```\n\n---\n\n[pwa]: https://web.dev/progressive-web-apps\n[feedpushr]: https://github.com/ncarlier/feedpushr\n[keeper]: https://keeper.nunux.org\n[wallabag]: https://www.wallabag.org\n[shaarli]: https://github.com/shaarli/Shaarli\n[pocket]: https://getpocket.com/\n","funding_links":["https://www.paypal.me/nunux"],"categories":["置顶","Go","graphql","typescript"],"sub_categories":["9、效率工具集合"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncarlier%2Freadflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fncarlier%2Freadflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncarlier%2Freadflow/lists"}