Skip to content

Commit 8042c21

Browse files
author
Delta-Kronecker
committed
start-tor.exe: mode menu (direct/webtunnel/obfs4/vanilla) with bundled bridge lists; drop PS launchers
1 parent 4dbd6f2 commit 8042c21

9 files changed

Lines changed: 770 additions & 411 deletions

File tree

.github/workflows/build.yml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ jobs:
8080
./configure --host=x86_64-w64-mingw32 \
8181
--disable-asciidoc --disable-man --disable-html-docs
8282
83+
- name: Upload configure log (on failure)
84+
if: failure() && hashFiles('tor-src/config.log') != ''
85+
uses: actions/upload-artifact@v4
86+
with:
87+
name: config-log
88+
path: tor-src/config.log
89+
8390
- name: Build
8491
shell: msys2 {0}
8592
run: |
@@ -97,7 +104,7 @@ jobs:
97104
shell: msys2 {0}
98105
run: |
99106
cd "$GITHUB_WORKSPACE/tor-src"
100-
mkdir -p ../dist/data/scripts
107+
mkdir -p ../dist/data/bridges
101108
cp src/app/tor.exe ../dist/data/
102109
cp "$MINGW_PREFIX"/bin/libevent*.dll "$MINGW_PREFIX"/bin/libssl-3-x64.dll "$MINGW_PREFIX"/bin/libcrypto-3-x64.dll "$MINGW_PREFIX"/bin/zlib1.dll ../dist/data/ 2>/dev/null || true
103110
cp src/config/geoip src/config/geoip6 ../dist/data/
@@ -114,12 +121,11 @@ jobs:
114121
Copy-Item "transports\*.exe" -Destination "dist\data\" -Force
115122
Get-ChildItem "dist" -Recurse -File | Select-Object FullName, Length
116123
117-
- name: Copy portable config, scripts, README
124+
- name: Copy config template, bridges, README
118125
shell: pwsh
119126
run: |
120-
Copy-Item "configs\torrc.iran" "dist\data\torrc" -Force
121-
Copy-Item "scripts\launcher.ps1" "dist\data\scripts\" -Force
122-
Copy-Item "scripts\fetch-bridges.ps1" "dist\data\scripts\" -Force
127+
Copy-Item "configs\torrc.iran" "dist\data\torrc.template" -Force
128+
Copy-Item "bridges\*.txt" "dist\data\bridges\" -Force
123129
Copy-Item "README.md" "dist\data\README.md" -Force
124130
125131
- name: Compile start-tor.exe

README.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,39 @@ state stays inside one folder, so you can copy or move it anywhere.
88
## Layout
99

1010
```
11-
start-tor.exe double-click to start Tor and set the system proxy
12-
data\ everything else lives here
13-
tor.exe + DLLs, geoip, geoip6, transports (obfs4/snowflake/webtunnel)
14-
torrc portable config (relative paths; sits next to tor.exe)
15-
scripts\ launcher.ps1 (new identity / stop) + fetch-bridges.ps1
11+
start-tor.exe double-click to start; asks for a connection mode
12+
data\
13+
tor.exe + DLLs, geoip, geoip6, transports
14+
torrc.template base config (relative paths; sits next to tor.exe)
15+
torrc generated by start-tor.exe from the chosen mode
16+
bridges\ obfs4_tested.txt, webtunnel_tested.txt, vanilla_tested.txt
1617
data\ runtime state (cached consensus, keys, tor.log)
1718
```
1819

1920
## Usage
2021

2122
1. Download the `tor-win64-portable` artifact from GitHub Actions and unzip.
22-
2. Double-click `start-tor.exe`.
23-
3. Tor bootstraps (direct by default). On 100% the system proxy is enabled
24-
(HTTP 127.0.0.1:8118, SOCKS5 127.0.0.1:9050, DNS 127.0.0.1:53530).
25-
Press Enter to stop Tor and restore the proxy.
23+
2. Double-click `start-tor.exe`, pick a mode:
24+
- **1 Direct** — no bridges (works when Tor is not blocked)
25+
- **2 WebTunnel**, **3 Obfs4**, **4 Vanilla** — bridges from `data\bridges\`
26+
Your choice is remembered for next time (`data\mode.txt`).
27+
3. On 100% bootstrap the system proxy is enabled (HTTP 127.0.0.1:8118,
28+
SOCKS5 127.0.0.1:9050, DNS 127.0.0.1:53530). Press Enter to stop and restore.
2629

27-
## If Tor is blocked
28-
29-
Run `data\scripts\fetch-bridges.ps1` to fetch fresh bridges (it rewrites
30-
`data\torrc`), then start again.
31-
32-
## Advanced
30+
You can also launch with a fixed mode or command:
3331

3432
```
35-
data\scripts\launcher.ps1 -NewCircuit request a new identity
36-
data\scripts\launcher.ps1 -Stop stop Tor and restore the proxy
33+
start-tor.exe obfs4 start directly in obfs4 mode
34+
start-tor.exe --newcircuit request a new identity (NEWNYM)
35+
start-tor.exe --stop stop Tor and restore the proxy
3736
```
3837

39-
## Build
38+
## Building
4039

41-
`.github/workflows/build.yml` builds tor + transports on every push and
42-
publishes the `tor-win64-portable` artifact.
40+
`.github/workflows/build.yml` builds tor + transports and publishes the
41+
`tor-win64-portable` artifact on every push.
4342

4443
- `tor-src\` — unmodified official tor 0.4.9.11 source
45-
- `configs\torrc.iran` — the portable config template (becomes `data\torrc`)
46-
- `scripts\start-tor.cs` — source of `start-tor.exe` (compiled with `build-start-tor.ps1`)
44+
- `configs\torrc.iran` — portable config template (becomes `data\torrc.template`)
45+
- `bridges\` — tested bridge lists shipped with the release
46+
- `scripts\start-tor.cs` — source of `start-tor.exe` (compiled with `scripts\build-start-tor.ps1`)

0 commit comments

Comments
 (0)