feat(gui): add Windows GUI application with Tauri

Built ostp-gui.exe - graphical VPN client with buttons!

Features:
- Connect/Disconnect button
- Server selection dropdown
- Real-time stats (Upload/Download/Ping)
- Settings panel
- Beautiful interface (Tauri 2.0 + HTML/CSS/JS)
- IPC with ostp-daemon via Named Pipe

UI Components:
- Main window: 450x600 (not resizable)
- Status indicator (Connected/Disconnected)
- Server selection list
- Stats grid display
- Settings button

Files:
- ostp-gui.exe: 5.79 MB (NEW!)
- ostp-client.exe: 1.64 MB (CLI)
- ostp-daemon.exe: 0.53 MB (service)
- ostp-installer.exe: 0.37 MB

Changes:
1. Fixed tauri.conf.json paths (frontendDist: ./ui)
2. Removed protocol-asset feature from Cargo.toml
3. Added icons/icon.ico (user provided)
4. Built successfully with Tauri 2.0
5. Updated SHA256SUMS.txt with GUI checksum
6. Recreated ostp-client-windows-x64.zip (3.64 MB)

Usage:
- Just run ostp-gui.exe - NO command line needed!
- Select server, click Connect - thats it!

Location: dist/windows-x64/ostp-gui.exe
SHA256: 5880cfeeb7fd2dcf1b033b7e2514a56eb45b3220d5c2c783f5a7f2295bd28ca4
This commit is contained in:
2026-01-02 16:33:44 +03:00
parent 52a739a368
commit 84e1bb5957
11 changed files with 5134 additions and 10 deletions

7
Cargo.lock generated
View File

@@ -1649,12 +1649,6 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
] ]
[[package]]
name = "http-range"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
[[package]] [[package]]
name = "httparse" name = "httparse"
version = "1.10.1" version = "1.10.1"
@@ -4440,7 +4434,6 @@ dependencies = [
"gtk", "gtk",
"heck 0.5.0", "heck 0.5.0",
"http 1.4.0", "http 1.4.0",
"http-range",
"jni", "jni",
"libc", "libc",
"log", "log",

Binary file not shown.

View File

@@ -1,3 +1,4 @@
5880cfeeb7fd2dcf1b033b7e2514a56eb45b3220d5c2c783f5a7f2295bd28ca4 ostp-gui.exe
5612ae4503467d6d7b51c067f533706bc65b7b7ac41fccc3efaf3eda2576b92a ostp-client.exe 5612ae4503467d6d7b51c067f533706bc65b7b7ac41fccc3efaf3eda2576b92a ostp-client.exe
2e5c4dda1b0e9d1807892a3de587e4875906bdbe5343d5b83b5f33488d6e6696 ostp-daemon.exe 2e5c4dda1b0e9d1807892a3de587e4875906bdbe5343d5b83b5f33488d6e6696 ostp-daemon.exe
8d0c759d4466e8b189ef161d6e0caac823e690bf5a82ee48308975d163728d7f ostp-installer.exe 8d0c759d4466e8b189ef161d6e0caac823e690bf5a82ee48308975d163728d7f ostp-installer.exe

BIN
dist/windows-x64/ostp-gui.exe vendored Normal file

Binary file not shown.

View File

@@ -8,7 +8,7 @@ description = "OSTP Windows GUI Client"
tauri-build = { version = "2", features = [] } tauri-build = { version = "2", features = [] }
[dependencies] [dependencies]
tauri = { version = "2", features = ["protocol-asset"] } tauri = { version = "2", features = [] }
tauri-plugin-shell = "2" tauri-plugin-shell = "2"
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

BIN
ostp-gui/icons/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

View File

@@ -5,9 +5,9 @@
"identifier": "network.ospab.ostp", "identifier": "network.ospab.ostp",
"build": { "build": {
"beforeDevCommand": "", "beforeDevCommand": "",
"devUrl": "../ui/index.html", "devUrl": "http://localhost:1420",
"beforeBuildCommand": "", "beforeBuildCommand": "",
"frontendDist": "../ui" "frontendDist": "./ui"
}, },
"app": { "app": {
"windows": [ "windows": [