راهنمای جامع WhiteDNS اندروید؛ از صفر تا اتصال، اسکن و عیبیابی (نسخهٔ ۱.۶.۱۲)
آموزش گامبهگام و تصویری کار با کلاینت WhiteDNS در اندروید؛ آموزش ساخت و وارد کردن کانفیگ با QR و لینک، تنظیم موتورهای CottenDNS، Soar و StormDNS، مدیریت و اسکن ریزالورها، تفاوت Proxy Mode و Full VPN و حل مشکلات اتصال.
برنامهٔ WhiteDNS Android کلاینت اختصاصی و قدرتمند برای اتصال به تونلهای مبتنی بر DNS و پروتکلهای پیشرفته است. این راهنمای جامع بر اساس نسخهٔ 1.6.12-beta1 به زبان ساده، تصویری و گامبهگام طراحی شده تا از اولین بار باز کردن برنامه تا انتخاب موتور، ساخت کانفیگ، اسکن ریزالورها و رفع خطاهای اتصال همراه شما باشد.
نصب برنامه به تنهایی شامل سرور فعال نیست. برای اتصال باید از قبل لینک اشتراک، کد QR یا اطلاعات دامنه و کلید اختصاصی را از مدیر سرور یا ارائهدهندهٔ خود دریافت کرده باشید.
۱. سه مفهوم کلیدی که مدام میبینید
در تمام محیط برنامهٔ وایتدیاناس با سه اصطلاح اصلی مواجه میشوید که درک تفاوت آنها شما را از سردرگمی نجات میدهد:
| مفهوم | تعریف به زبان ساده | نکته مهم |
|---|---|---|
| کانفیگ / پروفایل (Profile / Config) |
مجموعه اطلاعات اتصال شامل دامنه، کلید رمزنگاری و نوع موتور که برای ارتباط با یک سرور مشخص تعریف میشود. | انتخاب یا فعال کردن یک کانفیگ به تنهایی اینترنت را متصل نمیکند؛ باید در تب Connect دکمهٔ اتصال را بزنید. |
| ریزالور (Resolver) |
سرور واسط DNS عمومی است که درخواستهای رمزنگاریشدهٔ برنامه از مسیر آن عبور داده میشود تا به مقصد برسد. | داشتن هزاران ریزالور لزوماً بهتر از چند ریزالور فعال و پایدار نیست؛ کیفیت و پینگ روی اینترنت شما تعیینکننده است. |
| موتور اتصال (Client Engine) |
پروتکل فنی نحوهٔ تعامل کلاینت با سرور (مثل CottenDNS، Soar، StormDNS یا MasterDNS). | نوع موتور در برنامه باید دقیقاً با نوع سرور شما هماهنگ باشد؛ فقط تغییر دادن نام پروفایل کارساز نیست. |
۲. شناخت و مقایسهٔ موتورهای اتصال (Engines)
قبل از پر کردن هر فرمی، باید بدانید سرور شما بر پایهٔ کدام فناوری راهاندازی شده است:
| نام موتور | نوع پروتکل و رفتار | وضعیت | پیشنیاز سرور |
|---|---|---|---|
| CottenDNS | موتور تونل DNS اختصاصی و پایدار؛ دارای تنظیمات ساده شامل دامنه، کلید و روش رمزنگاری. | پایدار | سرور اختصاصی CottenDNS |
| CottenMax | حالت آزمایشی ارتقایافتهٔ CottenDNS با سرعت بالاتر و رفتار بهینهتر بستهها. یک پروفایل جداگانه نیست بلکه از داخل فرم CottenDNS فعال میشود. | بتا (آزمایشی) | سرور آپدیتشدهٔ CottenDNS که از Max پشتیبانی کند |
| Soar | موتور مستقل طراحیشده توسط Lantern برای عبور ترافیک از بستر DNS. بر پایهٔ ترافیک TCP و کلید عمومی (Public Key) سرور کار میکند. | آزمایشی | سرور Soar-Server با پورتهای فعال ۸۰ و ۴۴۳ |
| StormDNS | موتور مستقل دیگر در فهرست برنامه با دامنه، کلید مشترک و روشهای رمزنگاری اختصاصی. | مستقل | سرور سازگار با پروتکل StormDNS |
| MasterDNS | پروتکل شناختهشدهٔ تونلسازی اینترنت از بستر پرسوجوهای DNS. فرم سازگار با تنظیمات MasterDnsVPN. | پایدار | سرورهای مبتنی بر MasterDNS |
هیچ موتوری برای تمام اینترنتها و اپراتورها بهترین مطلق نیست! نوع موتور را همیشه بر اساس کانفیگی که ارائهدهنده داده انتخاب کنید. اگر حق انتخاب دارید، برای شروع از CottenDNS با تنظیمات پیشفرض استفاده کنید که بیشترین سازگاری را دارد.
۳. سه روش افزودن کانفیگ (QR، لینک و فرم دستی)
برای اضافه کردن هر کانفیگ، مسیر اصلی در برنامه به شکل زیر است:
روش اول: اسکن کد QR (سریعترین روش)
- پس از زدن + Add، گزینهٔ Scan QR را انتخاب کنید.
- دسترسی دوربین را تایید کرده و کادر را روی بارکد مربعی بگیرید تا مشخصات به صورت خودکار ذخیره شود.
روش دوم: وارد کردن با لینک یا سابسکریپشن (Import)
- روی دکمهٔ + Add بزنید و گزینهٔ Import را انتخاب کنید.
- در پنجرهٔ بازشده، لینک اتصال یا لینک اشتراک خود را در کادر
Profile Linksجایگذاری (Paste) کنید. - دکمهٔ Import را بزنید تا کانفیگهای پشتیبانیشده به لیست افزوده شوند.
روش سوم: ساخت دستی (Create)
اگر مشخصات را به صورت متن خام دارید، گزینهٔ Create را انتخاب کنید. بسته به نوع موتور، فیلدهای فرم به شرح زیر است:
| فیلد | توضیح و مقدار مورد نیاز |
|---|---|
Client Engine | موتور سرور (مثلاً StormDNS یا CottenDNS). حتماً دقیق انتخاب شود. |
Name | نام دلخواه برای شناسایی در لیست شما (مثلاً «اینترنت همراه اول» یا «سرور آلمان»). |
Domains | دامنه یا دامنههای سرور دادهشده توسط مدیر سرور. |
Encryption Key | کلید رمزنگاری مشترک با سرور؛ باید بدون کوچکترین فاصله یا غلط املایی وارد شود. |
Encryption Method | روش رمزنگاری سرور (مانند AES-128-GCM، ChaCha20 یا XOR). |
روش XOR در برخی گزینهها دیده میشود اما از نظر امنیتی در برابر تحلیل بستهها مقاوم نیست. اگر سرور شما از AES یا ChaCha20 پشتیبانی میکند، حتماً گزینهٔ امن سازگار را انتخاب کنید.
۴. مدیریت، ویرایش و تست سرور در پروفایلها
در صفحهٔ Profiles → Connection، در کنار هر کانفیگ یک منوی سهنقطه وجود دارد که دسترسیهای مهمی به شما میدهد:
- Use profile: این کانفیگ را به عنوان کانفیگ پیشفرض برای اتصال فعال میکند (کنار آن نشان سبز ظاهر میشود).
- Test server: یک پینگ و آزمایش اولیه ارتباط شبکه با سرور ارسال میکند تا از در دسترس بودن هاست مطمئن شوید.
- Edit profile: باز کردن مجدد فرم برای اصلاح دامنه، کلید، نام یا تغییر متد رمزنگاری.
- Export profile: گرفتن خروجی به صورت متن یا لینک برای انتقال به دستگاه دیگر یا پشتیبانگیری.
- Delete profile: حذف دائم کانفیگ از لیست برنامه.
لینکهای اشتراک، کدهای QR و کلیدهای رمزنگاری را هرگز در گروهها یا کانالهای عمومی ارسال نکنید؛ هر کسی که این اطلاعات را داشته باشد میتواند از ترافیک سرور شما استفاده کند یا سهمیهٔ شما را به پایان برساند.
۵. فعالسازی CottenMax و تنظیمات پیشرفته
اگر از کانفیگ CottenDNS استفاده میکنید و مدیر سرور اعلام کرده که سرور به نسخهٔ دارای CottenMax ارتقا یافته، میتوانید حالت پرسرعتتر آزمایشی را فعال کنید:
- از منوی سهنقطهٔ کنار پروفایل CottenDNS، گزینهٔ Edit profile را انتخاب کنید.
- نام، دامنه و کلید را دستنخورده باقی بگذارید.
- در بخش
CottenDNS mode، گزینهٔ CottenMax (beta) را انتخاب کنید. - دکمهٔ Save را بزنید. اگر متصل بودید، ابتدا دکمهٔ قطع (Stop) و سپس اتصال مجدد را بزنید.
معنی گزینههای بخش Advanced CottenMax
اگر کلید تنظیمات پیشرفته را روشن کنید، گزینههای زیر در دسترس قرار میگیرند (برای کاربران عادی پیشفرض بهترین حالت است):
| گزینه | کاربرد فنی | توصیه برای تنظیم |
|---|---|---|
Background Scan Resolvers |
تعداد ریزالورهایی که همزمان در پسزمینه بعد از برقراری تونل برای یافتن مسیر بهتر پایش میشوند. | مقدار پیشفرض 1 یا مقادیر کم، فشار کمتری به پردازنده و باتری گوشی میآورد. |
Query rate limit |
سرعت ارسال بستههای DNS در ثانیه را محدود میکند تا از بلاک شدن توسط فایروال اپراتور جلوگیری شود. | اگر اپراتور درخواستهای پرشمار را قطع میکند، روی مقادیری مثل ۳ یا ۶ بر ثانیه تست کنید. |
Timing mask |
فواصل زمانی ارسال درخواستها را تصادفی میکند تا الگوی ثابت ماشینی نداشته باشد. | در شبکههای به شدت حساس به DPI میتواند به پایداری تونل کمک کند. |
Transport / Delivery |
تعیین نوع پاسخ DNS و نحوهٔ ترنسپورت (مثلاً AAAA یا TXT). | برای شروع حتماً روی From preset باقی بماند. |
IP mode / QNAME Reshaping |
جزئیات بستهبندی نام دامنه برای سازگاری با سیستمهای میانی شبکه. | معمولاً دستنخورده نگه دارید مگر به توصیهٔ مدیر سرور. |
هرگز چند گزینه را همزمان تغییر ندهید! در صورت بروز مشکل، هر بار فقط یک گزینه را تغییر داده، ذخیره کنید و نتیجهٔ اتصال را بسنجید تا بفهمید کدام متغیر روی اپراتور شما اثرگذار بوده است.
۶. راهاندازی و تنظیم موتور Soar
اگر سرور شما بر پایهٔ پروژهٔ Soar راهاندازی شده است، فرم ساخت و تنظیم آن فیلدهای متفاوتی دارد:
- در فرم ساخت، فیلد
Client Engineرا روی Soar (experimental) بگذارید. - در فیلد
Tunnel domain، دامنهٔ اختصاصی تونل سرور را وارد کنید. - در فیلد
Server PUBLIC key، فقط کلید عمومی سرور را وارد کنید (کلید خصوصی هرگز نباید در کلاینت وارد شود!). - گزینهٔ
Soar presetرا در شروع روی Balanced (recommended) بگذارید. - گزینهٔ
DNS resolver transportرا روی Auto UDP with TCP fallback تنظیم کنید. - گزینهٔ
User network countryرا روی کشور اینترنت خودتان (مثلاً Iran) تنظیم کنید (این گزینه کشور سیمکارت شماست، نه موقعیت سرور خارج).
موتور Soar به طور اختصاصی برای انتقال ترافیک پروتکل TCP طراحی شده است. روشن کردن حالت Full VPN لزوماً ترافیکهای UDP نظیر تماسهای صوتی برخی پیامرسانها یا پروتکل QUIC را از آن عبور نمیدهد.
۷. مفهوم ریزالور (Resolver)، لیست شخصی و اسکن
ریزالورها قلب تپندهٔ تونلهای DNS هستند. برنامهٔ وایتدیاناس دارای یک فهرست آماده به نام Default Resolver شامل بیش از ۴۷۰۰ سرور DNS است.
آیا ریزالور بیشتر یعنی سرعت بالاتر؟
خیر! وجود هزاران ریزالور به معنی پایداری نیست. آنچه اهمیت دارد، وجود چند ده یا صد ریزالور باکیفیت است که از طرف اپراتور شما فیلتر یا مسدود نشده باشند و کمترین تاخیر (Ping) را داشته باشند.
ساخت فهرست Resolver شخصی
- از تب پایین وارد
Profilesشده و زبانهٔ Resolver را باز کنید. - روی دکمهٔ + Add بزنید و یک نام دلخواه (مثلاً «لیست شاتل» یا «دیاناس پرسرعت») تعیین کنید.
- در کادر
Resolvers، آیپیها را وارد کنید (هر IP در یک خط مجزا)؛ یا با دکمهٔ Import file فایل متنی را بارگذاری نمایید. - دکمهٔ Save را برای ذخیره بزنید.
آموزش اسکن در صفحهٔ Scan
صفحهٔ Scan در نوار پایین برای این است که بفهمید کدام ریزالورها هماکنون روی اینترنت شما پاسخ میدهند:
- تعداد Workers: مشخص میکند چند ریزالور به صورت همزمان تست شوند. مقدار ۴ یا مقادیر متعادل توصیه میشود؛ انتخاب اعداد خیلی بالا باعث درگیری شدید پردازنده، داغ شدن گوشی و مصرف باتری میشود.
- آمار Scan status: پس از شروع، تعداد کل (Total)، معتبرها (Valid) و ناموفقها (Rejected) را به همراه نوار پیشرفت میبینید.
- ذخیرهٔ خروجی: پس از اتمام اسکن، با دکمهٔ Save as میتوانید ریزالورهای سالم را در یک فهرست اختصاصی ذخیره کنید.
لازم نیست هر روز یا قبل از هر اتصال اسکن کنید! اسکن فقط زمانی ضروری است که اتصال قبلی شما ناپایدار شده باشد یا به نظر برسد ریزالورهای قبلی از کار افتادهاند.
۸. اتصال به اینترنت: تفاوت Proxy Mode و Full VPN
در صفحهٔ Connect دکمهٔ بزرگ اتصال قرار دارد. اما قبل از زدن آن، باید تفاوت این دو حالت را بدانید:
| ویژگی | حالت Proxy Mode | حالت Full VPN |
|---|---|---|
| نحوه عملکرد | برنامه یک پروکسی محلی روی گوشی شما باز میکند:
SOCKS5: 127.0.0.1:10886
HTTP: 127.0.0.1:10887
|
برنامه از سرویس داخلی VpnService اندروید استفاده کرده و کل ترافیک گوشی را به داخل تونل میبرد. |
| نیاز به تنظیم اپها | بله؛ تلگرام، واتساپ یا مرورگر باید دستی با پروکسی محلی بالا تنظیم شوند. | خیر؛ تمام نرمافزارهای گوشی به صورت خودکار از تونل عبور میکنند. |
| مصرف منابع | بسیار سبک، بدون ایجاد کارت شبکهٔ مجازی. | مصرف معمولی سرویسهای VPN اندروید. |
| مناسب برای | استفادهٔ گزینشی در تلگرام یا یک مرورگر بدون تأثیر روی سایر نرمافزارهای بانکی و داخلی. | وبگردی آزاد و استفادهٔ سراسری در تمام نرمافزارها. |
این یکی از رایجترین ابهامات کاربران است! اگر برنامه روی Proxy Mode باشد، با زدن دکمهٔ اتصال، اینترنت کلی گوشی تونل نمیشود؛ بلکه باید در تنظیمات پروکسی برنامهٔ مورد نظرتان (مثلاً بخش Proxy در تنظیمات تلگرام)، هاست را 127.0.0.1 و پورت ساکس را 10886 قرار دهید. اگر میخواهید همه چیز خودکار کار کند، حالت را روی Full VPN بگذارید.
نشانههای یک اتصال موفق
هنگامی که دکمهٔ بزرگ را میزنید، وضعیتهای زیر را بررسی کنید:
- دکمه به حالت قرمز رنگ با عنوان Stop درمیآید.
- تگ سبز Verified با پیام «Connection verified: proxy tunnel can reach the internet» نشان داده میشود؛ این به این معنی است که تونل واقعاً به اینترنت جهانی دسترسی دارد.
- کارتهای آماری
Down،UpوTotal Usageترافیک زندهٔ مبادلهشده را نمایش میدهند.
۹. راهنمای عیبیابی: وقتی اتصال کار نمیکند
اگر در هر مرحله با مشکل روبرو شدید، جدول زیر را برای رفع سریع مطالعه کنید:
| نشانه یا مشکل | علت محتمل | اقدام و راهحل |
|---|---|---|
| کانفیگ اضافه شد اما وصل نمیشود | اشتباه بودن کلید، اشتباه بودن دامنه، خاموش بودن سرور یا هماهنگ نبودن نوع Client Engine. | موتور را چک کنید؛ دامنه و کلید را بررسی کنید؛ از مدیر سرور بپرسید سرور فعال است یا خیر. |
| CottenMax وصل نمیشود | سرور هنوز نسخهٔ جدید CottenMax را نصب نکرده است. | به بخش ویرایش پروفایل رفته، گزینه را موقتاً به Normal CottenDNS بازگردانید و وصل شوید (نیازی به حذف کانفیگ نیست). |
| برنامه Verified نوشته ولی سایتی باز نمیشود | استفاده از Proxy Mode به جای Full VPN، یا تداخل تنظیمات MTU. | بررسی کنید حالت روی Full VPN باشد. زبانهٔ Setting را روی Default بگذارید. |
| لاگهای خطا را از کجا ببینم؟ | نیاز به بررسی گزارش دقیق خطاهای اتصال. | از نوار پایین برنامه وارد زبانهٔ Logs شوید تا خطاهای دقیق ثبتشده را مشاهده کنید. |
| اتصال Soar ناپایدار است یا UDP عبور نمیکند | موتور Soar ماهیت ترافیک TCP دارد. | در فیلد DNS Transport گزینهٔ Auto UDP with TCP fallback را بررسی کنید؛ در برنامههای نیازمند UDP از CottenDNS استفاده نمایید. |
هنگام بروز مشکل، دقیقاً این سه مرحله را به ترتیب بررسی کنید و سراغ گزینههای دیگر نروید:
۱. نوع موتور اتصال: آیا موتور دقیقاً همانی است که سرور دارد؟
۲. دامنه و کلید: آیا حتی یک حرف کوچک یا بزرگ اشتباه تایپ نشده؟
۳. لیست ریزالورها: آیا فهرست ریزالورها تست شده و پاسخگو است؟
هرگز از دستکاری تنظیمات پیشرفته یا MTU در زبانهٔ Setting شروع نکنید!
۱۰. مسیر ۵ مرحلهای برای هر بار اتصال و چکلیست امنیت
هر بار که میخواهید از برنامه استفاده کنید، این الگوی ساده را طی کنید:
- انتخاب پروفایل: در بخش Profiles، مطمئن شوید کانفیگ مورد نظرتان دارای تیک فعال است.
- رفتن به صفحه Connect: از نوار پایین به تب Connect بروید.
- تعیین حالت: بسته به نیاز خود بین
Full VPNیاProxy Modeسوییچ کنید. - فشردن دکمه اتصال: دکمهٔ بزرگ را بزنید و منتظر ظاهر شدن نشان
Verifiedو ترافیک زنده بمانید. - در صورت بروز مشکل: فقط یک پارامتر را عوض کنید و از بخش Logs وضعیت را بررسی کنید.
