From 55620c52d46f9cdb27be924c2dcd16411e17945e Mon Sep 17 00:00:00 2001 From: almostm4 Date: Fri, 7 Nov 2025 09:47:03 +0100 Subject: [PATCH] Release --- README.md | 135 +++++++++- bin/torpanel-collect.py | 60 +++++ install.sh | 192 +++++++++++++ screenshots/dashboard-dark.jpg | Bin 0 -> 80183 bytes screenshots/dasrhboard-light.jpg | Bin 0 -> 72993 bytes screenshots/login.jpg | Bin 0 -> 30317 bytes screenshots/setup-wizard.jpg | Bin 0 -> 63200 bytes uninstall.sh | 115 ++++++++ web/api/config_get.php | 22 ++ web/api/config_set.php | 12 + web/api/now.php | 23 ++ web/api/reach.php | 62 +++++ web/api/stats.php | 7 + web/assets/panel.css | 133 +++++++++ web/favicon.svg | 1 + web/index.php | 447 +++++++++++++++++++++++++++++++ web/lib/app.php | 109 ++++++++ web/lib/torctl.php | 207 ++++++++++++++ web/login.php | 106 ++++++++ web/logout.php | 4 + web/robots.txt | 2 + web/setup.php | 200 ++++++++++++++ 22 files changed, 1835 insertions(+), 2 deletions(-) create mode 100644 bin/torpanel-collect.py create mode 100644 install.sh create mode 100644 screenshots/dashboard-dark.jpg create mode 100644 screenshots/dasrhboard-light.jpg create mode 100644 screenshots/login.jpg create mode 100644 screenshots/setup-wizard.jpg create mode 100644 uninstall.sh create mode 100644 web/api/config_get.php create mode 100644 web/api/config_set.php create mode 100644 web/api/now.php create mode 100644 web/api/reach.php create mode 100644 web/api/stats.php create mode 100644 web/assets/panel.css create mode 100644 web/favicon.svg create mode 100644 web/index.php create mode 100644 web/lib/app.php create mode 100644 web/lib/torctl.php create mode 100644 web/login.php create mode 100644 web/logout.php create mode 100644 web/robots.txt create mode 100644 web/setup.php diff --git a/README.md b/README.md index a44bd0f..a58691d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,134 @@ -# rpi-tor-relay-panel +Tor Relay Panel for Raspberry Pi +================================ -Run a Tor middle relay on Raspberry Pi with a web dashboard, live traffic charts, reachability checks, and one-command install. \ No newline at end of file +_Run a Tor relay at home with a beautiful, simple web dashboard._ + +Bring real privacy power to the internet—right from your Raspberry Pi. **Tor Relay Panel** makes it easy for anyone to run a **Tor middle relay** with a clean, password-protected dashboard, live charts, and simple controls. No command-line expertise needed. + +Why run a Tor relay? +-------------------- + +* **Strengthen online privacy** – Keep the Tor network fast, healthy, and resilient for everyone who needs it. + +* **Support digital freedom** – Join a global, decentralized infrastructure that protects free expression. + +* **You’re in control** – Set your own bandwidth and monthly data cap to match your connection and plan. + + +Highlights +---------- + +* **Friendly web interface** – Configure everything in minutes. + +* **Middle relay only** – Safe for homes; no exit traffic from your IP. + +* **Live charts & stats** – See traffic trends from the last 48 hours at a glance. + +* **Reachability widget** – Check if your relay is publicly reachable and has the **Running** flag. + +* **Simple controls** – Edit nickname, contact, ORPort, bandwidth, burst, and monthly cap anytime. + +* **Secure session login** – Password-protected dashboard for your local network. + +* **Dark / Light theme** – Switch instantly; your preference is remembered. + +* **First-time setup wizard** – Create your admin account and initial settings in one flow. + +* **Lightweight & open-source** – Built for Raspberry Pi OS (Debian) Lite 64-bit. + + +Who is it for? +-------------- + +* **Home users** who want to contribute to internet privacy. + +* **Makers & Raspberry Pi fans** looking for a meaningful, always-on project. + +* **Community builders** who want a reliable middle relay with simple, visual management. + + +What you need +------------- + +* A **Raspberry Pi** running Raspberry Pi OS (Debian) **Lite 64-bit**. + +* A stable **home internet connection**. + +* Recommended: **IPv4 port forward** (or **IPv6 inbound**) to your Tor **ORPort** so your relay can be publicly reachable. + + +> 🔒 The web dashboard is designed for your **local network**. You don’t need to expose it to the internet. + +Setup in minutes +---------------- + +1. **Get the files**Clone or download this repository to your Raspberry Pi. + +2. **Run the installer**From the project folder, run the install script with sudo (one line). + +3. **Open the dashboard**Visit the Pi’s IP in your browser, follow the **first-time setup**, and you’re done. + + +You’ll then see: + +* **Live status** (Tor version, bootstrap, circuits) + +* **Traffic graphs** (read/written bytes over time) + +* **Reachability check** (consensus, flags, “Tor thinks your address is…”) + +* **Simple edit panel** for bandwidth, burst, and monthly cap + + +Screenshots +----------- + + +* **Dashboard (Dark Mode)**!\[Tor Relay Panel – Dashboard (Dark)\](screenshots/dashboard-dark.jpg) + +* **Dashboard (Light Mode)**!\[Tor Relay Panel – Dashboard (Light)\](screenshots/dashboard-light.jpg) + +* **Login Panel**!\[Tor Relay Panel – Login\](screenshots/login.jpg) + +* **First-Time Setup**!\[Tor Relay Panel – Setup Wizard\](screenshots/setup-wizard.jpg) + + +Frequently asked questions +-------------------------- + +**Do I need to open a port?**Yes. To earn the **Running** flag and carry traffic, your relay must be reachable on its **ORPort** (default **9001/TCP**). The dashboard includes a reachability widget to help verify this. Most homes use a simple router port-forward (or allow inbound on IPv6). + +**Is this an exit relay?**No. This runs as a **non-exit, middle relay**. Your IP is not used to access websites on behalf of others. + +**Will this slow down my internet?**You choose your **bandwidth limit** and **monthly data cap**. Pick values that keep your connection comfortable. + +**Is it safe to run at home?**A middle relay is a popular, community-friendly way to support Tor. Always follow your ISP’s terms and local laws. + +**Do I need to expose the dashboard to the internet?**No. Keep the dashboard **local-only** on your home network. Only the Tor **ORPort** needs to be reachable from the outside. + +**Can I stop or change limits later?**Yes—use the dashboard to pause, adjust bandwidth, burst, or monthly cap any time. + +Tips for the best experience +---------------------------- + +* **Give it time:** after changes, it can take a while before your relay appears with the **Running** flag. + +* **Be consistent:** keeping your Pi on helps the network and improves reliability. + +* **Start modestly:** begin with conservative bandwidth/cap values, then adjust upward as you’re comfortable. + + +Uninstall +--------- + +Prefer to remove everything later? There’s a friendly uninstall script included to clean up the panel and related packages. Run it from the project folder with sudo. + +Join the network +---------------- + +Spin up your Raspberry Pi, run the installer, set your limits, and start helping keep the open internet open. Your small contribution makes a **big** difference. 🧅 + +Keywords (for discoverability) +------------------------------ + +Raspberry Pi Tor relay, Tor middle relay dashboard, easy Tor relay setup, privacy network volunteer, run a Tor node at home, open-source Tor panel, simple Tor web interface, live Tor traffic graphs, secure Tor relay management, Raspberry Pi privacy project, Tor relay Raspberry Pi guide, local web dashboard for Tor, dark mode Tor panel, lightweight Tor admin UI \ No newline at end of file diff --git a/bin/torpanel-collect.py b/bin/torpanel-collect.py new file mode 100644 index 0000000..0e36483 --- /dev/null +++ b/bin/torpanel-collect.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import json, os, socket, time + +CONTROL_SOCK = "/run/tor/control" +COOKIE_FILE = "/run/tor/control.authcookie" +STATE_FILE = "/var/lib/torpanel/stats.json" +ROLL_MAX = 45000 + +def torctl_send(cmds): + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(2.5); s.connect(CONTROL_SOCK) + cookie = open(COOKIE_FILE, "rb").read().hex().upper() + s.sendall(f"AUTHENTICATE {cookie}\r\n".encode()) + if not s.recv(4096).decode(errors="ignore").startswith("250"): + raise RuntimeError("auth failed") + out = {} + for c in cmds: + s.sendall((c+"\r\n").encode()) + buf=b"" + while True: + chunk=s.recv(4096) + if not chunk: break + buf+=chunk + if buf.endswith(b"250 OK\r\n"): break + for line in buf.decode(errors="ignore").strip().splitlines(): + if line.startswith("250-") or line.startswith("250 "): + line=line[4:] + if "=" in line: + k,v=line.split("=",1); out[k.strip()]=v.strip() + s.close(); return out + +def load_state(): + try: return json.load(open(STATE_FILE,"r")) + except: return {"data":[]} + +def save_state(obj): + obj["data"] = obj["data"][-ROLL_MAX:] + tmp = STATE_FILE + ".tmp" + with open(tmp, "w") as f: + json.dump(obj, f, separators=(",", ":")) + f.flush(); os.fsync(f.fileno()) + os.replace(tmp, STATE_FILE) + +def main(): + try: + info=torctl_send(["GETINFO traffic/read","GETINFO traffic/written","GETINFO status/circuit-established","GETINFO version"]) + now=int(time.time()) + state=load_state() + state["data"].append({ + "t":now, + "read":int(info.get("traffic/read","0")), + "written":int(info.get("traffic/written","0")), + "circ":1 if info.get("status/circuit-established","0")=="1" else 0, + "version":info.get("version","unknown") + }) + save_state(state) + except Exception: + pass + +if __name__=="__main__": main() \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..6c46b17 --- /dev/null +++ b/install.sh @@ -0,0 +1,192 @@ +#!/usr/bin/env bash +set -euo pipefail + +C_RESET="\033[0m"; C_DIM="\033[2m"; C_BOLD="\033[1m" +C_RED="\033[31m"; C_GRN="\033[32m"; C_BLU="\033[34m"; C_YEL="\033[33m" +info(){ echo -e "${C_BLU}➜${C_RESET} $*"; } +ok(){ echo -e "${C_GRN}✓${C_RESET} $*"; } +warn(){ echo -e "${C_YEL}!${C_RESET} $*"; } +fail(){ echo -e "${C_RED}✗${C_RESET} $*"; } + +if [[ $EUID -ne 0 ]]; then fail "Run as root (sudo)."; exit 1; fi +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +PANEL_ROOT="/var/www/torpanel" +PANEL_PUBLIC="$PANEL_ROOT/public" +STATE_DIR="/var/lib/torpanel" +LOG_DIR="/var/log/torpanel" +ETC_APP="/etc/torpanel" + +TOR_ETC="/etc/tor" +TOR_TORRC_D="$TOR_ETC/torrc.d" +TOR_PANEL_CONF="$TOR_TORRC_D/99-torpanel.conf" + +NGX_SITE_AVAIL="/etc/nginx/sites-available/torpanel" +NGX_SITE_ENABL="/etc/nginx/sites-enabled/torpanel" +SUDOERS_FILE="/etc/sudoers.d/torpanel" + +COLLECTOR_SRC="$SCRIPT_DIR/bin/torpanel-collect.py" +COLLECTOR_BIN="/usr/local/bin/torpanel-collect.py" +SVC="/etc/systemd/system/torpanel-collector.service" +TIMER="/etc/systemd/system/torpanel-collector.timer" + +export DEBIAN_FRONTEND=noninteractive + +echo -e "${C_BOLD}Installing TorPanel...${C_RESET}" + +info "Updating apt and installing packages" +apt-get update -y >/dev/null +apt-get install -y --no-install-recommends \ + tor tor-geoipdb nginx rsync \ + php-fpm php-cli php-json php-curl php-zip php-common php-opcache \ + python3 >/dev/null +ok "Packages installed" + +PHPV=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') +PHP_FPM_SVC="php${PHPV}-fpm" +PHP_SOCK="/run/php/php${PHPV}-fpm.sock" +ln -sf "$PHP_SOCK" /run/php/php-fpm.sock || true + +info "Preparing directories" +install -d "$PANEL_PUBLIC" "$STATE_DIR" "$LOG_DIR" "$ETC_APP" +touch "$STATE_DIR/stats.json" +rsync -a --delete "$SCRIPT_DIR/web/" "$PANEL_PUBLIC/" +chown -R www-data:www-data "$PANEL_ROOT" "$STATE_DIR" "$LOG_DIR" +chmod 750 "$PANEL_ROOT" "$STATE_DIR" "$LOG_DIR" +chown root:www-data "$ETC_APP"; chmod 770 "$ETC_APP" +ok "Web files deployed" + +info "Writing Nginx site" +cat > "$NGX_SITE_AVAIL" <<'NGINX' +server { + listen 80 default_server; + server_name _; + + root /var/www/torpanel/public; + index index.php index.html; + + location / { + try_files $uri $uri/ /index.php?$args; + } + + location ~ \.php$ { + include snippets/fastcgi-php.conf; + fastcgi_pass unix:/run/php/php-fpm.sock; + } + + location ~ /\. { + deny all; + } +} +NGINX +rm -f /etc/nginx/sites-enabled/default || true +ln -sf "$NGX_SITE_AVAIL" "$NGX_SITE_ENABL" +ok "Nginx site enabled" + +info "Writing torrc defaults" +install -d "$TOR_TORRC_D" +cat > "$TOR_PANEL_CONF" <<'TORRC' +## --- Managed by TorPanel --- +SocksPort 0 +ORPort 9001 +ExitRelay 0 +ExitPolicy reject *:* +Nickname RaspberryRelay +ContactInfo contact@admin.com +BandwidthRate 5 MB +BandwidthBurst 10 MB +AccountingMax 100 GB +AccountingStart month 1 00:00 +ControlPort 0 +ControlSocket /run/tor/control +CookieAuthentication 1 +CookieAuthFileGroupReadable 1 +# --- End TorPanel block --- +TORRC +ok "torrc written" + +info "Setting permissions for Tor managed config" +chown root:www-data "$TOR_TORRC_D"; chmod 775 "$TOR_TORRC_D" +chown root:www-data "$TOR_PANEL_CONF"; chmod 664 "$TOR_PANEL_CONF" +ok "Permissions applied" + +info "Granting www-data access to Tor cookie" +usermod -aG debian-tor www-data || true +ok "Permissions set" + +info "Allowing www-data to control tor (limited)" +cat > "$SUDOERS_FILE" <<'SUD' +www-data ALL=NOPASSWD:/bin/systemctl reload tor, /bin/systemctl restart tor, /bin/systemctl start tor, /bin/systemctl stop tor +SUD +chmod 440 "$SUDOERS_FILE" +ok "Sudoers entry created" + +info "Installing collector" +install -m 0755 "$COLLECTOR_SRC" "$COLLECTOR_BIN" +chown www-data:www-data "$COLLECTOR_BIN" +cat > "$SVC" <<'UNIT' +[Unit] +Description=TorPanel minute collector +After=tor.service +Wants=tor.service + +[Service] +Type=oneshot +User=www-data +Group=www-data +SupplementaryGroups=debian-tor +ExecStart=/usr/bin/env python3 /usr/local/bin/torpanel-collect.py +NoNewPrivileges=yes +ProtectSystem=strict +ProtectHome=yes +ProtectClock=yes +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +PrivateTmp=yes +PrivateDevices=yes +PrivateUsers=yes +LockPersonality=yes +MemoryDenyWriteExecute=yes +RestrictRealtime=yes +RestrictSUIDSGID=yes +UMask=0077 +ReadWriteDirectories=/var/lib/torpanel +ReadOnlyPaths=/run/tor /etc/tor +RestrictAddressFamilies=AF_UNIX +SystemCallFilter=@system-service +CapabilityBoundingSet= + +[Install] +WantedBy=timers.target +UNIT + +cat > "$TIMER" <<'TIMER' +[Unit] +Description=Run TorPanel collector every minute +[Timer] +OnBootSec=30sec +OnUnitActiveSec=60sec +AccuracySec=15sec +Persistent=true +[Install] +WantedBy=timers.target +TIMER +ok "Systemd units installed" + +info "Restarting services" +systemctl daemon-reload +systemctl enable --now tor +systemctl enable "$PHP_FPM_SVC" nginx >/dev/null +systemctl restart "$PHP_FPM_SVC" +systemctl restart nginx +systemctl enable --now torpanel-collector.timer +ok "Services running" + +IP=$(hostname -I 2>/dev/null | awk '{print $1}') +echo +echo -e "${C_BOLD}All set!${C_RESET}" +echo -e " URL: ${C_GRN}http://$IP/${C_RESET}" +echo -e " First run: you'll see a setup page to create the admin user." +echo -e " Tip: forward ${C_BOLD}TCP/9001${C_RESET} to your Pi for a publicly reachable relay." \ No newline at end of file diff --git a/screenshots/dashboard-dark.jpg b/screenshots/dashboard-dark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..349b4210470605dda9251ef6006f3f72589a2185 GIT binary patch literal 80183 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 GJM?dth%_qz literal 0 HcmV?d00001 diff --git a/screenshots/dasrhboard-light.jpg b/screenshots/dasrhboard-light.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0508cbe0915cf95429396034865c6cc29f7ec61f GIT binary patch literal 72993 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

