versia-go/README.md
2024-08-13 01:18:14 +02:00

64 lines
1.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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