msasanmh / SecureDNSClient

A DNS Client Supporting DNSCrypt, Anonymized DNSCrypt, DoH, DoT, UDP And TCP.
https://msasanmh.github.io/SecureDNSClient/
GNU General Public License v3.0
778 stars 78 forks source link

How to use it inside WSL2 #180

Closed ashaghal closed 1 month ago

ashaghal commented 1 month ago

In WSL2 if we configure the resolve.conf file to use windows as the nameserver it would not use SDC and if we set-dns on the Hyper-V Virtual Ethernet Adapter it would not use it either. so how we can use SDC in WSL2?

msasanmh commented 1 month ago

In WSL2 if we configure the resolve.conf file to use windows as the nameserver it would not use SDC and if we set-dns on the Hyper-V Virtual Ethernet Adapter it would not use it either. so how we can use SDC in WSL2?

I don't use WSL, so I really have no idea.

But do you mean namesaerver 127.0.0.1 doesn't work?

Did you try these:

https://superuser.com/questions/1533291/how-do-i-change-the-dns-settings-for-wsl2

https://learn.microsoft.com/en-us/windows/wsl/networking

ashaghal commented 1 month ago

yes i have tried these. The issue is that WSL runs as a VM inside the windows and setting the nameserver 127.0.0.1 does not have access to the SDC within WSL. also tried the ip address of the host as nameserver. I also tried different options in this link to try using windows as a dns server https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-settings-for-wslconfig but so far i haven't been successful

ashaghal commented 1 month ago

خب آقا بقیش رو فارسی بگم شاید مشکل 4 نفر دیگه هم بود. برای این که تو wsl بتونم به sdc وصل بشم توی تنظیمات wslconfig. باید networkingmode= mirror باشه تا از حالت NAT در بیاد. حالا با تنظیم nameserver 127.0.0.1 میشه توی log خود sdc درخواستهای wsl رو دید. اما بازم مشکل اینه که youtube رو باز نمیکنه تو wsl با این که log رو در sdc میشه دید

msasanmh commented 1 month ago

خب آقا بقیش رو فارسی بگم شاید مشکل 4 نفر دیگه هم بود. برای این که تو wsl بتونم به sdc وصل بشم توی تنظیمات wslconfig. باید networkingmode= mirror باشه تا از حالت NAT در بیاد. حالا با تنظیم nameserver 127.0.0.1 میشه توی log خود sdc درخواستهای wsl رو دید. اما بازم مشکل اینه که youtube رو باز نمیکنه تو wsl با این که log رو در sdc میشه دید

عالیه که تونستی راه بندازی و ممنون که راه حل رو گذاشتی.

برای یوتیوب dns به تنهایی کافی نیست، باید پراکسی sdc فعال باشه، حالت‌های dpi bypassing هم فعال باشن و بعد اگه wsl بتونه از پراکسی sdc استفاده کنه اونوقت میتونه یوتیوب رو باز کنه. شاید اگه پراکسی رو اجرا کنی و روی سیستم ست کنی بتونه ازش استفاده کنه.

ashaghal commented 1 month ago

خواهش میکنم وظیفه است. خب الان توی ویندوز با این تنظیمات youtube رو دارم با فعال بودن goodbyedpi و ست کردن dns روی wifi image چرا مرورگر توی wsl نمیتونه مثل مرورگر تو ویندوز عمل کنه؟

msasanmh commented 1 month ago

خواهش میکنم وظیفه است. خب الان توی ویندوز با این تنظیمات youtube رو دارم با فعال بودن goodbyedpi و ست کردن dns روی wifi image چرا مرورگر توی wsl نمیتونه مثل مرورگر تو ویندوز عمل کنه؟

فکر نکنم GoodbyeDPI بتونه پکت‌های داخل wsl رو کپچر کنه تا بخواد anti dpi روش اجرا کنه. پراکسی رو امتحان کن ببین چی میشه.

Noob2Pr0 commented 1 month ago

نیم ساعت داشتم انگلیسی مینوشتم :)) خوب داداش از cmd دستور ipconfig رو بزن ببین ip wsl چیه بعدش SDC رو proxy شو اجرا کن و ست کن بعدش توی wsl دستور زیر رو نویس export http_proxy=http://[WSL_IP]:8090 export https_proxy=http://[WSL_IP]:8090 بعدشم یه تست بزن ببین میشه یا نه برای من که شد

ashaghal commented 1 month ago

با proxy وصل میشه مشکلی نداره بیشتر هدفم برای هسته sing-box بود که الان به خاطر اختلال وصل نمیشه روی لینوکس اما با SDC روی ویندوز به خوبی وصل میشه که فکر کنم بخاطر اینه که client hello رو Middleman نمیتونه مختل کنه. راه حلش اینجا برام این شد که از هسته sing-box روی ویندوز استفاده کنم که خودش با SDC به خوبی کار میکنه و توی لینوکس هسته جدا ران نکنم و با پروکسی از همون هسته روی ویندوز استفاده کنم.

Noob2Pr0 commented 1 month ago

سسس

ashaghal commented 1 month ago

نیم ساعت داشتم انگلیسی مینوشتم :)) خوب داداش از cmd دستور ipconfig رو بزن ببین ip wsl چیه بعدش SDC رو proxy شو اجرا کن و ست کن بعدش توی wsl دستور زیر رو نویس export http_proxy=http://[WSL_IP]:8090 export https_proxy=http://[WSL_IP]:8090 بعدشم یه تست بزن ببین میشه یا نه برای من که شد

دمت گرم :)) اره با پروکسی میشه مشکلی نداره، میخواستم مثل ویندوز بدون پراکسی ست بشه که گویا نمیشه. ولی بازم خوب کارم راه افتاد. مرسی