build: production Windows release pipeline (PyInstaller, SBOM, CI, signing hook)
This commit is contained in:
63
README.md
63
README.md
@@ -66,35 +66,56 @@ YOU -> VPN (outer tunnel) -> Hop 1 -> Hop 2 -> ... -> Exit hop -> Internet
|
||||
|
||||
---
|
||||
|
||||
## Build to Desktop (recommended)
|
||||
## Build (Windows)
|
||||
|
||||
1. Clone (or `git pull` in existing repo):
|
||||
```cmd
|
||||
git clone https://gitea.thetempleofdoom.com/drjones/proxy-god.git
|
||||
cd proxy-god
|
||||
```
|
||||
2. Install Python if needed:
|
||||
```cmd
|
||||
winget install Python.Python.3.12 --accept-package-agreements --accept-source-agreements
|
||||
```
|
||||
3. Build:
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup_and_build.ps1
|
||||
```
|
||||
Requires **Python 3.10+** and **Windows 10/11 x64**. Python is not needed to *run* the built `.exe`.
|
||||
|
||||
Equivalent paths:
|
||||
- `build_exe.bat`
|
||||
- `FirstRun_Build_And_Install.bat`
|
||||
```cmd
|
||||
winget install Python.Python.3.12 --accept-package-agreements --accept-source-agreements
|
||||
```
|
||||
|
||||
Artifacts:
|
||||
### Production release (recommended for shipping)
|
||||
|
||||
Full pipeline: tests → bundled GOST → PyInstaller → SHA256 + SBOM + manifest → zip.
|
||||
|
||||
```cmd
|
||||
build_release.bat
|
||||
```
|
||||
|
||||
Or:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\release_build.ps1
|
||||
```
|
||||
|
||||
Output: `releases\ProxyGod-v{version}-windows-amd64.zip` and `releases\v{version}\` (exe, checksum, SBOM, manifest). See [docs/RELEASE_PROCESS.md](docs/RELEASE_PROCESS.md).
|
||||
|
||||
Tag-driven CI build (GitHub):
|
||||
|
||||
```bash
|
||||
git tag v1.0.0
|
||||
git push origin v1.0.0
|
||||
```
|
||||
|
||||
### Developer build (Desktop copy)
|
||||
|
||||
Faster iteration — copies `dist\ProxyChainManager.exe` to Desktop + shortcut.
|
||||
|
||||
```cmd
|
||||
build_exe.bat
|
||||
```
|
||||
|
||||
Or `FirstRun_Build_And_Install.bat` (same script, pauses on error).
|
||||
|
||||
| Path | Purpose |
|
||||
|------|------|
|
||||
| `dist\ProxyChainManager.exe` | Built binary |
|
||||
| `Desktop\ProxyChainManager.exe` | Refreshed desktop copy |
|
||||
| `Desktop\Proxy God.lnk` | Shortcut target for daily use |
|
||||
| `releases\` | Production release folders + zip (from `release_build.ps1`) |
|
||||
| `Desktop\ProxyChainManager.exe` | Dev build desktop copy |
|
||||
| `Desktop\Proxy God.lnk` | Shortcut |
|
||||
|
||||
Recreate shortcut only:
|
||||
|
||||
Recreate missing shortcut:
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\create_desktop_shortcut.ps1
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user