Closed abbaszahiri closed 1 year ago
پورت 443 فقط در صورتی اشغال میشه که شما سرور DoH لوکال رو روشن کرده باشید که پورت دیفالتش 443 هستش، اگه این پورت رو تغییر بدم اونوقت خیلی از برنامهها مثل کروم دیگه ساپورتش نمیکنن.
میتونید از تنظیمات Working mode رو روی گزینه اول بذارید که برنامه فقط بهتون plain dns بده و بجای اینکه doh رو بروی v2ray ست کنید، plain dns رو بروی ویندوز ست کنید.
اینجوری v2ray از plain dns ست شده بروی ویندوز استفاده میکنه و خود این plain dns هم درنهایت به یه doh وصله. درنتیجه سرورهای لوکال DoH و plain dns درواقع به یک سرور DoH وصل هستن، پس فرقی نداره از کدوم استفاده شه.
اصلا میخوامش واسه DOH :( این ISP منطقه، DNS های Plain را مانیتور میکنه و اذیت میکنه نماد گریه
واقعا شرمنده اینکه این همه مزاحم میشم نشون میده دارم استفاده میکنم از کارتون و راضی هستم ازش. بهتر از این واقعا ندیدم.
من چون ترافیک وی پی ان را از بیرون میگیرم مجبورم روی 443 منتظر بمونم. چون بقیه پورت ها رو مانیتور میکنن و اذیت میکنن. شما هم همانطور که گفتید همینجور.
ولی اگر یک گزینه تغییر پورت به Setting برنامه اضافه کنید، من میتونم داخل config.json برنامه در قیمت routing بیام خودم 443 را بخونم و تغییر مسیر بدم به شما که مثلا روی پورت 2500 منتظرش هستید. یعنی بعد از اینکه شما همه کارهای اولیه تون تموم شد و یوتیوب باز شد و من خواستم v2ray را باز کنم، یه گزینه باشه که پورتی که گوش میدید را بشه عوض کنم. بعد دیگه ورودی DOH شما با واسطه v2ray من تامین بشه.
شاید کار بهتری هم بشه کرد. مسلما شما بهتر میدونید.
میشه هم کلا اون خروجی search نیم سرور را به من بدید من خودم بذارم داخل فایل config.json قسمت dns
"dns": { "servers": [ "https://dns.google/dns-query" ] }, "fakedns": [ { "ipPool": "198.18.0.0/15", "poolSize": 10000 } ],
قسمت dns و fakedns را نمیدونم چی بذارم که درست کار کنه. این رو سرچ کنه بده به من کافیه دیگه. من فقط دیگه نیاز دارم به goodbye DPI
اصلا میخوامش واسه DOH :( این ISP منطقه، DNS های Plain را مانیتور میکنه و اذیت میکنه نماد گریه
من که گفتم plain dns لوکال این برنامه به DoH وصل میشه، یعنی مونیتور نمیشه. امنیت plain dns لوکال این برنامه مثل doh میمونه.
واقعا شرمنده اینکه این همه مزاحم میشم نشون میده دارم استفاده میکنم از کارتون و راضی هستم ازش. بهتر از این واقعا ندیدم.
من چون ترافیک وی پی ان را از بیرون میگیرم مجبورم روی 443 منتظر بمونم. چون بقیه پورت ها رو مانیتور میکنن و اذیت میکنن. شما هم همانطور که گفتید همینجور.
ولی اگر یک گزینه تغییر پورت به Setting برنامه اضافه کنید، من میتونم داخل config.json برنامه در قیمت routing بیام خودم 443 را بخونم و تغییر مسیر بدم به شما که مثلا روی پورت 2500 منتظرش هستید. یعنی بعد از اینکه شما همه کارهای اولیه تون تموم شد و یوتیوب باز شد و من خواستم v2ray را باز کنم، یه گزینه باشه که پورتی که گوش میدید را بشه عوض کنم. بعد دیگه ورودی DOH شما با واسطه v2ray من تامین بشه.
فقط تا اون قسمتی که گفتی تغییر پورت doh رو بذارم توی تنظیمات رو متوجه شدم. گذاشتم اون پورت برام کاری نداره، فقط نگران گیج شدن کاربرا هستم. یه کاریش میکنم.
میشه تو سی شارپ تو همون دستوری که پورت 443 را باز میکنه یه پارامتری بدید که اون پورت در انحصار برنامه درنیاد و بقیه برنامه ها هم بتونن بازش کنن و بخوننش؟
shared mode
مطمین نیستم ولی فکر کنم بدون دستکاری برنامه شما با این لینک کار درست بشه. حالا تست میکنم: https://learn.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-enable-the-net-tcp-port-sharing-service
میشه تو سی شارپ تو همون دستوری که پورت 443 را باز میکنه یه پارامتری بدید که اون پورت در انحصار برنامه درنیاد و بقیه برنامه ها هم بتونن بازش کنن و بخوننش؟
نه اصلا همچین چیزی کلا ممکن نیست، نه فقط در مورد این برنامه.
NetTcpBinding portsharingBinding = new NetTcpBinding(); portsharingBinding.PortSharingEnabled = true;
یه نگاهی بندازید به اینها ببینید چی میگه
حیف من سی شارپ بلد نیستم ولی برنامه نویسی سیستم بلدم. اگه برنامه شما بخواد هر کاری با ترافیک بکنه، کند میکنه کارو. بنابراین این کار با یه اشاره گر اضافه توی درایور باید انجام بشه و تا اونجا که میدونم توی سوکت ها هم مثل فایلها با پارامتر shared mode پورت باز میشه. سی شارپ هم به عنوان یه برنامه سطح بالا حتما دستورش را داره. من نمیدونم از چه کتابخونه ای استفاده میکنید. اگر لازم میدونید برم تو کد بخونم. ولی خودتون حتما بهتر میتونید پیداش کنید. کلا یه دونه دستور کافیه که اضافه بشه و تمام! خود درایور همه کارها رو میکنه. اینجوری کد شما هم دست نمیخوره . فقط در حد یه دستور
حیف من سی شارپ بلد نیستم ولی برنامه نویسی سیستم بلدم. اگه برنامه شما بخواد هر کاری با ترافیک بکنه، کند میکنه کارو. بنابراین این کار با یه اشاره گر اضافه توی درایور باید انجام بشه و تا اونجا که میدونم توی سوکت ها هم مثل فایلها با پارامتر shared mode پورت باز میشه. سی شارپ هم به عنوان یه برنامه سطح بالا حتما دستورش را داره. من نمیدونم از چه کتابخونه ای استفاده میکنید. اگر لازم میدونید برم تو کد بخونم. ولی خودتون حتما بهتر میتونید پیداش کنید. کلا یه دونه دستور کافیه که اضافه بشه و تمام! خود درایور همه کارها رو میکنه. اینجوری کد شما هم دست نمیخوره . فقط در حد یه دستور
من از هیچ کتابخونهای استفاده نمیکنم، صفر تا صد پراکسی رو خودم نوشتم. و هیچوقت نمیشه یک پورت رو به اشتراک گذاشت، در هیچ زبان برنامه نویسیای نمیشه. وقتی پورت یکسان باشه ویندوز از کجا باید بدونه که اطلاعات رو به کدوم برنامه بفرسته؟ اینم طبق تحقیق: No, two applications can never listen on the same port at the same time, and it's not even related to .Net.
داداش من که طرف مقابل شما نیستم. من رو در کنار خودت ببین. شما این لینک را که دادم نگاه بندازید. متوجه منظور من میشید.
الان این شکلی عمل کرده که یک سرویس ابتدا اجرا میشه و پورت را میگیره و بقیه برنامه ها با این سرویسه کار میکنند. کافیه شما اون flag را true بدهید. همه چیز ممکنه. شما لینک را نگاه بندازید. مستقیما از خود مایکروسافت هست.
Windows Communication Foundation (WCF) provides a new TCP-based network protocol (net.tcp://) for high-performance communication. WCF also introduces a new system component, the Net.TCP Port Sharing Service that enables net.tcp ports to be shared across multiple user processes.
خودتونم برنامه نویس هستید میتونید شهودی فکر کنید. یک سرویس میتواند از همان پورت بخواند و در یک بافر چرخشی بریزید که با دو تا اشاره گر و توسط دو برنامه جداگانه که آن حافظه را اشتراکی استفاده میکنند، خوانده شود. حالا واسه اینکه همه اینها را پیدا نکنید میخوام بگم جزو سرویس های خود ویندوز آماده هست . WCF که با پرفورمنس بالا میتونید باهاش کنید چون Native سیستم عامل هست. اگر برنامه را بهم میریزد که هیچی ولی محض اطلاع عمومی هم که شده یه نگاهی به اون لینک بندازید متوجه میشید. run service.msc Net .tcp port sharing service
اونم که شما میگید غلط نیست. قدیم همونطور بود. و ما مجبور بودیم که خودمون ترافیک را بگیریم و تو یه حافظه مشترک بریزیم و به بقیه بدهیم. ولی الان به شکل سطح پایین نزدیک به درایور پیاده شده و آماده هست.
اگر برنامه بهم میریزه که نه . اذیت نمیخوام بشید که. اگه فقط به من لطف کنی یه جوری برسونی که چجوری اون گزارش را تبدیل کنم به آدرس واقعی کافیه: مثلا: [Latency: 493 ms] [Protocol: DNS-Over-HTTPS] [Company: Hetzner Online GmbH]
آدرس هتزنری که الان پیدا کرده چیه؟
اونم که شما میگید غلط نیست. قدیم همونطور بود. و ما مجبور بودیم که خودمون ترافیک را بگیریم و تو یه حافظه مشترک بریزیم و به بقیه بدهیم. ولی الان به شکل سطح پایین نزدیک به درایور پیاده شده و آماده هست.
منم دهه شصتی هستم، قدیمیام. اون مبحث رو سر فرصت مطالعه میکنم.
اگر برنامه بهم میریزه که نه . اذیت نمیخوام بشید که. اگه فقط به من لطف کنی یه جوری برسونی که چجوری اون گزارش را تبدیل کنم به آدرس واقعی کافیه: مثلا: [Latency: 493 ms] [Protocol: DNS-Over-HTTPS] [Company: Hetzner Online GmbH]
آدرس هتزنری که الان پیدا کرده چیه؟
من مجبورم اون سرورها رو مخفی نگه دارم با اینکه خیلیها بدون توجه به عواقب فیلتر شدنش هی اینور اونور به اشتراک میذارن. من امکان تغییر پورت رو اضافه میکنم و این مشکل شما حل میشه.
فدای تو. هر جور خودت صلاح میدونی. ولی اگه دیدی کار پیچیده میشه گفتم همین یه دونه هم به من بگی کافیه
شایدم کافی باشه که هر چی میاد را روی یه پورت دیگه کپی کنی. هم آسونتره هم کدت بهم نمیریزه
ولی سربار داره میترسم درد سر بشه. ولش کن. بی خیال. دمت گرم. کافیه یکم سنگین بشه تا کاراییش بیفته. خودم میگردم یه خاکی بر سرم میریزم
ولی سربار داره میترسم درد سر بشه. ولش کن. بی خیال. دمت گرم. کافیه یکم سنگین بشه تا کاراییش بیفته. خودم میگردم یه خاکی بر سرم میریزم
مگه تغییر پورت مشکلت رو حل نمیکنه؟
چرا حل میکنه ولی میترسم برنامه شما را دچار مشکل کنه
چرا حل میکنه ولی میترسم برنامه شما را دچار مشکل کنه
انجامش دادم، ورژن بعد اعمال میشه. هیچ مشکلی هم ایجاد نمیکنه.
فدای شما
دم شما گرم برم تست کنم ببینم چی میشه
عرض ادب ضمن قدردانی از برنامه مفیدتان، من این برنامه را روی بریج نصب کردم. بعد از اینکه برنامه روشن است ، من دیگر نمیتوانم روی پورت 443 به حالت listen باشم! احتمالا این پورت مهم توسط برنامه اشغال شده است. بررسی بفرمایید ببینید میشود بعد از استفاده برنامه از این پورت ، آن را آزاد کند؟
در واقع من برای DNS وی تو ری از این برنامه استفاده میکنم و نیاز دارم که پورت خاص 443 هم برای outbound و هم برای inbound آزاد باشند. کلا به همین پورت فقط نیاز دارم و غیر از این پورت هم به دلایل امنیتی نمیتوانم استفاده کنم.
پیشاپیش از زحمات شما سپاسگزارم