@uUc!*sq?6g2Qx$kpLO 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 XV7J*J;Qw;jC4FK+MXkPKgZ#e$Zx57~ literal 0 HcmV?d00001 diff --git a/screenshots/setup-wizard.jpg b/screenshots/setup-wizard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23f67656ca95f1f8f9d6170340eaa52265fd47ba GIT binary patch literal 63200 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 z{dink/dev/null || true +systemctl disable --now torpanel-collector.service 2>/dev/null || true +ok "Services/timers handled" + +info "Removing systemd units" +rm -f "$SVC" "$TIMER" +systemctl daemon-reload +ok "Systemd units removed" + +info "Removing collector binary" +rm -f "$COLLECTOR_BIN" +ok "Collector removed" + +info "Removing Nginx site" +rm -f "$NGX_SITE_ENABL" "$NGX_SITE_AVAIL" +if nginx -t >/dev/null 2>&1; then + systemctl reload nginx || true +else + warn "Nginx config test failed (maybe not installed); skipping reload" +fi +ok "Nginx site removed" + +info "Removing TorPanel app/config/state" +rm -rf "$PANEL_ROOT" "$STATE_DIR" "$LOG_DIR" "$ETC_APP" +ok "Files removed" + +info "Removing torrc override and reloading Tor" +rm -f "$TOR_PANEL_CONF" +systemctl reload tor 2>/dev/null || true +ok "Tor reloaded" + +info "Removing sudoers entry" +rm -f "$SUDOERS_FILE" +ok "Sudoers cleaned" + +if [[ $PURGE -eq 1 ]]; then + info "Purging Tor/Nginx/PHP packages" + apt-get purge -y "${PKGS[@]}" || true + apt-get autoremove -y || true + ok "Packages purged" +fi + +echo +echo -e "${C_BOLD}All clean!${C_RESET}" +if [[ $PURGE -eq 1 ]]; then + echo -e " TorPanel removed and packages were purged." +else + echo -e " TorPanel files and overrides have been removed (packages remain)." +fi +echo -e " Reinstall anytime with: ${C_GRN}sudo bash install.sh${C_RESET}" \ No newline at end of file diff --git a/web/api/config_get.php b/web/api/config_get.php new file mode 100644 index 0000000..008bbf5 --- /dev/null +++ b/web/api/config_get.php @@ -0,0 +1,22 @@ + $ui['nickname'], + 'ContactInfo' => $ui['contact'], + 'ORPort' => (string)$ui['orport'], + 'BandwidthRate' => rtrim(rtrim(number_format($rate_mb, 2, '.', ''), '0'), '.') . ' MB', + 'BandwidthBurst' => rtrim(rtrim(number_format($burst_mb, 2, '.', ''), '0'), '.') . ' MB', + 'AccountingMax' => $ui['cap_gb'] . ' GB', + 'AccountingStart' => 'month ' . $ui['acc_day'] . ' 00:00', +]; + +echo json_encode(['ok' => true] + $ui + $torrc); \ No newline at end of file diff --git a/web/api/config_set.php b/web/api/config_set.php new file mode 100644 index 0000000..728ccd0 --- /dev/null +++ b/web/api/config_set.php @@ -0,0 +1,12 @@ +false,'error'=>'bad json']); exit; } + +$ok = config_apply($in); +echo json_encode(['ok'=>$ok]); \ No newline at end of file diff --git a/web/api/now.php b/web/api/now.php new file mode 100644 index 0000000..c22790d --- /dev/null +++ b/web/api/now.php @@ -0,0 +1,23 @@ + true, + "read" => (int)($info["traffic/read"] ?? 0), + "written" => (int)($info["traffic/written"] ?? 0), + "circuits" => (($info["status/circuit-established"] ?? "0") === "1"), + "version" => ($info["version"] ?? "unknown"), + "bootstrap" => ($info["status/bootstrap-phase"] ?? "") + ]); +} catch (Throwable $e) { + echo json_encode(["ok"=>false,"error"=>$e->getMessage()]); +} \ No newline at end of file diff --git a/web/api/reach.php b/web/api/reach.php new file mode 100644 index 0000000..15c123c --- /dev/null +++ b/web/api/reach.php @@ -0,0 +1,62 @@ +/dev/null')); + $lan_ip = $lan_ip ? preg_split('/\s+/', $lan_ip)[0] : ''; + + $onionoo = [ + 'found' => false, 'running' => false, 'flags' => [], + 'last_seen' => null, 'nickname' => ($cfg['Nickname'] ?? 'RaspberryRelay'), + 'or_addresses' => [], 'country' => null + ]; + + if ($fingerprint !== '') { + $url = 'https://onionoo.torproject.org/details?lookup=' . urlencode($fingerprint); + $ch = curl_init($url); + curl_setopt_array($ch, [ + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 6, + CURLOPT_USERAGENT => 'TorPanel/1.0 (+relay reachability check)', + ]); + $res = curl_exec($ch); + $http = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + + if ($res !== false && $http === 200) { + $j = json_decode($res, true); + if (!empty($j['relays']) && count($j['relays']) > 0) { + $r = $j['relays'][0]; + $onionoo['found'] = true; + $onionoo['running'] = (bool)($r['running'] ?? false); + $onionoo['flags'] = $r['flags'] ?? []; + $onionoo['last_seen'] = $r['last_seen'] ?? null; + $onionoo['nickname'] = $r['nickname'] ?? $onionoo['nickname']; + $onionoo['or_addresses']= $r['or_addresses'] ?? []; + $onionoo['country'] = $r['country'] ?? null; + } + } + } + + echo json_encode([ + 'ok' => true, + 'fingerprint' => $fingerprint, + 'nickname' => $onionoo['nickname'], + 'orport' => $orport, + 'tor_address' => $tor_addr, + 'lan_ip' => $lan_ip, + 'onionoo' => $onionoo, + ]); +} catch (Throwable $e) { + echo json_encode(['ok'=>false,'error'=>$e->getMessage()]); +} \ No newline at end of file diff --git a/web/api/stats.php b/web/api/stats.php new file mode 100644 index 0000000..bbb3eb4 --- /dev/null +++ b/web/api/stats.php @@ -0,0 +1,7 @@ +[]]); exit; } +$raw = file_get_contents($path); +echo $raw ?: json_encode(["data"=>[]]); diff --git a/web/assets/panel.css b/web/assets/panel.css new file mode 100644 index 0000000..c8bf4f6 --- /dev/null +++ b/web/assets/panel.css @@ -0,0 +1,133 @@ +:root{ + --bg:#0b1220; + --card:#111a2e; + --text:#e7ecf4; + --muted:#c6d3ee; + --brand:#2b7bff; + --border:#223257; + --input:#0c1527; + --grid: rgba(231,236,244,.15); +} + +:root[data-theme="light"]{ + --bg:#f7f9fc; + --card:#ffffff; + --text:#0b1220; + --muted:#56617a; + --brand:#0d6efd; + --border:#dee2e6; + --input:#ffffff; + --grid: rgba(0,0,0,.1); +} + +html,body{ + height:100%; + background:var(--bg); + color:var(--text); +} + +.card{ + background:var(--card); + border:1px solid var(--border); + border-radius:16px; + color:var(--text); +} + +h1,h2,h3,h4,h5,h6 { color:var(--text) !important; } +.h1,.h2,.h3,.h4,.h5,.h6 { color:var(--text) !important; } +.form-label,label{ color:var(--text) !important; } +.small, .text-muted, .form-text{ color:var(--muted) !important; } + +.mono{ + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; + color: var(--text) !important; +} + +.form-control,.form-select{ + background:var(--input); + color:var(--text); + border-color:var(--border); +} +.form-control::placeholder{ color:#9db1d6; opacity:.8; } +:root[data-theme="light"] .form-control::placeholder{ color:#6c757d; } +.form-control:focus,.form-select:focus{ + background:var(--input); + color:var(--text); + border-color:var(--brand); + box-shadow:0 0 0 .2rem color-mix(in oklab, var(--brand) 25%, transparent); +} + +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +textarea:-webkit-autofill, +select:-webkit-autofill{ + -webkit-box-shadow:0 0 0 30px var(--input) inset !important; + -webkit-text-fill-color:var(--text) !important; + caret-color:var(--text); +} + +.btn-primary{ background:var(--brand); border:0; } +.btn-secondary{ background:#3a4663; border:0; color:#fff; } +:root[data-theme="light"] .btn-secondary{ background:#6c7aa6; } + +.page-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; } +.maxw-960{ max-width:960px; } + +.equal-row > [class*="col-"]{ display:flex; } +.equal-row .card{ width:100%; } + +#trafficWrap{ height:260px; } +#trafficChart{ width:100%; height:100%; display:block; } + +.navbar-brand img{ width:20px; height:20px; margin-right:.5rem; vertical-align:-3px; } + +:root[data-theme="dark"] .alert-warning{ + background-color:#3b2b00 !important; + border-color:#8a6d1a !important; + color:var(--text) !important; +} +:root[data-theme="dark"] .alert-warning .fw-semibold, +:root[data-theme="dark"] .alert-warning .mono, +:root[data-theme="dark"] .alert-warning .small, +:root[data-theme="dark"] .alert-warning li, +:root[data-theme="dark"] .alert-warning p{ color:var(--text) !important; } +:root[data-theme="dark"] .alert-warning a{ color:#ffd267 !important; text-decoration:underline; } + +.input-group-text{ + background: var(--input); + color: var(--text); + border-color: var(--border); + padding: .375rem .5rem; +} + +.input-group .form-control{ + background: var(--input); + color: var(--text); + border-color: var(--border); +} +.input-group .form-control:focus{ + background: var(--input); + color: var(--text); + border-color: var(--brand); + box-shadow: 0 0 0 .2rem color-mix(in oklab, var(--brand) 25%, transparent); +} + +.input-group > .form-control, +.input-group > .form-select, +.input-group > .input-group-text{ + border-radius: .375rem; +} + +:root[data-theme="light"] .card .btn-outline-light{ + color: var(--brand) !important; + border-color: var(--brand) !important; +} + +:root[data-theme="light"] .card .btn-outline-light:hover, +:root[data-theme="light"] .card .btn-outline-light:focus{ + background: var(--brand) !important; + color: #fff !important; + border-color: var(--brand) !important; + box-shadow: 0 0 0 .2rem color-mix(in oklab, var(--brand) 25%, transparent); +} \ No newline at end of file diff --git a/web/favicon.svg b/web/favicon.svg new file mode 100644 index 0000000..a90665d --- /dev/null +++ b/web/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/index.php b/web/index.php new file mode 100644 index 0000000..afb3cc2 --- /dev/null +++ b/web/index.php @@ -0,0 +1,447 @@ + + + + + + Tor Relay Panel + + + + + + + + +

