Sen descrición

Benton Edmondson 04119e2f4d client: make request forgery check less strict hai 1 ano
.vscode dd5d523732 rename from mimicry to servitor hai 1 ano
ansi 0afdf6847c ansi: make SetLength handle non-ascii hai 1 ano
client 04119e2f4d client: make request forgery check less strict hai 1 ano
config 647e82ef07 add cache size to config hai 1 ano
feed dd5d523732 rename from mimicry to servitor hai 1 ano
gemtext dd5d523732 rename from mimicry to servitor hai 1 ano
history 6928d069ff Globally reformat with go fmt hai 1 ano
hypertext dd5d523732 rename from mimicry to servitor hai 1 ano
jtp 647e82ef07 add cache size to config hai 1 ano
markdown dd5d523732 rename from mimicry to servitor hai 1 ano
mime 6928d069ff Globally reformat with go fmt hai 1 ano
object dd5d523732 rename from mimicry to servitor hai 1 ano
plaintext dd5d523732 rename from mimicry to servitor hai 1 ano
pub 44b8193503 pub/post: improve variable names in Parents method hai 1 ano
splicer e17d36263c splicer: simplify logic and make it more parallel hai 1 ano
style c433ebb8ac config: config is now accessible throughout the program hai 1 ano
ui f05a7e7b49 main: shorten size poll time from 500ms to 25ms hai 1 ano
.gitignore dd5d523732 rename from mimicry to servitor hai 1 ano
go.mod dd5d523732 rename from mimicry to servitor hai 1 ano
go.sum 97742ab7bc implemented package config hai 1 ano
html.md 2e11dde7d8 Backing up everything out of paranoia %!s(int64=2) %!d(string=hai) anos
main.go f05a7e7b49 main: shorten size poll time from 500ms to 25ms hai 1 ano
readme.md e2f1bd3352 readme: Add first draft hai 1 ano

readme.md

Servitor

A command line, RSS-style reader for the fediverse.

// image

  • Works with fediverse software such as Mastodon, Lemmy, PeerTube, and more: This browser works with all fediverse software that implements ActivityPub. You can view and subscribe to microblogs (like Linus Torvalds @torvalds@social.kernel.org), video channels (like Luke Smith @luke@videos.lukesmith.xyz), subs (like RPGMemes @rpgmemes@ttrpg.network), and hashtags (like tweesecake.social's #linux) all in the same reader.
  • Doesn't require a server: This browser does not rely on you having a server, so you don't have to host your own server or find another one to rely on.
  • Sidesteps defederation politics: Posts are always pulled directly from their source site, so you are not affected by servers blocking each other.
  • Keeps your subscriptions private: Just like an RSS reader, subscriptions are stored locally, so you can subscribe to people without sending them follow requests.

Usage

Configuration

The config file is located at ~/.config/servitor/config.toml.

[feeds]
# each entry is list of profiles to subscribe to
linux = [ # open with `servitor feed linux`
    "@torvalds@social.kernel.org",
    "@luke@videos.lukesmith.xyz",
    "@thelinuxexperiment@tilvids.com",
]
dnd = [ # open with `servitor feed dnd`
    "@rpgmemes@ttrpg.network",
    "@dnd@lemmy.world",
]

[media]
# the command that is called to open external media
# %u is automatically substituted with the url, %m is substituted with the mime type
hook = [ "xdg-open", "%u" ]

Where to Find Content to Follow

Please submit a PR if you know of another good resource.

A Brief Overview of ActivityPub

For the purpose of this browser, the fediverse can be thought of as a collection of internet forums that use a shared protocol called ActivityPub. Instead of serving content over text/html, they serve their content over application/activity+json, which provides for higher-level semantics such as comment sections, retweets, etc. Just like conventional forums, each site has a different moderation policy, and the administrators of each site have complete control over the moderation of that site. Unlike conventional internet forums, the fediverse allows users from one site to interact with (like, follow, comment on, etc) users and posts on another site, assuming the administrators of the both sites permit the interaction.

Supported Markup Formats

Servitor can render posts published in:

Dependencies

I tried to minimize the amount of dependencies used. They are: