2021-03-12 15:13:33 +03:00
# GoToSocial
2021-03-20 20:41:10 +03:00
![patrons ](https://img.shields.io/liberapay/patrons/dumpsterqueer.svg?logo=liberapay ) ![receives ](https://img.shields.io/liberapay/receives/dumpsterqueer.svg?logo=liberapay )
2021-03-16 17:06:52 +03:00
Federated social media software.
2021-06-21 20:46:10 +03:00
![Sloth logo made by Freepik from www.flaticon.com ](./web/assets/sloth.png )
2021-03-16 15:36:45 +03:00
2021-03-12 15:13:33 +03:00
GoToSocial is a Fediverse server project, written in Golang. It provides an alternative to existing projects such as [Mastodon ](https://joinmastodon.org/ ), [Pleroma ](https://pleroma.social/ ), [Friendica ](https://friendica.net ), [PixelFed ](https://pixelfed.org/ ) etc.
2021-06-21 16:56:00 +03:00
One of the key differences between GoToSocial and those other projects is that GoToSocial doesn't include an integrated client front-end (ie., a webapp). Instead, like the Matrix.org's [Synapse ](https://github.com/matrix-org/synapse ) project, it provides only a server implementation, some static web pages for profiles and posts, and a well-documented API. On this API, developers are free to build any front-end implementation or mobile application that they wish.
2021-03-12 15:13:33 +03:00
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.
2021-06-21 16:56:00 +03:00
## Features Wishlist
2021-03-12 15:13:33 +03:00
2021-06-21 16:56:00 +03:00
A grab-bag of things that are already included or will be included in the project if time allows:
2021-03-12 15:13:33 +03:00
2021-06-21 16:56:00 +03:00
* Various federation modes, including reputation-based 'slow' federation, 'normal' federation, allowlist-only federation, and zero federation.
* Local-only posting, and granular post settings including 'rebloggable/boostable', 'likeable', 'replyable'.
* Character limit for posts that's easy for admins to configure (no messing around in the source code).
* Groups and group posting!
* Built-in, automatic LetsEncrypt support (no messing around with Nginx or Certbot).
* Good performance on lower-powered machines like Raspberry Pi, old laptops, tiny VPSes (the test VPS has 1gb of ram and 1 cpu core).
* Subscribeable and shareable allowlists/denylists for federation.
2021-03-12 15:13:33 +03:00
2021-03-20 20:41:10 +03:00
## Implementation Status
2021-07-06 14:29:11 +03:00
Things are moving on the project! As of July 2021 you can now:
### Admin
2021-06-21 16:56:00 +03:00
* Build and deploy GoToSocial as a binary, with automatic LetsEncrypt certificate support built-in.
2021-07-06 14:29:11 +03:00
* Create, confirm, and promote users using self-documented CLI tool.
### User
2021-06-21 16:56:00 +03:00
* Connect to the running instance via Tusky or Pinafore, using email address and password (stored encrypted).
* Post/delete posts.
* Reply/delete replies.
* Fave/unfave posts.
* Post images and gifs.
* Boost stuff/unboost stuff.
* Set your profile info (including header and avatar).
* Follow people/unfollow people.
* Accept follow requests from people.
* Post followers only/direct/public/unlocked.
* Customize posts with further flags: federated (y/n), replyable (y/n), likeable (y/n), boostable (y/n) -- not supported through Pinafore/Tusky yet.
* Get notifications for mentions/replies/likes/boosts.
* View local timeline.
* View and scroll home timeline (with ~10ms latency hell yeah).
* Stream new posts, notifications and deletes through a websockets connection via Pinafore.
2021-07-06 14:29:11 +03:00
### Federation
2021-06-21 16:56:00 +03:00
* Federation support and interoperability with Mastodon and others.
2021-07-06 14:29:11 +03:00
* Domain blocking: create, update, delete, and export domain blocks.
* Domain blocking: import lists of domain blocks -- no more blocking domains one-by-one.
2021-06-21 16:56:00 +03:00
In other words, a deployed GoToSocial instance is already pretty useable!
For a detailed view on progress made towards a v0.1.0 (beta) release, see [here ](./PROGRESS.md ).
2021-03-20 20:41:10 +03:00
2021-06-26 14:06:27 +03:00
## Getting Started
Proper documentation for running and maintaining GoToSocial will be forthcoming in the first prerelease.
For now (if you want to run it pre-alpha, like a beast), check out the [quick and dirty getting started guide ](./GETTINGSTARTED.md ).
2021-03-12 15:13:33 +03:00
## Contact
2021-06-21 16:56:00 +03:00
For questions and comments, you can reach out to tobi on the Fediverse [here ](https://ondergrond.org/@dumpsterqueer ) or mail admin@gotosocial.org.
2021-03-16 15:36:45 +03:00
2021-03-16 16:15:19 +03:00
## Sponsorship
2021-06-21 16:56:00 +03:00
Currently, this project is funded using Liberapay, to put bread on the table while work continues on it.
2021-03-16 16:15:19 +03:00
2021-06-21 16:56:00 +03:00
If you want to sponsor this project, you can do so [here ](https://liberapay.com/dumpsterqueer/ )! `<3`
2021-03-16 16:22:33 +03:00
### Image Attribution
Logo made by [Freepik ](https://www.freepik.com ) from [www.flaticon.com ](https://www.flaticon.com/ ).