+ +
+
+ +
+
+
+
Public Reachability
+
+ + +
+
+ +
+
Nickname
+
Fingerprint
+
ORPort
+
LAN IP
+
+ +
+
+
Flags / Last seen
+
+
+
+
+
Tor thinks your address is
+
+
+
+
+
+ + +
+
+ +
+
+
+
+
Tor Status
+ +
+
Version:
+
Bootstrap:
+
+
+ +
+
+
Read (total)
+
+
+
+ +
+
+
Written (total)
+
+
+
+
+ +
+
+
+
Traffic (last 48 hours)
+
+
+
+
+ +
+
+
+
Relay Configuration
+ +
+ +
+
+
+
Nickname
+
+
+
+
Contact
+
+
+
+
ORPort
+
+
+
+
Bandwidth
+
+
+
+
Burst
+
+
+
+
+
+
Monthly cap
+
+
+
+
Accounting day
+
+
+
+
+ + +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/web/lib/app.php b/web/lib/app.php new file mode 100644 index 0000000..91cc5a6 --- /dev/null +++ b/web/lib/app.php @@ -0,0 +1,109 @@ + 0, + 'path' => '/', + 'domain' => '', + 'secure' => $secure, + 'httponly' => true, + 'samesite' => 'Strict', +]); +ini_set('session.use_strict_mode', '1'); +ini_set('session.cookie_httponly', '1'); +session_name('torpanel'); +session_start(); + +const APP_CONF_DIR = '/etc/torpanel'; +const APP_CONF_FILE = APP_CONF_DIR . '/app.json'; +const STATE_DIR = '/var/lib/torpanel'; +const LOGIN_THROTTLE_FILE = STATE_DIR . '/login_throttle.json'; +const SESSION_IDLE_TTL = 60 * 60 * 12; + +if (!empty($_SESSION['last']) && (time() - (int)$_SESSION['last']) > SESSION_IDLE_TTL) { + $_SESSION = []; + if (ini_get('session.use_cookies')) { + $p = session_get_cookie_params(); + setcookie(session_name(), '', time() - 42000, $p['path'], $p['domain'], $p['secure'] ?? false, $p['httponly'] ?? true); + } + session_destroy(); + session_start(); +} +$_SESSION['last'] = time(); + +function app_is_installed(): bool { + return is_file(APP_CONF_FILE); +} +function app_config(): array { + if (!app_is_installed()) return []; + $raw = @file_get_contents(APP_CONF_FILE); + return $raw ? (json_decode($raw, true) ?: []) : []; +} +function app_save_config(array $cfg): void { + if (!is_dir(APP_CONF_DIR)) mkdir(APP_CONF_DIR, 0770, true); + $tmp = APP_CONF_FILE . '.tmp'; + file_put_contents($tmp, json_encode($cfg, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); + rename($tmp, APP_CONF_FILE); + @chmod(APP_CONF_FILE, 0640); +} + +function auth_login(string $u, string $p): bool { + $cfg = app_config(); + if (!isset($cfg['admin_user'], $cfg['admin_pass'])) return false; + if (!hash_equals($cfg['admin_user'], $u)) return false; + if (!password_verify($p, $cfg['admin_pass'])) return false; + session_regenerate_id(true); + $_SESSION['uid'] = $u; + $_SESSION['ua'] = substr($_SERVER['HTTP_USER_AGENT'] ?? '', 0, 160); + $_SESSION['last'] = time(); + return true; +} +function auth_logout(): void { + $_SESSION = []; + if (ini_get('session.use_cookies')) { + $p = session_get_cookie_params(); + setcookie(session_name(), '', time() - 42000, $p['path'], $p['domain'], $p['secure'] ?? false, $p['httponly'] ?? true); + } + session_destroy(); +} +function auth_require(): void { + if (!app_is_installed()) { header('Location: /setup.php'); exit; } + if (empty($_SESSION['uid'])) { header('Location: /login.php'); exit; } +} + + +function throttle_state(): array { + if (!is_dir(STATE_DIR)) @mkdir(STATE_DIR, 0775, true); + $raw = @file_get_contents(LOGIN_THROTTLE_FILE); + return $raw ? (json_decode($raw, true) ?: []) : []; +} +function throttle_save(array $st): void { + $tmp = LOGIN_THROTTLE_FILE . '.tmp'; + file_put_contents($tmp, json_encode($st)); + @chmod($tmp, 0660); + rename($tmp, LOGIN_THROTTLE_FILE); +} +function throttle_check(string $ip): int { + $st = throttle_state(); + $now = time(); + $key = $ip ?: 'unknown'; + $rec = $st[$key] ?? ['fails'=>0, 'until'=>0]; + if ($rec['until'] > $now) return $rec['until'] - $now; + return 0; +} +function throttle_record(string $ip, bool $ok): void { + $st = throttle_state(); + $now = time(); + $key = $ip ?: 'unknown'; + $rec = $st[$key] ?? ['fails'=>0, 'until'=>0]; + if ($ok) { + $rec = ['fails'=>0, 'until'=>0]; + } else { + $rec['fails'] = min(10, ($rec['fails'] ?? 0) + 1); + $wait = min(300, 2 ** $rec['fails']); + $rec['until'] = $now + $wait; + } + $st[$key] = $rec; + throttle_save($st); +} \ No newline at end of file diff --git a/web/lib/torctl.php b/web/lib/torctl.php new file mode 100644 index 0000000..294b26a --- /dev/null +++ b/web/lib/torctl.php @@ -0,0 +1,207 @@ + "RaspberryRelay", + "ContactInfo" => "contact@admin.com", + "ORPort" => "9001", + "BandwidthRate" => "625 KB", + "BandwidthBurst" => "1250 KB", + "AccountingMax" => "100 GB", + "AccountingStart" => "month 1 00:00", + "SocksPort" => "0", + "TransPort" => "0", + "ExitRelay" => "0", + "ControlPort" => "0", + "ControlSocket" => "/run/tor/control", + "CookieAuthentication" => "1", + "CookieAuthFileGroupReadable" => "1", + ]; + if (!is_readable($path)) return $cfg; + + foreach (@file($path) ?: [] as $line) { + if (preg_match('/^\s*(Nickname|ContactInfo|ORPort|BandwidthRate|BandwidthBurst|AccountingMax|AccountingStart|SocksPort|TransPort|ExitRelay|ControlPort|ControlSocket|CookieAuthentication|CookieAuthFileGroupReadable)\s+(.+?)\s*$/', $line, $m)) { + $cfg[$m[1]] = trim($m[2]); + } + } + return $cfg; +} + +function torrc_to_ui(array $parsed): array { + $rate_kb = _rate_to_kb((string)($parsed['BandwidthRate'] ?? '625 KB')); + $burst_kb = _rate_to_kb((string)($parsed['BandwidthBurst'] ?? max(1, $rate_kb * 2))); + + $cap_gb = 100; + if (preg_match('/^\s*(\d+(?:\.\d+)?)\s*GB\b/i', (string)($parsed['AccountingMax'] ?? ''), $m)) { + $cap_gb = (int)max(1, round((float)$m[1])); + } + + $acc_day = 1; + if (preg_match('/month\s+(\d+)\s+\d+:\d+/i', (string)($parsed['AccountingStart'] ?? ''), $m)) { + $acc_day = max(1, min(28, (int)$m[1])); + } + + return [ + 'nickname' => (string)($parsed['Nickname'] ?? 'RaspberryRelay'), + 'contact' => (string)($parsed['ContactInfo'] ?? 'contact@admin.com'), + 'orport' => (int) ($parsed['ORPort'] ?? 9001), + 'rate_mbps' => _kb_to_mbps($rate_kb), + 'burst_mbps' => _kb_to_mbps($burst_kb), + 'cap_gb' => (int)$cap_gb, + 'acc_day' => (int)$acc_day, + ]; +} + + +function write_torpanel_conf(array $in): bool { + $nick = isset($in['nickname']) ? (string)$in['nickname'] : + (isset($in['Nickname']) ? (string)$in['Nickname'] : 'RaspberryRelay'); + $nick = _sanitize_nickname($nick); + + $contact = isset($in['contact']) ? (string)$in['contact'] : + (isset($in['ContactInfo']) ? (string)$in['ContactInfo'] : 'contact@admin.com'); + $contact = substr(preg_replace('/[\x00-\x1F\x7F]/', '', trim($contact)), 0, 200); + + $orport = (int)($in['orport'] ?? ($in['ORPort'] ?? 9001)); + if ($orport < 1 || $orport > 65535) $orport = 9001; + + if (isset($in['rate_mbps'])) { $rate_kb = _mbps_to_kb((int)$in['rate_mbps']); } + else { $rate_kb = _rate_to_kb((string)($in['BandwidthRate'] ?? '625 KB')); } + + if (isset($in['burst_mbps'])) { $burst_kb = _mbps_to_kb((int)$in['burst_mbps']); } + else { $burst_kb = _rate_to_kb((string)($in['BandwidthBurst'] ?? max(1, $rate_kb*2) . ' KB')); } + + if ($burst_kb < $rate_kb) $burst_kb = $rate_kb; + + $cap_gb = (int)($in['cap_gb'] ?? 0); + if ($cap_gb <= 0 && isset($in['AccountingMax']) && preg_match('/^\s*(\d+(?:\.\d+)?)\s*GB\b/i', (string)$in['AccountingMax'], $m)) { + $cap_gb = (int)max(1, round((float)$m[1])); + } + if ($cap_gb < 1) $cap_gb = 100; + + $acc_day = (int)($in['acc_day'] ?? 0); + if ($acc_day <= 0 && isset($in['AccountingStart']) && preg_match('/month\s+(\d+)\s+\d+:\d+/i', (string)$in['AccountingStart'], $m)) { + $acc_day = (int)$m[1]; + } + if ($acc_day < 1 || $acc_day > 28) $acc_day = 1; + + $out = <</dev/null'); + return true; +} diff --git a/web/login.php b/web/login.php new file mode 100644 index 0000000..0f90022 --- /dev/null +++ b/web/login.php @@ -0,0 +1,106 @@ + + + + + + Login · Tor Relay Panel + + + + + + + + + +
+
+
+
+
+

Sign in

+ + + + + + + + + +
+
+ + +
+
+ + +
+ +
+ +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/web/logout.php b/web/logout.php new file mode 100644 index 0000000..e81e153 --- /dev/null +++ b/web/logout.php @@ -0,0 +1,4 @@ + $u, + 'admin_pass' => password_hash($p, PASSWORD_DEFAULT), + 'created_at' => date('c'), + ]; + if (function_exists('app_save_config')) { + app_save_config($app_cfg); + } else { + $dir = '/etc/torpanel'; + @mkdir($dir, 0770, true); + @file_put_contents("$dir/app.json", json_encode($app_cfg, JSON_PRETTY_PRINT), LOCK_EX); + @chgrp($dir, 'www-data'); @chmod($dir, 0770); + @chgrp("$dir/app.json", 'www-data'); @chmod("$dir/app.json", 0660); + } + + config_apply([ + 'nickname' => $nickname, + 'contact' => $contact, + 'orport' => $orport, + 'rate_mbps' => $rate_mbps, + 'burst_mbps' => $burst_mbps, + 'cap_gb' => $cap_gb, + 'acc_day' => $acc_day, + ]); + + header('Location: /login.php?ok=1'); exit; + } +} +?> + + + + + First-time Setup · Tor Relay Panel + + + + + + + + + +
+
+
+
+
+

First-time Setup

+ + + + + +
+
Step 1
Admin account
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
Step 2
Relay basics
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + Mbps +
+
+
+ +
+
+ +
+ + GB +
+
+
+ + +
+
+ +
+ + Mbps +
+
+
+ +
+ +
+ +
+
Reminder
+
    +
  • Forward TCP 9001 (or your ORPort) from your router to this device.
  • +
  • It can take a while to get the Running flag after changes.
  • +
+
+
+ +
+
+
+
+
+ + + + \ No newline at end of file