Fast, fun, small ActivityPub server.
Go to file
Tobi Smethurst 6cd033449f
Refine statuses (#26)
Remote media is now dereferenced and attached properly to incoming federated statuses.
    Mentions are now dereferenced and attached properly to incoming federated statuses.
    Small fixes to status visibility.
    Allow URL params for filtering statuses:

	// ExcludeRepliesKey is for specifying whether to exclude replies in a list of returned statuses by an account.
      	// PinnedKey is for specifying whether to include pinned statuses in a list of returned statuses by an account.
      	// MaxIDKey is for specifying the maximum ID of the status to retrieve.
      	// MediaOnlyKey is for specifying that only statuses with media should be returned in a list of returned statuses by an account.

    Add endpoint for fetching an account's statuses.
2021-05-17 19:06:58 +02:00
.github fix lint errors 2021-03-20 19:44:18 +01:00
assets replace sloth with cuter sloth 2021-03-20 19:16:21 +01:00
cmd/gotosocial Letsencrypt (#17) 2021-05-09 11:25:13 +02:00
docs try some doc changes 2021-03-01 11:52:49 +01:00
example Api/v1/accounts (#8) 2021-04-01 20:46:45 +02:00
internal Refine statuses (#26) 2021-05-17 19:06:58 +02:00
scripts Api/v1/statuses (#11) 2021-04-19 19:42:19 +02:00
testrig Refine statuses (#26) 2021-05-17 19:06:58 +02:00
web/template Oauth/token (#7) 2021-03-22 22:26:54 +01:00
.gitignore auth flow working for code 2021-03-18 23:27:43 +01:00
CONTRIBUTING.md draft CoC 2021-05-15 12:43:53 +02:00
go.mod Inbox post (#22) 2021-05-15 11:58:11 +02:00
go.sum Inbox post (#22) 2021-05-15 11:58:11 +02:00
LICENSE add docs and a bunch of other stuff 2021-02-28 15:17:18 +01:00
PROGRESS.md update progress 2021-05-15 12:47:08 +02:00
README.md add progress list 2021-03-20 18:41:10 +01:00

GoToSocial

patrons receives

Federated social media software.

Sloth logo made by Freepik from www.flaticon.com

GoToSocial is a Fediverse server project, written in Golang. It provides an alternative to existing projects such as Mastodon, Pleroma, Friendica, PixelFed etc.

One of the key differences between GoToSocial and those other projects is that GoToSocial doesn't include an integrated front-end (ie., a webapp). Instead, like the Matrix.org's Synapse project, it provides only a server implementation and a well-documented API. On this API, developers are free to build any front-end implementation or mobile application that they wish.

Because the server implementation is as generic and flexible/configurable as possible, GoToSocial provides the basis for many different types of social media experience, whether Tumblr-like, Facebook-like, or Twitter-like.

Goals

The first goal of the project is to implement a feature set comparable to Mastodon: server logic, federation logic, and a client API that's a superset of the Mastodon API described here.

Once the client API is implemented, it should allow existing Mastodon apps like Tusky and Whalebird to work with GoToSocial.

After that, custom features will be added that will necessitate expanding the API.

Wishlist

Among other things:

  • Reputation-based 'slow' federation.
  • Granular post settings.
  • Local-only posting.
  • Easily-configurable character limit.
  • Groups and group posting.

Implementation Status

For an up-to-date view on progress made towards a v1.0.0 release, see here.

Contact

For questions and comments, you can reach out to Tobi on the Fediverse here or mail admin@gotosocial.org.

Sponsorship

Currently, this project is funded using Liberapay, to put bread on the table while Tobi works on it. If you want to sponsor this project and get your name on this repo, you can do so here! <3

Sponsors

None yet! Go For It

Image Attribution

Logo made by Freepik from www.flaticon.com.