Skip to content

Commit 66619f7

Browse files
committed
Increase e2e timeout to 20s and switch test URL to HTTP
- Default e2e-timeout: 10s → 20s (DNS tunneling needs more time) - Default test URL: https → http (skip TLS handshake through tunnel) - curl now gets 6s per attempt instead of 2.6s, with 3 retries - Updated all flag defaults, chain.go, TUI placeholders, and docs
1 parent 9c73cf2 commit 66619f7

10 files changed

Lines changed: 18 additions & 18 deletions

File tree

GUIDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ findns scan -i doh-resolvers.txt -o results.json \
811811
| `--domain` | دامنه تانل (فعال‌سازی تست tunnel/edns) ||
812812
| `--pubkey` | کلید عمومی سرور DNSTT (فعال‌سازی تست e2e) ||
813813
| `--cert` | مسیر فایل گواهی Slipstream ||
814-
| `--test-url` | آدرسی که از طریق تانل تست شود | `https://httpbin.org/ip` |
814+
| `--test-url` | آدرسی که از طریق تانل تست شود | `http://httpbin.org/ip` |
815815
| `--proxy-auth` | احراز هویت پروکسی SOCKS به صورت `user:pass` (برای تست e2e) ||
816816
| `--doh` | حالت DoH به جای UDP | `false` |
817817
| `--skip-ping` | رد کردن مرحله ping (مفید اگر ICMP مسدود باشد) | `false` |
@@ -1201,7 +1201,7 @@ findns scan -i resolvers.txt -o results.json \
12011201
dnstt-client -udp 8.8.8.8:53 -pubkey YOUR_KEY t.example.com 127.0.0.1:1080 &
12021202

12031203
# صبر کنید 3 ثانیه، بعد:
1204-
curl -x socks5h://127.0.0.1:1080 https://httpbin.org/ip
1204+
curl -x socks5h://127.0.0.1:1080 http://httpbin.org/ip
12051205

12061206
# اگر جواب آمد = تانل کار می‌کند
12071207
# اگر timeout شد = مشکل از سرور یا resolver
@@ -1314,7 +1314,7 @@ https://dns.quad9.net/dns-query
13141314
| `--timeout` | `-t` | تایم‌اوت هر تلاش (ثانیه) | `3` |
13151315
| `--count` | `-c` | تعداد تلاش برای هر IP | `3` |
13161316
| `--workers` || تعداد workerهای موازی | `50` |
1317-
| `--e2e-timeout` || تایم‌اوت تست‌های e2e (ثانیه) | `10` |
1317+
| `--e2e-timeout` || تایم‌اوت تست‌های e2e (ثانیه) | `20` |
13181318
| `--include-failed` || IPهای فیل‌شده از ورودی JSON را هم اسکن کن | `false` |
13191319

13201320
**تنظیم workers:**

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ findns scan -i resolvers.txt -o results.json --domain t.example.com
248248
| `--domain` | Tunnel domain (enables tunnel/e2e steps) ||
249249
| `--pubkey` | DNSTT server public key (enables e2e test) ||
250250
| `--cert` | Slipstream cert path (enables Slipstream e2e) ||
251-
| `--test-url` | URL to fetch through tunnel for e2e test | `https://httpbin.org/ip` |
251+
| `--test-url` | URL to fetch through tunnel for e2e test | `http://httpbin.org/ip` |
252252
| `--proxy-auth` | SOCKS proxy auth as `user:pass` (for e2e tests) ||
253253
| `--doh` | Scan DoH resolvers instead of UDP | `false` |
254254
| `--edns` | Include EDNS payload size check | `false` |
@@ -481,7 +481,7 @@ Step format: `type:key=val,key=val`. Optional params: `count`, `timeout`.
481481
| `--timeout` | `-t` | Timeout per attempt (seconds) | 3 |
482482
| `--count` | `-c` | Attempts per IP/URL | 3 |
483483
| `--workers` | | Concurrent workers | 50 |
484-
| `--e2e-timeout` | | Timeout for e2e tests (seconds) | 10 |
484+
| `--e2e-timeout` | | Timeout for e2e tests (seconds) | 20 |
485485
| `--include-failed` | | Also scan failed entries from JSON input | false |
486486

