From 4b315ca207b5df7827b383a8b1451627e76a2040 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 11 Nov 2026 03:29:57 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9B=85=20Sync=202026-11-11=2003:29:57?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- luci-app-tailscale-ng/.deploy/README.md | 77 ---- luci-app-tailscale-ng/.deploy/deploy.sh | 374 --------------- luci-app-tailscale-ng/.deploy/mapping.tsv | 10 - .../.deploy/target.env.example | 5 - .../.dev/build-packages/README.md | 70 +++ .../build-packages}/build-packages.sh | 4 +- .../.dev/capture-screenshots/README.md | 49 ++ .../.dev/capture-screenshots/capture.mjs | 233 ++++++++++ .../.dev/capture-screenshots/fixtures.mjs | 106 +++++ .../capture-screenshots/package-lock.json | 40 ++ .../.dev/capture-screenshots/package.json | 7 + .../.dev/deploy-files/README.md | 49 ++ .../.dev/deploy-files/deploy-files.sh | 223 +++++++++ .../.dev/deploy-files/mapping.tsv | 16 + .../.dev/router-ssh/README.md | 68 +++ .../.dev/router-ssh/router-ssh.sh | 424 ++++++++++++++++++ .../.dev/router-ssh/target.env.example | 7 + luci-app-tailscale-ng/.gitignore | 14 +- luci-app-tailscale-ng/Makefile | 13 +- luci-app-tailscale-ng/README.md | 13 +- .../docs/images/tailscale-ng-auth.png | Bin 100877 -> 70180 bytes .../docs/images/tailscale-ng-settings.png | Bin 149679 -> 78993 bytes .../docs/images/tailscale-ng-status.png | Bin 303490 -> 119492 bytes luci-app-tailscale-ng/docs/local-build.md | 65 --- .../resources/view/tailscale-ng/index.js | 374 ++++++++++++++- .../po/templates/luci-app-tailscale-ng.pot | 385 +++++++++++----- .../po/zh_Hans/luci-app-tailscale-ng.po | 354 +++++++++++---- .../etc/uci-defaults/40_luci-app-tailscale-ng | 2 +- .../usr/libexec/luci-app-tailscale-ng-state | 131 ++++++ .../rpcd/acl.d/luci-app-tailscale-ng.json | 14 +- shunt/Makefile | 4 +- shunt/README.md | 6 +- shunt/files/shunt.config | 1 + shunt/files/shunt.rpcd | 297 ++++++++---- shunt/files/shunt.uc | 105 ++++- shunt/src/config.uc | 16 +- shunt/src/dedupe.uc | 98 +++- shunt/src/route.uc | 80 +++- 38 files changed, 2840 insertions(+), 894 deletions(-) delete mode 100644 luci-app-tailscale-ng/.deploy/README.md delete mode 100644 luci-app-tailscale-ng/.deploy/deploy.sh delete mode 100644 luci-app-tailscale-ng/.deploy/mapping.tsv delete mode 100644 luci-app-tailscale-ng/.deploy/target.env.example create mode 100644 luci-app-tailscale-ng/.dev/build-packages/README.md rename luci-app-tailscale-ng/{scripts => .dev/build-packages}/build-packages.sh (96%) create mode 100644 luci-app-tailscale-ng/.dev/capture-screenshots/README.md create mode 100644 luci-app-tailscale-ng/.dev/capture-screenshots/capture.mjs create mode 100644 luci-app-tailscale-ng/.dev/capture-screenshots/fixtures.mjs create mode 100644 luci-app-tailscale-ng/.dev/capture-screenshots/package-lock.json create mode 100644 luci-app-tailscale-ng/.dev/capture-screenshots/package.json create mode 100644 luci-app-tailscale-ng/.dev/deploy-files/README.md create mode 100644 luci-app-tailscale-ng/.dev/deploy-files/deploy-files.sh create mode 100644 luci-app-tailscale-ng/.dev/deploy-files/mapping.tsv create mode 100644 luci-app-tailscale-ng/.dev/router-ssh/README.md create mode 100644 luci-app-tailscale-ng/.dev/router-ssh/router-ssh.sh create mode 100644 luci-app-tailscale-ng/.dev/router-ssh/target.env.example delete mode 100644 luci-app-tailscale-ng/docs/local-build.md create mode 100755 luci-app-tailscale-ng/root/usr/libexec/luci-app-tailscale-ng-state diff --git a/luci-app-tailscale-ng/.deploy/README.md b/luci-app-tailscale-ng/.deploy/README.md deleted file mode 100644 index 4d671d328..000000000 --- a/luci-app-tailscale-ng/.deploy/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# Deploy Tooling - -This folder contains a deploy workflow to push files on router for testing based on `bash + ssh/scp`. - -## Files - -- `.deploy/deploy.sh` - main deploy script (single pipeline mode) -- `.deploy/mapping.tsv` - explicit file mapping (`src -> dst -> mode`) -- `.deploy/target.env.example` - target configuration template -- `.deploy/target.env` - local router access settings (ignored by git) - -## Requirements - -- Bash (Linux/macOS, or Git Bash/WSL on Windows) -- OpenSSH client tools in PATH: `ssh`, `scp` -- Git in PATH (used to validate executable bit in repository index) -- SSH key access to router - -## Mapping Format (`mapping.tsv`) - -Each row contains three columns separated by one or more tabs: - -1. local path relative to `.deploy/` -2. absolute remote path on router -3. mode (for example `644`, `755`) - -Notes: - -- Empty lines are allowed. -- Comment lines start with `#`. -- You can align columns using extra tab characters. - -## Target Configuration (`target.env`) - -Create local config first: - -```bash -cp deploy/target.env.example deploy/target.env -``` - -Expected variables: - -- `ROUTER_HOST` -- `ROUTER_USER` -- `ROUTER_PORT` -- `SSH_KEY_PATH` (optional) - -## SSH Key Bootstrap - -- If `SSH_KEY_PATH` is set, deploy uses that key. -- If `SSH_KEY_PATH` is empty, deploy uses project key `.deploy/.ssh/id_ed25519`. -- If the project key does not exist, deploy prompts to generate it on first run. -- Deploy tries to publish the public key to `/etc/dropbear/authorized_keys`. -- If auto-publish is not possible, deploy exits with exact manual commands to install the key on router. -- For non-interactive runs, set `.deploy_AUTO_YES=1` to auto-confirm key generation. - -## Usage - -Run from `luci-app-tailscale-ng`: - -```bash -./deploy/deploy.sh -./deploy/deploy.sh deploy -./deploy/deploy.sh clean -``` - -Modes: -- `deploy` (default) - auth + copy + chmod + rpcd restart -- `clean` - auth + remove mapped target files only - -## Behavior - -- Running `./deploy/deploy.sh` is same as `./deploy/deploy.sh deploy`. -- Uploads mapped files via `scp -p` -- Applies `chmod` only when remote mode differs from expected mode -- Runs post-sync commands after copy/perms (deploy mode only) -- Post-sync commands are defined in `.deploy.sh` (currently `rpcd restart`) diff --git a/luci-app-tailscale-ng/.deploy/deploy.sh b/luci-app-tailscale-ng/.deploy/deploy.sh deleted file mode 100644 index 52df087db..000000000 --- a/luci-app-tailscale-ng/.deploy/deploy.sh +++ /dev/null @@ -1,374 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" -APP_ROOT="$(cd -- "$SCRIPT_DIR/.." && pwd)" -MAPPING_FILE="$SCRIPT_DIR/mapping.tsv" -TARGET_ENV_FILE="$SCRIPT_DIR/target.env" -DEFAULT_PROJECT_KEY="$SCRIPT_DIR/.ssh/id_ed25519" -RUNTIME_KEY_TO_CLEAN="" - -declare -a MAP_SRC=() -declare -a MAP_DST=() -declare -a MAP_MODE=() - -POST_SYNC_COMMANDS=( - "/etc/init.d/rpcd restart >/dev/null 2>&1 || true" -) - -usage() { - cat <<'EOF' -Usage: - ./deploy/deploy.sh - ./deploy/deploy.sh deploy - ./deploy/deploy.sh clean -EOF -} - -log() { printf '%s\n' "$*"; } -step() { printf '[STEP] %s\n' "$*"; } - -die() { - printf 'ERROR: %s\n' "$*" >&2 - exit 1 -} - -require_cmd() { command -v "$1" >/dev/null 2>&1 || die "Missing required command: $1"; } - -trim() { - local s="$1" - s="${s#"${s%%[![:space:]]*}"}" - s="${s%"${s##*[![:space:]]}"}" - printf '%s' "$s" -} - -is_tty() { [[ -t 0 && -t 1 ]]; } - -remote_quote() { printf "'%s'" "${1//\'/\'\\\'\'}"; } - -cleanup_runtime_key() { - if [[ -n "$RUNTIME_KEY_TO_CLEAN" && -f "$RUNTIME_KEY_TO_CLEAN" ]]; then - rm -f "$RUNTIME_KEY_TO_CLEAN" 2>/dev/null || true - fi -} - -load_target_env() { - [[ -f "$TARGET_ENV_FILE" ]] || die "Target config is missing: $TARGET_ENV_FILE" - # shellcheck source=/dev/null - source "$TARGET_ENV_FILE" - - ROUTER_HOST="$(trim "${ROUTER_HOST:-}")" - ROUTER_USER="$(trim "${ROUTER_USER:-root}")" - ROUTER_PORT="$(trim "${ROUTER_PORT:-22}")" - SSH_KEY_PATH="$(trim "${SSH_KEY_PATH:-}")" - - [[ -n "$ROUTER_HOST" ]] || die "ROUTER_HOST is required in $TARGET_ENV_FILE" - [[ -n "$ROUTER_USER" ]] || die "ROUTER_USER is required in $TARGET_ENV_FILE" - [[ -n "$ROUTER_PORT" ]] || die "ROUTER_PORT is required in $TARGET_ENV_FILE" -} - -resolve_key_path() { - local p - if [[ -n "$SSH_KEY_PATH" ]]; then - p="$SSH_KEY_PATH" - else - p="$DEFAULT_PROJECT_KEY" - fi - if [[ "$p" != /* ]]; then - p="$APP_ROOT/$p" - fi - printf '%s' "$p" -} - -confirm_generate_key() { - local path="$1" - if [[ "${DEPLOY_AUTO_YES:-0}" == "1" ]]; then - return 0 - fi - if ! is_tty; then - die "SSH key is missing: $path. Generate it manually: ssh-keygen -t ed25519 -N '' -f '$path' -C 'luci-app-tailscale-deploy'" - fi - printf 'Project SSH key not found: %s\n' "$path" - printf 'Generate it now? [y/N]: ' - local answer - read -r answer - [[ "$answer" == "y" || "$answer" == "Y" ]] || die "SSH key generation declined. Aborting." -} - -ensure_local_key() { - local key_path="$1" - local key_dir - key_dir="$(dirname -- "$key_path")" - mkdir -p "$key_dir" - if [[ ! -f "$key_path" ]]; then - confirm_generate_key "$key_path" - ssh-keygen -t ed25519 -N "" -f "$key_path" -C "luci-app-tailscale-deploy" >/dev/null - log "Generated SSH key: $key_path" - fi - [[ -f "${key_path}.pub" ]] || die "Public key is missing: ${key_path}.pub" -} - -runtime_key_path() { - local key_path="$1" - local perm - perm="$(stat -c '%a' "$key_path" 2>/dev/null || true)" - if [[ "$perm" == "600" || "$perm" == "400" ]]; then - printf '%s' "$key_path" - return 0 - fi - local runtime_dir="$HOME/.ssh" - local runtime_key="$runtime_dir/luci-app-tailscale-deploy-${$}.key" - mkdir -p "$runtime_dir" - cat "$key_path" > "$runtime_key" - chmod 700 "$runtime_dir" 2>/dev/null || true - chmod 600 "$runtime_key" 2>/dev/null || true - RUNTIME_KEY_TO_CLEAN="$runtime_key" - printf '%s' "$runtime_key" -} - -build_ssh_opts() { - local key_path="$1" - SSH_OPTS=( - -p "$ROUTER_PORT" - -i "$key_path" - -o BatchMode=yes - -o ConnectTimeout=8 - -o ConnectionAttempts=1 - ) - SCP_OPTS=( - -P "$ROUTER_PORT" - -i "$key_path" - -p - -o BatchMode=yes - -o ConnectTimeout=8 - -o ConnectionAttempts=1 - ) -} - -remote() { ssh "${SSH_OPTS[@]}" "$ROUTER_USER@$ROUTER_HOST" "$1"; } - -print_manual_key_install() { - local key_path="$1" - local pub - pub="$(cat "${key_path}.pub")" - printf '\nManual SSH key installation required for %s@%s.\n' "$ROUTER_USER" "$ROUTER_HOST" >&2 - printf 'Run on router:\n' >&2 - printf 'mkdir -p /etc/dropbear\n' >&2 - printf 'touch /etc/dropbear/authorized_keys\n' >&2 - printf "grep -qxF %s /etc/dropbear/authorized_keys || echo %s >> /etc/dropbear/authorized_keys\n" "$(remote_quote "$pub")" "$(remote_quote "$pub")" >&2 - printf 'chmod 700 /etc/dropbear\n' >&2 - printf 'chmod 600 /etc/dropbear/authorized_keys\n\n' >&2 - printf 'Public key:\n%s\n\n' "$pub" >&2 -} - -ensure_router_key_auth() { - local key_path="$1" - local pub - pub="$(cat "${key_path}.pub")" - if remote "true" >/dev/null 2>&1; then - return 0 - fi - if ssh -p "$ROUTER_PORT" -o ConnectTimeout=8 -o ConnectionAttempts=1 "$ROUTER_USER@$ROUTER_HOST" \ - "mkdir -p /etc/dropbear; touch /etc/dropbear/authorized_keys; grep -qxF $(remote_quote "$pub") /etc/dropbear/authorized_keys || echo $(remote_quote "$pub") >> /etc/dropbear/authorized_keys; chmod 700 /etc/dropbear; chmod 600 /etc/dropbear/authorized_keys" >/dev/null 2>&1; then - if remote "true" >/dev/null 2>&1; then - log "Project key published to router: ${key_path}.pub" - return 0 - fi - fi - print_manual_key_install "$key_path" - die "Router key authentication is not configured for key: $key_path" -} - -load_mapping() { - [[ -f "$MAPPING_FILE" ]] || die "Mapping file is missing: $MAPPING_FILE" - MAP_SRC=() - MAP_DST=() - MAP_MODE=() - - local line_no=0 line src dst mode src_abs - while IFS= read -r line || [[ -n "$line" ]]; do - line_no=$((line_no + 1)) - line="$(trim "$line")" - [[ -z "$line" ]] && continue - [[ "${line:0:1}" == "#" ]] && continue - - IFS=$'\t' read -r src dst mode _extra <<<"$line" - src="$(trim "${src:-}")" - dst="$(trim "${dst:-}")" - mode="$(trim "${mode:-}")" - - [[ -n "$src" && -n "$dst" && -n "$mode" ]] || die "Invalid mapping at line $line_no in $MAPPING_FILE" - [[ "$dst" == /* ]] || die "Destination path must be absolute at line $line_no: $dst" - [[ "$mode" =~ ^[0-7]{3,4}$ ]] || die "Invalid mode at line $line_no: $mode" - - src_abs="$SCRIPT_DIR/$src" - [[ -f "$src_abs" ]] || die "Source file not found at line $line_no: $src_abs" - - MAP_SRC+=("$src") - MAP_DST+=("$dst") - MAP_MODE+=("$mode") - done <"$MAPPING_FILE" - - [[ ${#MAP_SRC[@]} -gt 0 ]] || die "Mapping has no entries: $MAPPING_FILE" -} - -validate_git_exec_bits() { - local i src mode repo_rel git_mode - for ((i=0; i<${#MAP_SRC[@]}; i++)); do - src="${MAP_SRC[$i]}" - mode="${MAP_MODE[$i]}" - [[ "$mode" == "755" || "$mode" == "0755" ]] || continue - repo_rel="${src#../}" - git_mode="$(git -C "$APP_ROOT" ls-files --stage -- "$repo_rel" | awk '{print $1}')" - [[ -n "$git_mode" ]] || die "Expected executable file is not tracked by git: $repo_rel" - [[ "$git_mode" == "100755" ]] || die "Expected git mode 100755 for $repo_rel, got $git_mode" - done -} - -ensure_remote_dirs() { - local i dir - for ((i=0; i<${#MAP_DST[@]}; i++)); do - dir="$(dirname -- "${MAP_DST[$i]}")" - remote "mkdir -p $(remote_quote "$dir")" - done -} - -copy_files() { - local i src_abs dst - step "Copy: ${#MAP_SRC[@]} files -> target" - ensure_remote_dirs - for ((i=0; i<${#MAP_SRC[@]}; i++)); do - src_abs="$SCRIPT_DIR/${MAP_SRC[$i]}" - dst="${MAP_DST[$i]}" - log "COPY ${MAP_SRC[$i]} -> $dst" - scp "${SCP_OPTS[@]}" "$src_abs" "$ROUTER_USER@$ROUTER_HOST:$dst" >/dev/null - done -} - -symbolic_to_octal() { - local s="$1" p d1=0 d2=0 d3=0 - p="${s:1:9}" - [[ "${p:0:1}" == "r" ]] && d1=$((d1 + 4)) - [[ "${p:1:1}" == "w" ]] && d1=$((d1 + 2)) - [[ "${p:2:1}" =~ [xst] ]] && d1=$((d1 + 1)) - [[ "${p:3:1}" == "r" ]] && d2=$((d2 + 4)) - [[ "${p:4:1}" == "w" ]] && d2=$((d2 + 2)) - [[ "${p:5:1}" =~ [xst] ]] && d2=$((d2 + 1)) - [[ "${p:6:1}" == "r" ]] && d3=$((d3 + 4)) - [[ "${p:7:1}" == "w" ]] && d3=$((d3 + 2)) - [[ "${p:8:1}" =~ [xt] ]] && d3=$((d3 + 1)) - printf '%d%d%d' "$d1" "$d2" "$d3" -} - -remote_mode() { - local dst="$1" out - out="$(remote "if command -v stat >/dev/null 2>&1; then stat -c '%a' $(remote_quote "$dst") 2>/dev/null; else ls -ld $(remote_quote "$dst") 2>/dev/null | awk '{print \$1}'; fi" || true)" - out="$(printf '%s' "$out" | tr -d '\r\n')" - if [[ "$out" =~ ^[0-7]{3,4}$ ]]; then - printf '%s' "${out#0}" - return 0 - fi - if [[ "$out" =~ ^[-dlcbps][rwxstST-]{9}$ ]]; then - symbolic_to_octal "$out" - return 0 - fi - printf '' -} - -set_perms() { - step "Permissions: set modes for ${#MAP_DST[@]} files on target" - local i dst expected actual normalized - for ((i=0; i<${#MAP_DST[@]}; i++)); do - dst="${MAP_DST[$i]}" - expected="${MAP_MODE[$i]}" - normalized="${expected#0}" - actual="$(remote_mode "$dst")" - if [[ -z "$actual" ]]; then - log "CHMOD $normalized $dst" - remote "chmod $expected $(remote_quote "$dst")" - continue - fi - if [[ "$actual" != "$normalized" ]]; then - log "CHMOD $normalized $dst" - remote "chmod $expected $(remote_quote "$dst")" - else - log "MODE_OK $normalized $dst" - fi - done -} - -run_post_sync() { - step "Post: running post-sync commands" - local cmd - for cmd in "${POST_SYNC_COMMANDS[@]}"; do - log "POST $cmd" - remote "$cmd" - done -} - -run_uci_defaults() { - step "Defaults: running /etc/uci-defaults/40_luci-app-tailscale-ng" - remote "if [ -f /etc/uci-defaults/40_luci-app-tailscale-ng ]; then sh /etc/uci-defaults/40_luci-app-tailscale-ng; else echo 'SKIP: /etc/uci-defaults/40_luci-app-tailscale-ng not found'; fi" -} - -clean_target_files() { - step "Clean: remove mapped files on target" - local i dst - for ((i=0; i<${#MAP_DST[@]}; i++)); do - dst="${MAP_DST[$i]}" - log "REMOVE $dst" - remote "rm -f $(remote_quote "$dst")" - done -} - -main() { - trap cleanup_runtime_key EXIT - local run_mode="deploy" - if [[ $# -gt 1 ]]; then - die "Too many arguments. Use: ./deploy/deploy.sh [deploy|clean]" - fi - if [[ $# -eq 1 ]]; then - case "$1" in - -h|--help) - usage - exit 0 - ;; - deploy|clean) - run_mode="$1" - ;; - *) - die "Unknown mode: $1. Use: deploy or clean" - ;; - esac - fi - - require_cmd ssh - require_cmd scp - require_cmd git - - load_mapping - validate_git_exec_bits - load_target_env - - local active_key effective_key - active_key="$(resolve_key_path)" - ensure_local_key "$active_key" - effective_key="$(runtime_key_path "$active_key")" - build_ssh_opts "$effective_key" - ensure_router_key_auth "$active_key" - - step "Auth: checking SSH access to $ROUTER_USER@$ROUTER_HOST" - remote "true" >/dev/null - if [[ "$run_mode" == "clean" ]]; then - clean_target_files - log "DONE: clean completed successfully" - return 0 - fi - copy_files - set_perms - run_uci_defaults - run_post_sync - log "DONE: deploy pipeline completed successfully" -} - -main "$@" diff --git a/luci-app-tailscale-ng/.deploy/mapping.tsv b/luci-app-tailscale-ng/.deploy/mapping.tsv deleted file mode 100644 index 5475f9c5f..000000000 --- a/luci-app-tailscale-ng/.deploy/mapping.tsv +++ /dev/null @@ -1,10 +0,0 @@ -# local_path_from_deploy_dirremote_absolute_pathmode -# You can use multiple TABs between columns for visual alignment. - -../htdocs/luci-static/resources/view/tailscale-ng/index.js /www/luci-static/resources/view/tailscale-ng/index.js 644 -../root/etc/config/luci-app-tailscale-ng /etc/config/luci-app-tailscale-ng 644 -../root/etc/hotplug.d/iface/40-luci-app-tailscale-ng /etc/hotplug.d/iface/40-luci-app-tailscale-ng 755 -../root/etc/init.d/luci-app-tailscale-ng /etc/init.d/luci-app-tailscale-ng 755 -../root/etc/uci-defaults/40_luci-app-tailscale-ng /etc/uci-defaults/40_luci-app-tailscale-ng 755 -../root/usr/share/luci/menu.d/luci-app-tailscale-ng.json /usr/share/luci/menu.d/luci-app-tailscale-ng.json 644 -../root/usr/share/rpcd/acl.d/luci-app-tailscale-ng.json /usr/share/rpcd/acl.d/luci-app-tailscale-ng.json 644 diff --git a/luci-app-tailscale-ng/.deploy/target.env.example b/luci-app-tailscale-ng/.deploy/target.env.example deleted file mode 100644 index f31aceebf..000000000 --- a/luci-app-tailscale-ng/.deploy/target.env.example +++ /dev/null @@ -1,5 +0,0 @@ -ROUTER_HOST=192.168.1.1 -ROUTER_USER=root -ROUTER_PORT=22 -# Optional. If empty, deploy uses project key: deploy/.ssh/id_ed25519 -# SSH_KEY_PATH=deploy/.ssh/id_ed25519 diff --git a/luci-app-tailscale-ng/.dev/build-packages/README.md b/luci-app-tailscale-ng/.dev/build-packages/README.md new file mode 100644 index 000000000..a275ac114 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/build-packages/README.md @@ -0,0 +1,70 @@ +# Build Packages + +Build installable OpenWrt packages with [build-packages.sh](build-packages.sh), the same script used by [GitHub Actions](../../.github/workflows/releases.yml). No push or release is required. + +Run the commands below from the repository root in Bash. + +## Requirements + +- Ubuntu 24.04 x86_64, including under WSL2, running as a regular user. +- A clean Git working tree, including untracked files. The script builds the current commit. + +## Setup + +Install the build dependencies once: + +```bash +sudo apt-get update +sudo apt-get install -y git build-essential flex bison gawk gcc-multilib g++-multilib gettext libncurses-dev libssl-dev python3-setuptools rsync unzip zlib1g-dev file wget curl zstd +``` + +Commit the source changes you want to build. SDK versions and checksums are fixed in the script; the SDK is downloaded on first use. + +## Usage + +Build APK packages for OpenWrt 25.12: + +```bash +JOBS=2 bash .dev/build-packages/build-packages.sh apk +``` + +For IPK packages targeting OpenWrt 24.10: + +```bash +JOBS=2 bash .dev/build-packages/build-packages.sh ipk +``` + +Outputs go to `.dev/build-packages/artifacts/apk/` or `.dev/build-packages/artifacts/ipk/`: the application package, Chinese translation, `SHA256SUMS` and `build-info.txt`. The metadata records the source commit and SDK details. + +Packages are architecture independent. Obtain native dependencies such as `tailscale` from the router's own feeds. + +## Verification + +For an APK build, check the output checksums and source commit: + +```bash +cd .dev/build-packages/artifacts/apk +sha256sum --check SHA256SUMS +cat build-info.txt +cd ../../../.. +``` + +Back up the router's Tailscale configuration and authorization state before testing. Transfer both packages and follow the [manual installation instructions](../../README.md#manual-installation). Local APK packages are unsigned and require `--allow-untrusted`. + +Check installed versions, preserved settings and login, service operation, and the translated LuCI page. If Software hides the translation package, select **Display LuCI translation packages → all**. + +## Configuration + +- `BUILD_CACHE_DIR` — SDK download and build cache directory; defaults to `${XDG_CACHE_HOME:-$HOME/.cache}/luci-app-tailscale-ng`. +- `OUTPUT_DIR` — Package and metadata output directory; defaults to `.dev/build-packages/artifacts//`. +- `JOBS` — Parallel build jobs; defaults to the number of available CPUs. + +Keep the SDK cache on a Linux filesystem at a path without spaces. The default output directories are ignored by Git. + +## Cleanup + +Delete the SDK cache directory for a fresh SDK, or `.dev/build-packages/artifacts/` to discard generated packages. + +## CI and Releases + +The [workflow](../../.github/workflows/releases.yml) builds both formats for relevant pushes to `main`, pull requests and manual runs. A successful run on `main` publishes a release when `PKG_VERSION` differs from the latest release. Update `PKG_VERSION` for each new release and keep `PKG_RELEASE:=1` fixed. Release tags and titles use `v`. diff --git a/luci-app-tailscale-ng/scripts/build-packages.sh b/luci-app-tailscale-ng/.dev/build-packages/build-packages.sh similarity index 96% rename from luci-app-tailscale-ng/scripts/build-packages.sh rename to luci-app-tailscale-ng/.dev/build-packages/build-packages.sh index 303e18abf..45589077d 100755 --- a/luci-app-tailscale-ng/scripts/build-packages.sh +++ b/luci-app-tailscale-ng/.dev/build-packages/build-packages.sh @@ -23,9 +23,9 @@ case "$format" in *) printf 'Usage: %s [apk|ipk]\n' "$0" >&2; exit 1 ;; esac -source_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +source_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" cache_dir="${BUILD_CACHE_DIR:-${XDG_CACHE_HOME:-$HOME/.cache}/luci-app-tailscale-ng}" -output_dir="${OUTPUT_DIR:-$source_dir/artifacts/$format}" +output_dir="${OUTPUT_DIR:-$source_dir/.dev/build-packages/artifacts/$format}" jobs="${JOBS:-$(nproc)}" if [[ "$(id -u)" == 0 ]]; then diff --git a/luci-app-tailscale-ng/.dev/capture-screenshots/README.md b/luci-app-tailscale-ng/.dev/capture-screenshots/README.md new file mode 100644 index 000000000..a1c7dc965 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/capture-screenshots/README.md @@ -0,0 +1,49 @@ +# Capture Screenshots + +The [capture.mjs](capture.mjs) script regenerates README screenshots to keep them up to date as the application's LuCI interface evolves. It automatically captures the application tabs at a consistent width, with height determined by their content. Synthetic data replaces router-specific information to avoid exposing personal details or private network information. + +Run the commands below from the repository root. + +## Requirements + +- Node.js 20 or newer, npm, Bash and the SSH tools required by [Router SSH](../router-ssh/README.md). +- A reachable OpenWrt 25 router with Tailscale NG installed and LuCI using English and the Bootstrap theme, accessible over HTTP. +- SSH access that can manage temporary `rpcd` sessions. The default Router SSH user is `root`. + +## Setup + +Configure access following [Router SSH Setup](../router-ssh/README.md#setup), then install the capture dependencies: + +```shell +npm --prefix .dev/capture-screenshots ci --ignore-scripts +npm --prefix .dev/capture-screenshots exec -- playwright install chromium --only-shell +``` + +The deployed application JS must match the working tree, including the package version. Use [Deploy Files](../deploy-files/README.md) to update it before capture when needed. + +## Usage + +```shell +npm --prefix .dev/capture-screenshots run capture +``` + +Successful runs replace `docs/images/tailscale-ng-auth.png`, `docs/images/tailscale-ng-settings.png` and `docs/images/tailscale-ng-status.png` directly, updating the images referenced by the main README. Failed capture checks leave the existing PNGs unchanged. The technical report is saved to `.dev/capture-screenshots/report.json` and ignored by Git. + +The script loads the router's HTML, styles, JS and English translations. It substitutes the page title and router brand, mocks RPC data, menu and release checks, and blocks unknown requests. Router configuration is preserved. A separate browser context and a temporary five-minute LuCI session are created for each run; the session is removed on exit. + +## Verification + +The run checks deployed JS, hostname replacement, page errors, horizontal overflow, configuration preservation and session cleanup. It captures each tab twice around a background status refresh and requires identical PNG hashes. Unknown HTTP/RPC requests are also checked for blocking. + +Check `success: true` in `report.json` and review the three PNGs in `docs/images/` for complete content and synthetic values. Width is fixed; no height is imposed on the full-page images. Other LuCI themes, versions, languages or operating systems may render differently. + +## Configuration + +- `BASH_PATH` — Optional Bash executable. Windows defaults to Git Bash under `ProgramFiles`; other systems use `bash` from `PATH`. +- `LUCI_URL` — Optional HTTP origin, including a custom port. Defaults to `http://` from Router SSH's `target.env`. + +Synthetic devices, users, addresses and command outputs belong in `fixtures.mjs`. Keep the JSON and text responses consistent. Viewport width and browser settings are defined in `capture.mjs`; the package version is read from `Makefile`. + +## Cleanup + +Delete `.dev/capture-screenshots/report.json` to discard the technical report, or `.dev/capture-screenshots/node_modules/` to remove local dependencies. Both are ignored by Git. PNGs in `docs/images/` are tracked project documentation. Playwright stores its downloaded browser in the user's cache outside the repository. diff --git a/luci-app-tailscale-ng/.dev/capture-screenshots/capture.mjs b/luci-app-tailscale-ng/.dev/capture-screenshots/capture.mjs new file mode 100644 index 000000000..8f184a2bd --- /dev/null +++ b/luci-app-tailscale-ng/.dev/capture-screenshots/capture.mjs @@ -0,0 +1,233 @@ +import { chromium } from 'playwright'; +import { spawnSync } from 'node:child_process'; +import { createHash } from 'node:crypto'; +import { readFile, mkdir, writeFile } from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { rpcReply, menu, identity } from './fixtures.mjs'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const root = path.resolve(here, '../..'); +const bash = process.env.BASH_PATH || (process.platform === 'win32' ? path.join(process.env.ProgramFiles || 'C:/Program Files', 'Git/bin/bash.exe') : 'bash'); +const width = 1280; +const imageDir = path.join(root, 'docs/images'); +const reportFile = path.join(here, 'report.json'); +const sha = value => createHash('sha256').update(value).digest('hex'); +const report = { width, screenshots: [], mockedCalls: {}, unexpected: [], pageErrors: [], blockedProbes: [] }; +let probing = false; +const realHostLabels = new Set(); +const captures = new Map(); +let completed = false; + +function router(script) { + const res = spawnSync(bash, ['.dev/router-ssh/router-ssh.sh', 'exec-command'], { + cwd: root, input: `${script}\n# End of input\n`, encoding: 'utf8', timeout: 30000, windowsHide: true + }); + if (res.error || res.status !== 0) throw new Error('Router SSH operation failed'); + return res.stdout.trim(); +} + +const envResult = spawnSync(bash, ['-c', 'source .dev/router-ssh/target.env; printf "%s" "$ROUTER_HOST"'], { + cwd: root, encoding: 'utf8', timeout: 10000, windowsHide: true +}); +if (envResult.status !== 0 || !envResult.stdout.trim()) throw new Error('Cannot read router target'); +const host = envResult.stdout.trim(); +const base = process.env.LUCI_URL || `http://${host.includes(':') ? `[${host}]` : host}`; +const origin = new URL(base).origin; +if (new URL(base).protocol !== 'http:') throw new Error('Screenshot capture currently requires HTTP LuCI access'); +const pagePath = '/cgi-bin/luci/admin/vpn/tailscale-ng'; +const sourcePath = '/luci-static/resources/view/tailscale-ng/index.js'; +const workingSource = await readFile(path.join(root, 'htdocs/luci-static/resources/view/tailscale-ng/index.js'), 'utf8'); +const makefile = await readFile(path.join(root, 'Makefile'), 'utf8'); +const version = /^PKG_VERSION:=(.+)$/m.exec(makefile)?.[1].trim(); +if (!version) throw new Error('Missing package version'); +const expectedSource = workingSource.replaceAll('@APP_VERSION@', version); +const configHashes = () => router('sha256sum /etc/config/luci /etc/config/tailscale /etc/config/luci-app-tailscale-ng'); +const before = configHashes(); +let session; +let browser; +let context; +let cleanupError; + +try { + // The real session only authorizes page rendering. No real ubus/file/uci rights are granted. + const auth = JSON.parse(router(`ucode - <<'UCODE' +import { connect } from 'ubus'; +let b = connect(); +let s = b.call('session', 'create', { timeout: 300 }); +if (!s?.ubus_rpc_session) die('Session creation failed'); +let id = s.ubus_rpc_session; +b.call('session', 'set', { ubus_rpc_session: id, values: { username: 'root', token: id } }); +b.call('session', 'grant', { ubus_rpc_session: id, scope: 'access-group', objects: [ ['luci-base', 'read'], ['luci-app-tailscale-ng', 'read'], ['luci-app-tailscale-ng', 'write'] ] }); +let fileAccess = b.call('session', 'access', { ubus_rpc_session: id, scope: 'ubus', object: 'file', function: 'exec' }); +let uciAccess = b.call('session', 'access', { ubus_rpc_session: id, scope: 'ubus', object: 'uci', function: 'set' }); +print({ id, realRpcDenied: fileAccess?.access == false && uciAccess?.access == false }); +UCODE`)); + session = auth.id; + if (!/^[0-9a-f]{32}$/.test(session || '')) throw new Error('Invalid temporary session'); + if (!auth.realRpcDenied) throw new Error('Screenshot session unexpectedly permits real mutations'); + report.realRpcDenied = true; + browser = await chromium.launch({ headless: true }); + report.browserVersion = browser.version(); + context = await browser.newContext({ + viewport: { width, height: 900 }, deviceScaleFactor: 1, + locale: 'en-US', timezoneId: 'UTC', colorScheme: 'light', serviceWorkers: 'block' + }); + await context.addCookies([{ name: 'sysauth_http', value: session, url: origin, httpOnly: true, sameSite: 'Strict' }]); + await context.route('**/*', async route => { + const req = route.request(); + const url = new URL(req.url()); + try { + if (url.origin === origin && (url.pathname.startsWith('/cgi-bin/luci/admin/ubus') || url.pathname === '/ubus/')) { + const body = req.postDataJSON(); + const reply = item => { + if (item.method === 'list') return { jsonrpc: '2.0', id: item.id, result: [0, {}] }; + if (item.method !== 'call') throw new Error(`Unmapped RPC envelope: ${item.method}`); + const [, object, method, args = {}] = item.params; + const key = `${object}.${method}`; + report.mockedCalls[key] = (report.mockedCalls[key] || 0) + 1; + return { jsonrpc: '2.0', id: item.id, result: [0, rpcReply(object, method, args)] }; + }; + return await route.fulfill({ json: Array.isArray(body) ? body.map(reply) : reply(body) }); + } + if (url.origin === 'https://api.github.com') { + return await route.fulfill({ json: { tag_name: `v${version}`, draft: false, prerelease: false } }); + } + if (url.origin === origin && url.pathname === '/cgi-bin/luci/admin/menu') + return await route.fulfill({ json: { children: menu } }); + if (url.origin === origin && url.pathname === '/cgi-bin/luci/admin/translations/en' && req.method() === 'GET') + return await route.fulfill({ response: await route.fetch() }); + if (url.origin === origin && url.pathname === pagePath && req.method() === 'GET') { + const response = await route.fetch({ maxRedirects: 0 }); + if (response.status() !== 200) throw new Error(`LuCI document HTTP ${response.status()}`); + const originalHtml = await response.text(); + const brandPattern = /(]*\bclass=["'][^"']*\bbrand\b[^"']*["'][^>]*>)([\s\S]*?)(<\/a>)/gi; + const html = originalHtml + .replace(/[\s\S]*?<\/title>/i, '<title>OpenWrt - Tailscale NG') + .replace(brandPattern, (_, open, label, close) => { + if (label.trim() !== 'OpenWrt') realHostLabels.add(label.replace(/<[^>]*>/g, '').trim()); + return `${open}OpenWrt${close}`; + }); + if (!html.includes('tailscale-ng/index')) throw new Error('Authenticated LuCI view missing'); + return await route.fulfill({ response, body: html }); + } + if (url.origin === origin && url.pathname.startsWith('/luci-static/') && req.method() === 'GET') { + if (url.pathname === sourcePath) { + const response = await route.fetch(); + if (await response.text() !== expectedSource) throw new Error('Router JS differs from working tree: use Deploy Files first'); + report.sourceSha256 = sha(expectedSource); + return await route.fulfill({ response }); + } + return await route.fulfill({ response: await route.fetch() }); + } + throw new Error(`Unmapped request: ${req.method()} ${url.pathname}`); + } catch (error) { + (probing ? report.blockedProbes : report.unexpected).push(error.message.replaceAll(session, '[session]').replaceAll(origin, '[router]')); + await route.abort(); + } + }); + const page = await context.newPage(); + report.consoleErrors = []; + report.failedResponses = []; + page.on('console', msg => { + if (!probing && msg.type() === 'error') report.consoleErrors.push(msg.text().replaceAll(session, '[session]').replaceAll(origin, '[router]')); + }); + page.on('response', res => { + if (res.status() >= 400) report.failedResponses.push({ path: new URL(res.url()).pathname, status: res.status() }); + }); + page.on('pageerror', error => report.pageErrors.push(error.message.replaceAll(session, '[session]').replaceAll(origin, '[router]'))); + await page.clock.setFixedTime(new Date('2026-01-15T12:00:00Z')); + await page.goto(`${origin}${pagePath}`, { waitUntil: 'domcontentloaded' }); + const waitReady = async () => { + await page.locator('h2').filter({ hasText: 'Tailscale NG' }).waitFor({ timeout: 20000 }); + await page.getByText(identity.displayName, { exact: true }).waitFor({ state: 'attached', timeout: 20000 }); + await page.locator('#topmenu').getByText('VPN', { exact: true }).waitFor(); + await page.evaluate(() => document.fonts.ready); + if (report.unexpected.length) throw new Error(report.unexpected.join('; ')); + if (report.pageErrors.length) throw new Error('Page JavaScript error'); + }; + await waitReady(); + // Explicit conditions, rather than networkidle: LuCI deliberately polls in the background. + for (let pass = 1; pass <= 2; pass++) { + for (const [tab, label] of [['auth', 'Authentication'], ['settings', 'Settings'], ['status', 'Status']]) { + await page.locator(`.cbi-tabmenu li[data-tab="${tab}"] a`).click(); + await page.locator(`.cbi-tabmenu li.cbi-tab[data-tab="${tab}"]`).waitFor(); + if (tab === 'status') { + await page.locator('#tailscale_status').filter({ hasText: identity.hostname }).waitFor(); + await page.locator('#tailscale_dns_status').filter({ hasText: identity.domain }).waitFor(); + await page.locator('#tailscale_netcheck').filter({ hasText: '203.0.113.10' }).waitFor(); + } + await page.evaluate(() => { document.activeElement?.blur(); window.scrollTo(0, 0); }); + await page.mouse.move(0, 0); + await page.evaluate(() => document.fonts.ready); + const visible = await page.locator('body').innerText(); + if (await page.locator('a.brand').innerText() !== 'OpenWrt' || [...realHostLabels].some(label => label && visible.includes(label))) + throw new Error('Router hostname was not replaced'); + if (await page.locator('html').evaluate(el => el.scrollWidth) > width) + throw new Error('Horizontal overflow would change capture width'); + if (report.unexpected.length || report.pageErrors.length || report.consoleErrors.length || report.failedResponses.length) + throw new Error('Capture blocked by unexpected request, failed resource or page error'); + const pixels = await page.screenshot({ fullPage: true, animations: 'disabled', caret: 'hide', scale: 'css' }); + const filename = `tailscale-ng-${tab}.png`; + if (pass === 1) captures.set(filename, pixels); + const entry = { file: filename, pass, label, width: pixels.readUInt32BE(16), height: pixels.readUInt32BE(20), sha256: sha(pixels) }; + if (entry.width !== width) throw new Error('Unexpected screenshot width'); + report.screenshots.push(entry); + } + if (pass === 1) { + const callsBeforePoll = report.mockedCalls['file.exec']; + const deadline = Date.now() + 20000; + while (report.mockedCalls['file.exec'] < callsBeforePoll + 6) { + if (Date.now() > deadline) throw new Error('Expected background status refresh did not occur'); + await new Promise(resolve => setTimeout(resolve, 250)); + } + report.backgroundRefreshObserved = true; + } + } + report.identicalRepeatedCaptures = ['auth', 'settings', 'status'].every(tab => + report.screenshots.find(s => s.file === `tailscale-ng-${tab}.png` && s.pass === 1).sha256 === + report.screenshots.find(s => s.file === `tailscale-ng-${tab}.png` && s.pass === 2).sha256); + if (!report.identicalRepeatedCaptures) throw new Error('Repeated captures differ'); + probing = true; + // These deliberately unmapped operations must fail before reaching the router. + const blocked = await page.evaluate(async () => { + const attempts = [ + ['/ubus/', { method: 'POST', body: JSON.stringify({ jsonrpc: '2.0', id: 9001, method: 'call', params: ['screenshot-probe', 'file', 'exec', { command: '/bin/false', params: [] }] }) }], + ['/cgi-bin/luci/admin/screenshot-unmapped-probe', { method: 'GET' }] + ]; + return await Promise.all(attempts.map(async ([url, options]) => { + try { await fetch(url, options); return false; } catch { return true; } + })); + }); + report.unknownRequestsBlocked = blocked.every(Boolean) && report.blockedProbes.length === 2; + if (!report.unknownRequestsBlocked) throw new Error('Unknown request was not blocked'); + report.hostnameReplaced = true; + completed = true; +} finally { + await context?.close().catch(() => {}); + await browser?.close().catch(() => {}); + if (session) { + try { + router(`ubus call session destroy '{"ubus_rpc_session":"${session}"}'`); + const remaining = router(`ubus call session list '{"ubus_rpc_session":"${session}"}' 2>/dev/null || true`); + if (remaining.includes(session)) throw new Error('Temporary session still exists'); + report.temporarySessionDestroyed = true; + } catch { cleanupError = new Error('Temporary session cleanup failed'); } + } + report.configsUnchanged = before === configHashes(); + report.success = completed && report.configsUnchanged && report.temporarySessionDestroyed === true && !cleanupError; + if (report.success) { + await mkdir(imageDir, { recursive: true }); + for (const [filename, pixels] of captures) await writeFile(path.join(imageDir, filename), pixels); + } + await writeFile(reportFile, JSON.stringify(report, null, 2) + '\n'); + if (report.success) { + for (const shot of report.screenshots.filter(shot => shot.pass === 1)) + console.log(`${shot.file}: ${shot.width} x ${shot.height}`); + console.log(`Capture checks passed. Images: ${path.relative(root, imageDir)}; report: ${path.relative(root, reportFile)}`); + } else { + console.error(`Capture failed; previous PNGs were not replaced. See ${path.relative(root, reportFile)}`); + } + if (cleanupError) throw cleanupError; + if (!report.configsUnchanged) throw new Error('Router configuration changed'); +} diff --git a/luci-app-tailscale-ng/.dev/capture-screenshots/fixtures.mjs b/luci-app-tailscale-ng/.dev/capture-screenshots/fixtures.mjs new file mode 100644 index 000000000..6b1f8d099 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/capture-screenshots/fixtures.mjs @@ -0,0 +1,106 @@ +export const identity = { + hostname: 'openwrt-home-main', + displayName: 'router-admin', + domain: 'tailabcd12.ts.net', + ipv4: '100.101.10.25', + ipv6: 'fd7a:115c:a1e0::1025' +}; +const dnsName = `${identity.hostname}.${identity.domain}`; + +export const configs = { + luci: { + main: { '.name': 'main', '.type': 'core', '.anonymous': false, '.index': 0, lang: 'en', mediaurlbase: '/luci-static/bootstrap-light' }, + apply: { '.name': 'apply', '.type': 'internal', '.anonymous': false, '.index': 1, rollback: '90', holdoff: '4', timeout: '5', display: '1.5' } + }, + 'luci-app-tailscale-ng': { + settings: { + '.name': 'settings', '.type': 'settings', '.anonymous': false, '.index': 0, + enabled: '1', accept_dns: '1', accept_routes: '0', advertise_exit_node: '0', + login_server: '', authkey: '', advertise_routes: [], flags: [] + } + }, + tailscale: { + settings: { + '.name': 'settings', '.type': 'settings', '.anonymous': false, '.index': 0, + enabled: '0', port: '41641', state_file: '/etc/tailscale/tailscaled.state', + fw_mode: 'nftables', log_stdout: '1', log_stderr: '1' + } + }, + network: { + lan: { + '.name': 'lan', '.type': 'interface', '.anonymous': false, '.index': 0, + proto: 'static', ipaddr: '192.168.10.1', netmask: '255.255.255.0' + } + } +}; + +const statusJson = { + BackendState: 'Running', AuthURL: '', + Self: { UserID: '1000', HostName: identity.hostname, DNSName: `${dnsName}.`, TailscaleIPs: [identity.ipv4, identity.ipv6], OS: 'linux' }, + User: { + '1000': { ID: '1000', DisplayName: identity.displayName, LoginName: 'router-admin@example.com' }, + '1001': { ID: '1001', DisplayName: 'user-main', LoginName: 'user-main@example.com' }, + '1002': { ID: '1002', DisplayName: 'infra', LoginName: 'infra@example.com' } + }, + Peer: { + phone: { UserID: '1001', HostName: 'pixel-8-pro', DNSName: `pixel-8-pro.${identity.domain}.`, TailscaleIPs: ['100.109.44.12'], OS: 'android', Online: false, ExitNodeOption: false }, + laptop: { UserID: '1001', HostName: 'thinkpad-x1', DNSName: `thinkpad-x1.${identity.domain}.`, TailscaleIPs: ['100.97.201.77'], OS: 'linux', Online: true, ExitNodeOption: false, TxBytes: 4120, RxBytes: 9981 }, + macbook: { UserID: '1001', HostName: 'macbook-air', DNSName: `macbook-air.${identity.domain}.`, TailscaleIPs: ['100.76.33.90'], OS: 'macOS', Online: true, ExitNodeOption: false }, + exit: { UserID: '1002', HostName: 'homelab-node', DNSName: `homelab-node.${identity.domain}.`, TailscaleIPs: ['100.120.5.199'], OS: 'linux', Online: true, ExitNodeOption: true, PrimaryRoutes: ['192.168.20.0/24'] } + } +}; + +const commands = new Map([ + ['tailscale version', '1.98.3\n'], + ['tailscale status --json', JSON.stringify(statusJson)], + ['tailscale status', `${identity.ipv4} openwrt-home-main router-admin@ linux -\n100.109.44.12 pixel-8-pro user-main@ android offline, last seen 2h ago\n100.97.201.77 thinkpad-x1 user-main@ linux active; tx 4120 rx 9981\n100.76.33.90 macbook-air user-main@ macOS -\n100.120.5.199 homelab-node infra@ linux idle; offers exit node\n`], + ['tailscale ip', `${identity.ipv4}\n${identity.ipv6}\n`], + ['ip addr show tailscale0', `9: tailscale0: mtu 1280 qdisc fq_codel state UNKNOWN qlen 500\n link/none\n inet ${identity.ipv4}/32 scope global tailscale0\n valid_lft forever preferred_lft forever\n inet6 ${identity.ipv6}/128 scope global\n valid_lft forever preferred_lft forever\n inet6 fe80::7b3d:5e1f:2c90:4a11/64 scope link flags 800\n valid_lft forever preferred_lft forever\n`], + ['tailscale netcheck', `Report:\n * Time: 2026-01-15T12:00:00Z\n * UDP: true\n * IPv4: yes, 203.0.113.10:41641\n * IPv6: no, but OS has support\n * MappingVariesByDestIP: false\n * PortMapping:\n * Nearest DERP: Amsterdam\n * DERP latency:\n - ams: 12.4ms (Amsterdam)\n - fra: 20.1ms (Frankfurt)\n - par: 25.8ms (Paris)\n - lhr: 31.2ms (London)\n - nyc: 89.6ms (New York City)\n`], + ['tailscale dns status', `=== 'Use Tailscale DNS' status ===\n\nTailscale DNS: enabled.\n\nTailscale is configured to handle DNS queries on this device.\nRun 'tailscale set --accept-dns=false' to revert to your system default DNS resolver.\n\n=== MagicDNS configuration ===\n\nThis is the DNS configuration provided by the coordination server to this device.\n\nMagicDNS: enabled tailnet-wide (suffix = ${identity.domain})\n\nOther devices in your tailnet can reach this device at ${dnsName}.\n\nResolvers (in preference order):\n (no resolvers configured, system default will be used: see 'System DNS configuration' below)\n\nSplit DNS Routes:\n - ts.net. -> 199.247.155.53\n - ts.net. -> 2620:111:8007::53\n\nSearch Domains:\n - ${identity.domain}\n\n=== System DNS configuration ===\n\nThis is the DNS configuration that Tailscale believes your operating system is using.\nTailscale may use this configuration if 'Override Local DNS' is disabled in the admin console,\nor if no resolvers are provided by the coordination server.\n\nNameservers:\n - 127.0.0.1\n - ::1\n\nSearch domains:\n - lan\n\n[this is a preliminary version of this command; the output format may change in the future]\n`] +]); + +export function rpcReply(object, method, args) { + if (object === 'service' && method === 'list' && args.name === 'tailscale') + return { tailscale: { instances: { instance1: { running: true } } } }; + if (object === 'system' && method === 'board') + return { hostname: identity.hostname, system: 'Example router', model: 'Example router', release: { distribution: 'OpenWrt', version: '25.12.5' } }; + if (object === 'uci' && method === 'get' && configs[args.config]) + return { values: structuredClone(configs[args.config]) }; + if (object === 'uci' && method === 'changes') return { changes: {} }; + if (object === 'session' && method === 'access') + return args.object ? { access: true } : { + 'access-group': { 'luci-base': ['read', 'write'], 'luci-app-tailscale-ng': ['read', 'write'] }, + uci: { 'luci-app-tailscale-ng': ['read', 'write'], tailscale: ['read', 'write'], network: ['read'] } + }; + if (object === 'luci' && method === 'getFeatures') return {}; + if (object === 'file' && method === 'list' && args.path === '/www/luci-static/resources/preload') + return { entries: [] }; + if (object === 'luci' && method === 'getInitList') + return { 'luci-app-tailscale-ng': { enabled: true }, tailscale: { enabled: false } }; + if (object === 'file' && method === 'exec') { + const command = [args.command?.split('/').pop(), ...(args.params || [])].join(' '); + if (commands.has(command)) return { code: 0, stdout: commands.get(command), stderr: '' }; + } + throw new Error(`Unmapped RPC: ${object}.${method} (${object === 'uci' ? args.config : object === 'file' && method === 'list' ? args.path : Object.keys(args || {}).sort().join(',')})`); +} + +export const menu = { + admin: { + title: 'Administration', order: 10, action: { type: 'firstchild' }, children: { + status: { title: 'Status', order: 10, action: { type: 'firstchild' }, children: { overview: { title: 'Overview', action: { type: 'view', path: 'status/overview' } } } }, + system: { title: 'System', order: 20, action: { type: 'firstchild' }, children: { system: { title: 'System', action: { type: 'view', path: 'system/system' } } } }, + network: { title: 'Network', order: 30, action: { type: 'firstchild' }, children: { network: { title: 'Interfaces', action: { type: 'view', path: 'network/interfaces' } } } }, + vpn: { title: 'VPN', order: 40, action: { type: 'firstchild' }, children: { 'tailscale-ng': { title: 'Tailscale NG', action: { type: 'view', path: 'tailscale-ng/index' } } } }, + logout: { title: 'Log out', order: 90, action: { type: 'call' } } + } + } +}; + +function satisfy(nodes) { + for (const node of Object.values(nodes)) { + node.satisfied = true; + if (node.children) satisfy(node.children); + } +} +satisfy(menu); diff --git a/luci-app-tailscale-ng/.dev/capture-screenshots/package-lock.json b/luci-app-tailscale-ng/.dev/capture-screenshots/package-lock.json new file mode 100644 index 000000000..a48454ecf --- /dev/null +++ b/luci-app-tailscale-ng/.dev/capture-screenshots/package-lock.json @@ -0,0 +1,40 @@ +{ + "name": "luci-app-tailscale-ng-screenshots", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "luci-app-tailscale-ng-screenshots", + "dependencies": { + "playwright": "1.65.0" + } + }, + "node_modules/playwright": { + "version": "1.65.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.65.0.tgz", + "integrity": "sha512-F3AMWcR44qMBt4kq+6Kb6mX7bjGXshktKFOPULd7reED6ZJWevjbNRqysP7q+AATE9kdPEZBibex1BYsvpVoeA==", + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.65.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/playwright-core": { + "version": "1.65.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.65.0.tgz", + "integrity": "sha512-vNSKgH6YqtN7cdT/L334zo0a+YwkrpicyrHJlWWPIm/Q+Nn2SWInil01oT0mbu96U4GgoRtCYQD9CzJQgju+lA==", + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=20" + } + } + } +} diff --git a/luci-app-tailscale-ng/.dev/capture-screenshots/package.json b/luci-app-tailscale-ng/.dev/capture-screenshots/package.json new file mode 100644 index 000000000..f8fcfd8c8 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/capture-screenshots/package.json @@ -0,0 +1,7 @@ +{ + "name": "luci-app-tailscale-ng-screenshots", + "private": true, + "type": "module", + "scripts": { "capture": "node capture.mjs" }, + "dependencies": { "playwright": "1.65.0" } +} diff --git a/luci-app-tailscale-ng/.dev/deploy-files/README.md b/luci-app-tailscale-ng/.dev/deploy-files/README.md new file mode 100644 index 000000000..72ea162ff --- /dev/null +++ b/luci-app-tailscale-ng/.dev/deploy-files/README.md @@ -0,0 +1,49 @@ +# Deploy Files + +The [deploy-files.sh](deploy-files.sh) script deploys working-tree application changes to a test router without building a package. It copies mapped files, applies and verifies permissions, and runs the application's post-deploy steps. + +Run the commands below from the repository root in Bash (Git Bash on Windows). + +## Requirements + +- Bash, Git and the OpenSSH tools required by [Router SSH](../router-ssh/README.md). +- An OpenWrt router with LuCI and `tailscale` installed. + +## Setup + +Configure router access following [Router SSH Setup](../router-ssh/README.md#setup). Deployment uses its target config, keys and authentication flow. + +## Usage + +Deploy the mapped files: + +```bash +bash .dev/deploy-files/deploy-files.sh +``` + +The default `deploy` mode validates the mapping and router requirements, copies files, applies and verifies permissions, then substitutes the application version, runs the application's UCI defaults and restarts `rpcd`. Existing application configuration is preserved. Dependencies are not installed. + +Add `--interactive` in your own terminal if router access needs password-based key installation. The option is passed to Router SSH; ordinary runs never prompt for passwords. + +Use [Router SSH](../router-ssh/README.md#usage) directly to run commands or scripts, upload or download other files, or keep a shell session open. + +## Verification + +Review the output for copied and preserved files and failed operations. Check that the updated LuCI page loads, settings and login are preserved, and the Tailscale service works. + +## Configuration + +Each row in [mapping.tsv](mapping.tsv) contains tab-separated columns: + +1. Local path relative to `.dev/deploy-files/`. +2. Absolute destination file path on the router. +3. File permissions, such as `644` or `755`. +4. Policy: `overwrite` (default if omitted) or `keep-if-exists`. + +`keep-if-exists` copies only missing files; a failed remote check stops deployment. Blank lines, `#` comments and extra tabs for alignment are supported. Duplicate destinations are rejected. + +Router requirements and post-deploy commands are defined at the top of [deploy-files.sh](deploy-files.sh). Connection settings belong in Router SSH's local `target.env`. + +## Cleanup + +Run `bash .dev/deploy-files/deploy-files.sh clean` to remove mapped `overwrite` files from the router. It preserves `keep-if-exists` files and does not restore a previous installation. Failed deployments may leave partially updated files; review the error before repeating the operation. diff --git a/luci-app-tailscale-ng/.dev/deploy-files/deploy-files.sh b/luci-app-tailscale-ng/.dev/deploy-files/deploy-files.sh new file mode 100644 index 000000000..55f0931dc --- /dev/null +++ b/luci-app-tailscale-ng/.dev/deploy-files/deploy-files.sh @@ -0,0 +1,223 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +APP_ROOT="$(cd -- "$SCRIPT_DIR/../.." && pwd)" +MAPPING_FILE="$SCRIPT_DIR/mapping.tsv" +ROUTER_SSH="$SCRIPT_DIR/../router-ssh/router-ssh.sh" +RUN_MODE=deploy +INTERACTIVE=0 +MUTATION_STARTED=0 +CURRENT_STEP=validation +ROUTER_OPTIONS=() +MAP_SRC=() +MAP_DST=() +MAP_MODE=() +MAP_POLICY=() + +APP_VERSION="$(sed -n 's/^PKG_VERSION:=//p' "$APP_ROOT/Makefile" | tr -d '\r')" +ROUTER_TOOLS=(uci tailscale scp ls awk) +POST_SYNC_COMMANDS=( + "sed -i 's/@APP_VERSION@/$APP_VERSION/g' /www/luci-static/resources/view/tailscale-ng/index.js" + "sh /etc/uci-defaults/40_luci-app-tailscale-ng" + "/etc/init.d/rpcd restart" +) + +usage() { + cat <<'EOF' +Usage: + bash .dev/deploy-files/deploy-files.sh [deploy|clean] [--interactive] + +Deploy is the default. It copies mapped files, applies permissions and runs +post-deploy commands. Clean removes overwrite files and preserves protected files. +Router access and file transfers are handled by ../router-ssh/router-ssh.sh. +Use Router SSH directly for commands, scripts, downloads and open sessions. +--interactive passes through to Router SSH for password-based key installation +in your own terminal. Ordinary runs never prompt for a password. +Exit codes: 0 = completed, 1 = local error, 2 = user action required. +Router SSH failures retain their original exit status. +EOF +} + +log() { printf '%s\n' "$*" >&2; } +step() { CURRENT_STEP="$*"; printf '[STEP] %s\n' "$*" >&2; } +die() { printf 'ERROR: %s\n' "$*" >&2; exit 1; } +require_cmd() { command -v "$1" >/dev/null 2>&1 || die "Missing required command: $1"; } +trim() { + local value="$1" + value="${value#"${value%%[![:space:]]*}"}" + value="${value%"${value##*[![:space:]]}"}" + printf '%s' "$value" +} +remote_quote() { printf "'%s'" "${1//\'/\'\\\'\'}"; } +router() { bash "$ROUTER_SSH" "${ROUTER_OPTIONS[@]}" "$@"; } +remote() { router exec-command -- "$1"; } + +cleanup() { + local status=$? + if [[ "$status" != 0 && "$MUTATION_STARTED" == 1 ]]; then + log "ERROR: $RUN_MODE stopped during: $CURRENT_STEP. Router files may already have changed." + fi + return 0 +} + +load_mapping() { + [[ -f "$MAPPING_FILE" ]] || die "Mapping file is missing: $MAPPING_FILE" + local line_no=0 line src dst mode policy extra src_abs previous + while IFS= read -r line || [[ -n "$line" ]]; do + line_no=$((line_no + 1)) + line="$(trim "$line")" + [[ -n "$line" && "${line:0:1}" != '#' ]] || continue + IFS=$'\t' read -r src dst mode policy extra <<< "$line" + src="$(trim "${src:-}")" + dst="$(trim "${dst:-}")" + mode="$(trim "${mode:-}")" + policy="$(trim "${policy:-overwrite}")" + [[ -n "$src" && -n "$dst" && -n "$mode" && -z "${extra:-}" ]] || die "Invalid mapping at line $line_no: expected source, destination, mode and optional policy" + [[ "$dst" == /* && "$dst" != / && "$dst" != */ ]] || die "Destination must be an absolute file path at line $line_no: $dst" + [[ "$mode" =~ ^[0-7]{3,4}$ ]] || die "Invalid mode at line $line_no: $mode" + [[ "$policy" == overwrite || "$policy" == keep-if-exists ]] || die "Invalid policy at line $line_no: $policy" + for previous in "${MAP_DST[@]}"; do [[ "$previous" != "$dst" ]] || die "Duplicate destination at line $line_no: $dst"; done + src_abs="$SCRIPT_DIR/$src" + if [[ "$RUN_MODE" == deploy ]]; then + [[ -f "$src_abs" ]] || die "Source file not found at line $line_no: $src_abs" + fi + MAP_SRC+=("$src") + MAP_DST+=("$dst") + MAP_MODE+=("$mode") + MAP_POLICY+=("$policy") + done < "$MAPPING_FILE" + [[ ${#MAP_SRC[@]} -gt 0 ]] || die "Mapping has no entries: $MAPPING_FILE" +} + +warn_git_exec_bits() { + local i src mode git_mode + for ((i=0; i<${#MAP_SRC[@]}; i++)); do + mode="${MAP_MODE[$i]}" + [[ "$mode" == 755 || "$mode" == 0755 ]] || continue + src="${MAP_SRC[$i]#../../}" + git_mode="$(git -C "$APP_ROOT" ls-files --stage -- "$src" | awk '{print $1}')" + if [[ "$git_mode" != 100755 ]]; then log "WARN git mode for mapped executable is ${git_mode:-untracked}, expected 100755: $src"; fi + done +} + +check_router() { + step "Preflight: checking the router before $RUN_MODE" + local command="[ -f /etc/openwrt_release ] || { echo 'ERROR: target is not an OpenWrt router' >&2; exit 1; };" + if [[ "$RUN_MODE" == deploy ]]; then + command+=" for tool in ${ROUTER_TOOLS[*]}; do command -v \"\$tool\" >/dev/null 2>&1 || { echo \"ERROR: missing router command: \$tool\" >&2; exit 1; }; done;" + command+=" [ -d /www/luci-static/resources ] && [ -x /etc/init.d/rpcd ] || { echo 'ERROR: LuCI or rpcd is missing' >&2; exit 1; }" + fi + remote "$command" +} + +copy_files() { + local i src_abs dst policy state command='set -e;' + step "Copy: ${#MAP_SRC[@]} mapped files -> router" + for dst in "${MAP_DST[@]}"; do + command+=" mkdir -p $(remote_quote "${dst%/*}/");" + done + remote "$command" + for ((i=0; i<${#MAP_SRC[@]}; i++)); do + src_abs="$SCRIPT_DIR/${MAP_SRC[$i]}" + dst="${MAP_DST[$i]}" + policy="${MAP_POLICY[$i]}" + if [[ "$policy" == keep-if-exists ]]; then + state="$(remote "if [ -f $(remote_quote "$dst") ] && [ ! -L $(remote_quote "$dst") ]; then printf exists; elif [ -e $(remote_quote "$dst") ] || [ -L $(remote_quote "$dst") ]; then echo 'ERROR: protected path is not a regular file' >&2; exit 1; else printf missing; fi")" + case "$state" in + exists) log "KEEP_EXISTS ${MAP_SRC[$i]} -> $dst"; continue ;; + missing) log "COPY_MISSING ${MAP_SRC[$i]} -> $dst" ;; + *) die "Unexpected response when checking protected file: $dst" ;; + esac + else + log "COPY ${MAP_SRC[$i]} -> $dst" + fi + router put-files -- "$src_abs" "$dst" + done +} + +symbolic_mode() { + local value="$((8#$1))" symbols=rwxrwxrwx result='' bit index character + for ((bit=8; bit>=0; bit--)); do + index=$((8 - bit)) + if (( value & (1 << bit) )); then character="${symbols:$index:1}"; else character=-; fi + case "$bit" in + 6) if (( value & 04000 )); then if [[ "$character" == x ]]; then character=s; else character=S; fi; fi ;; + 3) if (( value & 02000 )); then if [[ "$character" == x ]]; then character=s; else character=S; fi; fi ;; + 0) if (( value & 01000 )); then if [[ "$character" == x ]]; then character=t; else character=T; fi; fi ;; + esac + result+="$character" + done + printf '%s' "$result" +} + +set_perms() { + step "Permissions: apply and verify mapped modes" + local i dst mode expected command='set -e;' + for ((i=0; i<${#MAP_DST[@]}; i++)); do + dst="${MAP_DST[$i]}" + mode="$(printf '%o' "$((8#${MAP_MODE[$i]}))")" + expected="$(symbolic_mode "${MAP_MODE[$i]}")" + command+=" chmod $mode $(remote_quote "$dst");" + command+=" [ \"\$(ls -ld $(remote_quote "$dst") | awk '{print substr(\$1,2,9)}')\" = '$expected' ] || { echo $(remote_quote "ERROR: permission verification failed: $dst") >&2; exit 1; };" + done + remote "$command" +} + +run_post_sync() { + step "Post: running post-deploy commands" + local cmd command='set -e;' + for cmd in "${POST_SYNC_COMMANDS[@]}"; do + log "POST $cmd" + command+=" $cmd;" + done + remote "$command" +} + +clean_target_files() { + step "Clean: remove mapped overwrite files" + local i dst command='set -e;' + for ((i=0; i<${#MAP_DST[@]}; i++)); do + dst="${MAP_DST[$i]}" + if [[ "${MAP_POLICY[$i]}" == keep-if-exists ]]; then log "KEEP_CLEAN_SKIP $dst"; continue; fi + log "REMOVE $dst" + command+=" rm -f -- $(remote_quote "$dst");" + done + remote "$command" +} + +main() { + trap cleanup EXIT + trap 'exit 130' INT + trap 'exit 143' TERM + local mode_seen=0 + while [[ $# -gt 0 ]]; do + case "$1" in + -h|--help) usage; return 0 ;; + --interactive) INTERACTIVE=1 ;; + deploy|clean) + [[ "$mode_seen" == 0 ]] || die "Specify only one mode: deploy or clean" + RUN_MODE="$1"; mode_seen=1 + ;; + *) die "Unknown argument: $1. Use Router SSH for commands, scripts and transfers; use --help for deployment usage." ;; + esac + shift + done + [[ -f "$ROUTER_SSH" ]] || die "Router SSH tooling is missing: $ROUTER_SSH" + [[ "$INTERACTIVE" == 0 ]] || ROUTER_OPTIONS+=(--interactive) + load_mapping + if [[ "$RUN_MODE" == deploy ]]; then require_cmd git; warn_git_exec_bits; fi + check_router + MUTATION_STARTED=1 + if [[ "$RUN_MODE" == clean ]]; then + clean_target_files + log 'DONE: clean completed successfully' + return 0 + fi + copy_files + set_perms + run_post_sync + log 'DONE: deploy completed successfully' +} + +main "$@" diff --git a/luci-app-tailscale-ng/.dev/deploy-files/mapping.tsv b/luci-app-tailscale-ng/.dev/deploy-files/mapping.tsv new file mode 100644 index 000000000..916ac2f05 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/deploy-files/mapping.tsv @@ -0,0 +1,16 @@ +# local_path_from_deploy_dirremote_absolute_pathmodepolicy +# +# Formatting: keep columns left-aligned — space-pad each to its widest value, then one tab (loader trims). Re-align all rows after editing. +# +# Policies: +# - overwrite: always copy local file over remote file +# - keep-if-exists: copy only when remote file does not exist + +../../htdocs/luci-static/resources/view/tailscale-ng/index.js /www/luci-static/resources/view/tailscale-ng/index.js 644 overwrite +../../root/usr/share/luci/menu.d/luci-app-tailscale-ng.json /usr/share/luci/menu.d/luci-app-tailscale-ng.json 644 overwrite +../../root/usr/share/rpcd/acl.d/luci-app-tailscale-ng.json /usr/share/rpcd/acl.d/luci-app-tailscale-ng.json 644 overwrite +../../root/usr/libexec/luci-app-tailscale-ng-state /usr/libexec/luci-app-tailscale-ng-state 755 overwrite +../../root/etc/init.d/luci-app-tailscale-ng /etc/init.d/luci-app-tailscale-ng 755 overwrite +../../root/etc/hotplug.d/iface/40-luci-app-tailscale-ng /etc/hotplug.d/iface/40-luci-app-tailscale-ng 755 overwrite +../../root/etc/uci-defaults/40_luci-app-tailscale-ng /etc/uci-defaults/40_luci-app-tailscale-ng 755 overwrite +../../root/etc/config/luci-app-tailscale-ng /etc/config/luci-app-tailscale-ng 644 keep-if-exists diff --git a/luci-app-tailscale-ng/.dev/router-ssh/README.md b/luci-app-tailscale-ng/.dev/router-ssh/README.md new file mode 100644 index 000000000..988722848 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/router-ssh/README.md @@ -0,0 +1,68 @@ +# Router SSH Tooling + +The [router-ssh.sh](router-ssh.sh) script provides general-purpose SSH access for running commands and scripts, transferring files and working in an open remote shell. For application updates on a test router, use [Deploy Files](../deploy-files/README.md), which handles file deployment together with the application's required post-deploy steps. + +Run the commands below from the repository root in Bash (Git Bash on Windows). + +## Requirements + +- Bash and an OpenSSH client (`ssh`). File transfers also need `scp`; key generation needs `ssh-keygen`. +- A reachable router with SSH access. Application packages and mapping files are not required. + +## Setup + +Create a local router config: + +```bash +cp .dev/router-ssh/target.env.example .dev/router-ssh/target.env +``` + +Set `ROUTER_HOST`, `ROUTER_USER` and `ROUTER_PORT`. The template defaults to `root` on port `22`. + +SSH tries the configured key, project key and normal SSH identities or agent during the actual operation. No separate network probe is performed. If authentication is rejected, the script preserves an existing key or creates a project key and prints its public part with installation instructions. Add it under **LuCI → System → Administration → SSH-Keys**, then repeat the operation. + +Alternatively, add `--interactive` in your own terminal to install the public key using the router password and continue. Ordinary runs never prompt for passwords. Connection errors and failures after authentication do not cause automatic retries. + +## Usage + +### Individual Operations + +```bash +bash .dev/router-ssh/router-ssh.sh exec-command 'logread -l 20' +bash .dev/router-ssh/router-ssh.sh exec-command < diagnostic.sh +bash .dev/router-ssh/router-ssh.sh put-files ./helper /tmp/helper +bash .dev/router-ssh/router-ssh.sh get-files /tmp/debug.log ./debug.log +``` + +Remote file paths must be absolute. Transfers accept multiple sources when the destination is a directory; add `--recursive` to copy directories. Individual commands preserve remote stdout, stderr and the exit status. Local connection messages go to stderr. + +### Open Session + +For multiple commands, prefer `open-session`: it keeps one SSH connection open without reauthenticating for each command. + +```bash +bash .dev/router-ssh/router-ssh.sh open-session +``` + +In a terminal, this opens the router's normal interactive shell. Enter commands as needed and close it with `exit` or Ctrl+D. The working directory and variables persist within the session. Ctrl+C can interrupt a running remote command without closing the shell. + +With redirected streams, the same mode runs `sh -s` without a prompt or terminal formatting. An agent can keep stdin open, send commands incrementally and read their output without reconnecting. Exit or close stdin to end the session. The process returns the shell's final exit status; individual command statuses can be read through `$?`. + +File transfers remain independent `put-files` and `get-files` calls. They do not reuse the open shell. A disconnected session is not automatically reopened and its commands are not replayed. + +## Verification + +Run `exec-command 'uname -n'` to check the target. In an open session, verify the working directory with `pwd` and the last command's status with `echo $?`. A local setup error returns `1`, required user action returns `2`, and SSH may return `255` for a connection error or remote exit `255`. + +## Configuration + +- `SSH_KEY_PATH` — Optional key to include first; relative paths start at the repository root. On Windows, both `D:/...` and `D:\...` paths are accepted. An explicitly configured missing file is an error. +- `.ssh/id_ed25519` — Project key next to the script, used if present. + +The script sets `ServerAliveInterval=15` and `ServerAliveCountMax=3` by default to detect unresponsive SSH connections. + +Normal SSH configuration and agent access remain available. New host keys are accepted automatically; changed host keys stop the connection. Local `target.env` and `.ssh/` are ignored by the project's root `.gitignore`. + +## Cleanup + +Temporary key copies and SSH diagnostics are removed when the operation or session ends. Files transferred to the router remain until explicitly removed. diff --git a/luci-app-tailscale-ng/.dev/router-ssh/router-ssh.sh b/luci-app-tailscale-ng/.dev/router-ssh/router-ssh.sh new file mode 100644 index 000000000..10c92c7a7 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/router-ssh/router-ssh.sh @@ -0,0 +1,424 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +APP_ROOT="$(cd -- "$SCRIPT_DIR/../.." && pwd)" +TARGET_ENV_FILE="$SCRIPT_DIR/target.env" +DEFAULT_PROJECT_KEY="$SCRIPT_DIR/.ssh/id_ed25519" +SSH_KEY_COMMENT="luci-app-tailscale-ssh" +EFFECTIVE_KEY_PATH="" +AUTH_ERROR_FILE="" +AUTH_METHOD="" +SELECTED_KEY="" +PUBLIC_KEY="" +INTERACTIVE=0 +OPERATION="" +EXEC_COMMAND="" +EXEC_STDIN=0 +RECURSIVE=0 +OP_ARGS=() +SESSION_DIR="" +CLIENT_LOG="" +IDENTITY_OPTS=() +IDENTITY_ORIGINALS=() +IDENTITY_INDEX=0 + +usage() { + cat <<'EOF' +Usage: + router-ssh.sh [--interactive] exec-command [--] 'command on the router' + router-ssh.sh [--interactive] exec-command < script.sh + router-ssh.sh [--interactive] put-files [-r|--recursive] [--] LOCAL... REMOTE + router-ssh.sh [--interactive] get-files [-r|--recursive] [--] REMOTE... LOCAL + router-ssh.sh [--interactive] open-session + +Read target.env next to this script. Remote file paths must be absolute. +Multiple sources require a destination directory. -r includes directories. +SSH tries the configured identities during the actual operation. +There is no preliminary network probe, and operations are never retried after authentication. +open-session keeps one remote shell until exit or EOF. It uses a terminal when +stdin and stdout are terminals; otherwise commands can be streamed over stdin. +Ordinary runs never prompt for passwords; --interactive requires your terminal. +Exit codes: 1 = local error, 2 = user action required. Commands and sessions +preserve the remote status (255 also indicates an SSH failure); transfers return SCP status. +EOF +} + +log() { printf '%s\n' "$*" >&2; } +step() { printf '[STEP] %s\n' "$*" >&2; } +die() { printf 'ERROR: %s\n' "$*" >&2; exit 1; } +require_cmd() { command -v "$1" >/dev/null 2>&1 || die "Missing required command: $1"; } +trim() { + local s="$1" + s="${s#"${s%%[![:space:]]*}"}" + s="${s%"${s##*[![:space:]]}"}" + printf '%s' "$s" +} +is_tty() { [[ -t 0 && -t 1 ]]; } +remote_quote() { printf "'%s'" "${1//\'/\'\\\'\'}"; } +load_target_env() { + [[ -f "$TARGET_ENV_FILE" ]] || die "Target config is missing: $TARGET_ENV_FILE" + # shellcheck source=/dev/null + source "$TARGET_ENV_FILE" + + ROUTER_HOST="$(trim "${ROUTER_HOST:-}")" + ROUTER_USER="$(trim "${ROUTER_USER:-root}")" + ROUTER_PORT="$(trim "${ROUTER_PORT:-22}")" + SSH_KEY_PATH="$(trim "${SSH_KEY_PATH:-}")" + + [[ -n "$ROUTER_HOST" ]] || die "ROUTER_HOST is required in $TARGET_ENV_FILE" + [[ -n "$ROUTER_USER" ]] || die "ROUTER_USER is required in $TARGET_ENV_FILE" + [[ "$ROUTER_HOST" =~ ^[a-zA-Z0-9_:][a-zA-Z0-9_.:%-]*$ ]] || die "Invalid ROUTER_HOST: $ROUTER_HOST" + [[ "$ROUTER_USER" =~ ^[a-zA-Z0-9_][a-zA-Z0-9_.-]*$ ]] || die "Invalid ROUTER_USER: $ROUTER_USER" + [[ "$ROUTER_PORT" =~ ^[0-9]{1,5}$ ]] || die "Invalid ROUTER_PORT: $ROUTER_PORT" + (( 10#$ROUTER_PORT >= 1 && 10#$ROUTER_PORT <= 65535 )) || die "ROUTER_PORT must be between 1 and 65535" +} + +resolve_key_path() { + local_path "${SSH_KEY_PATH:-$DEFAULT_PROJECT_KEY}" "$APP_ROOT" +} + +prepare_runtime_key() { + local key_path="$1" target + IDENTITY_INDEX=$((IDENTITY_INDEX + 1)) + target="$SESSION_DIR/identity-$IDENTITY_INDEX" + cat "$key_path" > "$target" + chmod 600 "$target" + if [[ -f "${key_path}.pub" ]]; then printf '%s\n' "$(< "${key_path}.pub")" > "${target}.pub"; fi + if [[ -f "${key_path}-cert.pub" ]]; then printf '%s\n' "$(< "${key_path}-cert.pub")" > "${target}-cert.pub"; fi + EFFECTIVE_KEY_PATH="$target" + if command -v cygpath >/dev/null 2>&1; then EFFECTIVE_KEY_PATH="$(cygpath -w "$target")"; fi +} + +build_ssh_opts() { + SSH_OPTS=(-p "$ROUTER_PORT" "${CONNECTION_OPTS[@]}" -o BatchMode=yes -o PreferredAuthentications=publickey -o LogLevel=DEBUG1 "${IDENTITY_OPTS[@]}") + SCP_OPTS=(-O -P "$ROUTER_PORT" -p -S "$SESSION_DIR/ssh-client" "${CONNECTION_OPTS[@]}" -o BatchMode=yes -o PreferredAuthentications=publickey -o LogLevel=DEBUG1 "${IDENTITY_OPTS[@]}") +} + +ensure_public_key() { + local key_path="$1" public_file="${1}.pub" + require_cmd ssh-keygen + if [[ ! -f "$key_path" ]]; then + [[ "$key_path" == "$DEFAULT_PROJECT_KEY" ]] || die "Configured SSH key does not exist: $key_path" + # Key generation is the last resort, after every existing access method failed. + (umask 077; mkdir -p "$(dirname -- "$key_path")"; ssh-keygen -t ed25519 -N "" -f "$key_path" -C "$SSH_KEY_COMMENT" > /dev/null) + log "Generated project key: $key_path" + fi + prepare_runtime_key "$key_path" + if PUBLIC_KEY="$(ssh-keygen -y -P '' -f "$EFFECTIVE_KEY_PATH" 2> "$AUTH_ERROR_FILE")"; then + : + elif [[ "$INTERACTIVE" == 1 ]]; then + log "Unlock the existing SSH key in this terminal if prompted." + PUBLIC_KEY="$(ssh-keygen -y -f "$EFFECTIVE_KEY_PATH")" || die "Cannot read the existing SSH key: $key_path" + elif [[ -f "$public_file" ]] && ssh-keygen -lf "$public_file" > /dev/null 2>&1; then + PUBLIC_KEY="$(cat "$public_file")" + log "The existing key may need unlocking in ssh-agent before deployment can succeed." + else + cat "$AUTH_ERROR_FILE" >&2 + printf 'ACTION REQUIRED: cannot read the public part of the existing key. Unlock it in ssh-agent or use --interactive in your terminal. The requested operation has not started.\n' >&2 + exit 2 + fi + [[ "$(printf '%s\n' "$PUBLIC_KEY" | awk 'NF { n++ } END { print n+0 }')" == 1 ]] || die "Expected one public key: $public_file" + # Derive a missing .pub file instead of replacing an existing private key. + if [[ ! -f "$public_file" ]] || [[ "$(cat "$public_file")" != "$PUBLIC_KEY" ]]; then + (umask 077; printf '%s\n' "$PUBLIC_KEY" > "$public_file") + fi +} + +print_retry_command() { + printf ' bash %q' "$SCRIPT_DIR/router-ssh.sh" >&2 + [[ "${1:-}" != interactive ]] || printf ' --interactive' >&2 + printf ' %s' "$OPERATION" >&2 + [[ "$RECURSIVE" == 0 ]] || printf ' --recursive' >&2 + printf ' --' >&2 + if [[ "$EXEC_STDIN" == 1 ]]; then + printf ' < your-script.sh' >&2 + else + if [[ ${#OP_ARGS[@]} -gt 0 ]]; then printf ' %q' "${OP_ARGS[@]}" >&2; fi + fi + printf '\n' >&2 +} +print_access_help() { + local key_path="$1" + printf '\nACTION REQUIRED: SSH access to %s@%s:%s is not configured.\n' "$ROUTER_USER" "$ROUTER_HOST" "$ROUTER_PORT" >&2 + printf 'The requested operation has not started.\nPublic key file: %s.pub\n\n%s\n\n' "$key_path" "$PUBLIC_KEY" >&2 + printf 'Option 1: open LuCI -> System -> Administration -> SSH-Keys.\nPaste the public key shown above, click Add key, then repeat:\n' >&2 + print_retry_command + printf '\nOption 2: run in your own terminal and enter the router password when SSH asks:\n' >&2 + if [[ "$EXEC_STDIN" == 1 ]]; then + printf ' bash %q --interactive exec-command true\n' "$SCRIPT_DIR/router-ssh.sh" >&2 + printf 'Then repeat the original script invocation.\n' >&2 + else + print_retry_command interactive + fi +} + +install_key_interactively() { + local command + log "SSH access is not configured. Enter the router password in this terminal when SSH asks." + command="set -e; umask 077; mkdir -p /etc/dropbear; touch /etc/dropbear/authorized_keys; if grep -qxF $(remote_quote "$PUBLIC_KEY") /etc/dropbear/authorized_keys; then :; else result=\$?; [ \"\$result\" -eq 1 ] || exit \"\$result\"; printf '%s\\n' $(remote_quote "$PUBLIC_KEY") >> /etc/dropbear/authorized_keys; fi; chmod 700 /etc/dropbear; chmod 600 /etc/dropbear/authorized_keys" + # shellcheck disable=SC2029 + if ! LC_ALL=C ssh -p "$ROUTER_PORT" "${CONNECTION_OPTS[@]}" -o BatchMode=no -o PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no "$ROUTER_USER@$ROUTER_HOST" "$command"; then + die "Interactive SSH key installation failed. The requested operation has not started." + fi + log "Public key installed. Continuing the requested operation without a separate probe." +} + +run_remote_command() { + local command="$EXEC_COMMAND" status=0 + [[ "$EXEC_STDIN" == 0 ]] || command='sh -s' + step "Exec: running the remote command ($AUTH_METHOD)" + # Preserve user stdin and remote output without executing a preliminary probe. + # shellcheck disable=SC2029 + LC_ALL=C ssh -E "$CLIENT_LOG" "${SSH_OPTS[@]}" "$ROUTER_USER@$ROUTER_HOST" "$command" || status=$? + return "$status" +} + +run_open_session() { + local -a options=() + local i status=0 + # The common non-terminal setting belongs to individual commands and SCP. + # An actual shell session chooses its terminal mode from the caller's streams. + for ((i=0; i<${#SSH_OPTS[@]}; i++)); do + if [[ "${SSH_OPTS[$i]}" == -o && "${SSH_OPTS[$((i+1))]:-}" == RequestTTY=no ]]; then + i=$((i+1)) + continue + fi + options+=("${SSH_OPTS[$i]}") + done + if is_tty; then + step "Session: opening a terminal on $ROUTER_USER@$ROUTER_HOST; use exit or Ctrl+D to close" + LC_ALL=C ssh -E "$CLIENT_LOG" "${options[@]}" -tt "$ROUTER_USER@$ROUTER_HOST" || status=$? + else + step "Session: opening a command stream on $ROUTER_USER@$ROUTER_HOST; use exit or EOF to close" + LC_ALL=C ssh -E "$CLIENT_LOG" "${options[@]}" -T "$ROUTER_USER@$ROUTER_HOST" 'sh -s' || status=$? + fi + return "$status" +} + +local_path() { + local value="$1" base="${2:-$PWD}" + if command -v cygpath >/dev/null 2>&1; then value="$(cygpath -u "$value")"; fi + [[ "$value" == /* ]] || value="$base/$value" + printf '%s' "$value" +} + +remote_source_path() { + # Legacy SCP checks returned names against this path as a shell pattern. + # Backslash escapes protect both the remote shell and that filename check. + local value="$1" character result="" i + for ((i=0; i<${#value}; i++)); do + character="${value:i:1}" + case "$character" in + [a-zA-Z0-9_./-]) result+="$character" ;; + *) result+="\\$character" ;; + esac + done + printf '%s' "$result" +} + +transfer_files() { + local host="$ROUTER_HOST" destination source status=0 + local -a files=() options=() + [[ "$host" != *:* ]] || host="[$host]" + options=("${SCP_OPTS[@]}") + [[ "$RECURSIVE" == 0 ]] || options+=(-r) + destination="${OP_ARGS[${#OP_ARGS[@]}-1]}" + if [[ "$OPERATION" == put-files ]]; then + for source in "${OP_ARGS[@]:0:${#OP_ARGS[@]}-1}"; do files+=("$(local_path "$source")"); done + destination="$ROUTER_USER@$host:$(remote_quote "$destination")" + else + for source in "${OP_ARGS[@]:0:${#OP_ARGS[@]}-1}"; do files+=("$ROUTER_USER@$host:$(remote_source_path "$source")"); done + destination="$(local_path "$destination")" + fi + step "$OPERATION: transferring ${#files[@]} source(s) ($AUTH_METHOD)" + LC_ALL=C scp "${options[@]}" -- "${files[@]}" "$destination" || status=$? + return "$status" +} + +parse_args() { + if [[ "${1:-}" == -h || "${1:-}" == --help ]]; then usage; exit 0; fi + if [[ "${1:-}" == --interactive ]]; then INTERACTIVE=1; shift; fi + OPERATION="${1:-}" + [[ $# -gt 0 ]] || { usage >&2; exit 1; } + shift + case "$OPERATION" in exec-command|put-files|get-files|open-session) ;; *) die "Unknown command: $OPERATION. Use --help." ;; esac + while [[ $# -gt 0 ]]; do + case "$1" in + --interactive) INTERACTIVE=1; shift ;; + -r|--recursive) + [[ "$OPERATION" == put-files || "$OPERATION" == get-files ]] || die "--recursive only applies to file transfers" + RECURSIVE=1; shift + ;; + --) shift; break ;; + *) break ;; + esac + done + OP_ARGS=("$@") + if [[ "$OPERATION" == open-session ]]; then + [[ $# == 0 ]] || die "open-session accepts no command arguments; send commands through stdin" + elif [[ "$OPERATION" == exec-command ]]; then + [[ $# -le 1 ]] || die "exec-command accepts one quoted command, or a script on stdin." + if [[ $# == 0 ]]; then + EXEC_STDIN=1 + [[ ! -t 0 ]] || die "Provide a command, or redirect a script on stdin." + else + EXEC_COMMAND="$1" + [[ -n "$EXEC_COMMAND" ]] || die "The remote command must not be empty" + fi + else + [[ $# -ge 2 ]] || die "$OPERATION requires source(s) and a destination" + require_cmd scp + local source destination="${OP_ARGS[${#OP_ARGS[@]}-1]}" + for source in "${OP_ARGS[@]}"; do + [[ "$source" != *$'\n'* && "$source" != *$'\r'* ]] || die "Legacy SCP does not support filenames containing newlines" + done + if [[ "$OPERATION" == put-files ]]; then + [[ "$destination" == /* ]] || die "Remote destination must be an absolute path" + for source in "${OP_ARGS[@]:0:${#OP_ARGS[@]}-1}"; do + source="$(local_path "$source")" + if [[ -d "$source" ]]; then + [[ "$RECURSIVE" == 1 ]] || die "Directory upload requires --recursive: $source" + else + [[ -f "$source" ]] || die "Local source does not exist: $source" + fi + done + else + for source in "${OP_ARGS[@]:0:${#OP_ARGS[@]}-1}"; do [[ "$source" == /* ]] || die "Remote source must be an absolute path: $source"; done + fi + fi +} + +main() { + trap cleanup EXIT + trap 'exit 130' INT + trap 'exit 143' TERM + parse_args "$@" + if [[ "$INTERACTIVE" == 1 ]] && ! is_tty; then + printf 'ACTION REQUIRED: --interactive needs your own terminal. The requested operation has not started.\n' >&2 + exit 2 + fi + require_cmd ssh + load_target_env + init_direct_state + prepare_identities + local status=0 + run_operation || status=$? + [[ "$status" != 0 ]] || return 0 + if ! authentication_rejected; then report_failure "$status"; return "$status"; fi + + # Only a client-side authentication rejection proves the operation never ran. + ensure_public_key "$SELECTED_KEY" + if [[ "$INTERACTIVE" == 0 ]]; then print_access_help "$SELECTED_KEY"; exit 2; fi + install_key_interactively + prepare_identities + status=0 + run_operation || status=$? + [[ "$status" != 0 ]] || return 0 + if authentication_rejected; then print_access_help "$SELECTED_KEY"; exit 2; fi + report_failure "$status" + return "$status" +} + +init_direct_state() { + mkdir -p "$HOME/.ssh" + SESSION_DIR="$(mktemp -d "$HOME/.ssh/router-ssh.XXXXXX")" + CLIENT_LOG="$SESSION_DIR/client.log" + AUTH_ERROR_FILE="$SESSION_DIR/key-error.log" + export ROUTER_SSH_CLIENT_LOG="$CLIENT_LOG" + if [[ "$OPERATION" == put-files || "$OPERATION" == get-files ]]; then + ROUTER_SSH_REAL_CLIENT="$(command -v ssh)" + export ROUTER_SSH_REAL_CLIENT + # shellcheck disable=SC2016 # These variables belong to the generated wrapper. + printf '%s\n' '#!/usr/bin/env bash' 'set -euo pipefail' 'exec "$ROUTER_SSH_REAL_CLIENT" -E "$ROUTER_SSH_CLIENT_LOG" "$@"' > "$SESSION_DIR/ssh-client" + chmod 700 "$SESSION_DIR/ssh-client" + fi +} + +cleanup() { + if [[ -n "$SESSION_DIR" ]]; then + rm -f -- "$SESSION_DIR/"* + rmdir -- "$SESSION_DIR" + fi + return 0 +} + +add_identity() { + local candidate="$1" copy_key="${2:-0}" previous + [[ "$candidate" != \~/* ]] || candidate="$HOME/${candidate:2}" + if [[ "$candidate" == [a-zA-Z]:* ]] && command -v cygpath >/dev/null 2>&1; then candidate="$(cygpath -u "$candidate")"; fi + [[ -f "$candidate" ]] || return 0 + for previous in "${IDENTITY_ORIGINALS[@]}"; do [[ "$previous" != "$candidate" ]] || return 0; done + IDENTITY_ORIGINALS+=("$candidate") + EFFECTIVE_KEY_PATH="$candidate" + if [[ "$copy_key" == 1 ]]; then prepare_runtime_key "$candidate"; fi + IDENTITY_OPTS+=(-i "$EFFECTIVE_KEY_PATH") +} + +prepare_identities() { + local explicit="" line + IDENTITY_OPTS=() + IDENTITY_ORIGINALS=() + CONNECTION_OPTS=( + -o StrictHostKeyChecking=accept-new + -o ConnectTimeout=8 + -o ConnectionAttempts=1 + # Send SSH keepalives after 15s of silence; allow 3 unanswered requests. + -o ServerAliveInterval=15 + -o ServerAliveCountMax=3 + -o ControlMaster=no + -o ControlPath=none + -o ClearAllForwardings=yes + -o RequestTTY=no + ) + if [[ -n "$SSH_KEY_PATH" ]]; then + explicit="$(resolve_key_path)" + [[ -f "$explicit" ]] || die "SSH_KEY_PATH does not point to a file: $explicit. Correct the config; no key was generated." + add_identity "$explicit" 1 + fi + add_identity "$DEFAULT_PROJECT_KEY" 1 + # -G evaluates local SSH configuration without making a network connection. + # Preserve default identity files which adding an explicit -i would replace. + if ! LC_ALL=C ssh -G -p "$ROUTER_PORT" "${CONNECTION_OPTS[@]}" "$ROUTER_USER@$ROUTER_HOST" > "$SESSION_DIR/effective-config" 2> "$AUTH_ERROR_FILE"; then + cat "$AUTH_ERROR_FILE" >&2 + die "Cannot evaluate local SSH configuration" + fi + while IFS= read -r line; do + case "$line" in identityfile\ *) add_identity "${line#identityfile }" ;; esac + done < "$SESSION_DIR/effective-config" + SELECTED_KEY="${explicit:-$DEFAULT_PROJECT_KEY}" + AUTH_METHOD="SSH identities and agent" + build_ssh_opts +} + +run_operation() { + : > "$CLIENT_LOG" + case "$OPERATION" in + exec-command) run_remote_command ;; + open-session) run_open_session ;; + put-files|get-files) transfer_files ;; + esac +} + +authentication_completed() { + grep -Eq 'Authenticated to |Authentication succeeded \(' "$CLIENT_LOG" +} + +authentication_rejected() { + ! authentication_completed && grep -Eq 'Permission denied|Authentication failed|No more authentication methods' "$CLIENT_LOG" +} + +report_failure() { + local status="$1" + if ! authentication_completed || [[ "$status" == 255 ]]; then + grep -Ev '^(debug[123]: |Authenticated to )' "$CLIENT_LOG" >&2 || true + fi + if [[ "$status" == 255 ]]; then + log "ERROR: SSH returned 255. The operation may have started; it was not retried." + elif [[ "$OPERATION" == put-files || "$OPERATION" == get-files ]]; then + log "ERROR: transfer failed; partial destination files may exist. It was not retried." + fi + return 0 +} + +main "$@" diff --git a/luci-app-tailscale-ng/.dev/router-ssh/target.env.example b/luci-app-tailscale-ng/.dev/router-ssh/target.env.example new file mode 100644 index 000000000..6a99ceff9 --- /dev/null +++ b/luci-app-tailscale-ng/.dev/router-ssh/target.env.example @@ -0,0 +1,7 @@ +ROUTER_HOST=192.168.1.1 +ROUTER_USER=root +ROUTER_PORT=22 +# Optional key to try first, absolute or relative to the repository root. +# Then try the existing project key and normal SSH configuration/agent. +# SSH_KEY_PATH=.dev/router-ssh/.ssh/id_ed25519 +# Windows example: SSH_KEY_PATH='D:/SSH Keys/router' diff --git a/luci-app-tailscale-ng/.gitignore b/luci-app-tailscale-ng/.gitignore index 919576b5c..510223ea5 100644 --- a/luci-app-tailscale-ng/.gitignore +++ b/luci-app-tailscale-ng/.gitignore @@ -1,4 +1,10 @@ -.deploy/target.env -.deploy/.ssh/ -.private -/artifacts/ +# Development tooling +/.dev/build-packages/artifacts/ +/.dev/capture-screenshots/node_modules/ +/.dev/capture-screenshots/report.json +/.dev/capture-screenshots/*-debug.log* +/.dev/**/target.env +/.dev/**/.ssh/ + +# Local files +/.private diff --git a/luci-app-tailscale-ng/Makefile b/luci-app-tailscale-ng/Makefile index 0670ea5f0..69512538b 100644 --- a/luci-app-tailscale-ng/Makefile +++ b/luci-app-tailscale-ng/Makefile @@ -6,14 +6,19 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI for Tailscale (NG) +LUCI_DESCRIPTION:=LuCI web interface for managing Tailscale on OpenWrt routers LUCI_DEPENDS:=+tailscale LUCI_PKGARCH:=all +LUCI_MAINTAINER:=vad-b -PKG_VERSION:=0.1.2 - -# match the i18n pkg version to the main pkg version -PKG_RELEASE:=4 +PKG_VERSION:=0.1.3 +PKG_RELEASE:=5 PKG_PO_VERSION:=$(PKG_VERSION)-r$(PKG_RELEASE) +PKG_LICENSE:=GPL-3.0-only + +define Build/Prepare/luci-app-tailscale-ng + $(SED) 's/@APP_VERSION@/$(PKG_VERSION)/g' $(PKG_BUILD_DIR)/htdocs/luci-static/resources/view/tailscale-ng/index.js +endef include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-tailscale-ng/README.md b/luci-app-tailscale-ng/README.md index 45f1a9753..8cac8f768 100644 --- a/luci-app-tailscale-ng/README.md +++ b/luci-app-tailscale-ng/README.md @@ -67,6 +67,7 @@ This means you can install and remove the package at any time without breaking y - Configure listen port, state file path, firewall mode - Login status with one-click authentication link - Configure control server URL and pre-authentication keys +- Download and restore the Tailscale authentication state file - Accept DNS / Accept subnet routes - Advertise as exit node or select a remote exit node (with auto-detection of exit nodes) - Advertise local subnets (with auto-detection of LAN/WAN networks) @@ -80,8 +81,7 @@ This means you can install and remove the package at any time without breaking y - Auto-create network interfaces and firewall zones/rules for Tailscale - Import existing Tailscale settings on first install (read current running parameters and populate the config) -- Backup and restore of the Tailscale state file -- Update Tailscale directly from the web UI (both standard and size-optimized builds for memory-constrained devices) +- Update Tailscale service directly from the web UI (both standard and size-optimized builds for memory-constrained devices) ## Manual Installation @@ -98,12 +98,17 @@ opkg install /tmp/luci-app-tailscale-ng_*.ipk Download the latest `.apk` package from [Releases](https://github.com/vad-b/luci-app-tailscale-ng/releases), upload it to the router's `/tmp` directory, then: ```shell -apk add --allow-untrusted --upgrade /tmp/luci-app-tailscale-ng_*.apk +apk add --allow-untrusted --upgrade /tmp/luci-app-tailscale-ng-*.apk ``` Simplified Chinese translation is also available as a separate `luci-i18n-tailscale-ng-zh-cn` package in both `.apk` and `.ipk` formats in [Releases](https://github.com/vad-b/luci-app-tailscale-ng/releases). -For local development builds and testing, see [Local package builds](docs/local-build.md). +## Development Tooling + +- [Router SSH Tooling](.dev/router-ssh/README.md) — Configure router access, run commands, transfer files, and work in an open SSH session. +- [Deploy Files](.dev/deploy-files/README.md) — Push working-tree files to the router for testing without building a package. +- [Build Packages](.dev/build-packages/README.md) — Build `.apk` and `.ipk` packages locally using the same script as CI. +- [Capture Screenshots](.dev/capture-screenshots/README.md) — Capture LuCI pages with a consistent width and synthetic data. ## Credits diff --git a/luci-app-tailscale-ng/docs/images/tailscale-ng-auth.png b/luci-app-tailscale-ng/docs/images/tailscale-ng-auth.png index cbc95bf7066617947d8b8eb7ddac6c30fb65240d..83e28009677fb734d94f4ae74a24278f6b2bb8cc 100644 GIT binary patch literal 70180 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

