Fast, fun, small ActivityPub server.
Go to file
Tobi Smethurst 71a49e2b43
Api/v1/accounts (#8)
* start work on accounts module

* plodding away on the accounts endpoint

* groundwork for other account routes

* add password validator

* validation utils

* require account approval flags

* comments

* comments

* go fmt

* comments

* add distributor stub

* rename api to federator

* tidy a bit

* validate new account requests

* rename r router

* comments

* add domain blocks

* add some more shortcuts

* add some more shortcuts

* check email + username availability

* email block checking for signups

* chunking away at it

* tick off a few more things

* some fiddling with tests

* add mock package

* relocate repo

* move mocks around

* set app id on new signups

* initialize oauth server properly

* rename oauth server

* proper mocking tests

* go fmt ./...

* add required fields

* change name of func

* move validation to account.go

* more tests!

* add some file utility tools

* add mediaconfig

* new shortcut

* add some more fields

* add followrequest model

* add notify

* update mastotypes

* mock out storage interface

* start building media interface

* start on update credentials

* mess about with media a bit more

* test image manipulation

* media more or less working

* account update nearly working

* rearranging my package ;) ;) ;)

* phew big stuff!!!!

* fix type checking

* *fiddles*

* Add CreateTables func

* account registration flow working

* tidy

* script to step through auth flow

* add a lil helper for generating user uris

* fiddling with federation a bit

* update progress

* Tidying and linting
2021-04-01 20:46:45 +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 Api/v1/accounts (#8) 2021-04-01 20:46:45 +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 Api/v1/accounts (#8) 2021-04-01 20:46:45 +02:00
pkg/mastotypes Api/v1/accounts (#8) 2021-04-01 20:46:45 +02:00
scripts Api/v1/accounts (#8) 2021-04-01 20:46:45 +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
go.mod Api/v1/accounts (#8) 2021-04-01 20:46:45 +02:00
go.sum Api/v1/accounts (#8) 2021-04-01 20:46:45 +02:00
LICENSE add docs and a bunch of other stuff 2021-02-28 15:17:18 +01:00
PROGRESS.md Api/v1/accounts (#8) 2021-04-01 20:46:45 +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.