Commit Graph

31 Commits

Author SHA1 Message Date
ospab af19c52ac9 Fix Windows TUN NLA delays, UI timer, and Android UDP DNS resolution 2026-05-28 18:19:01 +03:00
ospab 1e7f562f81 Fix frontend ignoring tunnel errors & fix blocking wintun routines 2026-05-28 16:32:59 +03:00
ospab 46a525ff3d Fix Tauri RealityConfig init 2026-05-28 15:30:48 +03:00
ospab 2b89763a72 Upgrade Flutter to 3.41.6 in CI to support Kotlin DSL 2026-05-28 15:19:06 +03:00
ospab 23e2c04bc7 Fix Tauri build args, split Android into matrix, track flutter/gui, update docs and contacts 2026-05-28 15:01:41 +03:00
ospab 36a325997c fix(server): generate correct public IP for client configs instead of 0.0.0.0 2026-05-27 18:17:11 +03:00
ospab cba7be4b75 Implement config management API, token generation, and update wiki 2026-05-26 19:33:45 +03:00
ospab 2228faa550 android: foreground service, wakelock, persistent notification, quick settings tile; gui: separate ping metric with color coding 2026-05-26 16:19:14 +03:00
ospab fffb67fbde gui: add build:dist script for packing all windows binaries 2026-05-26 13:25:40 +03:00
ospab 77c0701695 gui: fix helper lookup path for dev workspace 2026-05-25 23:16:24 +03:00
ospab 87540166f6 gui, flutter: use server rtt for ping display 2026-05-25 23:00:52 +03:00
ospab 164c36ed3e gui: fix compilation errors (update config mappings) 2026-05-25 22:53:06 +03:00
ospab c3b80eb12c gui: add multiplexing and translate reality fields 2026-05-25 22:45:31 +03:00
ospab 270cd91d71 Update flutter and gui apps to support XTLS-Reality and UoT config parameters 2026-05-24 22:55:07 +03:00
ospab a5a0a17cfd feat: add transport and mtu fields to gui 2026-05-21 02:59:01 +03:00
ospab ee14a60348 feat: GUI v2 redesign + CI/CD speedup
GUI (ostp-gui):
- Complete HTML rewrite: orbit rings, server badge, metrics bar, peek-key
- CSS design system v2: ambient blobs, glassmorphism card, richer token set
  orbit animation (connected/connecting states), breathing power button,
  modern toggle component with thumb, toast variants (ok/error/default)
- main.js: clean state machine, server badge, TUN/SOCKS5 mode label,
  peek-key toggle, toast variants, import link, uptime counter

