update README: manual sync by default, not configurable, pruning detail
This commit is contained in:
parent
824d933aee
commit
21bc936b89
1 changed files with 15 additions and 10 deletions
25
README.md
25
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
# tinyweb-forum
|
# 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.
|
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. No accounts, no sign-up, no central server.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
|
|
@ -20,7 +20,9 @@ pip install -e .
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
- Each TinyWeb instance stores forum threads and posts in its own `forum.db`
|
- Each TinyWeb instance stores forum threads and posts in its own `forum.db`
|
||||||
- Instances sync content with each other over RNS every 5 minutes
|
- Instances auto-discover each other on the mesh via RNS announces — no manual setup
|
||||||
|
- You click "sync now" to exchange content; auto-sync every 5 minutes is optional (toggle on moderation page)
|
||||||
|
- At scale, sync uses epidemic gossip: each cycle picks 20 random peers instead of all peers, converging within ~O(log N) cycles
|
||||||
- Authors are identified by a short pseudonymous hash (no names, no accounts)
|
- Authors are identified by a short pseudonymous hash (no names, no accounts)
|
||||||
- No global server, no algorithms, no tracking
|
- No global server, no algorithms, no tracking
|
||||||
|
|
||||||
|
|
@ -31,29 +33,32 @@ pip install -e .
|
||||||
- **Upvotes** — toggle upvote/downvote, scores propagate via sync
|
- **Upvotes** — toggle upvote/downvote, scores propagate via sync
|
||||||
- **Edit** — edit your own threads (new version syncs to peers)
|
- **Edit** — edit your own threads (new version syncs to peers)
|
||||||
- **Retract** — retract your own threads and posts (retraction signal gossips to peers)
|
- **Retract** — retract your own threads and posts (retraction signal gossips to peers)
|
||||||
|
- **Peer discovery** — instances share known peers during sync, growing the network organically
|
||||||
|
|
||||||
## Moderation
|
## Moderation
|
||||||
|
|
||||||
All moderation is local — you control your view:
|
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
|
- **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)
|
- **Auto-block** — when 3+ of your peers have blocked the same identity, it's auto-blocked for you too (threshold is 3)
|
||||||
- **Mute thread** — hide a thread from the listing
|
- **Mute thread** — hide a thread from the listing
|
||||||
- **Keyword filters** — hide threads matching keywords
|
- **Keyword filters** — hide threads matching keywords
|
||||||
- **Instance sync** — choose which peers to sync with; unsync at any time
|
- **Instance sync** — choose which peers to sync with; unsync at any time
|
||||||
|
|
||||||
## Sync
|
## Sync
|
||||||
|
|
||||||
- Forum instances auto-discover each other via RNS announces
|
- Instances auto-discover each other via RNS announces — just run the forum and any other forum on the mesh finds you
|
||||||
- Content is exchanged as JSON over RNS links every 5 minutes
|
- Content is exchanged as JSON over RNS links
|
||||||
- Peer discovery propagates through gossip — each instance shares its known peers
|
- **Manual by default** — click "sync now" on the forum listing or moderation page
|
||||||
- At scale (>20 peers), sync uses random gossip: each cycle picks 20 random peers instead of all peers
|
- Auto-sync every 5 minutes can be enabled on the moderation page
|
||||||
- This ensures content converges epidemically regardless of network size (content reaches all nodes within ~O(log N) cycles)
|
- Auto-discovery can also be disabled on the moderation page (manual instance add only)
|
||||||
|
- Peer discovery propagates through gossip — each instance shares its known peers during sync
|
||||||
- Block lists and retractions are gossiped alongside content
|
- Block lists and retractions are gossiped alongside content
|
||||||
- Only new/updated content is transferred (timestamp-based)
|
- Only new/updated content is transferred (timestamp-based)
|
||||||
- Auto-discovery can be disabled in the moderation page
|
- When >20 peers, each cycle syncs with a random 20 — content converges epidemically
|
||||||
|
|
||||||
## Storage
|
## Storage
|
||||||
|
|
||||||
- Threads are pruned after 30 days by default (configurable in moderation page)
|
- Threads older than 30 days are auto-pruned (configurable on the moderation page)
|
||||||
- Set retention to 0 to keep everything indefinitely
|
- Set retention to 0 to keep everything indefinitely
|
||||||
|
- Forum DB is stored at `~/.tinyweb/forum.db`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue