Proxy auth UI, verbose Live logs, build script, docs

- Fixed exit and manual chain: optional user/pass fields with URL merge and redaction in UI/logs
- config: split_proxy_for_edit, merge_proxy_credentials, redact_proxy_url, IPv6-style host bracketing
- Live tab: UILogHandler to stream proxy_chain_manager logs; Verbose toggle; Clear log; httpx quiet
- service/validator/fetcher: structured INFO/DEBUG for pool, GOST, validation, fetches
- setup_and_build.ps1: pip upgrade, deps, PyInstaller, desktop copy + shortcut; build_exe.bat delegates
- README: clone/pull to one-script desktop build flow

Made-with: Cursor
This commit is contained in:
Dr Jones
2026-04-16 00:27:39 -07:00
parent 0316b1befc
commit 214d2d2ff7
9 changed files with 495 additions and 89 deletions

View File

@@ -40,15 +40,51 @@ YOU → VPN (outer tunnel) → Hop 1 → Hop 2 → … → Last hop → Internet
## Requirements
- **Windows 10/11 x64**
- **Python 3.10+** *or* the built **`.exe`**
- **Python 3.10+** on PATH (or the **`py`** launcher with a 3.10+ install) — *only needed to build*; the shipped **`.exe`** runs without Python
- **VPN** recommended (Nord or any)—outer tunnel before the proxy zoo
---
## Quick start (source)
## Clone / pull → one build script → Desktop
Typical flow:
1. **Clone** (or `git pull` if you already have the repo):
```cmd
git clone https://gitea.thetempleofdoom.com/drjones/proxy-god.git
cd proxy-god
```
2. **Python** (first machine only): if `python --version` / `py -3` isnt 3.10+, install then reopen the terminal:
```cmd
winget install Python.Python.3.12 --accept-package-agreements --accept-source-agreements
```
3. **Build** — upgrades **pip**, installs **requirements.txt** + **PyInstaller**, produces **`dist\ProxyChainManager.exe`**, copies **`ProxyChainManager.exe`** to your **Desktop**, and creates **`Proxy God.lnk`** pointing at it:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup_and_build.ps1
```
Same steps from **`build_exe.bat`** in the repo root (it calls that script).
| Where | What |
|--------|------|
| `dist\ProxyChainManager.exe` | Built app (same bits as Desktop copy) |
| **Desktop → `Proxy God.lnk`** | **Doubleclick this** — shortcut to the Desktop exe |
| **Desktop → `ProxyChainManager.exe`** | Same app (refreshed every build) |
After a successful build, if the shortcut is missing but the exe exists, you can recreate it:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\create_desktop_shortcut.ps1
```
First run of the **exe**: accept **UAC** if you want the firewall kill-switch. In the app, press **▶ Start**.
You do **not** need Python installed to **run** the Desktop **`.exe`** — only to **build** it with the script above.
---
## Quick start (run from source, no exe)
```cmd
git clone https://gitea.thetempleofdoom.com/drjones/proxy-god.git
cd proxy-god
pip install -r requirements.txt
python run.py
@@ -64,41 +100,11 @@ python -m unittest discover -s tests -v
Hits config sanitization, fetcher smoke, validator timeouts, and a live `get_direct_ip` check (skips if youre offline).
### Shortcut missing?
After a successful build, if **`Proxy God.lnk`** isnt on the Desktop, run:
```cmd
powershell -ExecutionPolicy Bypass -File scripts\create_desktop_shortcut.ps1
```
(from the repo folder)
---
## Build the binary
```cmd
build_exe.bat
```
**What you get (no extra steps):**
| Where | What |
|--------|------|
| `dist\ProxyChainManager.exe` | The built app |
| **Desktop → `Proxy God.lnk`** | **Doubleclick this** — shortcut to the exe (created every build) |
| **Desktop → `ProxyChainManager.exe`** | Same app, direct file |
First time: accept **UAC** if you want the firewall kill-switch. Then in the window press **▶ Start**.
You do **not** need Python on the machine to run the `.exe` — only to **build** it.
---
## Run it like you mean it
1. Launch **`ProxyChainManager.exe`** (UAC if you want the kill-switch).
1. Launch **`Proxy God.lnk`** on the Desktop (or **`ProxyChainManager.exe`**) — UAC if you want the kill-switch.
2. Tweak **Settings** if youre picky—defaults are **solid** out of the box.
3. Hit **Start**. First run grabs **GOST**, whitelists the folder in Defender, pulls lists, validates, chains, verifies exit IP, sets **system proxy**, engages **firewall** (if Admin).
4. Close the window → **tray**; the engine **keeps running** until you **Quit**.