Skip to content

(Extremely) Experimental Versia implementation written in Go

License

Notifications You must be signed in to change notification settings

versia-pub/versia-go

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

About

(Extremely) Experimental Versia implementation written in Go

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages