# tinyweb-forum A decentralized link-sharing forum for [TinyWeb](https://git.derickphan.com/lichenblankie/tinyweb). Share URLs and discuss them with other TinyWeb instances over the Reticulum mesh. ## Install ```bash pip install tinyweb-forum ``` Enable the forum in TinyWeb's customize page (`/style`). ## Development ```bash git clone https://git.derickphan.com/lichenblankie/tinyweb-forum pip install -e . ``` ## How it works - Each TinyWeb instance stores forum threads and posts in its own `forum.db` - Instances sync content with each other over RNS every 5 minutes - Authors are identified by a short pseudonymous hash (no names, no accounts) - No global server, no algorithms, no tracking ## Features - **Threads** — share a URL or start a discussion with text - **Replies** — reply to threads, with inline URL extraction and "+ save" links - **Upvotes** — toggle upvote/downvote, scores propagate via sync - **Edit** — edit your own threads (new version syncs to peers) - **Retract** — retract your own threads and posts (retraction signal gossips to peers) ## Moderation All moderation is local — you control your view: - **Block author** — `[block]` link on posts and thread meta hides all content from that identity across your instance - **Auto-block** — when 3+ of your peers have blocked the same identity, it's auto-blocked for you too (configurable threshold) - **Mute thread** — hide a thread from the listing - **Keyword filters** — hide threads matching keywords - **Instance sync** — choose which peers to sync with; unsync at any time ## Sync - Forum instances discover each other via Reticulum - Content is exchanged as JSON over RNS links every 5 minutes - Block lists and retractions are gossiped alongside content - Only new/updated content is transferred (timestamp-based)