Nav apraksta

dependabot[bot] 4592a3f422 Bump wangyoucao577/go-release-action from 1.52 to 1.53 1 nedēļu atpakaļ
.github 4592a3f422 Bump wangyoucao577/go-release-action from 1.52 to 1.53 1 nedēļu atpakaļ
.idea 92b5e78ea7 Add version to UA string 1 gadu atpakaļ
.gitignore 1229535119 Explain .gitignore 3 gadi atpakaļ
LICENSE 2b10790408 Add LICENSE 5 gadi atpakaļ
Makefile f654c233f3 Start writing tests 1 gadu atpakaļ
README.md 41f0b0c173 Update README 1 gadu atpakaļ
config.go 92b5e78ea7 Add version to UA string 1 gadu atpakaļ
config_test.go f654c233f3 Start writing tests 1 gadu atpakaļ
go.mod a73cb55234 Bump go to 1.21 1 gadu atpakaļ
go.sum 2df368caf4 Bump github.com/SlyMarbo/rss from 1.0.3 to 1.0.5 1 gadu atpakaļ
gof.example.yaml 53746012e7 Change example instance in example config file 2 gadi atpakaļ
gof.go 92b5e78ea7 Add version to UA string 1 gadu atpakaļ
message.go 7263b5702a Add User-Agent header 2 gadi atpakaļ

README.md

Go GitHub release (latest SemVer including pre-releases)

gof

gof is a command-line utility to post RSS/Atom feeds to the fediverse.

Confirmed working with:

  • Mastodon and forks such as,
    • glitch-soc
    • hometown
  • Pleroma

gof is for "go feediverse", "go fediverse", "go fedi", or really whatever you want. gof started as a port of feediverse, written in Go.

gof supports multiple feeds and multiple accounts.

requirements

  • Go 1.21

installation

Download the latest release for your system from the Releases page.

from source

Clone the repo and build the thing:

git clone https://github.com/prplecake/gof
cd gof && go build

usage

Before you can start using gof, you'll need to configure it. An example configuration can be found here. You can also just copy the example:

cp gof.example.yaml gof.yaml
vim gof.yaml # don't forget to edit it!

You'll need an access token as well. On Mastodon you can get some from your settings page, and for others without a PAT UI, you can get on from the Fediverse Instance Access Token Generator.

Then you can use it:

./gof

You could also specify the configuration file to use via the command line:

./gof -c /path/to/your/gof.yaml

This would allow you to place the executable (and configuration) anywhere on your system. Once gof is configured, you might want to add it to your crontab, or your other favorite task scheduler:

*/30 * * * * cd /path/to/$REPO; gof

post format

You can specify how the message looks. The variables you have to work with are URL, Title, and Summary. You don't have to use all variables.

An example template:

template: '{{.Title}}: {{.URL}}'

If you want the message to include line breaks, use YAML's multiline syntax:

template: |-
  {{.Title}}

  {{.URL}}

Instances supporting formatted posts

Formatted posts are also supported. You can choose from plaintext, Markdown, HTML, or BBCode, as long as they’re supported by your instance. Here's an example with Markdown:

template: |-
  **{{.Title}}**

  > {{.Summary}}

  {{.URL}}
format: markdown