Crate freedit

Source
Expand description

§freedit

CI Github Release Release Doc License

The safest and lightest forum, powered by rust.

Demo: https://freedit.eu/

GitHub: https://github.com/freedit-org/freedit

§Features

  • Single-binary deployment – easy to run with an embedded sled database.
  • Works without JavaScript – fully functional and secure even with JavaScript disabled. (Why avoiding JavaScript matters)
  • End-to-end encrypted private messages – only sender and recipient can read.
  • Math & code highlighting – rich formatting without JavaScript.
  • Markdown support – write in clean, readable syntax.
  • Inn – group spaces, like Subreddits.
  • Solo – personal microblogging, like Twitter.
  • Online RSS reader – follow and read feeds in one place.
  • Podcast support – subscribe and listen directly through the platform.

§Usage

§From binary

  1. Download freedit binary from releases
  2. unzip freedit.zip
  3. run ./freedit, open browser to addr, http://127.0.0.1:3001/

§From source code

Prerequisition: install Rust

git clone https://github.com/freedit-org/freedit
cd freedit && cargo build -r
./target/release/freedit

§FAQ

§How to generate podcast srt file?

whisper is used.

  • Usage: whisper ~/podcasts/1.mp3 --word_timestamps True --highlight_words True -f srt

§Documentation

cargo doc --no-deps --document-private-items --open

§Development

git clone https://github.com/freedit-org/freedit
cd freedit && cargo run

§Credits

Modules§

app_router 🔒
config 🔒
controller 🔒
model
error 🔒

Structs§

Tan

Enums§

AppError

Constants§

GIT_COMMIT 🔒
VERSION

Statics§

CONFIG
CURRENT_SHA256 🔒
Returns SHA256 of the current running executable. Cookbook: Calculate the SHA-256 digest of a file
DB

Functions§

clear_invalid
Cron job: Scan all the keys in the Tree regularly and remove the expired ones.
cron_download_audio
cron_feed
get_one
get one object that has been encoded by bincode
ivec_to_u32
convert [IVec] to u32
router
set_one
u8_slice_to_u32
convert &[u8] to u32