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.
|