Versia-Go
Versia-Go is a experimental implementation of the Versia protocol written in Go.
Compatibility level: Versia Working Draft 4.0
⚠️ This project is still in development and is not ready for production use.
In this phase no pull requests will be accepted and code may often break.
Developing
Requirements
- Go 1.22.5+
- Docker + Docker Compose v2
Running
git clone https://github.com/versia-pub/versia-go.git
cd versia-go
docker compose up -d nats
touch .env.local
# Add the changed variables from .env to .env.local
go run .
TODO
- Notes
- API
- Allow choosing the publishing user
- Federating notes
- Follows
- API
- Automatic follows for public users
- Unfollows (scheduled for Versia Working Draft 4)
- Users
- API
- Versia API
- Get user (from local)
- Webfinger
- Inbox handling
- Federated notes
- Federated unfollows
- Federated follows
- Receiving federated users
- Web
- Extensions
License
Versia-Go is licensed under the GNU Affero General Public License v3.0.
See LICENSE for more information.
ℹ️ This project might get relicensed to a different license in the future.