Compare commits

..

No commits in common. "b3c38eb5afb4e9e2627a5d43e559c62caa555e46" and "3ce0ccd5a9d540a5f6bf04da8661f5e1860d6941" have entirely different histories.

4 changed files with 9 additions and 9 deletions

View file

@ -42,7 +42,7 @@ A personal, decentralized search engine built on the [Reticulum](https://reticul
TinyWeb is distributed as source. Clone the repo, then build and run with Docker Compose: TinyWeb is distributed as source. Clone the repo, then build and run with Docker Compose:
```bash ```bash
git clone https://git.derickphan.com/lichenblankie/tinyweb.git git clone https://git.example.com/user/tinyweb.git
cd tinyweb cd tinyweb
docker compose up -d docker compose up -d
``` ```
@ -168,7 +168,7 @@ This connects over Reticulum and serves the remote instance at `http://localhost
## Forum plugin ## Forum plugin
TinyWeb ships with an optional [tinyweb-forum](https://git.derickphan.com/lichenblankie/tinyweb-forum) plugin — a decentralized link-sharing discussion board that runs in-process alongside TinyWeb. TinyWeb ships with an optional [tinyweb-forum](https://git.example.com/user/tinyweb-forum) plugin — a decentralized link-sharing discussion board that runs in-process alongside TinyWeb.
### Install ### Install
@ -189,7 +189,7 @@ Enable it on the `/style` page under "Forum". A "Forum" link will appear in the
- Threads are auto-pruned after 30 days (configurable, or set to 0 to keep everything) - Threads are auto-pruned after 30 days (configurable, or set to 0 to keep everything)
- Moderation is local: block authors, mute threads, keyword filters, and gossip block lists with peers (auto-block after 3 peer reports) - Moderation is local: block authors, mute threads, keyword filters, and gossip block lists with peers (auto-block after 3 peer reports)
For full feature docs, see the [tinyweb-forum README](https://git.derickphan.com/lichenblankie/tinyweb-forum). For full feature docs, see the [tinyweb-forum README](https://git.example.com/user/tinyweb-forum).
## Project structure ## Project structure
@ -216,7 +216,7 @@ Other hardening measures:
- **XSS escaping** — All user-supplied content is HTML-escaped before rendering - **XSS escaping** — All user-supplied content is HTML-escaped before rendering
- **Bookmark authentication** — The bookmarklet endpoint requires a secret token - **Bookmark authentication** — The bookmarklet endpoint requires a secret token
- **Identity file protection** — The Reticulum identity key is restricted to owner-only permissions (0600) - **Identity file protection** — The Reticulum identity key is restricted to owner-only permissions (0600)
- **Forum caveats** — See [tinyweb-forum Security](https://git.derickphan.com/lichenblankie/tinyweb-forum#security) for forum-specific risks (voluntary retractions, block gossip manipulation, no rate limiting) - **Forum caveats** — See [tinyweb-forum Security](https://git.example.com/user/tinyweb-forum#security) for forum-specific risks (voluntary retractions, block gossip manipulation, no rate limiting)
## Maintenance ## Maintenance

2
app.py
View file

@ -14,7 +14,7 @@ import gateway
from gateway import GatewayState, GatewayHandler from gateway import GatewayState, GatewayHandler
IDENTITY_FILE = "tinyweb_identity" IDENTITY_FILE = "tinyweb_identity"
DEFAULT_TRANSPORT_HOST = "reticulum.derickphan.com" DEFAULT_TRANSPORT_HOST = "rnode.bre.land"
DEFAULT_TRANSPORT_PORT = 4242 DEFAULT_TRANSPORT_PORT = 4242
DATA_DIR = os.path.expanduser("~/.tinyweb") DATA_DIR = os.path.expanduser("~/.tinyweb")

View file

@ -24,7 +24,7 @@ if [ ! -f "$CONFIG_FILE" ]; then
[[TCP Transport]] [[TCP Transport]]
type = TCPClientInterface type = TCPClientInterface
enabled = yes enabled = yes
target_host = ${RNS_TCP_HOST:-reticulum.derickphan.com} target_host = ${RNS_TCP_HOST:-rnode.bre.land}
target_port = ${RNS_TCP_PORT:-4242} target_port = ${RNS_TCP_PORT:-4242}
EOF EOF
fi fi

View file

@ -831,7 +831,7 @@ def handle_style_form(msg=""):
tcp_enabled = get_setting("tcp_enabled", "1") tcp_enabled = get_setting("tcp_enabled", "1")
tcp_checked = " checked" if tcp_enabled == "1" else "" tcp_checked = " checked" if tcp_enabled == "1" else ""
tcp_disabled = "" if tcp_enabled == "1" else " disabled" tcp_disabled = "" if tcp_enabled == "1" else " disabled"
transport_host = get_setting("transport_host", "reticulum.derickphan.com") transport_host = get_setting("transport_host", "rnode.bre.land")
transport_port = get_setting("transport_port", "4242") transport_port = get_setting("transport_port", "4242")
compress = get_setting("compress_embeddings", "0") compress = get_setting("compress_embeddings", "0")
compress_checked = " checked" if compress == "1" else "" compress_checked = " checked" if compress == "1" else ""
@ -852,7 +852,7 @@ def handle_style_form(msg=""):
f" enable forum (shared URL discussion board)</label><br>" f" enable forum (shared URL discussion board)</label><br>"
f"<small>Share URLs and discuss them with other TinyWeb instances. " f"<small>Share URLs and discuss them with other TinyWeb instances. "
f"Requires <code>tinyweb-forum</code> — " f"Requires <code>tinyweb-forum</code> — "
f'<a href="https://git.derickphan.com/lichenblankie/tinyweb-forum">more info</a>.</small><br><br>' f'<a href="https://git.example.com/user/tinyweb-forum">more info</a>.</small><br><br>'
) )
else: else:
forum_section = "" forum_section = ""
@ -887,7 +887,7 @@ def handle_style_form(msg=""):
f" connect via internet transport node</label><br>" f" connect via internet transport node</label><br>"
f"<small>Reach peers anywhere online.</small><br>" f"<small>Reach peers anywhere online.</small><br>"
f'<div id="tcp-fields" style="margin-top:0.5rem{";opacity:0.4" if tcp_enabled != "1" else ""}">' f'<div id="tcp-fields" style="margin-top:0.5rem{";opacity:0.4" if tcp_enabled != "1" else ""}">'
f"<small>Default: reticulum.derickphan.com:4242</small><br>" f"<small>Default: rnode.bre.land:4242</small><br>"
f'<input name="transport_host" value="{esc(transport_host)}" placeholder="hostname" size="30"{tcp_disabled}>' f'<input name="transport_host" value="{esc(transport_host)}" placeholder="hostname" size="30"{tcp_disabled}>'
f' <input name="transport_port" value="{esc(transport_port)}" placeholder="port" size="6"{tcp_disabled}><br>' f' <input name="transport_port" value="{esc(transport_port)}" placeholder="port" size="6"{tcp_disabled}><br>'
f'<p><a href="https://rmap.world/" target="_blank" rel="noreferrer noopener">discover more nodes</a></p>' f'<p><a href="https://rmap.world/" target="_blank" rel="noreferrer noopener">discover more nodes</a></p>'