mirror of
https://github.com/versia-pub/versia-go.git
synced 2025-12-06 06:28:18 +01:00
64 lines
1.3 KiB
Markdown
64 lines
1.3 KiB
Markdown
|
|
# Versia-Go
|
|||
|
|
|
|||
|
|
Versia-Go is a experimental implementation of the (not yet renamed :P) [Versia](https://lysand.org) protocol written in
|
|||
|
|
Go.
|
|||
|
|
|
|||
|
|
> Compatibility level: Lysand 3.1 (sort of)
|
|||
|
|
|
|||
|
|
> ⚠️ This project is still in development and is not ready for production use.
|
|||
|
|
|
|||
|
|
## Developing
|
|||
|
|
|
|||
|
|
### Requirements
|
|||
|
|
|
|||
|
|
- Go 1.22.5+
|
|||
|
|
- Docker + Docker Compose v2
|
|||
|
|
|
|||
|
|
### Running
|
|||
|
|
|
|||
|
|
```shell
|
|||
|
|
git clone https://github.com/lysand/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
|
|||
|
|
- [x] Federating notes
|
|||
|
|
- [ ] Follows
|
|||
|
|
- [ ] API
|
|||
|
|
- [x] Automatic follows for public users
|
|||
|
|
- [ ] Unfollows (scheduled for Lysand Working Draft 4)
|
|||
|
|
- [ ] API
|
|||
|
|
- [ ] Users
|
|||
|
|
- [ ] API
|
|||
|
|
- [x] Create user
|
|||
|
|
- [ ] Lysand API
|
|||
|
|
- [x] Get user (from local)
|
|||
|
|
- [x] Webfinger
|
|||
|
|
- [ ] Inbox handling
|
|||
|
|
- [ ] Federated notes
|
|||
|
|
- [ ] Federated unfollows
|
|||
|
|
- [x] Federated follows
|
|||
|
|
- [x] Receiving federated users
|
|||
|
|
- [ ] Web
|
|||
|
|
- Extensions
|
|||
|
|
- [ ] Emojis
|
|||
|
|
|
|||
|
|
## License
|
|||
|
|
|
|||
|
|
Versia-Go is licensed under the GNU Affero General Public License v3.0.
|
|||
|
|
|
|||
|
|
See [LICENSE](LICENSE) for more information.
|
|||
|
|
|
|||
|
|
> ℹ️ This project might get relicensed to a different license in the future.
|