>&0MRGJyj*|s6@Muz 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 literal 100877 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

lB3Dzd%tee4#yN?N*hA>4%{eUQaE)@ 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 A8~^|S literal 149679 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 diff --git a/luci-app-tailscale-ng/docs/images/tailscale-ng-status.png b/luci-app-tailscale-ng/docs/images/tailscale-ng-status.png index 72d31d25d08114ce615e06af2149f656f580d2e7..0fff3217b09395bbc06622b384f549a041e925bd 100644 GIT binary patch literal 119492 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

0vlBk2C^ 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

YphC1ZY;N$tUvr) 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 z

vL|7;_}@(mhFT_%lucSj9-(zCVAq8y4mw&#DPwSYMzKQQA>6KLw&$Dr?2U96i%P)mW-a+!m(38Vslr6@5!=Vm#|EU$)@hH(;Ie^W=5 zRs(}Lg!tOy#}e;FeS&}l@xH`@vcW2I7`^lphr)R5Qk^I2ksU$_et7ZqKb?8mS#k>2 zb#iB-uL(3KYwo;u;BX4}ZxxkIxg=GO!huMZqe@lsY>4b)hi~rW?GPNyT`YbhcEzH_ z?oeOK+r+#%z4R*P{5IsR7ya+@=N}`XtX~dE4j~&YSg6oZ-YkbtGK+UDEIhR|Dn#r{ zN8uALX)7C6=bX59EpM1m2RZDu;UNB>C$*UW-zBxIq5pYH!M&R=pLpz=q!=cuo3{1k z7Tvdjo_PlB{QR;(12^>SgNc=W%KdBc!RsiKm+@!aM{uP@*TEKEku>B`99sYX$!IB? zMD@Uu_@^|ocq5p3CH5$%@`d)8bs^Q&kHu(y(ZGg;01^9wP%jPse-o|x-{CNQ*!;3* zeXeFZSMg4&<%#Gp`N>B$qtqtkNuDXryTPMfAJ&;q(uq(qz$wuqg5UMp9E&>= zaFCJ0Zf|szm%dn@`)auUEs^5%lxgOp>xkLN5R`{^{mv>o_cl;xz^GB2kcug3t`de50D_qf$Yr3m6E3e zCLz9M7$ROZuDt556gl#n!msT-;0R;AF*^3J(ikO2h#KH{D^SAoxp?WA=d+0R#e_h9 zukS~>g>;R~0!9ep`#hfvlg&6~gFYw_8}luu?|HjDC)NKvRSC6e5r4D9_lX_kl4v*9 z8q#82wzY?#$E#K}+O@p3LNBV?S#cZ6lzPK&n(y%laloCAw=A0DZI)tb{9OfJNyq49 zMB`gERPp%2Ry$=Z%Nuw6-mwoCEmXJ?C-gGKG|2x*xR2ceUsdIPrEZPWC3fD2xTT31 z|2PE&h1q&|b(^7&$1aFrbwI>GNRhf*^c4`Gnjm4`F3|^^(T9m-#^A z&m_GB0F8SM%`7$@qbBuv=t*8bvCTM7#X z#J?3REgAQelDz++V99@gK>XLDRPJA21+(`sXoj#`mQXPBe`=^{;LA!{9iPiArdZBT z9bUpWi)*JuZrD#92NbNLJ1RCsqgqW+*Rlx$GQOJaz&Q z_+K43cz3fh`jTCoH!!Tm=@%MO{C7Va!XXoa4mB9|*nGMF)Y7}5g+=q^k!Z0{A5lK7*s5W0(z z@cmp8P2Lv_&Y>f<{vcL2=*YKj&c9q*;JgMxIG(@qwt;KP`?XgT5a&WN(1j{~A3ovz zNa*)m5Q;dEaXgwKVPV9NA3rvF8<+O`?!Mpo&;Q&!A34ch<_7l0?XPB{DBdPCo!G85 z-9|lpOK#6pxqclDerZ@JA!fb{z~I{p?uUMw?-qop!5p_I?7a_^aU|MwDjFIWN44m5 z63{m|SQZR1`RMx(-`Wd8l;fore|{8OnIA1a}Srq&*Xqo%i4ga_7UD|NoH z!DRgLO~rNQW>=%D#TSJTfBm>m89i#G0AFrg1Ar>06&~#Yj43eT#aPn6UTqc<;Gwdt zm5+dDwOmKn{JZ+W`66QA0qs>Eq&1;?fS6n5AF<{~<7#FEW7a1IyKf*t@7=Wj)c()i zdcfiBdeOQw&x0O;em;!9=Y0tVo+>sQ#dHB$#UDZ!DEG&&djvRUS%0FS0GaXMQ-d4r zE0W@ENX$6%KtslVx4G}7>)^RZ04&#lCM7Vp>8}C$&qgq#JM#f>b+N>oZht=g>wCVy zt%dkJ1@7x#H3r-TW6~q$Idh;>oHCaY@%-;?{h0e;0_?2K{qGUv&k3 zSONTQ@;};Y{#T%Ms@2YgzwgZGt=rFrZOjN9Zd{6xRr6>6Q)06k^c&4k@8`*x<8&ciG&T5^MBX_S-b&#{a1R}-=(*KJwC=P`Txl{_*u3l6nOFh zs1L6`yr+W@`8#j;M~hYD1u9N)_n@+YNLN=Ep?4W{A`cR9WnwhX7wD#Jq{sM#yQiG} zsb6EHKvZ#I!I^pFK;ZQ(S?9$*3<^7E4VU&^1Dvky-G`%$IqrNFJ6dVX(t2dWVn=(Z zGOYi$aN{T7hqT9~m$*{coUgh+$sc>V<*hkVa$ht`{8jqDtnt=>H1nDDg654!Q^tq)0H$!=&59gWKj5Z=4<0-w*IyQ@a5&oo$-&gS<(}nj+ zA9e4=!X?)6=DUUwPDIvxqpkp4EWD_|02^}A+0+L34xjuW8mK)Yt0&th3Xg_sy@Qs*e~PkoA?|U)BhRHCDpu~*b!$Fz zF`Af$dJK#bw8igoFmm;H@F7=Vpy3K+Q&;4AjE-=7 zjk2zEBNDryIB?Y<@xVEKh7v`05VPnkQ9Jt}HBxJ+l8BH_pJ|kJtFE7QJBqOt^Uc6G z*2fJLwLV@JwLW6zN;frfeOt!shvrl|F-cI4)HA5oqPH`xy!au&9RDAk3iK-DBSjclKT{ zS9_zp+aBIa$K&m$VgA<5HG-srQfsrkYu=u3Ma)x4bv&0zYpmf&@|vqb4`KDUDC&_9 zxB3r^L_^1(i=dF+3c6hR9mClN!lnl!^y5KPXlX34rRIA-L{i)hKQ#B$UD%A>Duhl7 zUeR`}PAExwK(D`ISaYL&50gSeQ8vJPKi$rzH9-m^-|gg6FNpgUjJq45!I8VoB~;qT zu!T^-(bi4C2&-R7s}iAQ!(GeQuhTqAl`is&k$EjDvxDPm{>3zJurdU9vkoW+dutjV zc*mP3fW>pUNSPAz#9})SrjE<^KE-_?eE%x&6+c$757z~h9l{gYWoh3H2XyuucY(K$$hi&<^8hzuNO$X z*I_<&o0Z7&Dj~@0}FB;PQ*Cfh4}M|kBU;X20laPW*z=Uvsz zcF-)TGqSF9*c0BdxK)lDr!2nJ8*RGMb}w}3^Qk+3$!V2PiNaEjeD6wnQB>O&Nsv~6 zZ*;HGgl^3viDK{YRW>@gh_+bwy@ne0`kD8`q2qD4#;u7?Kt&_ZU4=$S6ch)CZprO1 zjnZX-<%kLN+7JS=)9T{GgK*YB&Jd(S~!&IJfTTW=3x4r4s7!%yM$izBZNzzxUAdsaU|Xo7;doWx(Yqi8$6yL@^yl z7L@;}qawuC!*=Jbb5vTAtCgg#8TFcM5022A#BvP!>_U6-fDN3ur%4V`mxdQ5th>p* z6gLXeL^lO?^*S-nTRr4HeBScVon1J-D_F|@#RX_&qZHoo=&Fox&}bX$e2YggF`0Ix zt#%n(@=eT7ZXw`c!l%yK44X?hZq-M(@&e|1A#ZXbvf8}#T#Y;#HC|+}fw_Noe+hb! znunRdMs+>feBf8V575ARKZHg6(BCwO>YR1cM)wdBKg^FJ`+{_{=s{M`h1Kd}y4Lfy z$>p}`AH3pV8eY3|?_V*Rsut30#9^=2Wq+YYv!g7vY) zBg`oW>xuiM_0`JYR_xBqwa!x9-AwtKi&h|;V84xOwnC;L+{fv9I_a)vt;#z0y!ynH zvw5f!afCV^enPErj`G3azH~+&f(+N>a}*C7>qK?G!di=&H95PU3bXQ({;>jk6Hb2F z#+5?TJ^IZ6mj_0_D=-t4Sfp<#j>Cx446SX~0m=Wv)>VK-xpiH-B?YBX0SN&C>2MGb zBoyf`38fp69FUf7r33`&ZX^UG9YPxE?gr`q44C)-9`EBbmvMskJ!hZ2*Is)qb;tL@ z+l?x-!*xIW1^be62PcnSHNU!cR6Kv)<$h*&_XkOpLG8(;qq{=wflAUx55yxhw>{r& zawD&9XB3`zL_9?iOB80e9W$&~si~}Wh2OC5oG7}PTt^ggTN-o+V*bTQ&UL$Adz0U+ zlg|+ki@BSkqPS~mhpD(3iU^k*_yIcl38{Bt1ov5lRj$V>dQ> zc#4-IvcEK_z*kFQJ# z3|QSs3brnHnp&C&A3T2_ep8>%qmJ;0M%?L(MOzAuNFoypmck>SjZWXA+pi9%&hPM3 zp0C_L5j|WnK6|QqtuZ~V<*3bf`*vj=OI?1su44#}<<_8E zi^F!(;S}DSGt{>oQTgb^G01aLreMov1`)plM}b&%+kr5(?3@PNJ<1}U&>a7az4tHob8`FcK4l^C^9#F ztpr-$9a7A5w(x}pt6H{6~rRXJxf(Fm%&0o7O8jk= zIR0$JQAno_gY{W2T3PUSo&!Tw#DGu7CTZ@%49;{%m1E*k7-g?ZLW0q{obGD3?3EGq zGx^^h>Z`qN)MytJbOjq*@TA{V1V=(#4tGg=cXru=#suYZ;gv6a)}tAT(_!CPHI#SBcQ zv?h(Mfry8OhhK{+w@2%Cjy-d^&I^nA^yo#?UUz4BJUO|4tbLc)ICs$f1*#=}Qz5eQ zdm8m0n_uPX=-BQ@x$m@`Ke9n`e}?|;as2a$`^Qd?r*W;V}s6FS>3f^B*z!-Yf&GMf7~MH7e3u|S6(2m zcM^SdI4Dg>?CGmh>**y(sYPcpk>vj=7kQ1PW!qGxwXku)KuS|1x$B(%$DGd`|K`v< zw3td8d#qXc4z+OP2LYaN>Xo>A<7=>%?+^Qp8EcHA1uQ%}V@}|_(r52#QaJ2ai+Q56 zt{n%MW~{m#vd!H--)EyWNoEm=M#PP8j>F?EpGL3SI%wV-ysuWJ^@WTQ@%FKm{L0RB zKIy2H+d&f6Kz&l}`R%9k<0cdvc&7Ij_?~Jg_Z{n$c1iR=sZo$^_051-^8Je2yxBAT z#qW0va_S?OC#J(TSk7cm8hI96pB7t~4ZDbf()tt1N4|^l5F!uX6<85|4$lc_7lo>} zZSU-sVJc9SdB$T>!eVt4Sm?UHwkmt1It$tjcv~ENOcBZ2QU0hiWu3`(Op@w99xkt} zY~F&RJ&WHvqrj^+O#y4BQgoPl#DQ4wQFvRp^^BIJaz@k}^EY~EN&1<4Z{|J* zO!euTLYjonLPbr^$r?fB=f1lkYV4!x_Xg8YNXto#m2UD`7@AOl{q5m{ozQ1K zrjK^7OemGDQ=KnHyFBCd#}E5>r;tv{H=lY@C$8Yj^V;y2(ydR<)MlUP`A~?X=x+vM z^S;@>bsR%_CrE)>YgPG~?n66jQ zrRcxUKSRYSU}3m9q}!Q0(9qTt=e^Upai&n(Pyg8>SJG1jg-m#DS$R|h|D~VVSv-IF zt%E0Be&0xje05M?^wm-6qr$BA9}beA-@N%8(ddVGRLm{6M=cc1WT~mjcMpuGDS}P* zb7~;r{4WYq_K+3 zKi&iypfvP|KY<}L8Gstl3gkx@4?C9KOW|^(-!a+aTvlIijg|T6_(-^6i_5L-+bU}1 ze*WuZeaq@MK5pArsqGt{gk~ijHhB{-msjr*k(#qWX{&VuTPvf?+zah`q4*ll7iEiP zmg*mWe7C5x7iti@`1nyRefBr0F9UTco(M9Z?*!H$9ggz|W3KB+)aywv*4KrKM2j9d z+q1Qu?{AUrMMUq#B!x~m?bTr_`z-I0l1Pex0*+|Pi_9z6v#Y|{%*cXv^|)hu^!)U+ zTMgHInWo)#q!35y&GBluWz*RU<*{C}ohY3{_0ycC%=_c|0!2e#kj9MN%SGLGVn}BA z9b3_$3fWx+yglntIu@(=dmSXvCljW*;YnJ!iI#|Qlh#}1I*;{oKuOtnc-rx}nY@Z? zSC|o&G}1@k?0RJh*_hHsZqtcfHQ{nNWLtdQVfhr_;ne+;`_1DcdZ>N{Q7F*Q#(TP7n34GTtZ^rr%0NTo3cHImQnrW( z$4~r@<`x{YH6RP{^wkRv4xq&8HlL)`81!0@ebYXyPjJGIBJA7cJ>j+UI` z2DXh?>6hZUlY^ij@pv`@fc;11P1Hi2o16 z$k#IZE9rXyq3GTbJ(z2RLFRoDLzFB02K<3@ou?5o=klJ811uR^C#X+h<-@S5ot)kd z;5&YTGLLuGR;_>Dl={?{d*7bdD&a;3aZ!$g1Ep}P>R`9TwQB7>p?ny6!O9z*P!BI0 zp~?8TjT`cc6ORv1-G7vv%rKPI-|&{1yQ@)_v{92&Ry3(z@IeWi0M1t>%?)O72o#FDCGiV zjTdeQ<#oo|bH_P!kmlcTD`;~d2F}Snqb5|nh4kZ4bg=I9(em-epyYjA5S9!0QEJZ` z??)!p?z>B$cE0U@dV42L{?>0aRu--tF3bM)9)~HWs-vU(`5-;*htmT!(>ugnQb^Dw z@3QShPKl!40DC1eV~6;PZ6{S<^mD1RL!GGBjeI=^@t0PAspUdD!Jv}(d?zZ`4d_Rd zoARBhWs~BBs<)ApA+nZZ{*`Nb35psEdJ1IPmZOE`(W;tkWE#2hgkRtdqF*=*6u$nT z^bzTB;I;m*Hq8al&V38sk(kN(2Kqu!03`#(v%fG&2nkR|yNONj&jc7b2Hc20t-yZ2 zd8iwRZ)r)4aKaS;!JYqkF?b`7ySfeH5Tt)pRDN|ER&Rk{ZT~ANm$oI+e_?w#*xV1F z@LKlcgWN>Q`5)a1#M|JD$BPx6bF%z=M}W!y{tuc1R}1>gXn_3J5C1${N?)*#7+6{s zI`bdE`VySZ5rPs2w|aP^ZZ6zEuk3`u+E0%U)LK1E|Mwr=u>k}Zg&!ZIv#Vw;#mUu` ze_;W|T0^^t*mqugd!srXEoIQLv4wc!RG|H@Kin;3t*uTzmRQupwaZ4>a=dF}yNH43 zM>^-(Cu4QTj&wXcgKa+l$oOAknqW-UXNl%l=c={Ch!pg_3M(pFb;Y^!b(jBbc#uaS ztc{eQ;FoyhSG_=djWYp010VgrHb;OAb`Ox^XsY2Y8Lb`hKT<&OkEBt+ki&ytRaGT$ z^K+QAvHrO`Py@^Y%8MoB0raS`BhV)PUKC~&NF|q^Yc$#LCSm_KiMii9Pf~Xc!;1Fj z4O5kdzdN0I@bC5>1W6Cc<#&SyAKpH-o-Fv?JEwVvA*b@|ZbO6M+>4-l?@E46;RAK- zqCY6GE+u?*1#j}*yZEa0^EV-&eenxh@<0It`yS%kIYZ$WKcXqdkh^FE{aU+M;JVgV z1S{_a!Jn7ERX^}&!-35a$_FyG*7(X~dhlbw6kPjP!h=v1u5=?0SpXEd4_G0JN=m~Y zX0$D^2zw_KmlTI-knwn;X|u>{pAxXfn)uNchvs(6}?yB)+;zc z0V)%L7>!Fl|yH=Gaw9p;5vG_pA^$WQMWs&ob{@hjjR$-c=z^T zC{R}Ny6y+RuKS-YW(V)xpwgZKG263!8^$&bMfv%o><_lbSE5{@IB&8A?ng(HH%uat zeYe<%ILU6zs&zeR>9v1G6@v=(g%8ZF0GXgo1-_jxz77SqfGnGxMP>3bTqW>e*#pbr zLX1#DR=#YptXTL`83U1yXC>+RzrXrL%!BvB#j_NsH;0FDTGl_&yHeM%S}+SwhO5Pa zxqiH36Qzg9MRd#PwFDF2;}=_OTh!+^%XF<$D@ru`-zQn_J7wOlk>()+93#fJTW#?u z-#AHZnbM}@60`7tN>HLk8#)~l9Sc);50C|pMEGmO?)P`OjHCUJY*4!jHpfi}yJCcF zR>z*0VS?$1ge4Cd%*dXI{GmN~-v2wc{(cZj0mZ>mrOmKPFTnyD4_14e;R5`5WyUCJ zazBUG_my$|w;;;RU$Y(4YSL8g>eiu*)qAsh7L|4R_bPKKFZH%aT~&Qp=zjPZtD^92 z{;THsb6?YDpab!0>wuAVtua z(Rpxc2 zKq;PVxv1+sq+k+q;I~WpJw0u)YX~bP5LYU>p|~ag;|{G{#_?oT@x>}m$0}M_ zPWOT$ByXo%R?B!9@lwj~_m#SM(1W>YVgx_7IOn12|JgpE(@O`bmef@P`%{&K+u=WB zzckRjoAuU@bZx=Q^@HY}RK8IFqF6e%fOasN#`3DaLO3jBCj z+T$%e=mADB2ywUpk-vvQF1}#)Pn$Ab1-Ouo!efD;KSUJhSJ3vq448mz4EpJM(I5Zf zj~H+uEJ5)upC4(MM-hA+I+&N>h}j8WRjr}lQvzB!G-vYGm#UE8Gvd3LO3=~-27bmp40@}Stx`#FAlu1Y?bs}*Q$U_@E}%O0(l=T%kfHG9gPs43l-4ud^@2nKXS~OKBq(f5~HS^QKs~ecX?ey?N;ZB0_gqfzIQo zawndmLT?)-zv3=qh* zJ2#l~QcI%Un1OcCB7H2LP>3oyVDt$vOS${@prcM4ECiR*pYS}uoL4YI0!)EFXNc+p z8sj!%?V(+i$Zz&bn3GWmyBDhz(Mjxs=kmE)dp1}!kb zQu^{z%E0%xI}qg2rp`+A`;BXowW`_$RfMOEG~PA^*`p4R$DElyv=+HP))wE!=!SnHw z9iZ6ltfTRE+FJ9i?Y=!S(qr#$CoTYNLm z*p{QYa6s|5BM8kgJX<@pjdj4D3~g9y*Ex|%xAk=Nwsv%-LvH910<-=V8r5Ca<>WTL z`ClKIKPd%zDPgcR9u!CCDVm13Pd!6yhbq4Plm_49@~Xz(_9a-g%4YqbH+Wtv)$YI& zuq64pp&AUp7nd%iO>f1N5j}5@r=TWqTw2%l_>6V0ekqBwOp(`%*+}Pf{5~fOGzEzc zIhdyiQ$0iwXzlZj(Vmzrlhs!3CQRW=6eB-g1XIOe_&&GHUD5qCS{F7Za_*E_b6o{4 zt$$YAt4k6zaa(6zI6vNvw}`3w{aOWOx8IGMhV$%mX>#ueZ*f5ISCMv@%RfUuris%D zP~U*Y>bzM1;#9)fLgcvjXbT=Gj} zey9wbhB96Ds*b3{k6E8+Z$x`P^Yz;C3x3#eL`v-}!X)iAe632#l}BJ*@-WWJWNmrH z#0SxM%meI9kA2Yk41?vgVrr^|M$yRG9J3iH82T*7&RQ z0GSwB6fb7@^fguCs$5Zy zE>2l94TjxxAicjs`U6RszH37YwmXJ!Jyx+#rql6}Kv2-6M$6_dTO=2u2^4}^hPzaK z@V;Xi7@B2qG!PAB9Vi>~B7`P?njg42QrjDLa4T~xX~c;+KrgbC$nyE3f9W!1O^&Dd zJegmqgPj%XsT?rJ-~hwC1H?s=FsdU(RN8{{_Ki;rEn|lc^JoLlf%ipUS>pS2!9AfO zFUlL@1ezSh%nxGvv3d2X<;AST`~7rHJ11+)(&BupwtiIum*@FUiJ>8@PZ)R1@`+p% zQ7E`0=TL6PA2ItD7m2QImCsdvmshpYsS=ovYRrYL-{n9rc>|_$8q|ngsZqKJy9cSw z^RHO0VYKx+R@>{M9;GgtqXJ8UZ7?R%ey1n+OV@Dqfh)MXPT-UPMd&d}~5_O*ib zMQ1Qn+d$IFJJipVxTF^s`(!-{1$f-l6IfL5Iq-JRu!b&B<4Nz-@8}yd|1dU4XJ}B4 z5UWympg)l=g%V?kD$7bR49SDRz~%BQ?Td=x`{-ZhQh+H`vX{P_*%L7m*_u+K8?O$u z*^49X@KH=nX3w{BI*&XxG&DJ~%Q)A}G0|oU&aB3pTAR`q(MP@u4qoG`e$d}Pm|3j7 zt6qAnwy*QfMK+h(H7Ng2b^(%?Pz$8C(+Q_4i4TH=lF=S>DDR9}#8%K2NF8Gm9D`F! z`v6@dk_y9*AKp`^`x{bbM7^*#d5h%vklPESBwHh?Fyh$g;chiN!p)9VGgj77 zRFRvD%bkJ^Cu#iDW!>H6UmsH2#I=t!INchjB$f{^zaCEF@|1&oWOnCm;}lJ}5|??r z5EK$?&v?Sq!#0MOb+hdE$2xg8q&)Zfjf&Y2KrtP>A~S( zb&GnExyM$4ImB4FUTqDCT+z7JH7FRayw>&aEv3`>FqWz_=Z`r&Xp04Vrdg_3w=Peb zjhXn=!_82oYEAL@Wz`oViZ0ym<}GXwC(V!-mtWMddK){hvOjBU7R23kXQ>Rlwa<;R zJE%b(nwi|yT)&^7ikq+CCa9%Fv=&gD@vN6hr7KDy_>i<}#FUkXcktC$J!bJIwuwS2 zsxe9ZdjSbAo?+S4gz!*r*@?@c=E&6>RawZ`-G$^rqZdulp%|{ZEJtq}IEpR&Wf~AO zbGPN6{HXR~kx`kzJ+rxTH0_~g*23gqCh|bepih4v3@H`1R2(^@laGE$BHXF=dgX%t z`T}J54e3b2fvR4Nh!jthNf#6J`!B^&a7kgTkdZ3ZqfRJXbzvqwzO}o-_lWFh=2gsK zHq09`F-4v91_P=7@XMY-ylkr|)Mb}F&}lJE&2nVAPyAr;nW>hQ)~N3mA+Z7=r)Of% z0(Fls5$5|`YY^&AA~3;a4xz-dTgLo~E}Sa%PGYy5(vtBiMP7g@!%@|1s;WALYlFwu>&di9;9_2Mm(H<0$a2YVf+z2Oe4w6`843jAp zETn3E%{a#Cd*n|yD9CMoNy%Sg61sFKHp;zmt~?ls zZ~rYOF1IJ?LwGF^iy!b?tN8bI0}oV5p=KDWIh_yo{}dX3Wm~OiNCf;Gx&%-!>i?8E z@c-3K#c#C`0A<1YVe0-r!Qi5pF%|ci$zcSyX5cCh`v0eBcBA}|LfQgl5J3p;|6?T6 zIAh2u5Dvk`mWJfMJ$m+^PwxeF68I57BmuSe(f!62Ff0-c#5{padH>&^)Jle=7DjKC`|jG4#PUrQ!(s)hTLTxO+*U@M_kY%9o!D0nh}6BReZg zEG9t3Yq0rMvKG*V9DFZZg+zC~eD%|loTop2!%YCk2|-|i*NcFe4X+)-STfAnF=tf{ zIu?-4FfAHxhSBeCbe?rsB{6`n>TM4iG z5ht@i5yhIX0(?f(`YSxH1^_P}pq^vcHnSd!W0@OTq}9>2jByoZZ(aDLBsPxH6}^18 zQAiJ!!(yY_)Y$&}dfknOZ<;KOYvD!YgGNz4;d@tC9kU;S8M~3Vn?@S7KVd{@2~jfS zXDu)!245Ru5eZqD7@BDUas<-8a0?o|glA8G$|-}fQimNdvWkVDrjR5tYWm^TpeGsf zHbI)Tudm`@jG$UWB>SLWZnp8c6Y1ADIQYfg8ZLa05XF`solA&n)hG@*Uz@v{B*rdLPee!eL;iGZjMWJky4Wy+*E=WFVHzc z-TQxP7)f$?yz;TJ#qQM*d`M4kjvp~tZD`~S73)xs6$Hx#hzFD6I%Hh8w3=_SfdyJ! zTf-lG!#1Uiw@^@p2g`n5cV=HPqD3pE)n8q4Ztza|Z>ce-AY-m%zbMT0Ejk*Kj%4xN01xhuPegPrmCs9Uy`bB}Wg zP4k0|$x!xc{eGlY^*g!;6XBCiWI#ePnnHnoBH|LF`3sAc)GfuB&571+zg(V@aR>r` zAGqN0Yj}V`YPbg9oRS{g|H1SPnBia5e*Pm5W)3=H@T31?Y^Lz-#)b4%Pm+cVQTy-6 zav4PZ9)sr>HD7WGV9J^PxxqgpEcD6)@bndqu*--S9!_t|J9vkJApVcy!I>zG^kd?w1(UXw#3#kBs33zonO{_Drd@-%6kiGPR3SWA1B_YhkIrpaIL9${t>SQff}E_ z-jP<9ptTU|T$08Ufug2J`iZ3Mp7smDBANvzp)xOu9xFO(hm9!L5M#qHRj7EkftL)< zZOUP^{e&f;7HF0fF*5HZUr^Bp^(hV%7^`xYvorK`gm>t7mzI68ChTsk<_0UCF;~5&|gs& zj^tbOQ-N52Qs%Qr8RfjcgGe;OdUEQUnw{Kxb1L#>hH^zex`OoXKS=G@}M(`|*l`XYxi1jnI_mqWbF=i7OE)1K*06@%^3?=Ch{g zdE&tjo~a={M(){LtvBm4dVYe*0&oDBLTDCIa~mKOH;*xBtioUraoBW0i7%{>p>8v>WbBm&9~6V8FUrMC zVD3ynw9Ly-U~=doJ{to<1|`&6(M~*+b^)gK6qZ6vvt{uja#;)8Bz)3Nn7ucP!f7tj zK_>dXPPErA8NDqCqD(}4~?BXbNe zRBdPKIf8S1F3u-zHbnJ{1}l8vu`m)dKZg);2PY6z9f}QDLRWidBej-2oP$ekCGAa`c`Lbx2y*wU+@@5y2r`+-(Q2A5hK~YH*7|4QM7pY$7tnTN= zCiZ*E67FoXks0Y3>e{v^Sr}CfNpu&y^A)+PBTD0a`LbE$Pm-^mR@!zv;RSU>Kgv=e$Qe14PI)owy8KXeS_KnYho_viUA zfS{me5qA7K-bzQa6Rz(V%`Vy~)%pf=5XMdKtd!d4^KAyU5QO+WfP(r}-@AU@Q+tRI z+I1+O44YGBzz*5yLtjg9fTZIheB86ne$-AfW>O979xWxzwzy|k!LZxwAeNBr@3!P7 zM_kC=-ExQjc?z;5M$KW1XqqFY?eJRt%3dPsBMv?u%>x|h@^wxAPhCusu zLZ~0mLmwSg(TylW#?3k;N*xM*>Nc+{=75I#`E~qKcSGz;>ip-%n#Q4vIS6ZFrg`1S z#-_0iZ>Q6Rw8(5hnB?Xl-HN?j|amj=8t1OntW{-zXWkxvwR%PI-geqy zS-~O;73-s-pw>i^TDcCot!J}W?*8prtU>)Gv#Ak9sR`1V)t3KI@C;}ek6 zN+UeJy>9nTTp(>IuRFCIsR`fjOfpJE11Y6ML>YyHwZ!)0yZT2>v9OgY;T}^U7#2?d zY7~7oWyqmIiqdgiK#5!OH3G^55~TgIAipXGz~s8#a%Y6fs%P-)DuSQQeseT|D?*xD z-E37Ou0kHCE#fnQ1#!+n&ATK4naoG;pAQ3{aaY;-Dm;Uf#oEULav6cW&L2&eTvV^< z_rDOhXPTXP^lgUEUhG3=MnquoI1cMlVSQ6gu<(V$Sb+^v1onl~pCk-o zg95}*n~z%6=&U+$nc4#P#<|~VY>oiDzIMg>2(mmY zZ~2{wG2yTPx1;syonTicj!Ua;?wg1szh|o;NSW|jMoHf+X%EHD#I0rxRn3z23dlK! z7Ezx6r2%dB5|Av+elVs(FDp-f%!0o}fkGkaa18pJ(d!EuLj6M;2>GAf6pjtR`-Q4E zAP(@-4O&W5&;IYz#c&Ql@mJn8khvou{)z{`QePZ6$HM0ce*Z1#Dh=e{u~YEoG@rnm zOR{xcp)&`nf&A-p77XtOI%C~}Y*s!z_q65-pv3Gn_z01E%;oJ}|w8Sfo zbN>q*xTh3yM0JXWj{X6-8*Xbky_~s)fvvB z5!zw6Wi&v?TV)uN82WbkQ}0Uy5t!1e-a0OW1MT61m&!(WHb~VF=Eqzw)u~NnYU%{^ zmU>;K0+4%BuU4c6;XoBRxbMz?Am>@j!CRoT?h~aC;N%pEKE$XJO7|-pCieTz zs_*tt_kF`m*b&rn);~;HK;waNUXwg32O4O7*?&b}n+!gF{^@19uc7|<(a5oJ(?UQ$ zkVg4l82qv7xhwG2m<_0Gs+s1OV$%G2xVegFe4<-Zbvo5au){e%cqx@sCZ@7k350Uf z*L~KycMw++svZup_pm-UU4C7P9tSrO`6YwI9Bcl%EVS(}hy{LwLdg(2Y#-%{Dwm{( zGv5T%3j_99HaGfjd=j|=yV@_tD+_MMN%K!oMoi@r%a@rx4G8J$*dLvlTEnWvBz>DN zZ?FG}I?-9gMk3ohgHsE4a_#Kt@TkBYVDADq(>TiTT(GYvFdsR}YnOt|L*wEKnu4#g zR*?99aGG=qTu6Rt$@QpT?#XAI2#82%U0f+rLT6{xN2XtQYta<`(q{m6jCLedmHe=5_m;rc&6jip1)oHp-)qJ%F4)V{? z-gn+0c)6J9EFFX%H?GlUcmjF2eoFP?)sJ+tZ!6tg11>bG*1&4eBI+R9?K+VIXiwMB zEnqUgv~!-&QVKD9KYGg36r%vwWb*6^DH|L)3g)myRcQG4Ix-TqK1xR)1q1Z}nBkNQ zd&akF6>9BBsUbLG@hO)=nYYrOj=Ez}(TeYA1E=kCVPh8VY|nufWRG-MGU%4yI!xmFuFe5hOH1LLTtNG%Dv|Dl4(eoVaRS%tWK zTMouPbLh2n=Wt3-pFgK#zNPC zO=X8V@>z16r-#^Ho-RJ#3Lc_xIRSZ5)#l&IaULi|;ShR8%3XZUN4J)X^f2q4%(l?F z3arMpd_{RV*k5>~7@=xFn51{iaThZZBseQ{c_!a|K=~d9Md`1%X)<;l{m@Feq;~6W zl-U>GaH545+n-5EcT2J%7@m^3A0|d}31XLv=G|wzw8Q+jrP#|IhJsRRMD8NSVT+cJ zhkYO5h8m4cD`UWAE;C^ZiWR>D#qpfuhYihl zb8e|yjbfvqxo{9wx#DG|4|5o_l_Uy z^IewK&H5iaU3-r@i}`@Px2g1p$XS-Rys==9xOR;Dd z@v10P7&L5Dnv}lw7Yf0}+Lly*`hGv0rYHt>vyT#jrr%;vD`IJdj5*7W;Gw#^qN$OW zen`Tucm;S^W@~(mcc-R?8VZ6S+Z4Rg=2!@ra|OaZG5ji9^)KK5)5~8vheyOg8gy=>JQbDU_gJmjHD`Vn3V0L4KvrYE3!Um#1YjLauEb$Va^2HT59L zPv@;QvE*LVjSu zjgEK{;Mcy(%M-5XQ$L^lfcXy*R96W@jsd)e9xmlWpXli$U)E3%lxEX1MhuvhVf`ZobW-RClOR zad!`dAB;G-xLLi9RvI<)S*&usDI*Sm&*eI=z>g_M^6Sc7q>Z!^ptJKf9;a+X7X|nU z81D8t_Kx1CPZ+fQ&^*fMTh2mXV$-9fv%2Na4X&G1rS6)soGK>@xru+W94FPLNf$1d=_IEPxPPTE?^4o|O=nAH zqU6Crs#^vjjvL12VtF{mM3@tRnj~bS!*{dOha-A z)(}>5Fu`D`oD%!B!_7xI@6``Ev_RfP~f z7ixe>6H|>oG_O;l3pKTP;gPsiqzvMOcn4>Tf3y(NA;V>F>w3Jv3etQUpo`po5WMl$ zoO*R|=lwBokh=vW#; zJ1EW>a+}Cr{n}Vpr2i|>;>F#&D9nBpWniPU!3!L|$M3R;Iqq11T>CN=Y*BbM)Jb=Mp(M9Wmfh2$Bs|@ zx)W=TEVyv$M(-TuRk&3+*>Yj|M@YKkW>Mel{ot&DwX-OP<=elofQ#($`M1m5(bz^N z@xGBIkw<5dczK^)lDr5eZ%1Y7jEM_xM#KyrAomVMhp_7*W7%=70YOYf<@UH68{zCd zc&~Wvo3Hbb9n+mJTXnm2Bxa4~mIZP2Sgr)H!#RsfnZz7k$N;e>?o9*4kA~H$G(=vi@n?w)~8}%ly;FmwtP(zyTfA{8kq3(Hp>4tYS(j zmM94N+#0Q_JdbUs#ej|O--o~`4CUG7tzR$>BWlY7Iew?&ok0VBUpKvm%1Xv``Ma#qou?dJ)2edEAtP{Tm-_Z-(Eb^9JZcEhLU{4ebSOvVdUbV%bKUD z{2!{c7@Wh5gns|dI}bosvtSE#!NfqKgzeB4XeFCZGG^8iR+&x!r;8kfrlJ-NJqd%S z3@t@jQj6gUVl`Jk&nFHq_Us(m?T^y)PG*I1Lanv9hzG2SLpUX@rfn^j_b4) zM|f8?D-Pek1VHf=A{y$}djYSp4)lR1#=2tv1Zra`ba8Dch;7LHLR zrLSnDW?+&drNUQsNz*R-Udehb|M0`vCaY$EdVzSltts5R2p`iBKXyS`Y~{61Z@qFr zd%nxQ8qxCw){(IN9HdTC*p{SLk;@8b5zib`56|f($p!Jhp0x3x;1uI#ezZVr#qF+GuKtxcR%BO38BQppUUEG^KrzyLyS7oPxM-U zS!DifZ5;;(Z+JbR{`+MxQ%w96w`^DSV4c?s0<7^?wXg&P0V?O_ zch&b0W>+&f5djDde6qh1+1MvTMuA*>>tnU&0+f}fE&8u_9*_wtNm+j78o3ecKQA>J zyRI^%s&Q2L3C*My?xNg?$no{NAVkr!w8y@Hx;Y-t;M&x+$GiLzpUUo!am!Ktv%k&k zklx+VE$qp#Jze!eemUng*eHS~9p!O##F%&Spw$Sn#BT?A?EGXTm=#v=eCt)ep7(r% zpQmqjJm2(g?DugVR6QsHTv)j@fcPSz1AnLBSC%j z8?IJHi|=yPB0nJcSYW$p-8g<~8H|1V`k);N87wtZU>y-7*C?O+C5!&EH4QOCV#Zc&itZpIY}G`%wDVnDNQ#SY z{ya%aK|nlwrkA2qMXgBZIAl~dDs}oN=e+1FD2LSZOB&VdQzqNC?$ITe>6SdSaQawz zXfw+lxu;~^oH~;ef)*md)YT;|d%!3VVc6`+c=5tN8;*trg@G0>!%E1hAE-p{v4$^H z{&`fia|&ORm#fb(WBHvuv(v`+ZC#57RsZiYOW5f{`uY~{+pdm%{MXku2MICYy9bXW#}Es0NiJIp9Zqnk>U>ceiCAk~vBAJCo!3QZmpzv6o|Ll=N zSu|^3fc^nUM{g$0-7@&4vnUyapmCXtn!&x?&8irmnB7GpJ{~`joVU>qrwklStIc|f zMn$X5w1|FN8}NcAA|AysZ+T#C>JU;uy6cPY=e+B1lqD0Sf+L83ygu-g5PnUO z(R{-MO>NFGq~#cg|J~G%AX@;rASnff;s-GKWHTRx*SsN>wNgYz9BCdi44knB@2|&D z9&h&__q$<5mN1aNb7algmy3LI!CwfaMEUspAceez2UeqGauEs+x^`Bf8(jU)AGTUO zXA_CHjtm?n{A?*41Ht=WGBMq!#f3=b>hSmukQ^L+V^H4|2^Vug(1qow2Wyve$t! z@60oi@5-Um%yIGYk#U}cjI1ZMpj(U*0uhmOeB%pmR?rdIGn9`W)1I5i(HDtSS#-`6 zG3~e-8v>4F(4g(2#u8Pm{2=m02GQi4{b-*BrRlKs)5NWqa!vVDKv=e^KKE(A3uij% zk8v?RCof!~GS837wyc}J+R$~e^7&C1ezg(7b}51@NUCw`nP#$jqJCwxaC)hq)(>NS z4sgUbi8%bTtv;>U!a1JT+I`@e&$*P*Ny93(=BSFR?K5p-=s&!!-QeP_&_ulom(O985VDCVmOgsws+9xIt;T zfx~Tm?NQI0C-VuJGFT09ilio zvoiMQ@9|GSCQk=U^}dZqOzBEKuLqWN2HoHCILMNpm@bvSe_QGf4gO$Q7wX?#7TvzH zBmd3S#2;pwPbxtReRBgM{wHdH$U@@@dE9i{4VX&YoMaujv2%(%rE?{2F=icINxqDE zOE0mt0?1_tw+2h5(Zk+ucA15Fo=o0|=j}>4fJHn7l>WnlOSJt?Nd!LTLAhASw4BG-Ikw$uCGq%M0NneCgOqFked?lP z*{tpH-6wA_$E<~@&`U-cyd8d?YM0Fw@Ha#dgwLkbMt(xcYl!D>erW3H4f#y-l;ylO zjXn*g{Lg77sVfTa1c}Pt4thil-IaQq73W(=l;W&Ks7w7 zjqSt;jTpzK4?Uj#j+Ua-G!XStL&L6GQHPzr%w@5N>{(hC(J#2<&(}+b_rDa3>7m*{ z;PemT@pBEs#dQ$_Cs((BAs_#IG>sQVjy!)2y|nakQAd)2H=sy)Q8_0?LjgUY+e&4UG!}0ZJ!Dk@VWdU zEiRBrobN+9sz^CjN{=GYF@8+@L9ZtxD@)4Gzd*$^xGJxanfLPx$BVhXmUUl#N}K@Y za(M~uF5ef_NGR#G|9ISku39n{xF&@dO$QI2?M?4pk)^4t(s}sA_4cRJXT45BD(W=} zHbAIFp8Hy5U1T2l&ZE+=0}m&n%G#>I70LG6POTYq3fiIT1pWnD ze_al^NE>`glN)aT%iXD%-i2>K5cw|xGU9Z0R!HWgw`$Rsi_lu}eDifNj-3zUy_PX| z1Ioqeoa%dAhQwePXA5REqTrHw!t2#!2Of z*)kta9C*hh4!u=s6HF@}t5}Mm2whsM>rMbFLG~S76k3Z5mq*=)UI4LB9J9D$sRQC} z2U~pk9PXu$3n2r>NFU(hu@}>U2|MZbhs6X%nBT=iZh2x888e$@Xjx*iA5VTdhlPHh z&}OA`3jA?h&4q|V@W3_m&exEd+BZ-BKd>SoNf^lINo*fPR8-E>)c-aFDS?i#_r{1z zG7~`TUV5a+!?i4oT?9&EkQ4T!*HzzK(wyTX&XpK+qFhF?*Pbpg#g zHcVbWdtdiXF5sYvgMHyt%K3k6eFaoh-S;+(qja})Hz)|wAl=&bX8PKTq8` z=-KqF3=WL(teS4}j5B>O;ywJ8SOpJJ8bVs#>+K8?9_+mW1jNlXQ@3h zwMldXM#u)0q&~>SV5}P;Ek&ch?kY6AwOrr<5S`V!Mc;@=u#zX3D09>z#-AjYy9qSBO&~IlSqe!MbOi3lB|W zU&Vj*;$NTE`&54Sxm2U|Z0`0ky2|ECd)Z?U>N~tZ*r+><$oFOGyD>&d?Rgj^AEOmy z?m5>Y_9zr*tyb=Fn{c@V%us)C!4qg{2F{Cs;bBLqbLb6WF~>ebdl?3HgBy)X4U+~G z$Jm(AWOc9hCym%kuL*yt!$$+4Pky%~0p<$Ss5hnJes{Z#R${=-`ks|0!^9_ngyy3C z-VUoCbjEI!O@0`DB=lCF_%yUm#2{`nGL{&_q`LH}gH!WZRBy`|!LXxqKf3MLBdV%o z?YC+t3D@Fi*@L2ms%{aUecp%XAq$}8`VCMEO69?8NY9S|CpPi)29>q>I|u}Y#GgNE zJG0gt2k+3b@Qj$6L&@ZxV2*ZWaBjD?LdHw;$Wu!N6~))bw}EEKa^@wL1>3m z_l_DiR;VV@PP=UaT^oFd@Da4C{HucZ@ju277V9+a2v6CopQqodib{=}5T3=If5*ln z{J`9h;h@l#7&w={^hcaoon*DgezwZ=rhJ}g)On##o3^8c3hWC#Rod|4uqw?ymkHwA zCyII7i{2rBQ*7|Ixgj=l>Bg|d(vtUk#Io6fa9{JV344w613m1GM3fGrD=|3~s;%%_ zs9Yig^v$I*bgq?O{ltP&$_C-#&vnQh0(ZV6KKkOzHr_vCeQ;1DhOkg^-$jJ(WXxQ1 z);EI!)5n^;wwRZ!N_1t-#WDGEmSm*Hy7_L*38B(^HL}kY)(&sFa?{vOA0kfSKcd<; z8P4@4QOZ+5HrMw0g0~lfDwj-#W1l%ACKdCf+m>`f4Siul(N!qXokGmsU(vPbIhwU` zBP{eO>4EYH{1@_@(s?I#s|V};Qm=@_VyBM(ZAL9%6>W6ys3Kk+()1K7_2FOk+50Oj zrT#1LR>eE;-1e|j7ymw%CISyQLqOx49tHj#57O-aXk@M(l!9AeLTdUlnE@<~B?Zpy ze;~C8FTjYPpg=A`DRZ1u>wkV4*!YN0*sp)q$>>@8KdS443OBHpV8d`6{sB^6j{kcw zESil0rdTfC^yiy{}#7 z@g0@`&X0*(7pG<%I)c)C_G~fSP?MM1!#jN!-N5LhpXUKd{s-C zYH{;seDXmym7R>9xu$>5`#vJl~rkj;9}CDw+~_Hbz8@$-*>%~)tbaoe!M($B^N zBK7v7d_X3(-Ksx0da@j4R2392lYU@#%jK4ct#xH&F z>aJ_ni)GPf54qbQ>HGKpNeco~fv@9Tx68B~6UyP>msDy<|12^)dz}@NS>y&p zA~tIhAUgA%JQcKi@g>VBiFO`zVdhtZehLCAAglNmVWC_r2Uz~beu;edvWQ=R+59!t zgyONp`R@#a^#n2bjDz?>ny8o_?;!$^Y}{j~SH_YWiRz2Rf+At!+WMPd^MVG$n@GtT z{h+;NKRkq%X*L=(^u}As0is(#QAbawr=Li@5S{%bK%8NHmb*~Ky&2XSXW2SDbk+Mz ze&PX%zgc4uBFhEXTG2a7(G-5o&5Y2YG|)cia1EbHU*Mo zyl!QJ0{V&v6tq6Uj!FMCPojxngaRN62;o5A7dqJ&#*p9b-Cm_*e}6~2HM>&n^3jKr z$qBVOpoUcR;b$WJ>L_8QN1YU(U;U0eDKP~sSkH%ZLN5;i)>21);`%K$8X(9E2BZ;; zZQokuH=wTxY6z#;KP{A^f2bYOb_D{X&(BOw!43j}OAsQ_e^=E`IEV8aVLLQ2J++ zdWqiBDz|I z3#{jBjC9SoFf0!BN=T2uLq96qJnw@WsRLO)0F84i2Z{!b#zaVx@_t%EtpecGLc+pi zU&xd;wEjgp0|aw01a^U%@!)CXqq>v_NMVAKEz+%;NPB0&PYzB{QK0ayHa9U+q3ovA zv-P+3wYL0gV@*j?_0xSgc}mP$SWZv_K$=$J+IF~7mpAoGIUnY_cblWu4#FW8hp*P- zoIoWV#JWsnc}c>N7bPpAiZwACx+gegK`kZscdanK`~DuEznV})f+rNP@JWfLgbiAv zu(&kDAEib5VsxpNq2jL1^h;IIw4pBESC?TlkCiI%XG66GVJa2@#(%Pb zvR7~ie-bfAwPEu}dr!vlSCC1e4`uNGeK#Pz@eLT#wV)K=U$`V0q~a=>@%Oj!z-45L z2LGzT#o-Uf^>?L=(LUI(_kEL_hkc*o1;py#^rm>2)D%!hz%9YE(ga0m%_^cvON_%FyFQSTD$0OVvSF-Jl!rTqF?4`>F9I z`FFd1B{}0l;|9$7(+`M9 zP-B;pP`*3eoxWL4Saj8oixqm~#@%;CtBYU*0J%N}w&TjB<|>leK9@05fW$pL6w-D4 z2)Tmo7Ou?LO>tP27n{zvpmd5YC+Gj#1Ncr#P(aRm0f{2(av(HeV0I@*-P2w25VE-< z7IYB;@__k%bQjzNQH349`^~?-i8rES9xa`mG z*=_gl6Rh+0vxDTNVk>dYcCg&XC+_>8#U8JxM4q0?W^}o(GerubJmTQxWed)#qZMwX zVBOmRo7UvCv)0%gpmiqBKh>bdRODEeOjw}#;DL%=kIgH^Eq&KR<_4@eIPR{l_gq1! zf1xrkw-1$&_>{Gf6N$phiv@o2rj$%ud~d!GOCA0V0C1M>hk1HdBBP7E2iY%2FNNZ9 z-gZpg-4QaRAF9Kb=c1anlp3vBq)b;qCa(~HqSyPr9nwF4wDlUpOa6hn_&2H3r=VO% z5d;(hV@_9`lwgX8F6u^Rodl&wKyjOs`KXa8|Gmu9lRdd3Dle}Z5gA7zfcI7|dYh$h zkh8_Vxo*U$+-yw+ibMPZslbAJcNmtoj8hlOf0HTZHx|I9qX1`)1PT!4@h?7K!Qsv5 zBn-AjvA&@s19VQb1Vs2ZS0{2KLy+%Itkj*{CCA&T`vHPq zPpmr|rw5wxF(fk5=o!C^W;gOO^_Z~(KlByA2sR4Ic-E+X5aDb3ixW|6;#~aW!8g68 zjVLhY?c_G)2g?o$mCeiYm`JT~6L_j8{j5Jhm24c|2i0r1Wk%N1Itx~Y>?*ylabFow z&MdjF)e5Tk9pq&<=K^l)J$u&gnCEf%!qG#LV?qIQvdIZ-7<}*6q5wHBV=lV_hxl3C zV*F$?%J4wjM4W>FbGt^6ExKsIhn(p{sq9{wwfG&#^24T{OJTRmh9ULXbI8m$A}BZ+y)TZn{9=u>|x*w2+`Qh`Izu_x*fD{qj&& zc1Sg7Z_>XePdeO^3c9PbG(S_XQJg=%l&+tDT$11 zxkAtS?CO9PSyibpb#1lM#9#Hgewl^TCrEw9Div}{EzY7M=tJ%U4$@f^ALzsoWN$kn z3jR=4mCr;?7WPj_RwjoU?uujNzO`F(A$oVqzt74Q+dnay!aA1+&u4Bhg^YUMp?{S% z(zWR{aPE8646FH!AEB-eDf4@lXL$#O;QEDlwtO=Rlh z6%*e;D5mItL6=89^XpcwX~fhH*bOZR!@V;^g(9~|1{xf7I}*h!8ji{FVSlu1bS5oK zQjoz|nw0y<^KWye1uA$x7CT#w95ox9RHsu>k#qu^S~epy2M7@l{v$&x?Rsb8EjND+ z)2;@FCYgV17)3Z@pK+vAutrYa02{XS8?VgQ;zDRNL!~u+N(27gtM_YCaUB1KTq(RC z(u(*?6cu&%9L!1oW38^g*5L+m(5BHBb^7P1-w5=mCB$v3WYiLc_pcm`|JGvDG|uQ^ zh=cYzHiiG+in-rWq5&pD74J$3Lls{3$3Nc3pEsgjwC!LFBj-`X55Uk?A!)lmdLp=o z7>xhL$t<=(r{wjrwPVitNnHh5M(v;{_RE>KKJ5S90)r5wA`Z$S=Y<~Jy_r*CvLM|NRpd~QSI;2>qoDw;jvS$jM)p=aIYrMfl*<--i$Ew`Tv>Ng=l_L=9+ z#*IlgHL5q~M6~1-@2Eu_{jOF=6VV8(XO7G3eLnLF_ZZUWjy;Oz?X>~9B}gW(pzw+F zfKY21t?46fZC&H0)7*Y*HsKF}(hNq^v!olBzT+5_%S~Z^rqBE4K298!Izp4$h5clv zSaPM_KJL?b^@_ic$QB=}>}@Yr9(THgqWw(-vt)4gu@>*cm%Rf)-Ef9~MoEXh2?>nO zZm@`qN3NW;jFBf&2kCii{*1B3dV0{q2>z3|$sf65q5`0~-`d=(4adn?Sie7b$v{QL z@#BG%SX?`ykJ>Tz_M@-PgolMwjy2y%$E~PCrw)e&Ow4;*XZq|v+U3*jQ!0iW1}=Bq z3S8?G53eT(YpO)GO{;HCGHNz4@U#+rOr(IVn zBkpFCpJQ^H%W`Y-w(Q}hWBLS^}6vUS8@g8TR1HMaQ z33XA7#JlFsDLI3|U4?@v7JLf`>B!-P)u|E`e)b-8lZeK($sAF+F=1=&b@LlK558_f*XLi5Ej=qg`JP%tp;S zmrz}+dvl1pd~{4XbOofd3?hf&i5dj8 zWs7a=sNUB}NiY&Jr#$HQx@qac%}0J88~&~VALKzV(Q3zzywmLddktP=0|S11G0}A< z*6i#P`gwuCQ9-r*H&1R-Z_rdyj&8WpB+$i&2BwQfbw1_?Q?Va2HSN#ZLW1q4aOerr z6!_j9xPEmr$tZ#n>EnS_Vrr7E%>n0@gD(SUDeWCWXC_tU+l|e3Ys@S6a5ms<_gT{& z>@`>4DE|1OSaENSn$MBMo$!7o4ePNcKYA}Kq4}%KdrkyvX&X<7FEK9eO%$dpIQRwH z;GAZ*mi7B^v9Q&*MItjF0ZsL&93(OLcW{*&0WL^II$uWb&`+cu*AGrK{8J1r4x{gK z@AvoSr+u9roXnUzKnwJN`xaH#H)H)KR)Ub(V7iS9DJ#*{grTFPK(my_i z8&p3wvC69#hLh_0XMnGcNNu5V)LaK)UP(BVCU5@z8ia}*uP&UaEzxyn+PZ#=lsjG3 z#L2|$J)-j8y1Dsj+|M|F03>cI-9ZOwV zNF>zd52XFucjtxKn?(KFOtGHOoV)+VEU>NaJ#0!bM#V(GfW-W(4T7CVxdIBzVR}|} zZXLbRr`yTZLusX@SYe!6cP^YxJw@?n2z7e}n$z1L4P|0RjfCt6DXm%N&z!AeI#vNG zGh)YZ?R)%w4f1X}w8u2Ny44&5}j6TWiG8NvV5Yd6|z2+V8ZcC&?;HpfROOjWMu={eh` z=F@ifXH6Xa8==!+DpL59;C~O=0hO#Nc>fQRsE)j$9qFq7`rW0E*VL`GLj&O@XyhaP zWzY7$Bh~H(H=P=nEp87h(g({s7;e1QlFP{2PoJ0PlN2?Wca_Gde8>G`gRe&Yg%|~w zgq-TyX9F;Vx!Bs|bx*_v;#w|gv1dOGV3Q5{Q&Ig8#!wEa!47x! zB5m((6g%Axqa|wjH|4C3PB|3(3GR&owBinBVmhi7~IvZxV zI_XyaOm+eOX{bIkQ-bLj34hQ2e0wa}J@WC8s8w>}W_2;k?y8)gPsp~I75t)MZ+b!- zGk%_>8CkFNE+>n%MYHitf9Ts;8;R&Zn>lgK>0kRipK;zL6u2IDJW^S*AF7;9T7Rll zs;Um#DUKi#N@wMTY?bt?r4ERAa2lJFzn*8fPC4{im>CfcFVP0Ok zTC^V59{t{0N+h*b&f4yq!V3oH*WA5P*mjSH13RSQOSz_2knQt2S9S|zaHHw zs=BE#hg&+DPR;GZO%BXtcL#*1zGco(pF3SZ6_4^!cfE1GL_dw{KYz<0BTo(vr%sjt;zWF?;m6L^?e09iO((T0z@|igUZP9wU48r{_x@M};Pp z?q5ea8M z^fZr9bdaEdti9sCcZR*`61bjGT$%CcFr|IA&@#X^DrmF)x8e`xhkH+9&T3;bpaX-A z+s^l`OMrrc5fytQtyf1{%j`|j9X@jWK#E+_7L=6FVfcuOso!L6_X0^$+}CFEQ?@uwYmmA$jqGQu57plUW*r}`SW_!%+0fm-rCpFyQfTCA zOuCCL3GnDo+;xs!(u@7wgql2AkAngb2(cb#+JD9=AeQtE`3 zX>LLLp-V6|-mv)8={_H$QJ<@`V{d`f^HjYf) zX^jtyX~rysZ9waXvz~bN@DBn>Q(v9r(VXRIrH^C-?FHdA(*=$D!L?QTUXLlb14uSv zlwT^WiVv`HWJ))Rj|@mr3Eo0C@Gj@@B=5~zpC!IpSWO1lvk$L~NDRz~beU!M(?obe z^K7OxBGCc|wCtvs0{d!a>d@y)dLL@VoxpGkkx$sE#@7b!SOiQ}cWv4qz$(E7T76ip z^?K94E!DP!bDJ0L;N@0HkbEco$J{GbFb!=J`t?yX5jVjkG=*o90L-MRKZrL`Jrf$0 z93uDe>`xS&7*v?RNhmQ>(SChh1Oi8je};E$iNP!G-&L$5{K18Hv`A!h{rYxEBa{a? zW#B@u{!CNA!DHs#M85)Uio5Vte-onOSiqG)MqdnMB3!zJ)6U+mGN3?>jf-83AdH`)nJJLsln(PbG+Vd+6# zv!PcMKA}{!%+cMqa^@L))?&Ma{CP(5LXG&x+d${|{KX&6+gs#O@^KG{{@gk24WT|@SDSa3B3UW0ywLAd}zKY_{IuH~Wqok?+J>V-GE}Wli-sUVVKO zZQU2$*(F{#>eA?ldbpX8gA9$4Zn3Rcwom3LGeGs9tuKl!Ez<68({!Ao!=veETq#1KA}e z*GtFV5IgjM8y1@h>_%wEoarYUG7?SUTrf6z zHUMn{r#JLTSXOCpkav~DQlvCosaVkCjP|X4wE?n+)8$Wu4P(m?`#~4uo?)@!<4>*S zacfUBMfRUM`%&p}V+PsTCa$)B!4{rmMGFcIQ^ayQsq467NDuHOUJwFwoWQ%d{dm*e zaW5Kw?wDr)@JSXwb3*Bd;Ax@S;hx1mkdX$ z)NmpBgf6;46W_>O-jmID)xm#wD{6eUs961jT?H<=6WyJUBYE&eM7QeLouBe&XfH>? z{efC?kpQ9f{DfKCvL^WC=d+Tk$b}N$k>We&rD$vC^g~P9BpBnAl+j0%_Bk#CH`|E` z_&m;Ui+%Oa3N}`jw|n$l6Y&WcHhHdAK-m zD#KiDjAvZi@=v7IrHGzBe?<3T^HZhZM~heXF1m$3zu;!5&8;#u5+Aebvw32W%3yPT zU1(+Gi8Y^{V(4eujs6|UTzROw@8B-Ka2LO27waNOBOGh}5|2^#>5WO4-zY0O=@5nU z$6mCrw;56KpA~aX!##_Z{;j^Q|s|kIY5+#KyZ*J#lc9v57AE?jm$TD~0nW zHN9qx?B6R5m&!Xz;7$-zl*k3n_G!sOU1O5g72rZXwD@pCM9L`B_4TW;4ov@GTqSe7 z)_w|qt7$%i*Lm;6j-I>nhnnoHDy!?hN(`sKqBFLae2;%rA2In<_PQL7cO{E61&Q|F>Ny9PW0areMv!QGfk|@Q2)BS2wHNuV3bb%1b zbBQc?QVAw>MnS)nf40hqN6_ZMv=%B<1a@f(ekjduYSt1x_3gRcXXdsw0*(kxiWO04 zj+b?7lDB2sKlum9zYU<(N<_O~*M+7}+^|b0&wuwzA3CP3k8~ujnu6`!FM%gEmGj$^ z%|*RueRiCcWE!LyKUPU{Gn=&8D{}3HX&{nW(GEjT992&WPRh^_q}cKgLWpY091o>= zqon#W?@{vq4ejH?d7p86qX(ZE2tRF9f-Y=-rC0E8e*Cs>c8Qa@`L-_sha?qcX7|HW zh=Q+}@iO^JKwy&1wwb%>)8H39+C9j&PXmM^?Soiy-fqA*94_G?xc zxmggRm}5_2Ct3PZQ@p2T#egrkf2|!Po+)1EcL3uTaRZtILBhoa_6GSWuLUX+E;qbP zFyX}^is@b;+p%PX{H}Fd4*Qk07xBPKtpfAmR0b@k^UU6we{k;9IK)0p*oG?Y3ogW> z$>c9?AN;q27BYBMg9$kveEh1uw&JR-(Qmhb^mkK{2r-z$k=B;_mo8da8~Oz8m&381 z2oC2rZ;$+MVwO}xd9M8};JjdgI|+JHYQcoGzz_ez&wMRjO1naPcM7+lE{W%S#b1Ad zQeL;nqh0Fb<~y33xXke5fAE5cI@qbFD$^d*L~y`^C>!GkY0f#H`~1_L!*meyAEabg zcaF?Ead4YueOqVXo_A`E5GZYe+H7kSCr&0hIE`3P4miN1SC zrZM=@?DSN4-{OwZ)2GM)UrpWn{!^yitghuRkXnKE(CyL#nBZ~y0$iR@qljK*aoId&_eN%c|&uad%fKWjxHeNZ^g<+YQ)*sGH- zl{NaJKPO1hA6YF-xseW~E@tH=&rH2)mpZjA{}En7xu|%5so@x+=_f_)=NM#*1#s~9 z%kQw-lr_{4zT_!okp$pmzMQMU`dWI=NoCA_bxe;|CJ~``;)ioxpH+j_sR(<9}QAis-LerKS zo2nbgqP{yaF9()Ha_kjbw@c-;pwFD=Yv&f;O=Nh?cyVmu{!ss>ZAGHMF@*hX)uqlv zr>k^OTWWj8`boxSSg8R(o^vhQyeTZ14`ql1FCh9jl>VU(4EnalvrU3riXP-y8S`C% zRP$^ep7_4Wj6-yjnT>3L9$HB8mhkk7pGpO8Y<;deuVqX~iTN|Zub`PRs;0}bulPD$ zUo9X}hZN>Q9Z6PT=a#;_iin1%u3q~lN)?g}m~ zs&%tUW^)CAhgVo#{@}1$Ts#>#ig6?%KjmE4o5l^ibvOIf`eVTm8F@p$tsUH2+81yArsre7vEYpNdE&oqpqJ0LBHVuUpK(~_aiT&E>fu&-Xrw8Kf$T(VNp7fi)>JBoS@>X)NE{; zZGBDIRp6^abVhX&kaXFoSL{?xhG@vCqX#vNY=kdW8-*rNxc;boYiX}?Vv|J~=m8_c zkHx$0T^6;Ht!962H)697xUn?0B7mI~NqPQn<$sD4Sgfa%U%6asCyL!c3c*g>j$gBr z>{;$0&F9DnoSDi>?nx)5kB^jP{AVx#7_d?@Dt7^+LyX#?G|jVsDbSRpAK()ag^ecuH3Wn0Apg%!rua@Ar~*RT-S<%Y5ar`;C8F^s8W0 z2arSTU>@;mq&<%JKU z@umQ7gAeB4rTDLZ`xR)F7AYbGOePh%Rw&>9Fy`y@@I7F6EkS?{!;OwaAK-g&LKm=- z3(d)l`%OASno#9*ocV1}`Z0)N-)Se_v8XvAB|msah@*GyJJ}_};lZxh`w5s;;+)24 zNDFB2Ai56?4K>c%I#t!aBGio!28s{Y7Krt(eG=nGKV5Oc2-*ABJk|);r|zrZA?A?H zQDD}!KF;lPTC)UIiKxQ4K3<^hKa4+oxQa%5q z4*-(izZcEgJ3_dowDeQh;-nxOw23<_>T_xBY-;JuKsLzxk3k`flLxqufgxK&dn8(a2J(YFWH>Wi-j3 zfdt6QG)5daC)W5Z2je_(=1HBvawlcOAna!yFhARkh$ASKbc%vO|+Xi#iF)k z?c5sfiiM!@tt~pvo}hZ3E+7RaA3hfIdiTqp5>bUrT+$|0FvF_FBYF?u5s;C)q^4sC zBxx{OW1ETb*|vr5_Q&^q$Zda;xc2%5Cv%yzDtZwr!u_wIUA9Kk3-8R1+h5-q>I(ua z`O=T0nHxeM^lry=cPLc%3i=1p>p!ozO`9Jnri>(RI5>!4DJBjNKV&AR&3gnei4edO z_>(qV@dP+pni`d)V)JqqC@D3kw?W%?>8NQO_B%YKX{G^>jAys~jN1VMzw!=|H_r5& zeq(+GK+R$=iJ#c=8XF!MlRgNSe7^rVnvA8oK@~>(+~3FckJ+nk%y%{BbX#+F5IPg$ zq1rb`DlnO~V6;(kn?<@1Dyk>;a?8b?vx-tDoJdk`4LMt)$$Px-Dn9rnQ0+NOuQ;!b z=)f_kU95ZreM0%mf5#<*g&NNkEL4!8rZ`W8vMHw}g=2HRM!D|m3zI!98*kyxPwOJw z5@KI+zp$nknb&feGi=YBteW{jmb0mvFxE3qUiCD}bLDOs{BXi#M>%TiutPdCB=+`X z+zx}jc#&1D)HoR-f__83^@C_0A(pC@fKZBXYEJz-QW!MVR4*{D-H#o9O@7|w;W{3KBm5%sVZ@lY`MRo=@K%M% z=ekI&c=%w!byN(U{I^6r?HRT7xW?4GnVGwF(KAoKu3k1zs1+xY{(|S9SD3aMAyaw_ zQZzCCxj1PGeF*I;x{)W?rjDR2-ev{X+JpKhK+e%*KK8@1^7~5J7is3vJhamiz~;Sn z$Tru`kw*UcEGNH+W1(vd0Z<;2QleG|+RpsZJvB!T490w)V{=L{#!Tg6US}%AWk@&k zW!V~6lHa8wnM3EdMNUD*cvR$Yno{{;4ND7g&^xOt=>GEqLA6LMq*^*_Y^MZzB?fct z7d2?bu3N;BOfm@193!|$bT8|^ukXsEw<>NR9hENe2L+Ykew5SOJ&vq~{#U#VM2G_3 z8<%D5E@~DONTzSS#0e?}&oT#uV1!5EBHNFuGJew=p5Gkd0ocHd;GGFNZ&-`+^NJ?} z_hfn|iE99>Rd?*prRoT_n=dn|39hYs+&42mbRqG){+r|QR43Arr9^>LrQ^0PHk98V z8xr0(JYsjZO!FMZE|fwoZ^_H!lcY442Be_5Zvbm9UsSgRxk+PYe89F{HnE+eWO0k} z*{yx!tO2s(08;D4%R4=cSo$WCMfD!9R>Q3sFlrypb(*}Sf>^zQz3B9$Vg}R+ArjrglQ0&>-m9;eNwVv_}w+SGP4kyXeGhM zWTmADk0mNB{9V5ow%)@UD(o5)A=5#C>Jum3?`aZYtIxUdYm4}0G@^i!s)KfX2Rp8t zSSoPT+?Q%Y)Tv1iCG!R2+8XmzgZJg<61R)V5c&NEw>DLk%mWv<`{w_L`aYI~aVUCs zf5<^3WJS{XXbK;jIhc%?%fWRJ2VqM*QlyP^$N+)u5RO7CVqnuRjAS9|3aj|D29RIF zEM|GkJwNDSbklS<>ncIZ%;U>IHn&F#Kgz}5N5!cr1ig^~^&kB{jaa7j9C33<;C z|M!=#=EWTx26_KiW1=4aP%3|>3_paCmu0tyi3!waRF3$|XOTONJyA;EIvuDVOp^WE z-@!%jepnWT9{f-j?T0AD0voLM{?SoF&HdM-SKJKeIEi_Y(V6v+%VpE_S`DdXV^&3cTUS+Pr|$u;;4he zHn-}XM{9@`FLhGxpx}UA^~0D3y4DQm(H^HX4T?I$b=U1He`o;Y!nTR0X2ykN71ERt zL+qq3b=>p@r)>8~UyiLLP?POXdFGDHRH8>s_t_orKbmK8M-h6Sx-&p=KD6oq!aubA90S5z4$j-)j!SRI^g4(*ORnm1jBjQd0Y#ZqQ zWqO~H5Nw5{KfVyGG~ft-VW19-*c9BPoIF~8$bT~*sCIa`kQVL$Q)}m9o1<%k6@gY( zIESX`Tc@_SG}u^c#RFmDUkVMl)!PIrSS2Z=2kzPt$Bvv~nm4^{AEujb3>s>wV#pS$ z)g*sNBw3fCVx4-hq+<%8{yXO%ZWptSwDce0#p)S;m-$9%A^Q*r^!D4i3x1}kbC{_W zkz#Z7{iAXqe0qW6zP2_1b(sR(+Kkbiy<$tIm(+tFf`3xv1BG8)8Lrk0;rYuGBsESs8@32R)O7xomI`UasT@E1EqCE)tXek9pCFm%vrPSRl z+P=>=a7GI!lF5%rHHJu<3!Jgs{~*J_<T)&TaqEbKd5kwns-}lJT9HT`{y9gNPW~@AGT$Lj(A|%0yun`|V4Bs|;hMAMffAN{B4evDqW5fP_)$KQ zSK@ zyZ;rZj)=MHYJ__i%!?qGo!~JCUb)%N-G}-xcSD+S;K8$dhHfLaWi{KSLjQidBIGCgk#UW3Xw<6_=g*4kTF>3DSd%^-!nDw%pdgk&exv*cOOY$TIg?eg{Tf=j z4Gf*|cT3-n%$T1(AdyBIq3%QtT#qQf_nzcqS3GrC`sTZtH}}3jEB6$!FoG|hPX7GX z^ZaHp!Ts%}612rWVd&7CXRr+v{9UgDuwO1_%hnFdK`8%s1#6HhUTwK~z za`XiP2X`Bl^F{kqV_H#d7hzgDUsVx}tnpg@P8v04^OArqa@Zmfo?trP$uCMq!7;uo z!3ps|{W2yhgF0T`7B}9y|2*qL>+)NlYfOqrOM+IMOWm8{$R~moUNk9@PSQdCo(Eo$ z5E{kE$YWt*)vhl>MjNY^R>O&2m2)>98=hhz^05?PT_EeA*gJ$$dKv!OJ;UL+uIrI> z+y-}D_Bz%FCAMju#G^`=GGQ!w*wdsolga_%7qrm^v{89rI? zeq~zi$)$RPRFrlR=aeM5lItWamo&x(nW+c#D;B9KY|eMrfZQgMu=1T}O>;B(BP z@;$wb#`kgf7>8U(&1aqjZv*N;Qhy+7?O zKmUfq=b)Mh7v-~Sx3-fCfNUy^%)w=q^?g(n8Kpbnp@Z~xLZzDf0VMPXx&#(`^5{7g z*tu^nOnl4CU6qH{_@>w%Ia~uXlY04vR^&l7w90F_8~FMa4UvZlBVw<=jITPzSlVOp zj^8@IH<7j+<7(`>`Gx+o@q3P*xEa+OI(s?1^){%Wr&5yLqvW_N!$+|PW%!+(xf?4Y zGyPPt4Vb;4Ad#WMI#`Z^@hbBRNs$4k&7VaXmF0|CoNBw>0(rot5%qff2ijl91CRSK z=-x5_-$wD^1AhR)h>-x3lUDPgMG491af7qA#QXJVuz)-D>Z^1myAxkV5dSm@2h@)ahvC4vw8 z=Tm@Upn+|C;WM8y3O0i}q~ebd_xB0@=(|j4|5J!qP;37X4g_$q#z_Oaf}8sj5!=SC z*Pb*rQw9Ejhnv>)A1`k76>dxMX`4u>XxxvSkzUvmTeqosck*!d-&6bnPmBqmhtHpw zwF?NSh1=Ggy_9@Bl<;_L_FeD`oWlD}fGpZHErsH5r%tDlFzarvN(q~aFHa$2ecY@L z`!xL$N5k6-yK>X1xgg;&cFlLKB*w1k~0@XX~& zcK$7E~_^$9+qRul>W3j%IBvlojJU&?^2#WK>82BGcz`jmU6gAKwK| zjpT{sAD$<4hljmB4!qr(cOzlm|hb+3Ti6c>eEG4ylu~}f!=Qelq7Cm>f zYYY_sd1IQ=LBD$|5oJHeZbI&PMAIjSIb4!2oZB|rDVuk4>i>j%u!SWJsXHy6_7NA& z2=ex_dc25UZDp4wT_KX^Pj3@Dm;q=iOuBs1Lk;p_V|d`9F@Irkt=?RLNmb1{Ifl7? ztfemoh`(#E!gWdp3ofk$nV#cRA^<=6?z{@IjV<4Yp3AVvDumbbi~80m?^+p6N{RYO zUe{k?DSeSQB+uCzkF?$zGqZ;?E{50gzb-O1_X8A;ld=Cw#z;y18W9c6QMUv82aS0v8R*jCU0AovFXY=ik*`WTK+3*+50%~hHt9x$&#>K+k9Zu- zJA0t7m~;qnQG0Sto+xlR&?c7{eH`+jVNs>jeslKh?HVPH={P!V`4aapjYqa8{*}T? zMLi~KBp^ zC)4`Da?AIco7Akd7MDi;Qw3lNIp|Fsd8YRE1_-!w^1N&o=EbZmUMGKIS)YzRI@m2{ zA@1SmA>F+abFE5RBodJ3N=vu;1EVvTK<*_$4`DLD)5cqaAe*g&Zj`I$C8#-jF#L$o zQ8qx4tKXmLhwHh;bobUiYH(NBaUA+hR;6Cr6kYPrhul4? zBo&I-`t%%&bsgXSU<+YFO{z0vR;x=Fic!uhbXE54?1*P4{{%_;wv_$Ih?QU(MAq`ler+${^T}NmMV~i~G-t z!g2iC3A`V|K!l=V%!5B5KnDV3@V7G|P0<2F5$-4l{r52xzU$96!r%lJ1MVri*Wq=f zkBb1W`xg}P0tTK4=-mOHMw`3{+18lr5*9vdtWUEM63grZG5*gpk1tY8QHHnc3(+eL zJ>QnLf6}f02xJxrxTnFte)1Pu@m6H%a*e0%L>2TE^$PTw4&mnJ77coV6QA>yhH7)f zv0AM&B!<{oB$n7z&GV0>a?nb*yE**wZ$>f}f;gI59V;anN%> zn^~t=-4V;JyD?sUDN4xu2ityQU6@?&beGwCPb<_upnB-H?3eRi^s1tyjljz~d>chQ)t z4eovIR)&oig>=sFr{DyboD`QZu;|iK8s#v;Yf|AEV2YAw_{}E!hn>sKqMtSBv0?#1 zO3PNg9C^(RwycZ2?ZI0}{({kb+QKdhoGB*q+3Ga*A*; zNRbL2pY0+&2HAp`bu53t8dnc#NnGrttOw2HGYzQpmZD6m3{QgGzsiqu zRj00$2(wbFwwEZ{ecv;2&A7XyD^q@<0CJKW6=n#>Nzp4pFJU4+?xO&qvWv2Yr5cH_ zG5kotlwqcwS$g&E+=kho@$QjSNss4E{hO7AIf_W~q2&Olp>x=m->%7H9a zgWNq9xz$pxf>O)J$5qMGs>KxuX+sO1qBI=;uOw4NG0F&M*3nrU?;BWas)Eu%cU|14w{v@iY*0fIN9Fk;TBHv)S%!plm1k*#dYfAPis)r|l!8IwUi~=S7k8B6u=L7u8GZj- z{*7y2%?1?mEaH&AIP2rLLvHs>-cTH&1R3(OEB}wJ?*Pa0ecz813faouJ2JD$e36-~ zjL4qZBQtyN?7d}=L`j)%wro<_o6JJ^-;dEp-{1c@Ivh%P$Mf9Rb)DBaJhQlC0uyv^ zm7+b{uU4}(5d0MOfp_NwYBDe^5%Hg>+au57&Dt2`-HdXY$u+&-+E|YUkTo}~A$ctq z4&R`#J`Mb$XMLMn9qb`GQuIwtHhE;Mvac%M=y`*(JZrFdsAzNGqgj<>N1vH_AILWb zUufOtac+GM1M*~eAi-GQ%6H_Ktov(=^jP~1Z)xS^UwhqJe{~&=I8CI8fhWsO(W337 zMF^0QZ1dpOP98#z_BV^UiBXSn*-Nin`#WtxXNpLqh>0=YpC(~!dRjzVg8jBoDNFcV zkFCAONskFk#$Q~^;weJqXMXL($;p&4jNaKRMM8f}ELL%9XsXr$qWO#pBLokSON$Tg ze)ea`5Bpk|ezd^myh8Yc$4(+wo|@!sCkD2q?KjibP$#N~(Y&rA!y31_LaJyM)eBMf zcK(7dfFnKy^W#!a{-ZEDoN~-s%tbfNmk})+w5V4xRk^|~bdxWmYw0#tLlaBurgG)H z4^LMUp`#1L+nW7Ma61KM3ysf1V0Sb7i6bxGzp`)FH^@g`F#ks<9K8#v##%YAZEd@U6ldkrflf5<<( zv1?}O#3Qt*(pH7JxA}=HlB4;i|Qt=McAB3k9Z;T6S1&}TVM%jul-R| z!Q3o7?Z-yRS|2VSnTItTwh;2Xrug7T#8gN$ZvNG61sl&UG7{-*y3NC%^Uwdp;!cMB z%X2NqL8Rfo)53PB;6*q~i!fH5R&ac^s!XO|5htxlafmIr%wt_~iD;S{E7G4am4AGYpJ*N z7JOP3>0CQ0B0tph37bdTve_RZy%*fQZfCa~F&D4l%#24LfIc*ILNKtMo|R>>fN@ia z!8UBJE4qJWNl;H>$I;;x!?7(&9z0BK_SZ1y?2SWhRHwC^{uMnTtpT^+v@bDkxhzWq z^p@>La<6LG!7oy086rh(e12uPuyB}4&rx8$FmR#!udRTQV|n*^j?pbE5nEPABPmm6 zaL3T*i_F&GZ++7tsQDbzohzWDtc;T*P714w;b7jm9Yv5h990+$!PQxuCL<9^n&?Yv<#3XV!>IIaClO7cu~Mwi)4^s0zsRmm73 zs};Gkl$7KOfdD-~cEN6qD4|M}_MxZrC`@2fLb3hO+_5O$#X+DP^-1XSsZ9c~Ip}Nj z?i8zd9K8&1Py=F$or&Om8~%j^i=3RtXr6}> z^J!gC7EP2E1Z`V61a^#y)Yqjo*z#YAzuCTou-FD&armqYfg~H_N_PL8_t24Vj+hdG zvBCO*_AG;zqDbDAb$4Hu2&u4C$U#Ev*hhVm zL$&t5F4MmYT=%&?#y@0ZHI~s*yWB&2Tz=+4yHD<~F&sVR0wR)l(&VftiqaSFt9L2{ zwi$orDS`o$33mvlW!`L_{F1T0o=ip5B2Dh}+kx%-Qhdd&SFe6PWvcunApd;1VxCPo zy&#r;e5*x-T47>`n{t;0PKi`b z>G<_Tsjy_{JPVw}dO1oF14|P35T3W}#1_^nZ<46g42naeuse^va<6w29EW6X(j*3h z{VO>)!tmcK2p1JxG{FX$rbb36;Cc2MAj?~8hAsLgdTKvPb{Zp2rn)s-dIFCA(aEjE zcV$X~M8Rf@f}4mwI7Ep`%*rxnnx_&3xa5Jy5ngf4SBay;`|1;;9XC;bqveP2+*X#c z*>qv6^59(jJu1(|W(}8B(@Ln0$OaAtK>Lx=I_K*?6ySiguv5SJ+oUl#FftIM`>yhC z!pNyKhrWkx;+e|2y{P1ySv-cHmN5hRF=1tgFn!ZrF=3lZ5(&*^gnu?&YwX= zz%9ERMvqcaW6Ob=V!6_5)*h9}(h|%(x{UQpY;?S%bLLIEStMJQ*wC;G0n9=0Wl!2; z&uqN_cxh3g56z-;zwG`<$fSu-bYr!|f3TS;U=I@3s-=YvZ!4=tK;xDwGH{hBGb z(a#vqec-%$dHrnQ3l5b#pI{XGlH|6{rC%5yzF2XqqLa}*?V#}Ho&zlq_sGw~pLsht zDzOqojLF7N>>Xm&3-9sMC{LDmzCH7S={nxN{oVnc(ULm10OL-V@*tAQC1cr05gUjd z&oh#$y5axv6~{+nUW)1BJ*v^?5!O-+&Xc!YCjtlJ3MX0OajysM_4VJNw9A(uMg=Y; zKc{va30tQJGT)lwRgBL*@1}RR7&4(xZtBeK6DGkfto*r5PiUqb;nCMaDNPh)aJyGW zZ{>+@#0YVfPTQ)9;L8>BTKPLme1L?p;H_>hU$8BrFK<*@J&tvUmtsZlwKI+*w*>RN zOsMdpIv?PsD({dNJ}_;lxFjb4NBHbD@4iwhR+Zdn>PR9agY7Y(b^{&7vZ6%lG&uu_ zEz1Kyyj>JV2v;5FwaS4Gx2xP}nJ86rO8=KI8gt1+|p5vG(6FHPIm zS1@72!!_BT4gnawu~%W=e_;er@?fK*y)gwF9!iP%hrCBLi%76vS^=r00hKo8M8Inz zV3gYz0C}i zz1&7hV&<~TMddH}!GnWjz`<-R3}YiBWspZKi~+D9$^=|0O#`bi;8o%ltq{FPMAW`L zTYfD(rCx`h>1A_9HnDz<^gCQj*&LxtiugecLDgE>2J@{XzGkucIP?#7@|^=ST?cSC z$)HV%*+3lfZxp#-N*B0q-S188aiyNlwj9_N*O6@)lo)3Sj|8?q%d59cIm%)}qbS33 zHY)U1J=lsfvp^d?jd4zgVE>4F(I8=ZuQJi$e z?Ueud!r5#{e+5)pY7KGj%eUWoe{cnLRnWV^QGK<+FXb=Dbh(3kT86snDg>s=ut>zq zZ{+#skHqk{geKbZ^isV?i(#U z!WsABOaA24M?j?*P@-aTpR33NY?Da5FSjF&F1rCymJeRS@_GUz5T`USqKF+@(1`cxx??; zy{HS)7(Y(K3C<4UD|di74TKRcdLkl4_96{W%BP$uce1)*gMiJ^gWj!gW+sC-vi}`m z8omasHW&|gx@QLAp=>=vztE0n5pI1Jr?b=r?qR}j!ZQE?H@nPMe^B=maD$K`t7zxo z^#Z(5$#ijDAQ!&9N{_iz8wcA^p1+6mD2SX81Nl3|=C)>% zbpMs=6|NbHa+Lwta51JDaGVr3p!X8c^{qcISo8x6FAnbQ$~q54vLYuSpVcz`&7#{m zv=!S&ZGEBdv5+EOqzD?fCp)V9uDs^i7~Hn+>19NGJPo585=3k$RTazx$TS4Rl4=t-=9?$azp zb+umXdk$s1VxVhPOcN!qH8GA z#`PaMjD9>!>-Tr2jwUtmP=6$@0uiVQU9-*?cI)^2_m9KBZ7)gP`Mr=2tT>+Kn8cR8 zy=O`$1!NSrmnTF*I!$>vAw)>D>(5FO8%yEj@ld&oy(b`;LW?*X#a9+RKQ>Qv(AhSM zn^ImhJtu$c*!7yLUh7yVghR+M6&%Aqh|^S`8J0L01cY})@-es@o+z3#`_L3gsAIV1 zp^b4(vdsO!GL`^ZO8@s!d7d+SLks>w>^i|b-oUab$6h{Q$M|eEp(jSH_C39y$RUB; zlz{VNYNQtLjBJuw7Ux;*E$7%<`8^R$5~}?(FgXac&^26X2wxD zVF^@^a_;J2t%Jp4fssu$-qnuo(ZjjkVgHpIS|NzR|VAG*OT zMDlV?o_W@-sVKR19l^^70EbnW=UC|Wj}lbff^^{Sy)Q$!CdgX?b-iHaIa zZDB|S{`oe7^h9J8vMWiZ7{OeMPp8=ZXvsS;`v*?j8xW_1e}kzc`>j@5%V#WZyVaXP z_L%uE&sqk|276c8Chk)_ccxEz!5XN`za>(4h<~AIn{2#e_xYI==Xb92$>M-g9PRKlcMLH@B;s5Vn$M{AoZVQh-i zE_O}{S=K$HgxokP0z%*q>uc?;9d8FBJQTZuWcc^;0tT1-@?3Ff_CeBIn%%t+4e<=t{<}B5v)V*S%nA{evPm)1#Pc4~Ty>&-Rf;uIAl9g`Lr>M1^Sd~Zq z;wh~YH>G3x`w5lXqkXR=Uj~qFB!NeCt>HaqI6&#WavT6?;pb{$!JSGXH|`9x_SOcEQ=i}`4=}HO z%8L4&<$u1c552o=CES)Y2pkCihxh7D3`qeoSTP=VvLX&%He)~QU&!sCsft)urh^$l z=I^@ftR(^;!6Fpk58cxPeGkv6uYq7Q^$6Js-1vA7gHQmQj z_7 zi~sc9r!%7s>TGB;WvRafxi>L2d2%P%c>!~f^0M*Il1FDIm{_?|S=^Hv2VZ%A3Ktw< zu3za}i%Os7eCza!%HBl)^H30)Ub_`Ldct8YOIoa_t*lg5!jtmrWxq}&eyy1SH>s%J zGT=bAIrh9a?Pr&<{9x*(x0bvSHK$0B1ivs^UlcNQoWlx4u@#o1#6*SCAS6%{NBfg36RZ=bxRG1PQ*EDDOu z{te2BGvQEwm=J58Ft1-x5h0Hee$y8T&PRy~G9b@l>9tS|X~nou)qciEXYuRe3XSl6 z%^lq9fWMnP8*EqLKJD@_alGI^xI(-2vK16qIZI|domeWTAI;6x8zaX&Z3LS*#;`aT zGb^9zNRSpR`gpTe0PoE4Vq}Q)acg6vr)bZ4rb3F?H|<_B~jSS~L+C=btQr(FCBh_$+7tZqifHG(YtDMhE- zDZ*!@k85}5!En_+^fFPg{na-lS2Usl8@E4C>m?S?U`u_#yQ%ztdrh;Q$&304a@v~Kx z|Dc%jD2mFZm?%f_?xiMTg0QC%C<)ml1~VnuR~-2pzDf|BGixWtiyJ+z_0p9*SM>o|)s3zv7Or-pv!ccOQZv0@;l@81G+wLghoI z${*fk|B1K+vsiAa_iRn1qN~vkX0v81^zKKG9~tNP1=_U&$?Ezm|Ir0ebqkXzC^cZ_D{u#16PCIk!^_KDM zPQ?#jdYi>;oH=ru-VEnBa@LquBRb4MHjz1Km83c-B~#;2aR|*?>x;!2%3z#%|9RfM zZ|2jgaKxu4BN<;L9gkvTGpJxIr77a>A@uHbB&iuxI_n?a6MrzOngMAF>+J7@|-BkxBr8O+`EXwc=RePjdEVVgwC&} zHk)A3s%Re4$Xiw1PFsrDpAA>vs<|rOCLL8B9h+WBiIE;?M`CanUx!3OOwMK0KH7|J zA?@RJ{Lrf`h9CUP-WR-^#FarnCBiyv3KT&tjpudGTkhnJ1I)TPw1{=qlk`zUM|CD+ z+v4ja_^Jm?j3W+vpEN$uhy~3{~ zKGIPYoh~&a-l7molcJc?^7LJ|z|OF^^i{BgL55C^tM>95qe!!xu>h1YI$RG1QVfMcE^}??NAvb?f_hg@{**kM>Qo&dWkc@fy zhF$`oW#RE%?0-Gep9UcP)*a+WYS*L2i~tsoHv!jlQQ(+Dr^50z-31m9A36kJ;`3I5 zhC?aY{uRtCH+hOx{NAk(lFUXM&BJJStE(UD}j*+_b`>$ zjTEA!R;bhyZl#JeLW0g!#(>uw8Y(+}>&^exSCE#0BopnVcMH6#aw6ROw`kKcC#Sr` zso^!^bYMG>N=rTx&Y|{Zqud%DANghVlI_yiM9HhZcKNKU9jWVmd3Uhh&1V484|d79 zScjly3O{*z>^AOA=}w>x-s5B!o40rA%{p>REO;8b>p-UX$Oot#6uINlM0e+rhdvDK zM%DoznSg~~@(+eL_osa|ty7OPN2G_9Jg%Bm!fVaw&g8M2m3|}Vm)He<&j6{(B@|a* z@gwa$iTVFHj~r)olG~3=a*TP8->M)%!FHjLH~{uyRypjeb#i68dI!&lh7T18!;!15 z(xioDEu7hu6cwOV%+2YD8~uiiL!afm3?!|8U#l`R8=$7HrS;LM8#Ok5!m)ugmx<-! zczge&BOLz&?m^cHHFx!ZYkd083ieqw{R$LS!eggh@_~olu8jlzFcL&W08<0{{;wo?>IT%XQ2FcS7#|vOg69R6z2A= z`|^Cj>%$D|f*vfr_!Un65A`%}r)MkaSJDXvh{AZZ>k_xBv9Tz_!%cmuf6fnjd_*iqt2I?hGZ#qgz>QF6&T2}VX@3iH zz+3KX+pMKwM1;J#9@7PI=^U>yv&84G69?vpI@IhNCXgIVc;Ix_jq+qR5sDjSReID!YJoQ&6&PDGMroi3>3{QLb$@ zSeZT&z^!v>F@)p;^;~w%0YsrjL$xh8q!u$}cB-d9_6~kzM7Kg=Cs9(ehG?G(A9=H) zkf<=v9Xt}|?V}dilStU6{*Oxu{4wI7c?4?g>ZV)DY2k4czYv`YN+*s*`DZ@B9i zh){|MMc@5#$p$l0B=E|2X<&ZI$BezL2MjrZ$53Qo&>3OWOZd<42;%;GIc>nR$@x1! zF}@&<+0>=)Hb}hE8YAKj7P(m;@nh$KJ10)0eVBdP^-3~k>Rn^jF9v(f+&ve(%vMRS zJpe?lvO*OqUfB4b9lf{yc~B|&T~K0j{6bRyoi)`^6rn>Co8AI^8F%mC3*V&+%UcDt z{46v=L>@dC%KTS89e>Lwpu=Kj(460UKqLtYm_KRz-~DXl$8T6a9-e<$Q3X_2`l7kK zibUGKB8)fbRi+pI*-CMMp!u?_3p23wMSgVrfkM%4l*97j2hN9~trOJwHh z20idPN2-Wt;5j(Tdd>WODz=b^SlxTR!Mm)e{~C72KIY$?-X8QYslak_jgxz> zqOIe%dh2TBn5=OqO}W>91GEaq1bKLX{c2=;ge&lLwB3I})AAGW_IA*|N1qv1AeSkBhDM?sef4tBb<0acp?p87fr&#o9 zazfLC`}Ms7Xd%w1EAM*=0Qha?7}q@XiBzMmntRz}&|nBhCx++V>FyU0UI5|^>&0w!%B`~9&$jRaVo zgB~Q6{ltkBj%M7nn>LNX7i@qvDsB#PiQ5VeN)9fW9E zrmvf)J>n6Ucyu9Xoie3&6%ekH@oM_}u7hJ`D^O&yad{i2S0n>$=tQ_*m#Do59+=td z%P+2f@U`qzBWJj78{hbD-U%8-iXi9C*hd*)gq!0MR`GrLjLD%HlD2ZI*S2lsYO5Y% z{U*>M>cKu4#ngGl3`CR_&6J7Z{}jl+Y1^g`^>Zkj_07tLoXH04k6%O%$ykQz7naVv zzov-r`lvxa?1yYwP;p4{P{*RLo?W?%lqbT(H8d-Uyuh!318}=-NM7Q+36G?9>QJK?ZfQ!=3LCPFnbh(VKBk6kc%OV)>ZU57pGf^> zP?hs7@MR=Qc!yk!z?s*kyn){v-sreeg*^sSHtcH@5?OkGKHOc9uJlG7r}E^-R-)>m z=V}2uNJD~g!ZK=sd{K{EMV_-nWtZO*@V20V)8ID!@7x5G#lh=!Vk{E5j}!KW?-*l! zEmlMFJ0SQ|u2mrUxyc-^K_JCg{Av7XpF@fa?QsJ@r@3R>VRt{rI`Xlf8)zw-QYkHA zzf0+Q$@N?9mdIO~>gLqV2(T!@kl;_q(kl;%PswGQTYStuS33aQ&MD+hO7rNfGpi4) zZLb?rqPHeo=pfIlP(~m`RuT`9d*q}bvK|`$K}#`!uOrpb#mtX2j`>F2_Hm~`+VMtv z0V9)C>z2U#T&btERxhL-ZT(xci17Unvm zC`}Mz$PvL=5(63Lj@HwX*+49=NK0(XGAMpv-jiSABly?C10_rq+y08Rrj32!AtF5r>RG}$* ztwT@DVfUnU=TCl{5ntS9#eoT3z!@kn!|IM=(DddbqP*m zv5(J%bTz#FsVd;GoK0rXQ-$hJ%Y4(g8+Ex9pBmVU*~ASp1Z?{Bda{ zq)hLxP!Tx>5l6b(MF~Z3O(mgK^r3Y*Xr__oYrwTW2gA=|rNYWfgA62>`J9haDpaE^ zHR&qEXai%J)--iF)HIsybcMWitnHFR`^_oX!=@dqrMz#){kc5-K?9(426g4j5$X)o zpD_TpzLQ@ovCuEKm+xoC8En}Ioz^*5cDX3a7WE$@Oy%Fi<|F( zvZ4LB^!$<{<;DDa`dZ`Sds~8y$C$)LGUTP!4BR04SnwD=po})iEV!)TJbRl&tUw_A z7zH?s9N#Jf)9}A<-q|M~dr+R^qSAx+ksb|Nw46`M=TN;UjmSF~xiGYlO<$2L`JV#= zFa#H9z#NPNwGpUB^2!BBe+S=d^BbG1aYAbt$Si^{h{|rR;9z2UBssmbl1>IgtbmD0 z`|pX=BOH^nUILK)vPdibPu3LRLX^`%54nZ1yy`?Vf+h$GQ$7^^IK3wE>=_jZpWv0R z#;&Xb;ZrKf)$QY2z*XQWgtfbDvm61dx)(LP1a!?u!)&APtg{#~F^4MF9SQe>grd+? z@&!F!gFqGJdQIi|y7pz8vkuC8nq1^Goil?RI&UyLVN_edwcHWGhx8Wccsl|+D)oc~ zHyQl-6vRId*vVavqw-kLZTo(PyxU$8M-5VfeB`1SS_d@zcz=nj#6AesdsnLYmn0By zPs4L?l5OYCS#zL*#j2Oe?uKQWYR~uPxx?(}RYb_33|s(Dg;8Qx z+jCN4khT)Ncx^w~%rUsVvNT7;<5qv@bkto)HV^kzS3>1erc|BSL!0{kcVzx)C3422 zlY3`gk!?I}y;!GnXN-TYl@e>}0t+xdU4JK!SBJa@-Nh6z`-%(>) z{u1PmId-1fQII?|76Q_Hoa@lTr&JUC;q8A7aE=p`pUw}4vf^SgZl5ci{3GyY42DRP6My)*2?HZ`+ z_J0m)`c?V(tiGJM|G$^@2>5Gu_yZHs z+m)1!fu!dNR~FN!bY=s;D}LuSLxcjNs$r_dansN|{bt|kFZ696BkJX!?SbF9rLCjC zrQTS-8nm|lVL4R5dUD5{=u@|=LHq3yS1J%@g_&*M@fh2i0_Z$rQxY9SrQH5P?>Us} z%A{6Z&VzaGd&3)g47c?g!(W~b_ye=uz}Ltik7>C$Ol3Y6h5=L=jM|Sjo>gQ5*@r|x zpd44eM_Z9_wQ5vj1piI4+*u?x1uNj|q`L)%oeTHivk`$8iZ&otM=C1+g=FAUbbqok zGr|G?(>L?DhC6fNo?z?yv!qOnduC?+`_Gja{5TAXegan6KVTtEZWSyhFjSOka#yyS zAv+u2=)?u>TmAJo?#h9D`<6#ilv00QBR|h+A}o`Y*|pUH%Y8Lo!`WXT8Rdn{%xDle zHAxYMFTwZ+U{ryn-;n~Y7!I00j|tF6L5klzrepvMNtN{w6@Wp1qf+lP*x`lN@OS0?IUaOK~aAmi0PqrmwAImD)Im6F`3kOaKs#=a7d!VXLcRv2+~2Q^2$?p&pXzfdgy+ zb%{y-mL830j-|nI?-o}{bX-AXHRscXm$V`?=dBI6l`~MF(*`NzAr6O>$QN!`h4&(5 z&EEdK=~>g#1k0i?o^eTko)0yP;f$$&K{mBsyP(qHZSgX_cIXo@aFHCo^%2;AWf5WX zU5#yNvBtMv?1M>tr0qG6Mq?pXEm^5hV_VW~rMc@@Yy^@@blRC`VE0pJ;YYme+`W%pW(liLHO#nANkdwiy2gWPJRdVCbu* z9i(qZg-<0$)BZ>#{#aLu^L7cB8Z+se-^bW_juU^YQx(XaufK;5*@l zxk}W)A$!k^`&5Q{(}4x9)1A035bduopDpbqaQNT7a9Y=W!3Bji{SicpT{w3CceMdN zKE%(HIKiR6ex>^V^8YTVXRmG^C?o&#|1+mW_GNyb6CLk~2 zZ=J#F|Mn^{@(q-nALVfVW{pV~g~c%ANaz<3cSf(VGY7W>$O= z0loW>&aZKl_sfp8eY#6R6&CA%s6dBHtj$y0OBrU@U|zI%1m4lp?D50VAJ-LzQ*v!r2js^HG4dn5{>mZXgV}0(s$O2Kw+!dU=tV ze`qd$B6cL6zQ14f_Hd2Y;&Cep;TZX|4PZ%P@ZI5k~Ju>Pz6zAfTHf z@~#Y-nVf}d}rPG4+yU{xqho{#E#{8}jgagHr@BtMdY z*tlzJ$RjF_W#Cl&Lw5Ad-fCr3a&(XQnA_Fn*z+UvV1?D0l;`K5752 zi)LB)NEk4a!y^jv2T5K)cSEje?b2y;f0os?Uli$7DJkJ$s+BJ>)D~jeZjT%DQZvTf^(&Hjl1Nks{ z47kbR)N&miM2MA%?uw1>3zKf~0#R7NVI0IZRW@wicf#O9(9tmJf9D{jn}T$zlmv6R ztZ)cANV_!~xCxB3+?=Z>@hxttI2FoS8FYx1o3?v`=AZ{b8kLu0#dqK8uhHLoS;7l4c9M_-twWa1@idoC4>n|0k?b(m_qsZ`1Qs-@$d;Z@ZYvmb zwIY@1U7`W6uc*4J)pQweLAm4Bos5IM@rik`IO*a&I?E%s*wDZp!iX(a@>DKaqIY_(Q^`!7Dkw#XZ0{^Wa%!x6 zrdnmmmk!YfV+p{C%r8QOLY~3ErM6(=hH@mz%ghNnh`tw&JhqyjWLEh|`PJQXSR&IN zS1{j^Cy*2yz2fTuh%3X)_ZBE=0x~6g%ikR#nj>L3#^S3g3U`c$rR<{zqhkkjU-kqv z+fhhG!PyB&HZu*EO%k=sr1}cC6Ia;zFx>F)X&w!+6=8H+IB_yMvX?n7C+r6Q(oT_z zR?W&5ncjUS2n~O@bO@Rk(AosJQAUkESyM-1djpXbo+0@X=|YG6k38eUP(&LOSg;pM z+x(ca57B^6Tbmm3^?7q7T~~{aWaoj~g6VF{yu15&%5*f!rD+P|E%-AcJsDd212a_Z z(#g0%+>wDdCs{BM-F1BKMcc7JctaN*O)BS&r~#mo1_~th8l~vZoD=kRX53MKsLBix zAK#yOkdroU6_qc`e4UcYXtTaHTSVXSDGl_f4I-~doa^#LNO9;tKbtHBrU@cgSWu29 z_GY9!r&#HflBsyZ%0xifeA3Io0B{a4Ap92xJ<1P_)gDCL;FcbKqynl#R2z zMDh-^##(GHsvO`8VX$QPN4_{QBI}qLwEuMunDL;(+w_-vgC9DA0yBdHL4hwRda`*( zZbn2-$Kp;DZhh5F)K#x50skQa&~BhP>-li>X?QSr3Q1SyE=vnni6F=WU62kkCi9-A z5()VS5FmdH9&nCK@DbE%kpDtar22c$L!Z#AgD>N*e))0_eDeM6gIfS$Z#Nl) zKY^64I~Cd|;Q8ZTGMGT&Va)(*(K7+k|z>0PvAi)Q)VK)Dd((5wD#@x_JLg+*0-_aB{Q zit9lvO{J$2#;f0@|GG;xJWP+GY@FLprDGd8$XFy6xq|?sxco#lARmxnEP?@~YKJmZ zDD316Y-mY2_}4nqBNOJA57MUm226Q$46;2Mk8h}IN^#V?sLIf|JUIgyL?$A0UN|P} zHZ~;>^P6}Iqi;waA9E0vYm4;mduD?KlCe37rOUsay8J5Q{-N$T|2=N&r{Bjeuz(GJ z#i{pHYlZ!Y2 zzi10ZCTY*!*a^YOIivK&%EY^z>ke;x0$TRN*`op3N&vpx=K;npAqN~ zTcTKBQ_-k7;AeHD@bda?QzrHRK=t!)W$rXTRyMHbwc$YVeN{KWg-A>Iu%qWbV^Rdqd$UBAh=@2%Ag=y6x^Uz=4Dbw@qKk`}wO z<9zS1_u0>3u7c{QBe#y=oB{ZFBj37G@{vl4Dt@t^&D33J#BMV|_U65dWTS%}wzkdkvAhX+MPI8c=45<=WH7^8NR5G4Np_?4K8Ad; z<0+SNSXlpr(1A=eDUc&8)AK55d>P};xBDrMe4?=Ny?1cDi(Vxbk%S>*Lgj^`F0a~y z?=H8hvIh~R!|tt);*;&lQKHR8A^iv9a=02;U;D_? zo{TyQiC3EoikH3-BgW#pCbjH$GM7oTObm7>gR)V(f1WSonT24II4-59hYQI*>of&A zB=i*`7o}Z8BDYD0;P@^EiTrFBbxYqGju}agPH;sy3Q0;~VyC9`JD&S3Sb#JK`I8gb zb~D^Bychqysp)k#7|z1EFLT4Lpm-zMdPA5=`HeveYZUnP{uG(4^>S;!b=mP&kUH(~ zJ9F?>ns7jJTHmMWN*C^c-{!oma>#-*WOw3$o)RW^ikj@af^%1C2{w{ar5hc+%*uR3 z+tikcXhdX~g1bbOY&Bv4*WqZV>R#!GUzlwI|5?CyxO3e_(DNMDi>z( z>09rIcXw#Anj2lowP4~ml$>Y2X??C^g81Vg$@m2a#kqEh+&dI2gB-LL`Vec6t(e`C z+8dFaJPHjYvXJ2=E6_@dOAV~a>J<{rCpt|FNTpZ7zvLeTH_3@f+@ zTZj}X#mVsa`=jnaJwjWQGWkXS^wA3S`6cyppWdhM7fT*oAq34!K!S@D_{Hy^ursEt zAkErDfo)>n=x9L)Xk+ZO=ic}C{_UW)Bo`VKRo(*P{pjoONv#thK%_HzbHLUaqv$XB z5IH*i^h;TPjv0Oo;D`*3Vi0m4SPCmxw9hb&`9>&lit6GC^dP#E~Sie9%)_g8Az?S>t=R z(yhumE3l_(_!>7dvtyxY#pkpFoHe`Lx33kChV%4oVS8v=^3<=2jIS^C)1&}k z5k>k?Kzu&9`-i^p*obA5Un!#Fp3o;XFO49^NlY^! zrL*0&mLG+&McnTUBc^+H^%Wr}2tM#{i~nCIeRg?pA%#-qeiWr8C;Et5OV%@GIurik z!)xs^wzB1VbC33uI?mz`y+BbZqZ=7!v4RJgX&1N#nLs|c^XU5AZ%MT7VDOO=4$;0n zbNcw&X|z4xb)~1v|BGl!C-7nYzPkc=AIH$8oN1`a#$O$&J zbPd_e%c#db07?vC(ZwKSRM+&Ut;>-b4$QmQK-$V=N5|ZdF1q?}9}d1g z&8MqKv-k)+%~Ha<`s@FRX(c}a7;TiNxnvlJ2>F(kQ*pOdu_-{+fx|oC|1HgJAm9HA zoFg;#`)Frrl1GvTPW&7Z3+k6yY90(Gg92OEvPhroGG-wYg}xT&boK4;d-jT1qn=AW;89K279Ux%`B#HgT; z%)T19VSbOSZJhgl*6!{8DYJ38t zO`zA%s}E7M>DV6@dho<9SF4CJ9JM5(sL%R=m6WKksrLVnh2fCvAG<$rd=B#BLF;mQ z_gK@nCBJkTd&iXbNCsXO;EFtX6=N3mJBH!-E#s`(j9CD!jfZgj_VRSQYt?seW! zuBWwyffx;>g%1gV5#Rh^?>jywQG-CAQs9A7d?1EdWVT#B6)x|Ch5V{yT5i;>iA7Zg z-+AlY->1mwmwNnil z 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

%dld*oL6O174{+U8-Pk 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�uLr-rc}K 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 previous; + } + return false; +} + +async function getAvailableAppUpdate() { + const controller = new AbortController(); + const timeout = setTimeout(function() { controller.abort(); }, 10000); + try { + const response = await fetch('https://api.github.com/repos/vad-b/luci-app-tailscale-ng/releases/latest', { + 'credentials': 'omit', + 'referrerPolicy': 'no-referrer', + 'signal': controller.signal + }); + if (!response.ok) + throw new Error('GitHub HTTP ' + response.status); + const release = await response.json(); + if (release.draft || release.prerelease || !isNewerAppVersion(release.tag_name, APP_VERSION)) + return null; + return { + version: release.tag_name.replace(/^v/, ''), + url: 'https://github.com/vad-b/luci-app-tailscale-ng/releases/tag/' + encodeURIComponent(release.tag_name) + }; + } finally { + clearTimeout(timeout); + } +} + async function getServiceStatus() { try { cachedServiceList = await callServiceList('tailscale'); @@ -71,12 +121,13 @@ async function getInterfaceSubnets() { } } -async function getTailscaleInfo(isRunning) { +async function getTailscaleInfo(isRunning, systemHostname) { const info = { isRunning: isRunning, backendState: undefined, authURL: undefined, displayName: undefined, + nodeName: systemHostname, onlineExitNodes: [], subnetRoutes: [] }; @@ -92,6 +143,13 @@ async function getTailscaleInfo(isRunning) { info.backendState = status.BackendState; info.authURL = status.AuthURL; + if (status.Self) { + const tailscaleNodeName = status.Self.HostName || + (status.Self.DNSName ? status.Self.DNSName.replace(/\.$/, '').split('.')[0] : undefined); + + if (tailscaleNodeName) + info.nodeName = tailscaleNodeName; + } if (info.backendState === 'Running' && status.Self && status.User) { info.displayName = status.User[status.Self.UserID]?.DisplayName; @@ -154,12 +212,175 @@ async function getStatusData() { return data; } +function stateOperationError(res, fallback) { + if (res && res.code === 0) + return null; + + const helperMessages = { + 10: _('The configured Tailscale state file path must be absolute.'), + 11: _('The Tailscale state file was not found.'), + 12: _('The Tailscale state file is empty.'), + 13: _('The Tailscale state file exceeds the 8 MiB size limit.'), + 14: _('The Tailscale state file must contain a valid JSON object.'), + 15: _('The Tailscale state file does not contain a machine key.') + }; + + if (res && typeof(res.code) === 'number' && Object.prototype.hasOwnProperty.call(helperMessages, res.code)) + return new Error(helperMessages[res.code]); + + const error = new Error(fallback); + const detail = res && (res.stderr || res.stdout); + error.details = typeof(detail) === 'string' ? detail.trim() : ''; + return error; +} + +function sanitizeFilenamePart(value, fallback) { + const sanitized = String(value || '') + .replace(/[^A-Za-z0-9._-]+/g, '-') + .replace(/^-+|-+$/g, '') + .slice(0, 64); + + return sanitized || fallback; +} + +function buildStateDownloadName(info) { + const now = new Date(); + const pad = function(value) { return String(value).padStart(2, '0'); }; + const stamp = String(now.getUTCFullYear()) + + pad(now.getUTCMonth() + 1) + + pad(now.getUTCDate()) + '-' + + pad(now.getUTCHours()) + + pad(now.getUTCMinutes()) + + pad(now.getUTCSeconds()); + const nodeName = sanitizeFilenamePart(info?.nodeName, 'openwrt'); + + return 'tailscale-auth-state-' + nodeName + '-' + stamp + '.state'; +} + +async function handleDownloadAuthenticationState(info) { + ui.showModal(_('Preparing Tailscale state file...'), [ + E('p', { 'class': 'spinning' }, _('The download will start when the Tailscale state file is ready.')) + ]); + + try { + const prepareRes = await fs.exec(STATE_HELPER, ['prepare-download']); + const prepareError = stateOperationError(prepareRes, _('Unable to prepare the Tailscale state file.')); + if (prepareError) + throw prepareError; + + const blob = await fs.read_direct(STATE_DOWNLOAD_FILE, 'blob'); + const url = URL.createObjectURL(blob); + const link = E('a', { + 'href': url, + 'download': buildStateDownloadName(info), + 'style': 'display:none' + }); + + document.body.appendChild(link); + link.click(); + link.remove(); + setTimeout(function() { URL.revokeObjectURL(url); }, 1000); + ui.hideModal(); + } catch (e) { + ui.hideModal(); + ui.addNotification(null, [ + E('p', {}, [_('Download failed: %s').format(e.message)]), + e.details ? E('pre', {}, [e.details]) : '' + ], 'error'); + } finally { + await L.resolveDefault(fs.remove(STATE_DOWNLOAD_FILE)); + } +} + +async function handleUploadAuthenticationState() { + try { + const upload = ui.uploadFile(STATE_UPLOAD_FILE); + const uploadPrompt = document.querySelector('.modal p'); + if (uploadPrompt) { + uploadPrompt.insertAdjacentElement('afterend', E('p', {}, [ + _('Select a Tailscale authentication state file. This device\'s current Tailscale authentication state will only be replaced after confirmation.') + ])); + } + await upload; + + const validateRes = await fs.exec(STATE_HELPER, ['validate-upload']); + const validateError = stateOperationError(validateRes, _('The uploaded file is not a valid Tailscale authentication state file.')); + if (validateError) + throw validateError; + + if (!confirm(_('Replace this device\'s current Tailscale authentication state with this file? The Tailscale settings saved on this router will be applied. If "Tailscale Enabled" is off, the service will remain stopped. Do not use the same Tailscale state file on two devices at once.'))) + return; + + ui.showModal(_('Restoring Tailscale state...'), [ + E('p', { 'class': 'spinning' }, _('Replacing this device\'s Tailscale authentication state and applying the Tailscale settings saved on this router.')) + ]); + + const restoreRes = await fs.exec(STATE_HELPER, ['restore-upload']); + const restoreError = stateOperationError(restoreRes, _('Unable to restore the Tailscale state file.')); + if (restoreError) + throw restoreError; + + location.reload(); + } catch (e) { + ui.hideModal(); + if (e.message !== _('Upload has been cancelled')) { + ui.addNotification(null, [ + E('p', {}, [_('Restore failed: %s').format(e.message)]), + e.details ? E('pre', {}, [e.details]) : '' + ], 'error'); + } + } finally { + await L.resolveDefault(fs.remove(STATE_UPLOAD_FILE)); + } +} + async function handleServiceAction(action, message) { ui.showModal(null, [E('p', { 'class': 'spinning' }, message)]); await callInitAction('luci-app-tailscale-ng', action); location.reload(); } +function handleStartService(enabledOption, sectionId) { + if (enabledOption.cfgvalue(sectionId) === '1') + return handleServiceAction('start', _('Starting Tailscale service...')); + + const enabledWidget = enabledOption.getUIElement(sectionId); + const enabledCheckbox = enabledWidget?.node?.querySelector('input[type="checkbox"]'); + const canEnable = !!(enabledCheckbox && !enabledCheckbox.disabled); + + const buttons = [ + E('button', { + 'type': 'button', + 'class': 'btn', + 'click': ui.hideModal + }, _('Cancel')) + ]; + + if (canEnable) { + buttons.push(E('button', { + 'type': 'button', + 'class': 'btn cbi-button-positive', + 'click': function() { + ui.hideModal(); + if (!enabledCheckbox.checked) + enabledCheckbox.click(); + enabledCheckbox.focus(); + } + }, _('Enable Tailscale'))); + } + + ui.showModal(_('Tailscale is disabled'), [ + E('p', {}, [ + _('The Tailscale service is disabled in the saved configuration.'), + E('br'), + _('Turn on "Tailscale Enabled", then click "Save & Apply" to start the service.') + ]), + E('div', { 'class': 'right' }, buttons) + ]); + + return Promise.resolve(); +} + function handleLogoutAndClean() { if (!confirm(_('Are you sure you want to log out and clean the local state?'))) return Promise.resolve(); @@ -256,6 +477,7 @@ const icons = { function renderIconButton(icon, text, className, onClick) { return E('button', { + 'type': 'button', 'class': 'btn ' + className, 'click': onClick, 'style': 'display: inline-flex; align-items: center;' @@ -293,8 +515,9 @@ const ServiceStatusValue = form.DummyValue.extend({ __name__: 'ServiceStatusValue', isRunning: false, tsInfo: null, + enabledOption: null, - renderWidget: function() { + renderWidget: function(sectionId) { const isRunning = this.isRunning; const info = this.tsInfo || null; @@ -325,7 +548,7 @@ const ServiceStatusValue = form.DummyValue.extend({ buttonsDiv.appendChild(renderIconButton( icons.start(), _('Start'), 'cbi-button-positive', ui.createHandlerFn(this, function() { - return handleServiceAction('start', _('Starting Tailscale service...')); + return handleStartService(this.enabledOption, sectionId); }) )); } @@ -462,16 +685,84 @@ const DynamicLogoutButton = form.Button.extend({ } }); +function showAppUpdate(update) { + const installCommand = 'wget -qO- https://raw.githubusercontent.com/vad-b/luci-app-tailscale-ng/main/install.sh | sh'; + const commandBlock = E('pre', { + 'style': 'white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box;margin:0;padding:12px 48px 12px 12px' + }, [installCommand]); + const copyIcon = createIcon([ + svgEl('rect', { 'x': '9', 'y': '9', 'width': '13', 'height': '13', 'rx': '2' }), + svgEl('path', { 'd': 'M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1' }) + ]); + copyIcon.setAttribute('aria-hidden', 'true'); + const copyButton = E('button', { + 'type': 'button', + 'class': 'btn', + 'title': _('Copy command'), + 'aria-label': _('Copy command'), + 'style': 'position:absolute;top:6px;right:6px;width:28px;height:28px;padding:4px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center', + 'click': async function(ev) { + const button = ev.currentTarget; + let copied = false; + try { + await navigator.clipboard.writeText(installCommand); + copied = true; + } catch (e) {} + if (!copied) { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(commandBlock); + selection.removeAllRanges(); + selection.addRange(range); + try { + copied = document.execCommand('copy'); + } catch (e) {} + } + button.textContent = copied ? '✓' : '!'; + button.setAttribute('title', copied ? _('Copied') : _('Copy manually')); + button.setAttribute('aria-label', copied ? _('Copied') : _('Copy manually')); + } + }, [copyIcon]); + const modal = ui.showModal(_('Update available'), [ + E('p', {}, [_('Current version'), ': ', E('strong', {}, ['v' + APP_VERSION])]), + E('p', {}, [ + _('New version'), ': ', E('strong', {}, ['v' + update.version]), ' · ', + E('a', { + 'href': update.url, + 'target': '_blank', + 'rel': 'noopener' + }, [_('Release notes'), ' ↗']) + ]), + E('p', {}, [_('To update, run this command as root in an SSH session on your router:')]), + E('div', { 'style': 'position:relative;margin-bottom:1em' }, [commandBlock, copyButton]), + E('div', { 'class': 'right' }, [ + E('button', { + 'type': 'button', + 'class': 'btn', + 'click': ui.hideModal + }, _('Close')) + ]) + ]); + modal.style.maxWidth = '560px'; +} + // Main view return view.extend({ load: function() { - return getServiceStatus().then(function(isRunning) { + return Promise.all([ + getServiceStatus(), + L.resolveDefault(callSystemBoard(), {}) + ]).then(function(results) { + const isRunning = results[0]; + const systemHostname = results[1]?.hostname; + return Promise.all([ Promise.resolve(isRunning), - getTailscaleInfo(isRunning), + getTailscaleInfo(isRunning, systemHostname), getInterfaceSubnets(), - fs.exec('/usr/sbin/tailscale', ['version']) + fs.exec('/usr/sbin/tailscale', ['version']), + Promise.resolve(systemHostname) ]); }); }, @@ -482,6 +773,7 @@ return view.extend({ latestTsInfo = tsInfo; const interfaceSubnets = data[2]; const versionRes = data[3]; + const systemHostname = data[4]; const tsVersion = (versionRes && versionRes.code === 0 && versionRes.stdout) ? versionRes.stdout.trim().split('\n')[0] : null; @@ -500,14 +792,15 @@ return view.extend({ s.anonymous = true; s.addremove = false; - o = s.option(form.Flag, 'enabled', _('Tailscale Enabled')); - o.description = _('Start Tailscale service on boot.'); - o.default = '0'; - o.rmempty = false; + const enabledOption = s.option(form.Flag, 'enabled', _('Tailscale Enabled')); + enabledOption.description = _('Start Tailscale service on boot.'); + enabledOption.default = '0'; + enabledOption.rmempty = false; o = s.option(ServiceStatusValue, '_service_status', _('Tailscale Status')); o.isRunning = isRunning; o.tsInfo = tsInfo; + o.enabledOption = enabledOption; o = s.option(form.DummyValue, '_tailscale_version', _('Tailscale Version')); o.renderWidget = function() { @@ -555,6 +848,26 @@ return view.extend({ return handleLogoutAndClean(); }; + // Authentication state backup and restore + o = s.taboption('auth', SectionTitle, '_auth_state_title'); + o.title = _('Authentication State'); + + o = s.taboption('auth', form.Button, '_download_state', _('Download State')); + o.inputtitle = _('Download'); + o.inputstyle = 'action'; + o.description = _('Download this device\'s Tailscale authentication state file. It contains credentials, so keep it secure.'); + o.onclick = function() { + return handleDownloadAuthenticationState(latestTsInfo || tsInfo); + }; + + o = s.taboption('auth', form.Button, '_restore_state', _('Restore State')); + o.inputtitle = _('Upload & Restore'); + o.inputstyle = 'negative'; + o.description = _('Replace this device\'s Tailscale authentication state with an uploaded file. The Tailscale settings saved on this router will then be applied. If "Tailscale Enabled" is off, the service will remain stopped. Do not use the same Tailscale state file on two devices at once.'); + o.onclick = function() { + return handleUploadAuthenticationState(); + }; + // Settings tab: General o = s.taboption('settings', SectionTitle, '_general_title'); o.title = _('General'); @@ -714,7 +1027,7 @@ return view.extend({ // Poll service status and login status poll.add(async function() { const running = await getServiceStatus(); - const info = await getTailscaleInfo(running); + const info = await getTailscaleInfo(running, systemHostname); latestTsInfo = info; // Update service status display @@ -743,6 +1056,43 @@ return view.extend({ }, 15); return m.render().then(function(mapNode) { + const heading = mapNode.querySelector('h2'); + if (heading) { + const githubIcon = svgEl('svg', { + 'width': '14', + 'height': '14', + 'viewBox': '0 0 16 16', + 'fill': 'currentColor', + 'aria-hidden': 'true', + 'style': 'vertical-align:-0.125em;margin-right:0.3em' + }, [svgEl('path', { + 'd': 'M6.766 11.328c-2.063-.25-3.516-1.734-3.516-3.656 0-.781.281-1.625.75-2.188-.203-.515-.172-1.609.063-2.062.625-.078 1.468.25 1.968.703.594-.187 1.219-.281 1.985-.281.765 0 1.39.094 1.953.265.484-.437 1.344-.765 1.969-.687.218.422.25 1.515.046 2.047.5.593.766 1.39.766 2.203 0 1.922-1.453 3.375-3.547 3.64.531.344.89 1.094.89 1.954v1.625c0 .468.391.734.86.547C13.781 14.359 16 11.53 16 8.03 16 3.61 12.406 0 7.984 0 3.563 0 0 3.61 0 8.031a7.88 7.88 0 0 0 5.172 7.422c.422.156.828-.125.828-.547v-1.25c-.219.094-.5.156-.75.156-1.031 0-1.64-.562-2.078-1.609-.172-.422-.36-.672-.719-.719-.187-.015-.25-.093-.25-.187 0-.188.313-.328.625-.328.453 0 .844.281 1.25.86.313.452.64.655 1.031.655s.641-.14 1-.5c.266-.265.47-.5.657-.656' + })]); + const metadata = E('span', { + 'style': 'display:inline-block;margin-left:16px;font-size:13px;font-weight:400;line-height:18px;white-space:nowrap' + }, [ + 'v' + APP_VERSION + ' · ', + E('a', { + 'href': 'https://github.com/vad-b/luci-app-tailscale-ng', + 'target': '_blank', + 'rel': 'noopener' + }, [githubIcon, 'GitHub']) + ]); + heading.appendChild(metadata); + getAvailableAppUpdate().then(function(update) { + if (!update) + return; + metadata.appendChild(document.createTextNode(' · ')); + metadata.appendChild(E('button', { + 'type': 'button', + 'style': 'display:inline-block;padding:1px 7px;border:1px solid #fcd34d;border-radius:4px;background:#fef3c7;color:#713f12;font-family:inherit;font-size:12px;font-weight:400;line-height:18px;vertical-align:baseline;cursor:pointer', + 'click': function() { showAppUpdate(update); } + }, [_('Update available: %s').format('v' + update.version)])); + }).catch(function(error) { + console.warn('Unable to check for application updates:', error); + }); + } + // Start loading status data immediately in background (fire and forget) loadStatusData(); updateExitNodeOptions(tsInfo); @@ -752,7 +1102,7 @@ return view.extend({ // This handles the case when service just started if (tsInfo.backendState !== 'Running' && isRunning) { const quickUpdateLogin = async function() { - const info = await getTailscaleInfo(true); + const info = await getTailscaleInfo(true, systemHostname); latestTsInfo = info; // Keep service status block in sync with quick login updates. diff --git a/luci-app-tailscale-ng/po/templates/luci-app-tailscale-ng.pot b/luci-app-tailscale-ng/po/templates/luci-app-tailscale-ng.pot index cc716994d..fda63371f 100644 --- a/luci-app-tailscale-ng/po/templates/luci-app-tailscale-ng.pot +++ b/luci-app-tailscale-ng/po/templates/luci-app-tailscale-ng.pot @@ -1,103 +1,156 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:199 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:618 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:420 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:931 msgid "-- None --" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:587 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:900 msgid "Accept DNS" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:588 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:901 msgid "Accept DNS configuration from the control server." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:601 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:914 msgid "Accept Subnet Routes" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:602 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:915 msgid "Accept subnet routes that other nodes advertise." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:648 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:961 msgid "Additional Flags" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:596 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:909 msgid "Advertise Exit Node" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:606 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:919 msgid "Advertised Routes" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:164 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:385 msgid "Are you sure you want to log out and clean the local state?" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:522 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:528 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:815 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:821 msgid "Authentication" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:534 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:853 +msgid "Authentication State" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:827 msgid "Base URL of login (control) server." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:283 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:356 +msgid "Cancel" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:505 msgid "Checking login..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:368 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:591 msgid "Checking status..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:355 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:578 msgid "Click here to log in" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:131 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:743 +msgid "Close" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:189 msgid "Command exited with code" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:585 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:722 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:723 +msgid "Copied" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:701 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:702 +msgid "Copy command" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:722 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:723 +msgid "Copy manually" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:727 +msgid "Current version" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:898 msgid "DNS" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:552 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:845 msgid "" "Disconnect from login server, expire current login, and flush local state " "cache." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:173 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:856 +msgid "Download" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:855 +msgid "Download State" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:287 +msgid "Download failed: %s" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:858 +msgid "" +"Download this device's Tailscale authentication state file. It contains " +"credentials, so keep it secure." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:369 +msgid "Enable Tailscale" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:394 msgid "Error:" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:151 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:209 msgid "Error: unable to load status data." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:616 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:929 msgid "Exit Node" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:646 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:959 msgid "Extra" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:650 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:963 msgid "Extra flags in format --flag=value. See %s for available options." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:575 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:888 msgid "Firewall Mode" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:560 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:873 msgid "General" msgstr "" @@ -105,209 +158,335 @@ msgstr "" msgid "Grant access to Tailscale NG configuration" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:562 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:875 msgid "Listen Port" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:387 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:610 msgid "Loading..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:279 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:501 msgid "Logged in" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:281 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:503 msgid "Logged out" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:630 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:943 msgid "Logging" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:167 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:388 msgid "Logging out and cleaning state..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:634 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:947 msgid "Logging program activities." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:640 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:953 msgid "Logging program errors and exceptions." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:533 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:826 msgid "Login Server" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:530 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:823 msgid "Login Status" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:549 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:842 msgid "Logout" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:546 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:550 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:839 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:843 msgid "Logout and Clean" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:363 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:586 msgid "Manage in Admin Console" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:514 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:807 msgid "N/A" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:391 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:707 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:729 +msgid "New version" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:614 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:1020 msgid "No output available. Service may not be running." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:270 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:492 msgid "Not running" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:597 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:910 msgid "Offer to be an exit node for outbound internet traffic." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:571 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:884 msgid "Path to state file. WARNING: Changing this requires reauthentication." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:538 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:831 msgid "Pre-authentication Key" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:313 -msgid "Restart" +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:261 +msgid "Preparing Tailscale state file..." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:734 +msgid "Release notes" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:866 +msgid "" +"Replace this device's Tailscale authentication state with an uploaded file. " +"The Tailscale settings saved on this router will then be applied. If " +"\"Tailscale Enabled\" is off, the service will remain stopped. Do not use " +"the same Tailscale state file on two devices at once." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:311 +msgid "" +"Replace this device's current Tailscale authentication state with this file? " +"The Tailscale settings saved on this router will be applied. If \"Tailscale " +"Enabled\" is off, the service will remain stopped. Do not use the same " +"Tailscale state file on two devices at once." msgstr "" #: htdocs/luci-static/resources/view/tailscale-ng/index.js:315 +msgid "" +"Replacing this device's Tailscale authentication state and applying the " +"Tailscale settings saved on this router." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:536 +msgid "Restart" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:538 msgid "Restarting Tailscale service..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:594 -msgid "Routing" -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:273 -msgid "Running" -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:617 -msgid "Select an online machine to use as an exit node." -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:577 -msgid "Select the firewall backend to use." -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:366 -msgid "Service not running" -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:539 -msgid "Set the machine authorization key." -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:523 -msgid "Settings" -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:326 -msgid "Start" -msgstr "" - -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:504 -msgid "Start Tailscale service on boot." +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:863 +msgid "Restore State" msgstr "" #: htdocs/luci-static/resources/view/tailscale-ng/index.js:328 +msgid "Restore failed: %s" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:314 +msgid "Restoring Tailscale state..." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:907 +msgid "Routing" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:495 +msgid "Running" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:301 +msgid "" +"Select a Tailscale authentication state file. This device's current " +"Tailscale authentication state will only be replaced after confirmation." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:930 +msgid "Select an online machine to use as an exit node." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:890 +msgid "Select the firewall backend to use." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:589 +msgid "Service not running" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:832 +msgid "Set the machine authorization key." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:816 +msgid "Settings" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:549 +msgid "Start" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:796 +msgid "Start Tailscale service on boot." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:345 msgid "Starting Tailscale service..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:569 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:882 msgid "State File" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:524 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:817 msgid "Status" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:638 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:951 msgid "StdErr Logging" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:632 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:945 msgid "StdOut Logging" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:319 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:542 msgid "Stop" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:321 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:544 msgid "Stopping Tailscale service..." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:607 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:920 msgid "" "Subnets to advertise to other Tailscale nodes, e.g. 192.168.1.0/24." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:681 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:994 msgid "Tailscale DNS Status" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:503 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:795 msgid "Tailscale Enabled" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:663 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:976 msgid "Tailscale IP" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:669 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:982 msgid "Tailscale Interface" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:492 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:784 #: root/usr/share/luci/menu.d/luci-app-tailscale-ng.json:3 msgid "Tailscale NG" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:675 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:988 msgid "Tailscale Netcheck" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:508 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:657 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:800 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:970 msgid "Tailscale Status" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:512 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:805 msgid "Tailscale Version" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:651 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:964 msgid "Tailscale documentation" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:493 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:785 msgid "Tailscale is a cross-platform and easy to use virtual LAN." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:564 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:372 +msgid "Tailscale is disabled" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:374 +msgid "The Tailscale service is disabled in the saved configuration." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:225 +msgid "The Tailscale state file does not contain a machine key." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:223 +msgid "The Tailscale state file exceeds the 8 MiB size limit." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:222 +msgid "The Tailscale state file is empty." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:224 +msgid "The Tailscale state file must contain a valid JSON object." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:221 +msgid "The Tailscale state file was not found." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:220 +msgid "The configured Tailscale state file path must be absolute." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:262 +msgid "The download will start when the Tailscale state file is ready." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:307 +msgid "The uploaded file is not a valid Tailscale authentication state file." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:736 +msgid "To update, run this command as root in an SSH session on your router:" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:376 +msgid "" +"Turn on \"Tailscale Enabled\", then click \"Save & Apply\" to start the " +"service." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:877 msgid "UDP port to listen on for WireGuard and peer-to-peer traffic." msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:540 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:267 +msgid "Unable to prepare the Tailscale state file." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:319 +msgid "Unable to restore the Tailscale state file." +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:726 +msgid "Update available" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:1090 +msgid "Update available: %s" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:864 +msgid "Upload & Restore" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:326 +msgid "Upload has been cancelled" +msgstr "" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:833 msgid "" "Use a non-reusable auth key and disable key expiry for trusted machines via " "the provider admin console." diff --git a/luci-app-tailscale-ng/po/zh_Hans/luci-app-tailscale-ng.po b/luci-app-tailscale-ng/po/zh_Hans/luci-app-tailscale-ng.po index 55139d3e6..e4d8432e7 100644 --- a/luci-app-tailscale-ng/po/zh_Hans/luci-app-tailscale-ng.po +++ b/luci-app-tailscale-ng/po/zh_Hans/luci-app-tailscale-ng.po @@ -6,10 +6,10 @@ # Language: zh_Hans (Simplified Chinese) msgid "" msgstr "" -"Project-Id-Version: luci-app-tailscale-ng 0.1.2\n" +"Project-Id-Version: luci-app-tailscale-ng 0.1.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-08-15 00:00+0000\n" -"PO-Revision-Date: 2026-08-15 00:00+0000\n" +"PO-Revision-Date: 2026-11-08 11:34+0000\n" "Last-Translator: \n" "Language-Team: Chinese (Simplified)\n" "Language: zh_Hans\n" @@ -18,103 +18,156 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:199 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:618 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:420 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:931 msgid "-- None --" msgstr "-- 无 --" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:587 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:900 msgid "Accept DNS" msgstr "接受 DNS" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:588 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:901 msgid "Accept DNS configuration from the control server." msgstr "接受来自控制服务器的 DNS 配置" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:601 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:914 msgid "Accept Subnet Routes" msgstr "接受子网路由" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:602 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:915 msgid "Accept subnet routes that other nodes advertise." msgstr "接受其他节点通告的子网路由" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:648 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:961 msgid "Additional Flags" msgstr "附加参数" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:596 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:909 msgid "Advertise Exit Node" msgstr "通告出口节点" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:606 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:919 msgid "Advertised Routes" msgstr "通告路由" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:164 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:385 msgid "Are you sure you want to log out and clean the local state?" msgstr "确定要注销并清除本地状态吗?" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:522 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:528 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:815 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:821 msgid "Authentication" msgstr "认证" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:534 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:853 +msgid "Authentication State" +msgstr "认证状态" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:827 msgid "Base URL of login (control) server." msgstr "登录(控制)服务器的基础 URL" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:283 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:356 +msgid "Cancel" +msgstr "取消" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:505 msgid "Checking login..." msgstr "正在检查登录状态..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:368 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:591 msgid "Checking status..." msgstr "正在检查状态..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:355 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:578 msgid "Click here to log in" msgstr "点击此处登录" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:131 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:743 +msgid "Close" +msgstr "关闭" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:189 msgid "Command exited with code" msgstr "命令退出代码:" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:585 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:722 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:723 +msgid "Copied" +msgstr "已复制" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:701 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:702 +msgid "Copy command" +msgstr "复制命令" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:722 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:723 +msgid "Copy manually" +msgstr "手动复制" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:727 +msgid "Current version" +msgstr "当前版本" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:898 msgid "DNS" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:552 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:845 msgid "" "Disconnect from login server, expire current login, and flush local state " "cache." msgstr "断开与登录服务器的连接,使当前登录失效并清除本地状态缓存" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:173 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:856 +msgid "Download" +msgstr "下载" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:855 +msgid "Download State" +msgstr "下载状态" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:287 +msgid "Download failed: %s" +msgstr "下载失败:%s" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:858 +msgid "" +"Download this device's Tailscale authentication state file. It contains " +"credentials, so keep it secure." +msgstr "下载本设备的 Tailscale 认证状态文件。该文件包含凭据,请妥善保管" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:369 +msgid "Enable Tailscale" +msgstr "启用 Tailscale" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:394 msgid "Error:" msgstr "错误:" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:151 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:209 msgid "Error: unable to load status data." msgstr "错误:无法加载状态数据" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:616 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:929 msgid "Exit Node" msgstr "出口节点" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:646 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:959 msgid "Extra" msgstr "其他" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:650 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:963 msgid "Extra flags in format --flag=value. See %s for available options." msgstr "格式为 --flag=value 的附加参数。可用选项请参阅 %s" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:575 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:888 msgid "Firewall Mode" msgstr "防火墙模式" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:560 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:873 msgid "General" msgstr "常规" @@ -122,210 +175,347 @@ msgstr "常规" msgid "Grant access to Tailscale NG configuration" msgstr "授予对 Tailscale NG 配置的访问权限" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:562 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:875 msgid "Listen Port" msgstr "监听端口" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:387 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:610 msgid "Loading..." msgstr "加载中..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:279 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:501 msgid "Logged in" msgstr "已登录" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:281 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:503 msgid "Logged out" msgstr "已注销" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:630 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:943 msgid "Logging" msgstr "日志" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:167 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:388 msgid "Logging out and cleaning state..." msgstr "正在注销并清除状态..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:634 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:947 msgid "Logging program activities." msgstr "记录程序的活动日志" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:640 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:953 msgid "Logging program errors and exceptions." msgstr "记录程序的错误和异常日志" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:533 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:826 msgid "Login Server" msgstr "登录服务器" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:530 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:823 msgid "Login Status" msgstr "登录状态" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:549 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:842 msgid "Logout" msgstr "注销" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:546 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:550 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:839 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:843 msgid "Logout and Clean" msgstr "注销并清理" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:363 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:586 msgid "Manage in Admin Console" msgstr "在管理控制台中管理" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:514 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:807 msgid "N/A" msgstr "不适用" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:391 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:707 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:729 +msgid "New version" +msgstr "新版本" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:614 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:1020 msgid "No output available. Service may not be running." msgstr "没有可用输出。服务可能未在运行" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:270 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:492 msgid "Not running" msgstr "未运行" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:597 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:910 msgid "Offer to be an exit node for outbound internet traffic." msgstr "作为出口节点为出站互联网流量提供服务" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:571 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:884 msgid "Path to state file. WARNING: Changing this requires reauthentication." msgstr "状态文件的路径。警告:更改此设置需要重新认证" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:538 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:831 msgid "Pre-authentication Key" msgstr "预认证密钥" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:313 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:261 +msgid "Preparing Tailscale state file..." +msgstr "正在准备 Tailscale 状态文件..." + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:734 +msgid "Release notes" +msgstr "发行说明" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:866 +msgid "" +"Replace this device's Tailscale authentication state with an uploaded file. " +"The Tailscale settings saved on this router will then be applied. If " +"\"Tailscale Enabled\" is off, the service will remain stopped. Do not use " +"the same Tailscale state file on two devices at once." +msgstr "" +"使用上传的文件替换本设备的 Tailscale 认证状态,随后应用此路由器上保存的 " +"Tailscale 设置。如果“启用 Tailscale”选项处于关闭状态,服务将保持停止。请勿在" +"两台设备上同时使用同一个 Tailscale 状态文件" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:311 +msgid "" +"Replace this device's current Tailscale authentication state with this file? " +"The Tailscale settings saved on this router will be applied. If \"Tailscale " +"Enabled\" is off, the service will remain stopped. Do not use the same " +"Tailscale state file on two devices at once." +msgstr "" +"是否使用此文件替换本设备当前的 Tailscale 认证状态?此路由器上保存的 " +"Tailscale 设置将被应用。如果“启用 Tailscale”选项处于关闭状态,服务将保持停" +"止。请勿在两台设备上同时使用同一个 Tailscale 状态文件" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:315 +msgid "" +"Replacing this device's Tailscale authentication state and applying the " +"Tailscale settings saved on this router." +msgstr "" +"正在替换本设备的 Tailscale 认证状态,并应用此路由器上保存的 Tailscale 设置" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:536 msgid "Restart" msgstr "重启" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:315 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:538 msgid "Restarting Tailscale service..." msgstr "正在重启 Tailscale 服务..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:594 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:863 +msgid "Restore State" +msgstr "恢复状态" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:328 +msgid "Restore failed: %s" +msgstr "恢复失败:%s" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:314 +msgid "Restoring Tailscale state..." +msgstr "正在恢复 Tailscale 状态..." + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:907 msgid "Routing" msgstr "路由" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:273 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:495 msgid "Running" msgstr "运行中" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:617 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:301 +msgid "" +"Select a Tailscale authentication state file. This device's current " +"Tailscale authentication state will only be replaced after confirmation." +msgstr "" +"选择 Tailscale 认证状态文件。只有确认后,才会替换本设备当前的 Tailscale 认证" +"状态" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:930 msgid "Select an online machine to use as an exit node." msgstr "选择一台在线设备作为出口节点" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:577 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:890 msgid "Select the firewall backend to use." msgstr "选择要使用的防火墙后端" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:366 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:589 msgid "Service not running" msgstr "服务未运行" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:539 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:832 msgid "Set the machine authorization key." msgstr "设置设备授权密钥" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:523 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:816 msgid "Settings" msgstr "设置" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:326 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:549 msgid "Start" msgstr "启动" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:504 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:796 msgid "Start Tailscale service on boot." msgstr "开机时启动 Tailscale 服务" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:328 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:345 msgid "Starting Tailscale service..." msgstr "正在启动 Tailscale 服务..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:569 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:882 msgid "State File" msgstr "状态文件" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:524 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:817 msgid "Status" msgstr "状态" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:638 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:951 msgid "StdErr Logging" msgstr "标准错误日志" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:632 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:945 msgid "StdOut Logging" msgstr "标准输出日志" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:319 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:542 msgid "Stop" msgstr "停止" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:321 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:544 msgid "Stopping Tailscale service..." msgstr "正在停止 Tailscale 服务..." -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:607 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:920 msgid "" "Subnets to advertise to other Tailscale nodes, e.g. 192.168.1.0/24." msgstr "向其他 Tailscale 节点通告的子网,例如 192.168.1.0/24" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:681 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:994 msgid "Tailscale DNS Status" msgstr "Tailscale DNS 状态" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:503 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:795 msgid "Tailscale Enabled" msgstr "启用 Tailscale" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:663 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:976 msgid "Tailscale IP" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:669 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:982 msgid "Tailscale Interface" msgstr "Tailscale 接口" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:492 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:784 #: root/usr/share/luci/menu.d/luci-app-tailscale-ng.json:3 msgid "Tailscale NG" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:675 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:988 msgid "Tailscale Netcheck" msgstr "" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:508 -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:657 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:800 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:970 msgid "Tailscale Status" msgstr "Tailscale 状态" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:512 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:805 msgid "Tailscale Version" msgstr "Tailscale 版本" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:651 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:964 msgid "Tailscale documentation" msgstr "Tailscale 文档" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:493 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:785 msgid "Tailscale is a cross-platform and easy to use virtual LAN." msgstr "Tailscale 是一个跨平台且易于使用的虚拟局域网" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:564 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:372 +msgid "Tailscale is disabled" +msgstr "Tailscale 已禁用" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:374 +msgid "The Tailscale service is disabled in the saved configuration." +msgstr "已保存的配置中未启用 Tailscale 服务" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:225 +msgid "The Tailscale state file does not contain a machine key." +msgstr "Tailscale 状态文件不包含设备密钥" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:223 +msgid "The Tailscale state file exceeds the 8 MiB size limit." +msgstr "Tailscale 状态文件超过 8 MiB 大小限制" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:222 +msgid "The Tailscale state file is empty." +msgstr "Tailscale 状态文件为空" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:224 +msgid "The Tailscale state file must contain a valid JSON object." +msgstr "Tailscale 状态文件必须包含有效的 JSON 对象" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:221 +msgid "The Tailscale state file was not found." +msgstr "未找到 Tailscale 状态文件" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:220 +msgid "The configured Tailscale state file path must be absolute." +msgstr "配置的 Tailscale 状态文件路径必须为绝对路径" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:262 +msgid "The download will start when the Tailscale state file is ready." +msgstr "Tailscale 状态文件准备就绪后将开始下载" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:307 +msgid "The uploaded file is not a valid Tailscale authentication state file." +msgstr "上传的文件不是有效的 Tailscale 认证状态文件" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:736 +msgid "To update, run this command as root in an SSH session on your router:" +msgstr "要更新,请以 root 用户身份通过 SSH 登录路由器后运行以下命令:" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:376 +msgid "" +"Turn on \"Tailscale Enabled\", then click \"Save & Apply\" to start the " +"service." +msgstr "开启“启用 Tailscale”选项,然后点击“保存并应用”以启动服务" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:877 msgid "UDP port to listen on for WireGuard and peer-to-peer traffic." msgstr "用于监听 WireGuard 与点对点流量的 UDP 端口" -#: htdocs/luci-static/resources/view/tailscale-ng/index.js:540 +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:267 +msgid "Unable to prepare the Tailscale state file." +msgstr "无法准备 Tailscale 状态文件" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:319 +msgid "Unable to restore the Tailscale state file." +msgstr "无法恢复 Tailscale 状态文件" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:726 +msgid "Update available" +msgstr "有可用更新" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:1090 +msgid "Update available: %s" +msgstr "有可用更新:%s" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:864 +msgid "Upload & Restore" +msgstr "上传并恢复" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:326 +msgid "Upload has been cancelled" +msgstr "上传已被取消" + +#: htdocs/luci-static/resources/view/tailscale-ng/index.js:833 msgid "" "Use a non-reusable auth key and disable key expiry for trusted machines via " "the provider admin console." -msgstr "对于受信任的设备,请通过服务商管理控制台使用不可重复使用的认证密钥并禁用密钥过期" +msgstr "" +"对于受信任的设备,请通过服务商管理控制台使用不可重复使用的认证密钥并禁用密钥" +"过期" diff --git a/luci-app-tailscale-ng/root/etc/uci-defaults/40_luci-app-tailscale-ng b/luci-app-tailscale-ng/root/etc/uci-defaults/40_luci-app-tailscale-ng index 09fc80aa3..378264558 100755 --- a/luci-app-tailscale-ng/root/etc/uci-defaults/40_luci-app-tailscale-ng +++ b/luci-app-tailscale-ng/root/etc/uci-defaults/40_luci-app-tailscale-ng @@ -4,5 +4,5 @@ /etc/init.d/luci-app-tailscale-ng enable /etc/init.d/luci-app-tailscale-ng start >/dev/null 2>&1 || true -rm -f /tmp/luci-indexcache +rm -f /tmp/luci-indexcache* exit 0 diff --git a/luci-app-tailscale-ng/root/usr/libexec/luci-app-tailscale-ng-state b/luci-app-tailscale-ng/root/usr/libexec/luci-app-tailscale-ng-state new file mode 100755 index 000000000..8f2672261 --- /dev/null +++ b/luci-app-tailscale-ng/root/usr/libexec/luci-app-tailscale-ng-state @@ -0,0 +1,131 @@ +#!/bin/sh + +# Copyright (C) 2026 vad-b +# SPDX-License-Identifier: GPL-3.0-only + +set -eu +umask 077 + +DOWNLOAD_FILE='/tmp/tailscale-auth-state.download' +UPLOAD_FILE='/tmp/tailscale-auth-state.upload' +DEFAULT_STATE_FILE='/etc/tailscale/tailscaled.state' +MAX_UPLOAD_SIZE=8388608 +TEMP_FILE='' + +fail() { + local code="$1" + shift + printf '%s\n' "$*" >&2 + exit "$code" +} + +run() { + "$@" >&2 || fail 1 OPERATION_FAILED +} + +cleanup() { + if [ -n "$TEMP_FILE" ]; then + rm -f "$TEMP_FILE" || true + fi +} + +trap cleanup EXIT +trap 'exit 1' INT TERM + +get_state_file() { + local state_file code + + if state_file="$(uci -q get tailscale.settings.state_file)"; then + : + else + code="$?" + [ "$code" -eq 1 ] || fail 1 STATE_CONFIG_READ_FAILED + fi + [ -n "$state_file" ] || state_file="$DEFAULT_STATE_FILE" + + case "$state_file" in + /*) ;; + *) fail 10 STATE_PATH_INVALID ;; + esac + + printf '%s\n' "$state_file" +} + +validate_state_file() { + local file size first_char code machine_key_type machine_key + file="$1" + + [ -f "$file" ] || fail 11 STATE_NOT_FOUND + [ -s "$file" ] || fail 12 STATE_EMPTY + [ -r "$file" ] || fail 1 STATE_READ_FAILED + + size="$(wc -c < "$file")" || fail 1 STATE_READ_FAILED + [ "$size" -le "$MAX_UPLOAD_SIZE" ] || fail 13 STATE_TOO_LARGE + + first_char="$(LC_ALL=C sed -n '/[^[:space:]]/ { s/^[[:space:]]*\(.\).*/\1/; p; q; }' "$file")" || fail 1 STATE_READ_FAILED + [ "$first_char" = "{" ] || fail 14 STATE_JSON_INVALID + command -v jsonfilter >/dev/null 2>&1 || fail 1 JSONFILTER_NOT_FOUND + if jsonfilter -i "$file" -e '@' >/dev/null 2>&1; then + : + else + code="$?" + case "$code" in + 1|126) fail 14 STATE_JSON_INVALID ;; + *) fail 1 JSONFILTER_FAILED ;; + esac + fi + + machine_key_type="$(jsonfilter -q -i "$file" -t '@._machinekey')" || fail 15 STATE_MACHINE_KEY_MISSING + [ "$machine_key_type" = 'string' ] || fail 15 STATE_MACHINE_KEY_MISSING + machine_key="$(jsonfilter -q -i "$file" -e '@._machinekey')" || fail 1 JSONFILTER_FAILED + [ -n "$machine_key" ] || fail 15 STATE_MACHINE_KEY_MISSING +} + +prepare_download() { + local state_file + state_file="$(get_state_file)" + + validate_state_file "$state_file" + + TEMP_FILE="${DOWNLOAD_FILE}.$$" + run rm -f "$TEMP_FILE" + run cp "$state_file" "$TEMP_FILE" + run chmod 600 "$TEMP_FILE" + run mv -f "$TEMP_FILE" "$DOWNLOAD_FILE" + TEMP_FILE='' +} + +validate_upload() { + validate_state_file "$UPLOAD_FILE" +} + +restore_upload() { + local state_file state_dir + + validate_state_file "$UPLOAD_FILE" + state_file="$(get_state_file)" + state_dir="${state_file%/*}" + [ -n "$state_dir" ] || state_dir='/' + + [ -d "$state_dir" ] || run mkdir -p "$state_dir" + TEMP_FILE="$state_dir/.tailscaled.state.restore.$$" + + run cp "$UPLOAD_FILE" "$TEMP_FILE" + run chmod 600 "$TEMP_FILE" + run chown 0:0 "$TEMP_FILE" + + run /etc/init.d/tailscale stop + run mv -f "$TEMP_FILE" "$state_file" + TEMP_FILE='' + run rm -f "$UPLOAD_FILE" "$DOWNLOAD_FILE" + run /etc/init.d/luci-app-tailscale-ng start +} + +[ "$#" -eq 1 ] || fail 2 "Usage: $0 {prepare-download|validate-upload|restore-upload}" + +case "${1:-}" in + prepare-download) prepare_download ;; + validate-upload) validate_upload ;; + restore-upload) restore_upload ;; + *) fail 2 "Usage: $0 {prepare-download|validate-upload|restore-upload}" ;; +esac diff --git a/luci-app-tailscale-ng/root/usr/share/rpcd/acl.d/luci-app-tailscale-ng.json b/luci-app-tailscale-ng/root/usr/share/rpcd/acl.d/luci-app-tailscale-ng.json index 327a9dcc6..4f21fc21e 100644 --- a/luci-app-tailscale-ng/root/usr/share/rpcd/acl.d/luci-app-tailscale-ng.json +++ b/luci-app-tailscale-ng/root/usr/share/rpcd/acl.d/luci-app-tailscale-ng.json @@ -2,19 +2,31 @@ "luci-app-tailscale-ng": { "description": "Grant access to Tailscale NG configuration", "read": { + "cgi-io": [ "download" ], "file": { "/sys/class/net/tailscale0/*": [ "read" ], "/sbin/ip": [ "exec" ], + "/tmp/tailscale-auth-state.download": [ "read" ], "/usr/sbin/tailscale": [ "exec" ] }, "ubus": { "luci": [ "getInitList", "setInitAction" ], - "service": [ "list" ] + "service": [ "list" ], + "system": [ "board" ] }, "uci": [ "tailscale", "luci-app-tailscale-ng" ] }, "write": { + "cgi-io": [ "upload" ], + "file": { + "/tmp/tailscale-auth-state.download": [ "write" ], + "/tmp/tailscale-auth-state.upload": [ "write" ], + "/usr/libexec/luci-app-tailscale-ng-state prepare-download": [ "exec" ], + "/usr/libexec/luci-app-tailscale-ng-state restore-upload": [ "exec" ], + "/usr/libexec/luci-app-tailscale-ng-state validate-upload": [ "exec" ] + }, "ubus": { + "file": [ "exec", "remove" ], "luci": [ "setInitAction" ] }, "uci": [ "tailscale", "luci-app-tailscale-ng" ] diff --git a/shunt/Makefile b/shunt/Makefile index f79f9b0ad..d6968ddde 100644 --- a/shunt/Makefile +++ b/shunt/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=shunt -PKG_VERSION:=0.4.2 -PKG_RELEASE:=13 +PKG_VERSION:=0.4.5 +PKG_RELEASE:=14 PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:= PKG_MAINTAINER:=Dirk Brenken diff --git a/shunt/README.md b/shunt/README.md index 2f7dfe4ae..42679a1a7 100644 --- a/shunt/README.md +++ b/shunt/README.md @@ -182,6 +182,7 @@ Logging goes to syslog under the tag `shunt`, so `logread -e shunt` shows everyt | rp_filter_manage | `0` | set rp_filter=2 on shunt's own policy devices, at start and on ifup | | poll_interval | `300` | seconds between poll cycles, at least 30 | | entry_ttl | `1200` | ceiling for the lifetime of learned elements, at least 60 | +| learn_limit | `4096` | most addresses one learned set holds, 64 to 65536; see [How addresses are learned](#how-addresses-are-learned) | | snoop | `1` | enable the passive DNS observer | | snoop_device | `br-lan` | LAN devices to observe, a list, one entry per segment | | track_ip | | addresses to probe through every policy interface, a list; none means no tracking, see [Health tracking](#health-tracking-track_ip) | @@ -567,6 +568,7 @@ What that means in practice: * **One entry per layer 2 segment.** A guest or IoT VLAN on its own device never carries the answers of the main LAN, so it needs its own `snoop_device` entry. A device that cannot be opened costs one warning; the others keep running. * **The router's own lookups are not seen.** poll's queries leave through the uplink, not the LAN device. * Not seen either: DNS over TCP, DNS on a port other than 53, and a second stacked VLAN tag. +* **An observed segment is a trusted one.** snoop takes what crosses the device for what the resolver said - it cannot tell a DNS answer from a frame built to look like one. A host on an observed segment can therefore put addresses of its choosing into the learned set of any domain policy whose pattern it can name: into a `route` policy that sends more traffic through the tunnel, into a `bypass` policy it takes traffic out of the policies below, a killswitch included. Passive observation has no way around this, so do not observe a segment you would not let near the policy - a guest or IoT network is better covered by `src_dev` with addresses, ports or `dst_file`. What is bounded is the damage: a learned set holds at most `learn_limit` addresses, 4096 unless configured, counted per policy and address family - so a flooded set costs a bounded amount of memory and leaves every other policy learning as before. An address beyond the limit is not learned until older ones expire, which for the policy means it takes the normal uplink; the log names the full set once per poll interval, and `ubus call shunt status` counts the addresses turned away per policy under `capped`. A policy with a very large list or several hundred polled names can come near the default honestly - if `capped` shows up without an attacker, raise the limit. A name in a `domain` list that never resolves is reported once, by name and policy: @@ -710,7 +712,6 @@ routing table 8000 + , for tproxy: local default d chain mk_ the mark statement of the interface in use, for a policy with several interfaces, with fallback 'block' (plus a tcp reset while all are dead), or with track_ip and fallback 'main' -/etc/iproute2/rt_tables.d/shunt.conf the table name mapping, for `ip route show` only /var/run/shunt.learned learned addresses across a restart or reload, deleted on start ``` @@ -815,7 +816,7 @@ A number that keeps climbing means something on the box flushes nftables repeate ### When a policy stops applying after a reconnect -The kernel removes routes from a policy table when the interface goes down, after which the fwmark rule falls through to `main` while every counter keeps counting. shunt handles this on two levels: a ubus listener on `network.interface` rebuilds the route half on ifup/ifdown, and every poll tick replays the route commands as a keeper. Learned sets survive both. If ubus is unavailable, only the keeper remains, so recovery takes up to one `poll_interval`. +The kernel removes routes from a policy table when the interface goes down, after which the fwmark rule falls through to `main` while every counter keeps counting. shunt handles this on two levels: a ubus listener on `network.interface` rebuilds the route half on ifup/ifdown, and every poll tick replays the route commands as a keeper. Learned sets survive both. The rebuild is applied on top of what is there - a rule that exists stays, a route is replaced in place, and only the default route of an interface that is down now is taken out - so an interface event, whichever interface it is about, opens no gap in which marked traffic would take the main table. If ubus is unavailable, only the keeper remains, so recovery takes up to one `poll_interval`. ### Debug logging @@ -836,6 +837,7 @@ These are consequences of the design, stated rather than worked around: * **Wildcards require snoop.** poll can only resolve names it was given, and `*.example.com` is not a name. * **One CDN address serves many domains.** If a policy routes `example.com` and the address behind it also serves a thousand other sites, those sites follow the same policy. This is unsolvable at layer 3 by anything that routes on addresses. * **The first connection to a newly seen address takes the old path.** snoop learns from the response the client is reading at that moment, so the client's SYN is usually out before the element reaches the set - a new address is written right away, but that still takes an `nft` run, and a client connects within milliseconds of its answer. Holding the answer back until the set is written would put shunt between client and resolver, which is exactly what snoop avoids. That connection stays where it started, by design: a flow's route is decided on its first packet and kept on the conntrack entry, so the switch happens at a connection boundary and never mid-stream - see [What shunt creates on the system](#what-shunt-creates-on-the-system). The next connection to the same host starts on the policy interface. Listing the entry point explicitly closes the gap, because poll warms it before any client asks. +* **What snoop learns is only as trustworthy as the observed segment.** A forged answer is learned like a real one, see [How addresses are learned](#how-addresses-are-learned); each learned set is capped at `learn_limit` addresses. * **DNS over TCP is not observed.** Port 53 over TCP needs reassembly, which is out of scope; answers large enough to force TCP are rare in the traffic shunt cares about. * **Route and rule application is best effort.** At boot a tunnel interface may not exist yet, so its default route cannot be added and the policy's `fallback` applies: with `main` the rule falls through to the main table, with `block` it hits the prohibit route, which needs no interface. The missing routes follow on the interface's ifup event, no restart needed, and the log says so in one info line naming the interfaces. A route that fails for any other reason - or through an interface netifd does not know at all - is a warning, one line per distinct reason. * **No interface hotplug.** A device that appears later is picked up on the next `ifup` event or within one poll interval, not immediately. diff --git a/shunt/files/shunt.config b/shunt/files/shunt.config index bfd376b91..16e6301d1 100644 --- a/shunt/files/shunt.config +++ b/shunt/files/shunt.config @@ -2,6 +2,7 @@ config global option enabled '1' option poll_interval '300' option entry_ttl '1200' + option learn_limit '4096' option snoop '1' option debug '0' option rp_filter_manage '0' diff --git a/shunt/files/shunt.rpcd b/shunt/files/shunt.rpcd index 1f6ff8809..96eced319 100644 --- a/shunt/files/shunt.rpcd +++ b/shunt/files/shunt.rpcd @@ -7,7 +7,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 Dirk Brenken -import { popen, readfile } from 'fs'; +import { popen, readfile, stat } from 'fs'; const ubus = require('ubus'); const rtnl = require('rtnl'); @@ -19,9 +19,9 @@ const RT = rtnl.const; import { load as config_load, parse as config_parse } from 'shunt.config'; import { resolve as netifd_resolve } from 'shunt.netifd'; import { compile as match_compile } from 'shunt.match'; -import { load as files_load } from 'shunt.list_file'; +import { load as files_load, resolve as file_resolve } from 'shunt.list_file'; import { action_name, compile as nft_compile } from 'shunt.nft'; -import { compile as route_compile } from 'shunt.route'; +import { compile as route_compile, conf_dev } from 'shunt.route'; import { names as poll_names } from 'shunt.poll'; import { tproxy as tproxy_available, br_netfilter, ipv6 } from 'shunt.probe'; @@ -39,8 +39,36 @@ function daemon_status() { return r ?? null; } +// What tells whether a list file has to be read again: the file itself is +// not opened for it. +function file_stamps(policies) { + let out = []; + + for (let p in (policies ?? [])) + for (let name in [ ...(p?.domain_files ?? []), ...(p?.dst_files ?? []) ]) { + let path = file_resolve(name); + let st = (path != null) ? stat(path) : null; + + push(out, [ name, st?.mtime, st?.size, st?.ino ]); + } + + return out; +} + +// The last rendering and what it was rendered from. rpcd keeps this script +// loaded, so the variable lives from one call to the next. +let rendered = null; + // The same sequence as the daemon's build_state(), minus the logging: two // readings of one config file are how a status view starts to lie. +// +// The status page asks every few seconds, and reading the list files and +// compiling a matcher and a ruleset from them is what a start of the daemon +// costs - seconds with a large list, in a process that answers every other +// LuCI call as well. So the rendering is kept and done again only when +// something it is made from has changed: the configuration, what netifd +// says about the interfaces, the kernel probes, or a list file. And only +// what the status reports is kept - the counts, not the lists. function render() { let sections = config_load(); @@ -60,16 +88,42 @@ function render() { cfg.policies = netifd_resolve(cfg.policies, dump); + let opts = { tproxy: tproxy_available(cfg.policies), + br_netfilter: br_netfilter(), track: length(cfg.global.track_ips) > 0 }; + let v6 = ipv6(); + let sig = sprintf('%J', [ cfg, opts, v6, file_stamps(cfg.policies) ]); + + if (rendered?.sig == sig) + return rendered.st; + let f = files_load(cfg.policies); cfg.policies = f.policies; let m = match_compile(cfg.policies); - let n = nft_compile(cfg.policies, { tproxy: tproxy_available(cfg.policies), - br_netfilter: br_netfilter(), track: length(cfg.global.track_ips) > 0 }); - let r = route_compile(cfg.policies, n.marks, { ipv6: ipv6() }); + let n = nft_compile(cfg.policies, opts); + let r = route_compile(cfg.policies, n.marks, { ipv6: v6 }); - return { cfg, files: f, matcher: m, nft: n, route: r }; + let st = { + global: cfg.global, + marks: n.marks, + poll_names: length(poll_names(cfg.policies)), + policies: map(cfg.policies, (p) => ({ + name: p.name, + action: p.action, + interface: p.interface, + fallback: p.fallback, + members: p.members ? map(p.members, (mb) => ({ dev: mb.dev })) : null, + domains: length(p.domains ?? []), + file_domains: length(p.file_domains ?? []), + file_dst: length(p.file_dst ?? []) + })), + issues: [ ...cfg.issues, ...f.issues, ...m.issues, ...n.issues, ...r.issues ] + }; + + rendered = { sig, st }; + + return st; } // Policy devices whose marked traffic the kernel would drop: max(all, ), @@ -93,7 +147,7 @@ function rp_filter_blocked(policies) { for (let mb in (p.members ?? [ { dev: p.interface } ])) { let dev = mb.dev; - if (!length(dev ?? '') || seen[dev]) + if (!conf_dev(dev) || seen[dev]) continue; seen[dev] = true; @@ -125,9 +179,24 @@ function rp_filter_strict() { return strict; } -function nft_table() { - let fh = popen(sprintf('nft -j list table %s %s 2>/dev/null', - TABLE_FAMILY, TABLE_NAME), 'r'); +// Whether the table is in the kernel, and nothing more: terse, so nft does +// not fetch a single element for an answer of one bit. +function nft_applied() { + return system([ '/bin/sh', '-c', 'exec "$0" "$@" >/dev/null 2>&1', + 'nft', '-t', 'list', 'table', TABLE_FAMILY, TABLE_NAME ]) == 0; +} + +// How many elements of one set a report carries. A set filled from a +// dst_file can hold a hundred thousand prefixes; all of them in one answer +// is megabytes through rpcd and a page the browser does not survive. What +// is wanted from a set that size is one address, and that is what `search` +// is for. +const REPORT_MAX = 250; + +const RE_SET = /^[a-z][46]?_[A-Za-z0-9_]{1,24}$/; + +function nft_json(args) { + let fh = popen(sprintf('nft -j %s 2>/dev/null', args), 'r'); if (!fh) return null; @@ -139,38 +208,64 @@ function nft_table() { if (!length(out ?? '')) return null; - let j = json(out); - - return j?.nftables ? j : null; + return json(out)?.nftables ?? null; } -function nft_sets(table) { - let out = {}; +// The names of the sets in the table, without a single element: terse. +function nft_set_names() { + let items = nft_json(sprintf('-t list table %s %s', TABLE_FAMILY, TABLE_NAME)); - for (let item in (table?.nftables ?? [])) { - let s = item?.set; + if (items == null) + return null; - if (!s?.name) + let names = []; + + for (let item in items) + if (type(item?.set?.name) == 'string' && match(item.set.name, RE_SET)) + push(names, item.set.name); + + return names; +} + +// What a report says about one set, from the set as nft lists it: how much +// it holds in all, how much of that the search matches, and of the matches +// the entries with the most traffic. +function set_report(set, search) { + let hot = [], cold = [], total = 0; + + for (let e in (set?.elem ?? [])) { + let v = e?.elem ?? e; + let val = v?.val ?? v; + // nft merges adjacent prefixes of an interval set, and what is no + // longer one prefix comes back as a range. + let addr = (type(val) != 'object') ? val + : val.prefix ? sprintf('%s/%d', val.prefix.addr, val.prefix.len) + : (type(val.range) == 'array') ? join('-', val.range) + : null; + + total++; + + if (search != null && index(lc(`${addr}`), search) != 0) continue; - let elems = []; - - for (let e in (s.elem ?? [])) { - let v = e?.elem ?? e; - let val = v?.val ?? v; - - push(elems, { - addr: (type(val) == 'object') ? (val.prefix ? sprintf('%s/%d', val.prefix.addr, val.prefix.len) : null) : val, - expires: v?.expires, - packets: v?.counter?.packets, - bytes: v?.counter?.bytes - }); - } - - out[s.name] = elems; + push(v?.counter?.packets ? hot : cold, { + addr, + expires: v?.expires, + packets: v?.counter?.packets, + bytes: v?.counter?.bytes + }); } - return out; + let matched = length(hot) + length(cold); + + // Only the entries that saw traffic are worth ordering, and in a set + // too large to show they are the few among the many. + if (matched > REPORT_MAX && length(hot) > 1) + sort(hot, (a, b) => b.packets - a.packets); + + let elems = slice([ ...hot, ...slice(cold, 0, REPORT_MAX) ], 0, REPORT_MAX); + + return { elems, total, matched }; } function kernel_rules(marks) { @@ -212,35 +307,34 @@ function kernel_rules(marks) { return out; } +// How many routes each policy table holds. One dump per address family, +// counted by table - not one per table and family, each of which the kernel +// answers with the whole FIB anyway. function kernel_routes(marks) { - let out = {}; + let count = {}, failed = false; - for (let m in (marks ?? [])) { - let n = 0; + for (let fam in [ RT.AF_INET, RT.AF_INET6 ]) { + let res = rtnl.request(RT.RTM_GETROUTE, RT.NLM_F_DUMP, { family: fam }); - if (m.rt_table == null) - continue; - - for (let fam in [ RT.AF_INET, RT.AF_INET6 ]) { - let res = rtnl.request(RT.RTM_GETROUTE, RT.NLM_F_DUMP, - { family: fam, table: m.rt_table }); - - if (res == null) { - n = null; - break; - } - - // A kernel without a family's dump handler answers with - // every family it has - IPv4 under an IPv6 request on a kernel - // without IPv6 - so the family is checked, not assumed. - for (let r in res) - if (r?.table == m.rt_table && r?.family == fam) - n++; + if (res == null) { + failed = true; + break; } - out[sprintf('%d', m.mark)] = n; + // A kernel without a family's dump handler answers with every + // family it has - IPv4 under an IPv6 request on a kernel without + // IPv6 - so the family is checked, not assumed. + for (let r in res) + if (r?.family == fam && r?.table != null) + count[r.table] = (count[r.table] ?? 0) + 1; } + let out = {}; + + for (let m in (marks ?? [])) + if (m.rt_table != null) + out[sprintf('%d', m.mark)] = failed ? null : (count[m.rt_table] ?? 0); + return out; } @@ -256,15 +350,14 @@ return { return { error: 'cannot read /etc/config/shunt' }; let svc = daemon_status(); - let table = nft_table(); - let rules = kernel_rules(st.nft.marks); - let routes = kernel_routes(st.nft.marks); + let rules = kernel_rules(st.marks); + let routes = kernel_routes(st.marks); let policies = []; - for (let m in st.nft.marks) { + for (let m in st.marks) { let p = null; - for (let c in st.cfg.policies) + for (let c in st.policies) if (c.name == m.name) p = c; @@ -281,9 +374,9 @@ return { members: (m.action == 'route') ? length(p?.members ?? [ 1 ]) : null, fallback: (m.action != 'bypass') ? p?.fallback : null, tproxy_port: m.port, - domains: length(p?.domains ?? []), - file_domains: length(p?.file_domains ?? []), - file_dst: length(p?.file_dst ?? []), + domains: p?.domains ?? 0, + file_domains: p?.file_domains ?? 0, + file_dst: p?.file_dst ?? 0, rules: (m.action != 'bypass' && rules) ? length(rules[sprintf('%d', m.mark)] ?? []) : null, routes: (m.action != 'bypass') ? routes[sprintf('%d', m.mark)] : null @@ -292,49 +385,69 @@ return { return { running: (svc != null), - applied: (table != null), + applied: nft_applied(), service: svc, - global: st.cfg.global, + global: st.global, policies, - poll_names: length(poll_names(st.cfg.policies)), - rp_filter_blocked: rp_filter_blocked(st.cfg.policies), + poll_names: st.poll_names, + rp_filter_blocked: rp_filter_blocked(st.policies), rp_filter_strict: rp_filter_strict(), - issues: [ - ...st.cfg.issues, - ...st.files.issues, - ...st.matcher.issues, - ...st.nft.issues, - ...st.route.issues - ] + issues: st.issues }; } }, + // `sets` has the elements, at most REPORT_MAX of each set, and + // `info` says for every set how many it holds and how many of + // them the search matched. sets: { - args: { policy: '' }, + args: { policy: '', search: '' }, call: function(req) { - let table = nft_table(); - - if (!table) - return { sets: {} }; - - let all = nft_sets(table); let want = req.args?.policy; + let search = req.args?.search; - if (!length(want ?? '')) - return { sets: all }; + search = (type(search) == 'string' && length(trim(search))) + ? lc(substr(trim(search), 0, 64)) : null; - let out = {}; + let sets = {}, info = {}; - // m_ and i_ carry no family digit, every other kind does. - for (let name in all) { - let at = (index('mi', substr(name, 0, 1)) >= 0) ? 2 : 3; + function report(set) { + let r = set_report(set, search); - if (substr(name, at) == want) - out[name] = all[name]; + sets[set.name] = r.elems; + info[set.name] = { total: r.total, matched: r.matched }; } - return { sets: out }; + // Every policy: the whole table in one listing. One policy: + // its sets one by one, so that it does not pay for the sets + // of all the others. + if (!length(want ?? '')) { + for (let item in (nft_json(sprintf('list table %s %s', + TABLE_FAMILY, TABLE_NAME)) ?? [])) + if (type(item?.set?.name) == 'string') + report(item.set); + } + else + for (let name in (nft_set_names() ?? [])) { + // m_ and i_ carry no family digit, every other kind does. + let at = (index('mi', substr(name, 0, 1)) >= 0) ? 2 : 3; + + if (substr(name, at) != want) + continue; + + for (let item in (nft_json(sprintf('list set %s %s %s', + TABLE_FAMILY, TABLE_NAME, name)) ?? [])) + if (item?.set?.name == name) + report(item.set); + } + + // What a learned set holds at most, so that the report can + // tell a full set from a large one. + let sections = config_load(); + let cfg = (sections != null) ? config_parse(sections) : null; + + return { sets, info, max: REPORT_MAX, + learn_limit: cfg?.global?.learn_limit }; } } } diff --git a/shunt/files/shunt.uc b/shunt/files/shunt.uc index f43467815..e77f5f156 100755 --- a/shunt/files/shunt.uc +++ b/shunt/files/shunt.uc @@ -19,7 +19,8 @@ import { PATH as LEARNED, fingerprints as learned_fps, save as learned_save, import { action_name, compile as nft_compile, flip as nft_flip, active as nft_active, refresh, teardown, addr_family, TABLE } from 'shunt.nft'; -import { compile as route_compile, state_ops as route_state_ops } from 'shunt.route'; +import { compile as route_compile, state_ops as route_state_ops, + stale as route_stale, route_key, conf_dev } from 'shunt.route'; import { open as rt_open, exec as rt_exec, describe as rt_describe } from 'shunt.rt'; import { open as snoop_open, observe, RECV_LEN } from 'shunt.snoop'; import { names as poll_names, plan as poll_plan, @@ -190,6 +191,23 @@ function queue_writes(st, writes, now) { if (!d) continue; + // Anybody on an observed segment can put a frame on the wire that + // reads as a DNS answer, so what a set learns is bounded - see + // dedupe.uc. Counted per policy, both families together, and said + // once per set and poll interval. + if (d == 'full') { + let pname = substr(w.set, 3); + + st.stats.capped[pname] = (st.stats.capped[pname] ?? 0) + 1; + + if (!st.full_warned[w.set]) { + st.full_warned[w.set] = true; + log('warn', sprintf('set %s is full, learn_limit is %d - new addresses are not learned until older ones expire', + w.set, st.state.cfg.global.learn_limit)); + } + continue; + } + st.pending[`${w.set}/${w.addr}`] = w; if (d == 'new') fresh++; @@ -240,11 +258,13 @@ function apply(state) { if (!nft_pipe(state.nft.setup, 'setup')) return false; - if (length(state.route.rt_tables)) { - mkdir('/etc/iproute2/rt_tables.d', 0o755); - if (!writefile(RT_TABLES, state.route.rt_tables)) - log('warn', sprintf('cannot write %s: %s', RT_TABLES, fs_error())); - } + // Releases up to 0.4.2 kept a name for every table in this file, for + // `ip route show table ` with iproute2 installed. Nothing of shunt + // ever read it, BusyBox ip cannot, and it cost flash writes on every + // start and stop - so it is gone, and what an earlier release left + // behind is removed once. + if (readfile(RT_TABLES) != null) + unlink(RT_TABLES); rt_quiet(state.route.del); @@ -295,17 +315,15 @@ function flush(state) { rt_quiet(state.route.del); nft_pipe(teardown(), 'teardown'); - - if (readfile(RT_TABLES) != null) - unlink(RT_TABLES); } function rp_read(k) { return trim(readfile(`/proc/sys/net/ipv4/conf/${k}/rp_filter`) ?? ''); } -// Distinct, existing policy devices. Deduped so a device shared by several -// policies is set or reported once. +// Distinct policy devices, as far as the name is one a /proc path may be +// built from - see conf_dev() in route.uc. Deduped so a device shared by +// several policies is set or reported once. function policy_devices(policies) { let seen = {}, out = []; @@ -317,7 +335,7 @@ function policy_devices(policies) { for (let mb in (p.members ?? [ { dev: p.interface } ])) { let dev = mb.dev; - if (length(dev ?? '') && !seen[dev]) { + if (conf_dev(dev) && !seen[dev]) { seen[dev] = true; push(out, dev); } @@ -470,8 +488,8 @@ function drain_writes(st) { if (!length(due)) return; - let r = refresh(due, st.state.cfg.global.entry_ttl, - st.interval + WRITE_SLACK); + let slack = st.interval + WRITE_SLACK; + let r = refresh(due, st.state.cfg.global.entry_ttl, slack); report('refresh', r.issues); if (!length(r.batch)) @@ -481,11 +499,37 @@ function drain_writes(st) { let ok = nft_pipe(r.batch, 'refresh'); let cost = mono() - t0; - if (ok) - debug(sprintf('%d element(s) written in %ds', length(due), cost)); - else if (ensure_table(st) == 'recreated') + if (ok) { for (let w in due) - st.pending[`${w.set}/${w.addr}`] = w; + st.cache.written(w.set, w.addr, slack); + + debug(sprintf('%d element(s) written in %ds', length(due), cost)); + } + else + switch (ensure_table(st)) { + case 'recreated': + for (let w in due) + st.pending[`${w.set}/${w.addr}`] = w; + break; + + // The table is there and the batch was refused all the same. The + // cache has every element of it on record as written, and would + // hold back the next answer for the same address until half its + // lifetime is over - with the address in no set all that time. So + // the batch goes out once more with the next write, and what fails + // a second time is forgotten: the next answer or poll cycle brings + // it back as new. + case 'ok': + for (let w in due) { + if (w.retried) + st.cache.forget(w.set, w.addr); + else { + w.retried = true; + st.pending[`${w.set}/${w.addr}`] = w; + } + } + break; + } let want = cost * WRITE_FACTOR; @@ -646,11 +690,12 @@ function run() { mkdir(FILES_DIR, 0o755); - let cache = dedupe_create(state.cfg.global.entry_ttl); + let cache = dedupe_create(state.cfg.global.entry_ttl, + state.cfg.global.learn_limit); let targets = poll_names(state.cfg.policies); let stats = { started: time(), resolv: false, snoop: [], - matched: 0, drops: {}, reapplied: 0, + matched: 0, drops: {}, reapplied: 0, capped: {}, files: { count: state.files.files, entries: state.files.entries, addresses: state.files.addresses, refreshed: null } }; @@ -669,7 +714,7 @@ function run() { let wq = { state, cache, stats, pending: {}, lost: false, interval: WRITE_MIN, timer: null, fresh_at: 0, fresh_wait: false, - later: null }; + later: null, full_warned: {} }; // The deferred run of drain_fresh(). The timer is kept and re-armed, not // created per run, so nothing depends on how a given ucode release keeps @@ -770,6 +815,7 @@ function run() { poll_cycle(); cache.prune(mono()); + wq.full_warned = {}; } wq.timer = uloop.interval(WRITE_MIN * 1000, () => drain_writes(wq)); @@ -824,8 +870,20 @@ function run() { apply_dead(state, wq, false); r = route_compile(resolved, state.nft.marks, route_opts(state)); - rt_quiet(state.route.del); - rt_quiet(r.add); + // Applied on top of what is there, not after taking it out: a + // rule that exists answers EEXIST, a route is replaced in place. + // Only what the new rendering no longer has is removed, and + // that after the new one is in - see stale() in route.uc. + let rt = rtnl(), failed = {}; + + for (let op in r.add) { + let why = rt ? rt_exec(rt, op) : 'ucode-mod-rtnl missing'; + + if (why != null && op.cmd == 'newroute') + failed[route_key(op.msg)] = true; + } + + rt_quiet(route_stale(state.route.add, r.add, failed)); state.route = r; @@ -888,6 +946,7 @@ function run() { }, reapplied: stats.reapplied, dedupe: cache.size(), + capped: stats.capped, files: stats.files, track: track_status(), active: nft_active(state.nft.chains, state.opts.dead), diff --git a/shunt/src/config.uc b/shunt/src/config.uc index 8a07e6795..f36520371 100644 --- a/shunt/src/config.uc +++ b/shunt/src/config.uc @@ -12,6 +12,7 @@ export const DEFAULTS = { enabled: true, poll_interval: 300, entry_ttl: 1200, + learn_limit: 4096, snoop: true, snoop_devices: [ 'br-lan' ], debug: false, @@ -21,7 +22,14 @@ export const DEFAULTS = { export const MIN = { poll_interval: 30, - entry_ttl: 60 + entry_ttl: 60, + learn_limit: 64 +}; + +// The limit on a learned set is a bound on memory; one without a ceiling of +// its own would not be one. +export const MAX = { + learn_limit: 65536 }; function to_bool(v, dflt) { @@ -109,6 +117,11 @@ export function parse(sections) { n, MIN[key])); n = MIN[key]; } + if (MAX[key] != null && n > MAX[key]) { + reject(section, key, sprintf('%d above maximum, clamped to %d', + n, MAX[key])); + n = MAX[key]; + } g[key] = n; } @@ -132,6 +145,7 @@ export function parse(sections) { bool_opt(s.name ?? 'global', v, 'rp_filter_manage'); num_opt(s.name ?? 'global', v, 'poll_interval'); num_opt(s.name ?? 'global', v, 'entry_ttl'); + num_opt(s.name ?? 'global', v, 'learn_limit'); if (v.snoop_device != null) { let devs = []; diff --git a/shunt/src/dedupe.uc b/shunt/src/dedupe.uc index 3017599aa..ab9a0552f 100644 --- a/shunt/src/dedupe.uc +++ b/shunt/src/dedupe.uc @@ -6,8 +6,51 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 Dirk Brenken -export function create(entry_ttl) { - let exp = {}; +// `limit` is how many pairs one set may have on record - the global option +// learn_limit. Nothing a network asks for should come near it; it is there +// because snoop cannot tell a DNS answer from a frame made to look like one, +// and without a bound a host on an observed segment could grow the sets, and +// this table with them, until the router is out of memory. Counted per set, +// so that filling one leaves every other policy, and the other address +// family of the same one, learning as before. +// +// The kernel keeps an element a little past the lifetime on record - the +// slack the daemon puts on every timeout, see written(). A lapsed pair keeps +// its place in the count until the kernel has dropped it too: freed at the +// lifetime, the place would go to a new address while the kernel still +// holds the old one, and a set under a steady flood would hold up to twice +// the limit. +export function create(entry_ttl, limit) { + let exp = {}, gone = {}, count = {}, total = 0, pruned = null; + + // The key is `set/addr`; neither part can contain a slash. + function set_of(k) { + return substr(k, 0, index(k, '/')); + } + + function drop(k) { + let set = set_of(k); + + delete exp[k]; + delete gone[k]; + total--; + + if (--count[set] <= 0) + delete count[set]; + } + + function prune(now) { + let n = 0; + + for (let k in exp) { + if (now >= (gone[k] ?? exp[k])) { + drop(k); + n++; + } + } + + return n; + } // A write is due when it moves the expiry by at least half of the // lifetime it carries, in either direction: an answer with a long TTL @@ -17,7 +60,10 @@ export function create(entry_ttl) { // the pair is unknown or already past its expiry ('new' - prune runs // only once per poll cycle, so a lapsed pair can still be on record) or // only moves an expiry that is still running ('move'); the caller - // writes the first kind without waiting. + // writes the first kind without waiting. With its set at the limit an + // unknown pair is 'full' and not recorded; the lapsed pairs are cleared + // out first, at most once a second, since prune otherwise runs once per + // poll cycle. function due(set, addr, now, ttl) { let k = `${set}/${addr}`; let t = ttl ?? entry_ttl; @@ -28,32 +74,52 @@ export function create(entry_ttl) { if (d * 2 < t) return false; + if (cur == null) { + if (limit && count[set] >= limit && pruned !== now) { + pruned = now; + prune(now); + } + + if (limit && count[set] >= limit) + return 'full'; + + count[set] = (count[set] ?? 0) + 1; + total++; + } + exp[k] = e; return (cur == null || cur <= now) ? 'new' : 'move'; } - function prune(now) { - let n = 0; + // A pair the kernel took, with the slack its timeout got on top of the + // lifetime: it is in the kernel until then, and counted until then. + function written(set, addr, slack) { + let k = `${set}/${addr}`; - for (let k in exp) { - if (now >= exp[k]) { - delete exp[k]; - n++; - } - } + if (exp[k] != null) + gone[k] = exp[k] + slack; + } - return n; + // A pair whose write the kernel did not take: off the record, so the + // next answer for it is due again. + function forget(set, addr) { + let k = `${set}/${addr}`; + + if (exp[k] != null) + drop(k); } // Dropped wholesale when the table had to be re-created: the kernel has // no elements any more, so every pair is due again regardless of age. function reset() { exp = {}; + gone = {}; + count = {}; + total = 0; } // Every pair still running, with its absolute expiry - what the kernel - // holds, as far as shunt wrote it. The key is `set/addr`; neither part - // can contain a slash. + // holds, as far as shunt wrote it. function dump(now) { let out = []; @@ -69,8 +135,8 @@ export function create(entry_ttl) { } function size() { - return length(keys(exp)); + return total; } - return { due, prune, reset, dump, size }; + return { due, prune, written, forget, reset, dump, size }; }; diff --git a/shunt/src/route.uc b/shunt/src/route.uc index 233e0344d..6b34c0207 100644 --- a/shunt/src/route.uc +++ b/shunt/src/route.uc @@ -57,12 +57,38 @@ function default_route(fam, table, iface, gw) { return route; } +// Whether a name can stand for one device under /proc/sys/net/ipv4/conf: an +// interface name and nothing else - no path that leads out of that directory, +// and not `all` or `default`, which are entries there but not devices, so +// that a policy naming one of them never changes the setting of every +// interface. +export function conf_dev(dev) { + return type(dev) == 'string' && match(dev, RE_IFACE) != null && + dev != 'all' && dev != 'default'; +}; + +// A rule is deleted by its priority and its mark, never by the priority +// alone: the kernel takes every attribute left out as a wildcard, and a rule +// of somebody else's that happens to sit on one of shunt's priorities is not +// shunt's to remove. Priority and mark are both derived from the policy's +// index, so every rule a released version ever added still matches. +function rule_del(family, priority, fwmark, fwmask) { + return { cmd: 'delrule', msg: { family, priority, fwmark, fwmask } }; +} + +// What tells one route of a policy table from another: the kernel replaces a +// route of the same destination and metric in place, and every route shunt +// renders is a default route. +export function route_key(msg) { + return sprintf('%d/%d/%d', msg?.family, msg?.table, msg?.priority ?? 0); +}; + export function compile(policies, marks, opts) { let mask = opts?.mask ?? DEFAULTS.mask; // Without the IPv6 family the kernel refuses every IPv6 operation, so // none is rendered; the nft side loads either way. let fams = (opts?.ipv6 === false) ? [ '4' ] : [ '4', '6' ]; - let add = [], del = [], tables = [], issues = []; + let add = [], del = [], issues = []; // A tracked device gets a probe table with the default route of its first // policy, and a rule that leads the device's probe mark there. It is @@ -102,8 +128,6 @@ export function compile(policies, marks, opts) { if (to_bool(p.keep_local, false) === true) reject(p.name, p.keep_local, 'keep_local does not apply to tproxy, ignored'); - push(tables, sprintf('%d\tshunt_%s', m.rt_table, m.name)); - for (let fam in fams) { let family = AF[fam]; @@ -117,8 +141,8 @@ export function compile(policies, marks, opts) { fwmark: m.mark, fwmask: mask, table: m.rt_table } }); unshift(del, { cmd: 'flush', msg: { family, table: m.rt_table } }); - unshift(del, { cmd: 'delrule', msg: { family, priority: m.rt_prio } }); - unshift(del, { cmd: 'delrule', msg: { family, priority: m.rt_prio_local } }); + unshift(del, rule_del(family, m.rt_prio, m.mark, mask)); + unshift(del, rule_del(family, m.rt_prio_local, m.mark, mask)); } continue; } @@ -191,15 +215,10 @@ export function compile(policies, marks, opts) { let mgw = many ? { '4': mb.gw4, '6': mb.gw6 } : gw; let table = m.rt_table; - push(tables, many - ? sprintf('%d\tshunt_%s_%s', table, m.name, name) - : sprintf('%d\tshunt_%s', table, m.name)); - let pr = probe_of[name]; if (pr && !probed[name]) { probed[name] = true; - push(tables, sprintf('%d\tshunt_track_%s', pr.rt_table, name)); for (let fam in fams) { push(add, { cmd: 'newroute', @@ -209,7 +228,7 @@ export function compile(policies, marks, opts) { fwmark: pr.mark, fwmask: mask, table: pr.rt_table } }); unshift(del, { cmd: 'flush', msg: { family: AF[fam], table: pr.rt_table } }); - unshift(del, { cmd: 'delrule', msg: { family: AF[fam], priority: pr.rt_prio } }); + unshift(del, rule_del(AF[fam], pr.rt_prio, pr.mark, mask)); } } @@ -248,10 +267,10 @@ export function compile(policies, marks, opts) { fwmark: m.mark, fwmask: mask, table } }); unshift(del, { cmd: 'flush', msg: { family, table } }); - unshift(del, { cmd: 'delrule', msg: { family, priority: m.rt_prio } }); + unshift(del, rule_del(family, m.rt_prio, m.mark, mask)); // Deleted whether or not it is rendered now: keep_local may // have been on when the running ruleset was applied. - unshift(del, { cmd: 'delrule', msg: { family, priority: m.rt_prio_local } }); + unshift(del, rule_del(family, m.rt_prio_local, m.mark, mask)); } } } @@ -259,7 +278,6 @@ export function compile(policies, marks, opts) { return { add, del, - rt_tables: length(tables) ? join('\n', tables) + '\n' : '', issues }; }; @@ -279,3 +297,37 @@ export function state_ops(policies, marks, opts, name) { return ops; }; + +// What is left to remove once a new rendering has been applied on top of +// the old one. The new routes replace the old ones in place and the rules are +// the same ones again, so nothing has to go first - and nothing may: with the +// rules or a default route gone, even for the moment it takes to put them +// back, marked traffic takes the main table, a blocking policy leaks, and +// masquerade resets every running flow whose packet falls into that gap. +// Left over is only what the new rendering no longer has - the default route +// of an interface that is dead now - and an old route whose replacement the +// kernel refused: a wrong route is not better than the fallback. +export function stale(old_ops, new_ops, failed) { + let routes = {}, rules = {}, ops = []; + + for (let op in (new_ops ?? [])) { + if (op?.cmd == 'newroute') + routes[route_key(op.msg)] = sprintf('%J', op.msg); + else if (op?.cmd == 'newrule') + rules[sprintf('%J', op.msg)] = true; + } + + for (let op in (old_ops ?? [])) { + if (op?.cmd == 'newroute') { + let k = route_key(op.msg); + + if (routes[k] == null || + (failed?.[k] && routes[k] != sprintf('%J', op.msg))) + push(ops, { cmd: 'delroute', msg: op.msg }); + } + else if (op?.cmd == 'newrule' && !rules[sprintf('%J', op.msg)]) + push(ops, { cmd: 'delrule', msg: op.msg }); + } + + return ops; +};