487487
---
@@ -876,7 +876,7 @@ findns tui
876876
| `--domain` | دامنه تانل (فعال‌سازی تست تانل/e2e) ||
877877
| `--pubkey` | کلید عمومی سرور DNSTT (فعال‌سازی تست e2e) ||
878878
| `--cert` | مسیر گواهی Slipstream (فعال‌سازی تست Slipstream) ||
879-
| `--test-url` | آدرس برای تست اتصال e2e | `https://httpbin.org/ip` |
879+
| `--test-url` | آدرس برای تست اتصال e2e | `http://httpbin.org/ip` |
880880
| `--proxy-auth` | احراز هویت پروکسی SOCKS به صورت `user:pass` (برای تست e2e) ||
881881
| `--doh` | اسکن DoH به جای UDP | `false` |
882882
| `--edns` | فعال‌سازی تست سایز EDNS payload | `false` |
@@ -1164,7 +1164,7 @@ findns chain -i doh-resolvers.txt -o result.json \
11641164
| `--timeout` | `-t` | تایم‌اوت هر تلاش (ثانیه) | 3 |
11651165
| `--count` | `-c` | تعداد تلاش برای هر IP/URL | 3 |
11661166
| `--workers` | | تعداد workerهای موازی | 50 |
1167-
| `--e2e-timeout` | | تایم‌اوت تست‌های e2e (ثانیه) | 10 |
1167+
| `--e2e-timeout` | | تایم‌اوت تست‌های e2e (ثانیه) | 20 |
11681168
| `--include-failed` | | اسکن IPهای فیل‌شده از ورودی JSON | false |
11691169

11701170
---

