Powerful, configurable and modular federated server using the Versia Protocol
Find a file
2023-09-14 15:47:53 -10:00
database Test Note object federation 2023-09-13 17:39:11 -10:00
pages guh 2023-09-14 15:22:27 -10:00
server/api guh 2023-09-14 15:22:27 -10:00
tests guh 2023-09-14 15:22:27 -10:00
types Implement WebFinger, rework TS 2023-09-12 10:48:10 -10:00
utils guh 2023-09-14 15:22:27 -10:00
.eslintrc.cjs Add stricter ESLint rules 2023-09-12 14:29:13 -10:00
.gitignore Initial commit 2023-09-10 17:31:08 -10:00
.prettierrc Add stricter ESLint rules 2023-09-12 14:29:13 -10:00
bun.lockb guh 2023-09-14 15:22:27 -10:00
index.ts guh 2023-09-14 15:22:27 -10:00
LICENSE Add better README 2023-09-14 15:42:56 -10:00
package.json Make package.json better 2023-09-14 15:47:53 -10:00
README.md Add better README 2023-09-14 15:42:56 -10:00
tsconfig.json Implement WebFinger, rework TS 2023-09-12 10:48:10 -10:00
uno.config.ts guh 2023-09-14 15:22:27 -10:00

FediProject

What is this?

This is a project to create a federated social network based on the ActivityPub standard. It is currently in early alpha phase, with very basic federation and API support.

This project aims to be a fully featured social network, with a focus on privacy and security. It will implement the Mastodon API for support with clients that already support Mastodon or Pleroma.

Note: This project is not affiliated with Mastodon or Pleroma, and is not a fork of either project. It is a new project built from the ground up.

How do I run it?

Requirements

  • The Bun Runtime, version 0.8 or later (use of the latest version is recommended)
  • A PostgreSQL database
  • (Optional but recommended) A Linux-based operating system

Note

: We will not be offerring support to Windows or MacOS users. If you are using one of these operating systems, please use a virtual machine or container to run FediProject.

Installation

  1. Clone this repository
git clone https://github.com/CPlusPatch/fedi-project.git
  1. Install the dependencies
bun install
  1. Set up a PostgreSQL database

  2. Copy the config.toml.example file to config.toml and fill in the values (you can leave most things to the default, but you will need to configure things such as the database connection)

Running

To run the server, simply run the following command:

bun start

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md file for more information.

Federation

Warning

: Federation has not been tested outside of automated tests. It is not recommended to use this software in production.

FediProject is currently able to federate basic Note objects with Create, Update and Delete activities supported.

Planned federation features are:

  • Activities: Follow, Accept, Reject, Block, Undo, Announce, Like, Dislike, Flag, Ignore and more
  • Objects: Emoji and more

API

FediProject implements the Mastodon API, with some extensions. The API is currently in early alpha, and is not recommended for use in production.

Working endpoints are:

  • /v1/accounts/:id
  • /v1/accounts/:id/statuses
  • /v1/accounts/update_credentials
  • /v1/apps
  • /oauth/authorize
  • /oauth/token

License

This project is licensed under the AGPL-3.0.