No description
  • Rust 87.5%
  • HTML 9.1%
  • Shell 3.4%
Find a file
2022-12-19 14:48:39 +02:00
benchmarks Add simple benchmarking script 2022-12-19 05:42:41 +02:00
frontend Add post reloading button to the frontend 2022-12-19 14:48:39 +02:00
migrations Add inbox queue, resending activities to inboxes (even over restarts) 2022-12-16 01:15:58 +02:00
src Add simple benchmarking script 2022-12-19 05:42:41 +02:00
.gitignore Start using sqlx for storing posts 2022-11-24 23:43:14 +02:00
.rustfmt.toml Start using sqlx for storing posts 2022-11-24 23:43:14 +02:00
Cargo.lock Add inbox queue, resending activities to inboxes (even over restarts) 2022-12-16 01:15:58 +02:00
Cargo.toml Add license, expand readme 2022-12-17 16:48:19 +02:00
LICENSE Add license, expand readme 2022-12-17 16:48:19 +02:00
prepare-sqlx.sh Start using sqlx for storing posts 2022-11-24 23:43:14 +02:00
README.md Fix api doc link 2022-12-17 16:55:56 +02:00
sqlx-data.json Save activity actor(s) to the db on receive 2022-12-16 04:40:36 +02:00
test-nodes.sh Add simple benchmarking script 2022-12-19 05:42:41 +02:00

Notedealer

An ActivityPub implementation written for the Distributed Systems course at the University of Helsinki, for the "programming project" part. The protocol is implemented only to the degree needed for the server to talk to itself: not all activities and objects are handled. (For now?)

Documentation

The API documentation: useful to get familiar with the codebase and understand what parts the program consists of. These docs can also be built locally using cargo doc.

Building

This program can be compiled using the Rust toolchain, with the following command:

cargo build --release

The built executable is at ./target/release/notedealer.

Running

See notedealer --help for the command line arguments. They can also be provided via environment variables (e.g. --bind-addr can be provided with BIND_ADDR). Any possible .env file in the working directory is used to search for environment variables as well.

Development

For future reference, this is the pre-commit (.git/hooks/pre-commit) hook I'm using:

#!/bin/sh
sh prepare-sqlx.sh
git add sqlx-data.json

License

This server software is available under the GNU AGPLv3 license.