{"id":31691317,"url":"https://github.com/simonkovtyk/feeder","last_synced_at":"2026-05-14T20:31:04.934Z","repository":{"id":316288498,"uuid":"1061182971","full_name":"simonkovtyk/feeder","owner":"simonkovtyk","description":"A fast, reliable, and robust RSS feed synchronizer written in Rust. Keep your feeds up-to-date effortlessly, with minimal resource usage, maximum performance, and built-in support for Discord webhooks.","archived":false,"fork":false,"pushed_at":"2025-12-25T23:48:34.000Z","size":93,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-27T09:53:21.817Z","etag":null,"topics":["discord","discord-rss","rss","rss-feed","rss-feed-reader","rss-feed-scraper","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonkovtyk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-21T12:13:44.000Z","updated_at":"2025-12-25T23:47:23.000Z","dependencies_parsed_at":"2025-09-23T19:32:43.460Z","dependency_job_id":null,"html_url":"https://github.com/simonkovtyk/feeder","commit_stats":null,"previous_names":["simonkovtyk/rss-feed"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simonkovtyk/feeder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonkovtyk%2Ffeeder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonkovtyk%2Ffeeder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonkovtyk%2Ffeeder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonkovtyk%2Ffeeder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonkovtyk","download_url":"https://codeload.github.com/simonkovtyk/feeder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonkovtyk%2Ffeeder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33042065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["discord","discord-rss","rss","rss-feed","rss-feed-reader","rss-feed-scraper","rust"],"created_at":"2025-10-08T13:48:50.794Z","updated_at":"2026-05-14T20:31:04.929Z","avatar_url":"https://github.com/simonkovtyk.png","language":"Rust","funding_links":["https://github.com/sponsors/simonkovtyk/"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003cimg width=\"64\" height=\"64\" src=\"./docs/logo.svg\" /\u003e\n\n  # Feeder\n  A fast, reliable, and robust RSS feed synchronizer written in Rust. Keep your feeds up-to-date effortlessly, with minimal resource usage, maximum performance, and built-in support for Discord webhooks.\n\n  [![Last Release Badge](https://img.shields.io/github/v/release/simonkovtyk/feeder?sort=semver\u0026display_name=release\u0026color=7300ff\u0026labelColor=27272a)](../../releases/latest)\n  [![GitHub License Badge](https://img.shields.io/github/license/simonkovtyk/feeder?color=7300ff\u0026labelColor=27272a)](./LICENSE)\n  [![Contributions Welcomed Badge](https://img.shields.io/badge/contributions-welcomed-7300ff?labelColor=27272a)](#contributing)\n  [![Sponsor Hint Badge](https://img.shields.io/badge/❤️-Sponsor_it-%23dc2626?style=flat\u0026labelColor=27272a)](https://github.com/sponsors/simonkovtyk/)\n\n\u003c/div\u003e\n\n## Introduction\nThis Rust-based RSS synchronizer offers fast, reliable, and standards-compliant feed aggregation with full configurability, logging, and runtime safety.\n\n✅ **Efficient RSS Handling:** Fully respects RSS standards, including proper TTL (time-to-live) handling to ensure feeds are refreshed at appropriate intervals.  \n✅ **Bandwidth Optimization:** Supports HTTP 304 (Not Modified) responses to avoid unnecessary downloads of unchanged feeds.  \n✅ **Extensive Logging:** Tracks feed updates, errors, and network activity to provide full transparency and easier debugging.  \n✅ **Highly Configurable:** Customize fetch intervals, output formats and more to fit your workflow.  \n✅ **Performance-Oriented:** Designed for speed and minimal resource usage without compromising correctness.  \n✅ **Error Resilience:** Robust handling of network failures, malformed feeds, and other unexpected issues.\n\n## Integrations\nFeeder can be easily integrated into your workflows and applications.\n\n✅ **Discord:** Configure and call webhooks with your personal styled messages (no branding is done by me).\n\n*Currently only Discord is supported, but I am working on Telegram. If you are still missing an integration, [consider creating a feature-request or pull-request](#contributing)*\n\n## Installation\n\nFirst, you need a build either from the [releases](../../releases/latest) or by building it from source.\n\nA PostgreSQL Database is also required.\n\nFeeder will take care of the database and creates everything in there for you, so no maintenance needed.\n\n## Usage\n### Configuration\nFeeder is configured by using a simple json-file.\n\nThe configuration is on a per RSS-Channel basis, to provide more flexibility for each RSS-Channel.\n\n```json5\n{\n  \"db\": \"\u003c\u003c\u003cYOUR POSTGRESQL CONNECTION STRING HERE\u003e\u003e\",\n  \"rss\": [\n    {\n      \"url\": \"http://example.com/feed\", // THE CHANNEL YOU WANT TO RECEIVE\n      \"discord\": {\n        \"webhook\": {\n          \"id\": 1234, // YOUR WEBHOOK ID\n          \"token\": \"your-token\" // YOUR WEBHOOK TOKEN\n        },\n        \"style\": {\n          \"embed\": \"7300ff\" // CUSTOM EMBED STYLING (IT'S THE LEFT-SIDE BORDER OF THE EMBED)\n        }\n      }\n    },\n    // ... add as many RSS-Channels as you want\n  ]\n}\n```\n### Starting\nTo start Feeder with your configuration from the step before, simply run:\n```shell\n./feeder --config path-to-your-config.json\n```\n\nYou could also improve the uptime by creating a [systemd-Unit](https://wiki.archlinux.org/title/Systemd).\n\n## Roadmap\n- [x] Add Discord integration\n- [ ] Add Telegram integration\n- [ ] Improve docs to cover edge-cases like overriding RSS-Channel ttl's and the fallback ttl\n- [ ] Provide a Docker solution\n\n## License\nThe MIT License (MIT) - Please have a look at the [LICENSE file](./LICENSE) for more details.\n\n## Contributing\nContributions are always welcome and greatly appreciated. Whether you want to report a bug, suggest a new feature, or improve the documentation, your input helps make the project better for everyone.\n\nFeel free to submit a pull request, issue or feature request.\n\n### Issues and Feature Requests\nReporting an issue or creating a feature request is made by creating a new issue on this repository.\n\nYou can create a [new issue or feature request here](../../issues/new/choose).\n\n### Pull Requests\nGitHub offers a solid guideline for contributing to open source projects through pull requests, covering key practices. These best practices provide a reliable starting point for making effective contributions.\n\nYou can find the [guidelines here](https://docs.github.com/get-started/exploring-projects-on-github/contributing-to-a-project).\n\n### Code Of Conduct\nWe are committed to keeping a welcoming, inclusive, and respectful community for everyone. To help us achieve this, we kindly ask that you adhere to our [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n## Legal\n\nAll trademarks and registered trademarks mentioned are property of their respective owners and are used for identification purposes only. Use of these names does not imply endorsement or affiliation.\n\nThis project is a trademark of Simon Kovtyk. The License does not grant rights to use the trademark without permission.\n\n© 2025 — present by Maintainers \u0026 Simon Kovtyk\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonkovtyk%2Ffeeder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonkovtyk%2Ffeeder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonkovtyk%2Ffeeder/lists"}