fix README URLs, handler tests, sync improvements, block/retract gossip
This commit is contained in:
parent
a8aabb3427
commit
a2d029097d
4 changed files with 440 additions and 36 deletions
33
README.md
33
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# tinyweb-forum
|
||||
|
||||
A decentralized link-sharing forum for [TinyWeb](https://github.com/derickfay/tinyweb). Share URLs and discuss them with other TinyWeb instances over the Reticulum mesh.
|
||||
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
|
||||
|
||||
|
|
@ -13,13 +13,38 @@ Enable the forum in TinyWeb's customize page (`/style`).
|
|||
## Development
|
||||
|
||||
```bash
|
||||
git clone https://github.com/derickfay/tinyweb-forum
|
||||
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
|
||||
- Moderation is per-instance: block instances, mute threads, keyword filters
|
||||
- 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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue