{"id":17280410,"url":"https://github.com/umputun/rss2twitter","last_synced_at":"2025-03-22T18:34:33.567Z","repository":{"id":43484735,"uuid":"160448470","full_name":"umputun/rss2twitter","owner":"umputun","description":"publish rss updates to twitter","archived":false,"fork":false,"pushed_at":"2022-03-01T01:51:15.000Z","size":1944,"stargazers_count":56,"open_issues_count":1,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-01T18:01:46.850Z","etag":null,"topics":["automation","rss","twitter"],"latest_commit_sha":null,"homepage":"","language":"Go","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/umputun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["umputun"]}},"created_at":"2018-12-05T02:31:25.000Z","updated_at":"2024-11-22T11:58:27.000Z","dependencies_parsed_at":"2022-08-23T11:21:43.885Z","dependency_job_id":null,"html_url":"https://github.com/umputun/rss2twitter","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umputun%2Frss2twitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umputun%2Frss2twitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umputun%2Frss2twitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umputun%2Frss2twitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umputun","download_url":"https://codeload.github.com/umputun/rss2twitter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245003683,"owners_count":20545644,"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":["automation","rss","twitter"],"created_at":"2024-10-15T09:20:30.416Z","updated_at":"2025-03-22T18:34:32.943Z","avatar_url":"https://github.com/umputun.png","language":"Go","readme":"# rss2twitter [![Build Status](https://github.com/umputun/rss2twitter/workflows/build/badge.svg)](https://github.com/umputun/rss2twitter/actions) [![Coverage Status](https://coveralls.io/repos/github/umputun/rss2twitter/badge.svg?branch=master)](https://coveralls.io/github/umputun/rss2twitter?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/umputun/rss2twitter)](https://goreportcard.com/report/github.com/umputun/rss2twitter) [![Docker Automated build](https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg)](https://hub.docker.com/r/umputun/rss2twitter/)\n\nThe service publishes RSS updates to twitter. The reason is simple - I needed self-hosted thingy to post tweets on a feed change for my sites (podcasts and blogs). Tried several \"cloud services\" for this and lately switched to IFTTT. It worked, but slow and unreliable. Sometimes it took hours to get twit posted, sometimes I had to trigger it manually. In addition IFTTT can't have multiple twitter accounts defined for the same IFTTT account and I had to deal with multiple IFTTT accounts just to post to different twitter's timelines.\n\n## Install\n\nUse provided `docker-compose.yml` and change `FEED` value. All twitter-api credentials can be retrieved from https://developer.twitter.com/en/apps and should be set in environment or directly in the compose file.\n\n## Templates\n\n`--template` parameter (env `$TEMPLATE`) defines output tweet's format with:\n\n- `{{.Title}}` - title fo rss item (entry) \n- `{{.Link}}` - rss link\n- `{{.Text}}` - item description\n\n_default is `{{.Title}} - {{.Link}}`_\n  \n## Parameters\n\n```\nApplication Options:\n  -r, --refresh=         refresh interval (default: 30s) [$REFRESH]\n  -t, --timeout=         rss feed timeout (default: 5s) [$TIMEOUT]\n  -f, --feed=            rss feed url [$FEED]\n      --consumer-key=    twitter consumer key [$TWI_CONSUMER_KEY]\n      --consumer-secret= twitter consumer secret [$TWI_CONSUMER_SECRET]\n      --access-token=    twitter access token [$TWI_ACCESS_TOKEN]\n      --access-secret=   twitter access secret [$TWI_ACCESS_SECRET]\n      --template=        twitter message template (default: {{.Title}} - {{.Link}}) [$TEMPLATE]\n      --dry              dry mode [$DRY]\n      --dbg              debug mode [$DEBUG]\n```\n\n- refresh interval defines how often RSS feed will be checked and restricts the minimal time interval between two tweets. \n- values for `refresh` and `timeout` should be presented with units \"d\" (days), \"h\" (hours), \"m\" (minutes) os \"s\" (seconds)\n- `dry` disables publishing to twitter and sends updates to logger only\n\n## Exclusion Patterns\n\nIn the project root, there's a `exclusion-patterns.txt` file that you can use to exclude certain RSS feed messages from being sent to Twitter.\n\nThe `exclusion-patterns.txt` contains a list of [regular expressions](https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285), one regex per line. Lines starting with # are ignored, and are treated as comments.\n\nIf the message from the RSS feed matches any of the regular expressions in the `exclusion-patterns.txt` file, it is not sent to Twitter.\n","funding_links":["https://github.com/sponsors/umputun"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumputun%2Frss2twitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumputun%2Frss2twitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumputun%2Frss2twitter/lists"}