zorg is a bot which can follow rss feed and make them a post on Mastodon/Pleroma instance.
Go to file
Uriel Fanelli a50d6c91ea Filtering corrupted xml 2023-07-15 01:06:56 +02:00
createtoken Fix issue with UpdateDate 2023-07-15 00:25:03 +02:00
vendor Initial Commit 2020-10-08 21:33:26 +02:00
.gitignore Fix issue with UpdateDate 2023-07-15 00:25:03 +02:00
0_gc.go Initial Commit 2020-10-08 21:33:26 +02:00
LICENSE License BSD 2020-10-08 21:41:41 +02:00
README.md Initial Commit 2020-10-08 21:33:26 +02:00
env.go Initial Commit 2020-10-08 21:33:26 +02:00
feed.go Filtering corrupted xml 2023-07-15 01:06:56 +02:00
feeds.conf Fix issue with UpdateDate 2023-07-15 00:25:03 +02:00
feeds.conf.example Fix issue with UpdateDate 2023-07-15 00:25:03 +02:00
go.mod Initial Commit 2020-10-08 21:33:26 +02:00
go.sum Initial Commit 2020-10-08 21:33:26 +02:00
mast.go Initial Commit 2020-10-08 21:33:26 +02:00
zorg.go Fix issue with UpdateDate 2023-07-15 00:25:03 +02:00
zorgconf.example Initial Commit 2020-10-08 21:33:26 +02:00



Zorg is a small bot which can follosw RSS feed and post the new entries to your MastodonAPI-compatible pod. I tested it with Pleroma so far, and it works.

To install, just clone this repository like

git clone https://git.keinpfusch.net/git/Loweel/zorg.git

go build

in order to use it, you need app credentials for your specific pod, which you obtain when you register your app. In case your pod makes it too complicate, you can just use the following go :

package main

import (


func main() {
	app, err := mastodon.RegisterApp(context.Background(), &mastodon.AppConfig{
		Server:     "https://yourpodhere.put",
		ClientName: "client-name",
		Scopes:     "read write follow",
		Website:    "whereyour application has a website",
	if err != nil {
	fmt.Printf("client-id    : %s\n", app.ClientID)
	fmt.Printf("client-secret: %s\n", app.ClientSecret)

just change the values to match your pod, and it will print a new ClientID and ClientSecret.

Once you have both, you can just feed the zorg configuration file, which is a JSON, and change his name as zorg.conf

	"ZorgClientID":     "aqwfgqubvqerb348hü13vhnrqvqerg1ü3ohrgvqervq",
	"ZorgClientSecret": "qergerinqieorjhgqrijhg+3higqirgqirjgqerjgqq",
	"ZorgUname":        "johndoe",
	"ZorgPass" :        "lalalalalalalala",
	"ZorgInterval":     7200

Please notice that ZorgUname and ZorgPass are credentials for the user you want the RSS feeds to be published with.

ZorgInterval is the interval of polling all the feeds you like.

The list of RSS feeds must be inside a file named feeds.conf, and it's just a one-line-per-url list of RSS feed urls, like


Have fun.


  • to have more than one item per feed polling.