mirror of
https://github.com/versia-pub/versia-go.git
synced 2025-12-05 22:18:19 +01:00
| .github/workflows | ||
| chart | ||
| config | ||
| ent | ||
| internal | ||
| pkg | ||
| scripts | ||
| web | ||
| .dockerignore | ||
| .env | ||
| .gitignore | ||
| compose.yml | ||
| Dockerfile | ||
| entsqlite.go | ||
| fiber_error_handler.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
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
- API
- Follows
- API
- Automatic follows for public users
- Unfollows (scheduled for Versia Working Draft 4)
- API
- Users
- API
- Create user
- Versia API
- Get user (from local)
- Webfinger
- User discovery
- Inbox handling
- Federated notes
- Federated unfollows
- Federated follows
- Receiving federated users
- API
- Web
- Extensions
- Emojis
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.