CI/CD (.github/workflows/release.yml):
- Replaced swatinem/rust-cache with actions/cache@v4 (per-target key)
- Cache cross binary: skip reinstall on cache hit (~3 min saved per job)
- Cache tauri-cli binary: skip reinstall on cache hit (~2 min saved per GUI job)
- Added npm cache (cache-dependency-path: ostp-gui/package-lock.json)
- Removed redundant pre-flight cargo check step (duplicates build step)
- Cleaned up packaging scripts (inline vars, smaller surface area)
2026-05-17 22:13:03 +03:00
ospab c82ec93ea7 fix: declare and grant custom Tauri v2 command permissions for GUI 2026-05-17 18:59:44 +03:00
ospab 0306cbaccd fix: resolve GUI buttons by safe tauri invoke, add validation toasts, build and bundle ostp-tun-helper in CI/CD pipeline 2026-05-17 18:32:55 +03:00
ospab e8a92059d2 design: professional GUI redesign — minimal dark theme
Complete visual overhaul:
- Replaced vibrant/gaming aesthetic with enterprise-grade minimal design
- Darker, more muted color palette (bg: #0a0a0f, accent: #7c83ff)
- Reduced border/glow intensity for cleaner look
- Thinner power button border (solid 2px instead of thick radial gradient)
- Subtler ambient background effects (lower opacity, slower animation)
- More compact spacing and typography
- Smooth screen transitions (translateX instead of translateY)
- Refined toggle switches and form elements
- Consistent border-radius and padding system
2026-05-17 16:39:20 +03:00
ospab 69e4426152 feat: release preparation — TUN fix, i18n, GUI CI/CD, speed improvements
TUN Interface:
- Fixed adapter name to always be 'ostp_tun' by cleaning up stale
  adapters before launch (prevents 'ostp_tun 2', 'ostp_tun 3', etc.)
- Parallelized route setup with tun2socks launch to save ~3 seconds
- Replaced fixed 2-second sleep with adapter readiness polling
- Added -NoProfile to all PowerShell calls for faster execution

Speed:
- Reduced handshake timeout from 10s to 5s
- Reduced tun2socks spawn buffer from 300ms to 0 (removed)

GUI:
- Added i18n support: English and Russian translations
- Language toggle button in header (EN/RU)
- Merged 'IP Ranges' field into 'Bypass IPs / CIDR Ranges'
- Removed separate IP ranges field
- All static text uses data-i18n attributes
- Status messages, labels, toasts all translated
- Replaced alert() calls with toast notifications

CI/CD:
- Added separate GUI build job for Windows x64 and arm64
- Produces ostp-windows-gui-{arch}.zip with: ostp-gui.exe + wintun.dll + tun2socks.exe
- Uses Tauri CLI v2 for build
2026-05-17 16:25:30 +03:00
ospab 77ec0e3a44 fix: DPI resistance, GUI proxy/tunnel, and code quality
DPI/TSPU resistance:
- Handshake packets now padded with 32-128 random bytes (prevents size
  fingerprinting — previously every handshake was exactly 52 bytes)
- Frame header reserved bytes randomized instead of always 0 (prevents
  known-plaintext oracle inside encrypted payload)
- Padding jitter cap increased from 96 to 256 bytes for better traffic
  pattern masking

GUI Windows app (tunnel/proxy not starting):
- CRITICAL: Added CREATE_NO_WINDOW flag to all reg.exe calls in sysproxy.rs.
  In Tauri GUI context (no console window), Command::new('reg') was silently
  failing because there was no attached console. This prevented the Windows
  system proxy from being enabled.
- Added ProxyOverride bypass list (localhost;127.*;10.*;192.168.*;<local>)
  to prevent proxy loop for local traffic
- Added comprehensive logging for all registry operations
- Set initial connection_state to 1 (connecting) instead of 0 — prevents
  UI polling from immediately flipping back to 'disconnected' before the
  handshake has a chance to begin

Code quality:
- Fixed log file paths: log_to_core_file() and log_to_file() now write next
  to the executable instead of CWD. In GUI context, CWD could be
  C:\Windows\System32, causing write failures or misplaced log files.
2026-05-17 14:40:13 +03:00
ospab 31f3fff187 fix: GUI, JNI SDK, and TUN handler audit fixes
ostp-gui:
- GUI-01: Config parsing now strips JSONC comments via json_comments
  crate, matching CLI behavior. Previously failed on any commented config.
- GUI-02: stop_tunnel now properly aborts the JoinHandle with a 2s
  timeout instead of silently dropping it.

ostp-jni (Android SDK):
- JNI-01: Replaced all .unwrap() calls in JNI functions with safe
  null_mut fallback. JNI functions must never panic.
- JNI-02: Added missing exclusions, multiplex, debug fields to
  Kotlin SDK Config.toNativeJson(). Without these, serde deserialization
  on the native side could fail or use wrong defaults.
- JNI-03: Replaced shutdown_background() with shutdown_timeout(3s)
  to allow proper task cleanup and port unbinding.
- JNI-04: Updated Kotlin log string matchers to match professionalized
  messages (Connection established, TUN tunnel established, etc.)

TUN handlers:
- TUN-01: Windows TUN cleanup guard now resets DNS via netsh. Previously
  the custom DNS server remained configured after disconnect, causing
  complete DNS resolution failure.
- Unified all remaining [ostp-client] log prefixes to [ostp] across
  wintun_handler.rs, linux_handler.rs, and proxy.rs.
2026-05-17 03:31:48 +03:00
ospab 4970b661db chore: implement keep-alive, config comments, validation and CI/CD improvements 2026-05-16 18:20:53 +03:00
ospab a398bf2fdd fix(gui): add dev/build npm scripts that auto-build helper, fix find_helper_exe 2026-05-15 23:12:22 +03:00
ospab b0491e14e3 feat(gui): privileged TUN helper architecture - GUI runs unprivileged, UAC prompt shown only for TUN mode via ostp-tun-helper.exe IPC 2026-05-15 23:08:14 +03:00
ospab 5d9034ca1e feat(gui): force Administrator privileges via manifest and automate WebView2 loopback exemption for dev environment 2026-05-15 22:57:33 +03:00
ospab 57596143fa fix(gui): resolve ERR_CONNECTION_REFUSED by disabling automatic relaunch in Tauri context and surfacing Admin requirement as UI alert 2026-05-15 22:50:30 +03:00
ospab e21e612e5c feat(gui): implement real-time atomic status polling and multi-state UI feedback (Stopped/Handshaking/Established) and update JNI/core layers 2026-05-15 22:37:50 +03:00
ospab b63979b014 feat: add custom DNS server & Exclusions config fields, simplify share link schema, introduce --links server helper 2026-05-15 22:17:55 +03:00
ospab 067ee758cd feat: implement settings ui forms, add share link parser to cli, add paste link functionality, reduce gui height to 680 2026-05-15 22:13:04 +03:00
ospab 609564fdd9 feat(gui): add fully native tauri windows gui with premium mobile layout, real-time statistics polling, in-app config editor, and graceful exit cleanup 2026-05-15 22:01:20 +03:00