cmd/chain.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func buildStep(cfg stepConfig, defaultTimeout, defaultCount int, ports chan int,
100100
if !ok || pubkey == "" {
101101
return scanner.Step{}, fmt.Errorf("step %q: missing required param 'pubkey'", cfg.name)
102102
}
103-
testURL := "https://httpbin.org/ip"
103+
testURL := "http://httpbin.org/ip"
104104
if v, ok := cfg.params["test-url"]; ok {
105105
testURL = v
106106
}
@@ -113,7 +113,7 @@ func buildStep(cfg stepConfig, defaultTimeout, defaultCount int, ports chan int,
113113
return scanner.Step{}, fmt.Errorf("step %q: missing required param 'domain'", cfg.name)
114114
}
115115
cert := cfg.params["cert"]
116-
testURL := "https://httpbin.org/ip"
116+
testURL := "http://httpbin.org/ip"
117117
if v, ok := cfg.params["test-url"]; ok {
118118
testURL = v
119119
}
@@ -153,7 +153,7 @@ func buildStep(cfg stepConfig, defaultTimeout, defaultCount int, ports chan int,
153153
if !ok || pubkey == "" {
154154
return scanner.Step{}, fmt.Errorf("step %q: missing required param 'pubkey'", cfg.name)
155155
}
156-
testURL := "https://httpbin.org/ip"
156+
testURL := "http://httpbin.org/ip"
157157
if v, ok := cfg.params["test-url"]; ok {
158158
testURL = v
159159
}

cmd/doh_e2e.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var dohE2ECmd = &cobra.Command{
2020
func init() {
2121
dohE2ECmd.Flags().String("domain", "", "DNSTT tunnel domain")
2222
dohE2ECmd.Flags().String("pubkey", "", "DNSTT server public key")
23-
dohE2ECmd.Flags().String("test-url", "https://httpbin.org/ip", "URL to fetch through tunnel")
23+
dohE2ECmd.Flags().String("test-url", "http://httpbin.org/ip", "URL to fetch through tunnel")
2424
dohE2ECmd.Flags().String("proxy-auth", "", "SOCKS proxy auth as user:pass")
2525
dohE2ECmd.MarkFlagRequired("domain")
2626
dohE2ECmd.MarkFlagRequired("pubkey")

cmd/e2e_dnstt.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var e2eDnsttCmd = &cobra.Command{
2020
func init() {
2121
e2eDnsttCmd.Flags().String("domain", "", "DNSTT tunnel domain")
2222
e2eDnsttCmd.Flags().String("pubkey", "", "DNSTT server public key")
23-
e2eDnsttCmd.Flags().String("test-url", "https://httpbin.org/ip", "URL to fetch through tunnel")
23+
e2eDnsttCmd.Flags().String("test-url", "http://httpbin.org/ip", "URL to fetch through tunnel")
2424
e2eDnsttCmd.Flags().String("proxy-auth", "", "SOCKS proxy auth as user:pass")
2525
e2eDnsttCmd.MarkFlagRequired("domain")
2626
e2eDnsttCmd.MarkFlagRequired("pubkey")

cmd/e2e_slipstream.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var e2eSlipstreamCmd = &cobra.Command{
2020
func init() {
2121
e2eSlipstreamCmd.Flags().String("domain", "", "Slipstream tunnel domain")
2222
e2eSlipstreamCmd.Flags().String("cert", "", "path to Slipstream certificate for cert pinning (optional)")
23-
e2eSlipstreamCmd.Flags().String("test-url", "https://httpbin.org/ip", "URL to fetch through tunnel")
23+
e2eSlipstreamCmd.Flags().String("test-url", "http://httpbin.org/ip", "URL to fetch through tunnel")
2424
e2eSlipstreamCmd.Flags().String("proxy-auth", "", "SOCKS proxy auth as user:pass")
2525
e2eSlipstreamCmd.MarkFlagRequired("domain")
2626
e2eCmd.AddCommand(e2eSlipstreamCmd)

cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func init() {
4545
rootCmd.PersistentFlags().IntVar(&workers, "workers", 50, "concurrent workers")
4646
rootCmd.PersistentFlags().IntVarP(&timeout, "timeout", "t", 3, "timeout per attempt in seconds")
4747
rootCmd.PersistentFlags().IntVarP(&count, "count", "c", 3, "number of attempts per IP for ping/resolve checks")
48-
rootCmd.PersistentFlags().IntVar(&e2eTimeout, "e2e-timeout", 10, "timeout for e2e tunnel tests in seconds")
48+
rootCmd.PersistentFlags().IntVar(&e2eTimeout, "e2e-timeout", 20, "timeout for e2e tunnel tests in seconds")
4949
rootCmd.SilenceUsage = true
5050
}
5151

cmd/scan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func init() {
5858
scanCmd.Flags().String("domain", "", "tunnel domain (required for tunnel/edns/e2e steps)")
5959
scanCmd.Flags().String("pubkey", "", "DNSTT public key (enables e2e test)")
6060
scanCmd.Flags().String("cert", "", "Slipstream cert path (enables slipstream e2e test)")
61-
scanCmd.Flags().String("test-url", "https://httpbin.org/ip", "URL to test through tunnel")
61+
scanCmd.Flags().String("test-url", "http://httpbin.org/ip", "URL to test through tunnel")
6262
scanCmd.Flags().String("proxy-auth", "", "SOCKS proxy auth as user:pass (for e2e tests)")
6363
scanCmd.Flags().Bool("doh", false, "scan DoH resolvers instead of UDP")
6464
scanCmd.Flags().Bool("skip-ping", false, "skip ICMP ping step")

internal/scanner/e2e.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"time"
1616
)
1717

18-
const defaultTestURL = "https://httpbin.org/ip"
18+
const defaultTestURL = "http://httpbin.org/ip"
1919

2020
func PortPool(base, count int) chan int {
2121
ch := make(chan int, count)

internal/tui/screen_config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ var allFields = []fieldDef{
7272
{fE2E, "E2E Testing", "E2E (end-to-end tunnel test)", "Enable end-to-end tunnel tests. Requires tunnel client binaries.", -1},
7373
{fPubkey, "Pubkey", "", "Hex public key for dnstt. Requires dnstt-client in PATH.", txtPubkey},
7474
{fCert, "Cert", "", "Path to slipstream TLS cert. Requires slipstream-client in PATH.", txtCert},
75-
{fTestURL, "Test URL", "", "URL to fetch through the tunnel. Default: https://httpbin.org/ip", txtTestURL},
75+
{fTestURL, "Test URL", "", "URL to fetch through the tunnel. Default: http://httpbin.org/ip", txtTestURL},
7676
{fProxyAuth, "Proxy Auth", "", "SOCKS proxy credentials (user:pass) for e2e tunnel tests.", txtProxyAuth},
7777
{fE2ETimeout, "E2E Timeout (s)", "", "Seconds to wait for each e2e tunnel connectivity test.", txtE2ETimeout},
7878
{fStart, "Start Scan", "", "Run the scan with the settings above.", -1},
@@ -111,7 +111,7 @@ func initConfigInputs() []textinput.Model {
111111
inputs[txtCert].CharLimit = 512
112112

113113
inputs[txtTestURL] = textinput.New()
114-
inputs[txtTestURL].Placeholder = "https://httpbin.org/ip"
114+
inputs[txtTestURL].Placeholder = "http://httpbin.org/ip"
115115
inputs[txtTestURL].CharLimit = 512
116116

117117
inputs[txtProxyAuth] = textinput.New()

0 commit comments

Comments
 (0)