Skip to content

Commit e13b318

Browse files
Publish prebuilt agent binaries and harden Windows install.
GitHub Actions builds platform agents on main; the Windows installer defaults SOCKS to 1080, busts stale TEMP cache, downloads release binaries first, and re-enters bootstrap via env vars only. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 6f327ac commit e13b318

4 files changed

Lines changed: 286 additions & 99 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Release agent binaries
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
include:
18+
- goos: windows
19+
goarch: amd64
20+
asset: trinityproxy-windows-amd64.exe
21+
- goos: linux
22+
goarch: amd64
23+
asset: trinityproxy-linux-amd64
24+
- goos: darwin
25+
goarch: amd64
26+
asset: trinityproxy-darwin-amd64
27+
- goos: darwin
28+
goarch: arm64
29+
asset: trinityproxy-darwin-arm64
30+
steps:
31+
- name: Checkout
32+
uses: actions/checkout@v4
33+
34+
- name: Set up Go
35+
uses: actions/setup-go@v5
36+
with:
37+
go-version-file: go.mod
38+
cache: true
39+
40+
- name: Build agent binary
41+
env:
42+
GOOS: ${{ matrix.goos }}
43+
GOARCH: ${{ matrix.goarch }}
44+
CGO_ENABLED: "0"
45+
run: |
46+
mkdir -p dist
47+
go build -ldflags="-s -w" -trimpath -o "dist/${{ matrix.asset }}" .
48+
49+
- name: Upload build artifact
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: ${{ matrix.asset }}
53+
path: dist/${{ matrix.asset }}
54+
if-no-files-found: error
55+
56+
release:
57+
needs: build
58+
runs-on: ubuntu-latest
59+
steps:
60+
- name: Download all platform binaries
61+
uses: actions/download-artifact@v4
62+
with:
63+
path: dist
64+
merge-multiple: true
65+
66+
- name: List release files
67+
run: ls -la dist/
68+
69+
- name: Publish continuous pre-release (tag latest)
70+
uses: softprops/action-gh-release@v2
71+
with:
72+
tag_name: latest
73+
name: Latest dev agent binaries
74+
prerelease: true
75+
make_latest: false
76+
generate_release_notes: true
77+
files: dist/*
78+
overwrite_files: true
79+
env:
80+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

‎docs/WINDOWS_AGENT.md‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,17 @@ The agent:
66
1. Starts an embedded SOCKS5 listener on `TRINITY_SOCKS_PORT` (default **1080**)
77
2. Sends heartbeats every 60 seconds with the node's public IP, SOCKS port, and credentials
88

9+
## Pre-built binary (recommended)
10+
11+
No Go required on the Windows PC. After the [Release agent binaries](https://github.com/Skillz147/TrinityProxy/actions/workflows/release-binaries.yml) workflow has run on `main`, download:
12+
13+
`https://github.com/Skillz147/TrinityProxy/releases/download/latest/trinityproxy-windows-amd64.exe`
14+
15+
The dashboard one-liner and `scripts/install-agent-windows.ps1` use this URL automatically.
16+
917
---
1018

11-
## Step 1 — Build the agent binary
19+
## Step 1 — Build the agent binary (optional)
1220

1321
On a machine with Go installed (macOS, Linux, or Windows):
1422

‎internal/dashboard/deployment/commands.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ func BuildDeployCommands(settings *Settings, envFallback, agentKey string) Deplo
6262
{
6363
ID: "windows",
6464
Label: "Windows",
65-
Description: "One paste in elevated PowerShell: downloads the installer from GitHub, extracts to %TEMP% (no Git), builds or downloads the agent binary, and registers a Windows service with embedded SOCKS5.",
65+
Description: "One paste in elevated PowerShell: downloads the installer and pre-built trinityproxy-windows-amd64.exe from GitHub Releases (no Go on your PC). Falls back to a fresh source zip only if the release is not published yet.",
6666
ControllerURL: productionURL,
6767
Command: windowsCommand(productionURL, agentKey),
6868
RunAs: "Administrator (elevated PowerShell)",
69-
Prerequisites: "Git for Windows (for first-time install). Run the command in elevated PowerShell — no manual clone or cd. Optional: pre-copy build\\trinityproxy.exe via TRINITY_LOCAL_BINARY or TRINITY_DOWNLOAD_URL to skip Go build.",
69+
Prerequisites: "Elevated PowerShell only — no Git or Go required once GitHub Release latest is published. Optional: TRINITY_LOCAL_BINARY or TRINITY_DOWNLOAD_URL to use your own binary.",
7070
},
7171
{
7272
ID: "docker",

0 commit comments

Comments
 (0)