Forwarded from sohrab::stdout
یک چندوقتیه درگیرم همونطور که میدونید کاراموزی و پروژه دانشگاه رو برداشتم و امروز برای یک کاری لازم شد تا یک سیستمی مثل شکن بالا بیارم که ترافیک رو از طریق dns برای یک سری سایت منتخب بتونه route کنه.
خب حالت منطقیش اینه که شما یک ریزالور مثل dnsmasq بیارید بالا و یک چیزی مثل nginx بذارید جلوش ( به این روش میگن smart dns) که باهاش برای سایتهای منتخبتون ترافیک رو فوروارد کنید.
خب این برای DNS، DoH و DoT معقول و اوکیه با کمی تغییر؛ داستان اونجا زشت میشه که بخواید یک چیزی بذارید جلوش که بر اساس یک لیست IP بهتون دسترسی بده مثل شکن حرفهای.
خب من هرچی دنبال این گشتم که سرویس آماده پیدا کنم متاسفانه چیزی به دستم نیومد؛ برای همین یک پیادهسازی از SmartSNI انجام دادم به اسم kairo.
خب فعلاً خیلی چیز سادهایه؛ ساختارش به شکل زیره:
شما موقع نصبش یک لیست دامنه تعریف میکنید و یک apikey توی کانفیگتون میذارید ( آره این رو فعلاً خودتون میسازید چون من زیاد هنوز وقت نذاشتم تکمیل ترش کنم و کارایی اولیهاش از ویژگیهای خودش برام مهمتر بود) و بعدش برای اضافه کردن ip خودتون همون ip پابلیکی که دارید رو با استفاده از ترکیب ناشاهکار زیر به سمت سرور kairo میفرستید.
که خب البته بعداً میخوام تکمیلترش کنم و احتمالاً یک پنل تحت وب هم براش بنویسم.
پروژه داکرایز شده است و مستنداتش هم نوشتم برای استفاده که بخواید برای خودتون نصب کنید؛ قابلیت ریورس پروکسی هم داره که اون هم توضیح دادم و از dns و DoH و DoT پشتیبانی میکنه.
کدمنبع پروژه:
https://github.com/behdanisohrab/kairo
پروژه تحت مجوز BSD Clause 3 منتشر میشه؛ اگر مشارکت کنید یا استار بدید خوشحال میشم :)
@SohrabContents
خب حالت منطقیش اینه که شما یک ریزالور مثل 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 منتشر میشه؛ اگر مشارکت کنید یا استار بدید خوشحال میشم :)
@SohrabContents
❤7👀2👍1
آقا ولش کن ویدیو یوتیوب فارسی میگیرم کامل شیرفلکه باز میکنم
👍14
𝐌𝐚𝐡𝐬𝐡𝐚𝐝𝐭𝐦🦊
لطفا به مادرتون بگید به من و خانوادم زنگ نزنه و منو تهدید نکنه
This media is not supported in your browser
VIEW IN TELEGRAM
🤣4
فلیم حسین
معذرت خواهی وقتیه که مقصر باشم
thiso
اینو باشششش
رفتی دختر مردمو تهدید کردی بعد معذرت خواهی وقتیه که مقصر باشی؟
اینو باشششش
رفتی دختر مردمو تهدید کردی بعد معذرت خواهی وقتیه که مقصر باشی؟
🤣15🥰1
Azizi’s Warm Corner
یاد یه چیزی افتادم
This media is not supported in your browser
VIEW IN TELEGRAM
خودشه
ترس؟ 😟😟😟😟😟😟
نیروی عظیم دوست من تو را ازبین خواهد برد
ترس؟ 😟😟😟😟😟😟
نیروی عظیم دوست من تو را ازبین خواهد برد
🤣10
کونده پرو بازیا چیه خدایی زدی دختر مردمو تهدید کردی دو قورت و نیمتم باقیه؟
👍15
وای حاجی هرچی جلوتر میریم پشمام بیشتر میریزه این چه وضعیه
🤣12👍1
