Skip to content

Commit 491b0d4

Browse files
committed
Hide slipstream e2e on Windows (no upstream Windows support)
Skip Cert field and slipstream-client binary check in TUI on Windows. Update GUIDE.md to note slipstream is Linux-only.
1 parent 791c682 commit 491b0d4

2 files changed

Lines changed: 23 additions & 10 deletions

File tree

GUIDE.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,11 @@ go install www.bamsoftware.com/git/dnstt.git/dnstt-client@latest
126126

127127
`slipstream-client` کلاینت پروژه [Slipstream](https://github.com/Mygod/slipstream-rust) است. مشابه DNSTT ولی با پروتکل متفاوت.
128128

129-
**دانلود:** از [صفحه Release پروژه Slipstream](https://github.com/Mygod/slipstream-rust/releases) باینری مناسب سیستم خود را دانلود کنید (فایل `windows-x86_64` برای ویندوز، `linux-x86_64` برای لینوکس).
129+
**دانلود:** از [صفحه Release پروژه findns](https://github.com/SamNet-dev/findns/releases/latest) فایل `slipstream-client-linux-amd64` را دانلود کنید.
130130

131-
محل قرارگیری: مثل dnstt-client — فایل `slipstream-client.exe` (ویندوز) یا `slipstream-client` (لینوکس) را کنار findns بگذارید.
131+
> **توجه:** slipstream-client فقط برای **لینوکس** موجود است. نسخه ویندوز وجود ندارد (پروژه upstream پشتیبانی نمی‌کند). کاربران ویندوز فقط از dnstt استفاده کنند.
132+
133+
محل قرارگیری: فایل `slipstream-client` (لینوکس) را کنار findns بگذارید.
132134

133135
### کدام resolverها برای dnstt کار می‌کنند؟
134136

@@ -208,12 +210,11 @@ TUI شما را قدم به قدم راهنمایی می‌کند:
208210
- مثال: `9e2bfd5b4e7644f14bbd74a41663e42bfa2a11497b04c88f7bc3d290144f7b37`
209211
- این کلید را از سرور خود می‌گیرید (فایل `server.pub` یا خروجی دستور راه‌اندازی سرور)
210212

211-
- **Cert Path** — مسیر فایل گواهی TLS سرور Slipstream روی **سیستم خودتان**.
213+
- **Cert Path** — مسیر فایل گواهی TLS سرور Slipstream روی **سیستم خودتان**. (**فقط لینوکس** — در ویندوز این فیلد نمایش داده نمی‌شود)
212214
- فقط برای Slipstream لازم است — برای dnstt خالی بگذارید
213215
- این فایل روی سرور Slipstream شما ساخته می‌شود (معمولاً `cert.pem`)
214216
- باید یک بار از سرور به سیستم خود کپی کنید (مثلاً با `scp`) و مسیر لوکالش را وارد کنید
215-
- مثال ویندوز: `C:\Users\You\Desktop\cert.pem`
216-
- مثال لینوکس: `/home/user/cert.pem`
217+
- مثال: `/home/user/cert.pem`
217218

218219
- **Query Size** — حداکثر سایز query DNS که dnstt-client می‌فرستد (بایت). پیش‌فرض: خالی (حداکثر ممکن).
219220
- اگر در ایران همه e2e فیل می‌شوند، مقدار 50 تا 80 را امتحان کنید
@@ -354,7 +355,7 @@ go build -o findns.exe ./cmd
354355
**نکات ویندوز:**
355356
- **curl** از قبل در ویندوز 10/11 نصب است
356357
- اگر ping فیل می‌شود → cmd را **Run as Administrator** باز کنید
357-
- فایل‌های `dnstt-client.exe` و `slipstream-client.exe` را کنار `findns.exe` بگذارید
358+
- فایل `dnstt-client.exe` را کنار `findns.exe` بگذارید (slipstream در ویندوز موجود نیست)
358359
- در PowerShell برای ادامه دستورات طولانی از بک‌تیک `` ` `` استفاده کنید (به جای `\` در لینوکس)
359360

360361
---
@@ -810,7 +811,7 @@ findns scan -i resolvers.txt -o results.json \
810811

811812
<div dir="rtl">
812813

813-
نیازمند: `slipstream-client` و `curl` در PATH
814+
نیازمند: `slipstream-client` و `curl` در PATH (فقط لینوکس — slipstream در ویندوز موجود نیست)
814815

815816
### اسکن DoH
816817

@@ -933,7 +934,7 @@ findns edns -i resolvers.txt -o edns-results.json --domain t.example.com --edns-
933934

934935
**۱. سرور تانل فعال:** شما باید یک سرور DNSTT یا Slipstream **از قبل راه‌اندازی کرده باشید** روی یک VPS. بدون سرور، تست e2e نمی‌تواند کار کند چون باید واقعاً به سرور وصل شود.
935936

936-
**۲. باینری کلاینت:** فایل `dnstt-client` یا `slipstream-client` باید کنار findns باشد. (نحوه نصب: [بخش ۱ - dnstt-client چیست؟](#dnstt-client-چیست-و-چطور-نصبش-کنم))
937+
**۲. باینری کلاینت:** فایل `dnstt-client` باید کنار findns باشد. (نحوه نصب: [بخش ۱ - dnstt-client چیست؟](#dnstt-client-چیست-و-چطور-نصبش-کنم)). برای Slipstream: فقط لینوکس — `slipstream-client` نسخه ویندوز ندارد.
937938

938939
**۳. کلید یا گواهی سرور:**
939940

@@ -943,10 +944,11 @@ findns edns -i resolvers.txt -o edns-results.json --domain t.example.com --edns-
943944
- مثال: `9e2bfd5b4e7644f14bbd74a41663e42bfa2a11497b04c88f7bc3d290144f7b37`
944945
- ⚠️ فقط محتوای خالص hex — اگر فایل دانلود می‌کنید حتماً Raw بگیرید نه صفحه HTML
945946

946-
برای **Slipstream** — به `--cert` نیاز دارید:
947+
برای **Slipstream** (فقط لینوکس) — به `--cert` نیاز دارید:
947948
- فایل `cert.pem` که روی سرور Slipstream ساخته می‌شود
948949
- باید یک بار از سرور به سیستم خود کپی کنید: `scp user@vps:/path/to/cert.pem ~/cert.pem`
949950
- سپس مسیر لوکال را به findns بدهید: `--cert /home/user/cert.pem`
951+
- ⚠️ slipstream-client نسخه ویندوز ندارد — کاربران ویندوز فقط از dnstt استفاده کنند
950952

951953
> **اگر سرور تانل ندارید:** فقط تا مرحله `tunnel` (بررسی NS record) می‌توانید تست کنید. این مرحله بررسی می‌کند resolver **قابلیت** ساپورت تانل را دارد، ولی تضمین واقعی نمی‌دهد. برای تضمین واقعی باید e2e بزنید.
952954

internal/tui/screen_config.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package tui
22

33
import (
44
"fmt"
5+
"runtime"
56
"strconv"
67
"strings"
78

@@ -93,6 +94,10 @@ func visibleFields(cfg ScanConfig) []fieldDef {
9394
if e2eSubFields[f.id] && !cfg.E2E {
9495
continue
9596
}
97+
// slipstream-client has no Windows binary — hide Cert field on Windows
98+
if f.id == fCert && runtime.GOOS == "windows" {
99+
continue
100+
}
96101
out = append(out, f)
97102
}
98103
return out
@@ -421,9 +426,15 @@ func binaryStatus() string {
421426
bin string
422427
}{
423428
{"dnstt-client", "dnstt-client"},
424-
{"slipstream-client", "slipstream-client"},
425429
{"curl", "curl"},
426430
}
431+
// slipstream-client only available on Linux/macOS
432+
if runtime.GOOS != "windows" {
433+
bins = append(bins, struct {
434+
name string
435+
bin string
436+
}{"slipstream-client", "slipstream-client"})
437+
}
427438
for _, bin := range bins {
428439
path, err := binutil.Find(bin.bin)
429440
if err != nil {

0 commit comments

Comments
 (0)