Azizi’s Warm Corner
رفتن به کانال در Telegram
جوهر انسانی ما توانایی ما در استدلال کردن است. https://www.youtube.com/@AziziWC https://t.me/HidenChat_Bot?start=1332560643
نمایش بیشترإيران47 136دسته بندی مشخص نشده است
5 926
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-627 روز
-22930 روز
آرشیو پست ها
5 922
Repost from sohrab::stdout
یک چندوقتیه درگیرم همونطور که میدونید کاراموزی و پروژه دانشگاه رو برداشتم و امروز برای یک کاری لازم شد تا یک سیستمی مثل شکن بالا بیارم که ترافیک رو از طریق dns برای یک سری سایت منتخب بتونه route کنه.
خب حالت منطقیش اینه که شما یک ریزالور مثل dnsmasq بیارید بالا و یک چیزی مثل nginx بذارید جلوش ( به این روش میگن smart dns) که باهاش برای سایتهای منتخبتون ترافیک رو فوروارد کنید.
خب این برای DNS، DoH و DoT معقول و اوکیه با کمی تغییر؛ داستان اونجا زشت میشه که بخواید یک چیزی بذارید جلوش که بر اساس یک لیست IP بهتون دسترسی بده مثل شکن حرفهای.
خب من هرچی دنبال این گشتم که سرویس آماده پیدا کنم متاسفانه چیزی به دستم نیومد؛ برای همین یک پیادهسازی از SmartSNI انجام دادم به اسم kairo.
خب فعلاً خیلی چیز سادهایه؛ ساختارش به شکل زیره:
client (public IP) VPS (this binary) │ DNS query :53 / 853 / DoH │ │ ─────────────────────────────────▶️│ policy engine │ restricted + allowed → A = vps_ip │ │ otherwise → upstream │ │ │ │ TLS to restricted site │ │ ─────────────────────────────────▶️│ SNI router :443 │ │ SNI == host → DoH + API │ │ SNI == site → tunnel to site │ │ non-allowed → rejectedشما موقع نصبش یک لیست دامنه تعریف میکنید و یک apikey توی کانفیگتون میذارید ( آره این رو فعلاً خودتون میسازید چون من زیاد هنوز وقت نذاشتم تکمیل ترش کنم و کارایی اولیهاش از ویژگیهای خودش برام مهمتر بود) و بعدش برای اضافه کردن ip خودتون همون ip پابلیکی که دارید رو با استفاده از ترکیب ناشاهکار زیر به سمت سرور kairo میفرستید.
curl "https://<host>/api/allow?key=<key>&ip=<your-public-ip>" -X POST
که خب البته بعداً میخوام تکمیلترش کنم و احتمالاً یک پنل تحت وب هم براش بنویسم.
پروژه داکرایز شده است و مستنداتش هم نوشتم برای استفاده که بخواید برای خودتون نصب کنید؛ قابلیت ریورس پروکسی هم داره که اون هم توضیح دادم و از dns و DoH و DoT پشتیبانی میکنه.
کدمنبع پروژه:
https://github.com/behdanisohrab/kairo
پروژه تحت مجوز BSD Clause 3 منتشر میشه؛ اگر مشارکت کنید یا استار بدید خوشحال میشم :)
@SohrabContents5 922
بعد ما میگفتیم اینارو یه عده میگفتن نهههه نگید اینجوری فلانی و فلانی و فلانی خیلی آدم های متشخصی هستند
نه نکنید اینجوری نگید
