{"id":15058777,"url":"https://github.com/jehna/mastofeeder","last_synced_at":"2025-04-05T14:09:35.643Z","repository":{"id":160460338,"uuid":"622247800","full_name":"jehna/mastofeeder","owner":"jehna","description":"RSS to ActivityPub bridge","archived":false,"fork":false,"pushed_at":"2025-03-27T13:54:44.000Z","size":698,"stargazers_count":128,"open_issues_count":12,"forks_count":7,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-29T13:11:12.201Z","etag":null,"topics":["activitypub","mastodon","mastodon-bot","rss","rss-reader"],"latest_commit_sha":null,"homepage":"https://mastofeeder.com","language":"TypeScript","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/jehna.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":"2023-04-01T14:56:55.000Z","updated_at":"2025-03-27T13:54:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f80a1c2-0e06-4dc8-8f79-173f61671a58","html_url":"https://github.com/jehna/mastofeeder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jehna%2Fmastofeeder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jehna%2Fmastofeeder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jehna%2Fmastofeeder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jehna%2Fmastofeeder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jehna","download_url":"https://codeload.github.com/jehna/mastofeeder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345856,"owners_count":20924102,"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":["activitypub","mastodon","mastodon-bot","rss","rss-reader"],"created_at":"2024-09-24T22:30:05.366Z","updated_at":"2025-04-05T14:09:35.626Z","avatar_url":"https://github.com/jehna.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./logo.png\" width=\"100\" /\u003e\n\n# MastoFeeder\n\u003e RSS to ActivityPub proxy\n\nThis is a simple Mastodon/ActivityPub server that has a virtual\n`@website@mastofeeder.com` user for every RSS feed in the Internet. Just search\nfor your favourite RSS-enabled website from Mastodon's search and follow the\nuser! All RSS items will be posted as toots.\n\n## Examples:\n\n- `@xkcd.com@mastofeeder.com`\n- `@engadget.com@mastofeeder.com`\n- `@techcrunch.com@mastofeeder.com`\n- Or any other website that has an RSS feed! `@YOUR_WEBSITE_HERE@mastofeeder.com`\n- Convert slashes to dots: `indiegames.com/blog` -\u003e `@indiegames.com.blog@mastofeeder.com`\n- Remove `.rss` and `.xml` extensions: `https://feeds.yle.fi/uutiset/v1/majorHeadlines/YLE_UUTISET.rss` -\u003e `@feeds.yle.fi.uutiset.v1.majorHeadlines.YLE_UUTISET`\n\n## Developing\n\nYou can run the project locally:\n\n```shell\nyarn\nSERVER_HOSTNAME=your-domain.com yarn dev\n```\n\nThis runs the project using `ts-node`. Note that you need to have a public DNS\nfor the project to work; you can use e.g. [ngrok](https://ngrok.com/) or\n[localhost.run](https://localhost.run/) for this.\n\n### Building\n\nRunning the project in dev mode is not recommended for production, as it takes a\nlot more memory and yields in longer startup time. You can run the project in\nproduciton mode by building it first:\n\n```shell\nyarn build\nyart start\n```\n\nThis compiles the project to `build/` folder using `tsc` and runs the built app.\n\n### Deploying\n\nThis project is deployed automatically when pushed to `master` branch using\n[gh-actions](./.github/workflows/fly.yml).\n\n## Features\n\nThis project tries to achieve:\n* Following any RSS feed directly from Mastodon\n* No login, no registration, no ads\n* Being a super simple ActivityPub server\n\n## Configuration\n\nThis project uses environment variables for configuration. The following\nenvironment variables are available:\n\n#### SERVER_HOSTNAME\nRequired: `true`\n\nNeeded so that the server knows what domain it's running on.\n\n#### DATABASE_FILENAME\nDefault: `./database.db`\n\nThis project uses SQLite as a database; it's the simplest sane option for\nsingle-server fly.io persistence. You can specify the filename of the database\nhere.\n\n## Other RSS → ActivityPub projects\n\nThere are other awesome projects that are very similar to Mastofeeder, so make\nsure to check them out too!\n\n- [RSS to ActivityPub Converter by dariusk](https://github.com/dariusk/rss-to-activitypub)\n- [RSS to ActivityPub crossposter by rakoo](https://sr.ht/~rakoo/rss2ap/)\n\n## Contributing\n\nIf you'd like to contribute, please fork the repository and use a feature\nbranch. Pull requests are warmly welcome.\n\n## Licensing\n\nThe code in this project is licensed under MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjehna%2Fmastofeeder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjehna%2Fmastofeeder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjehna%2Fmastofeeder/lists"}