Forwarded from Linuxor ?
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 امروز ۲ به روز رسانی بزرگ برای پکیچ های لاراول laravel-package و laravel-slugable توسط مشارکت کننده لاراول ارشیا محمدی منتشر شد.
#لاراول
@TheRaymondDev
#لاراول
@TheRaymondDev
Forwarded from Gopher Academy
🔵 عنوان مقاله
httpgrace: A net/http Wrapper with Graceful Shutdown
🟢 خلاصه مقاله:
به جای استفاده از تابع `http.ListenAndServe` در برنامهنویسی وب با زبان گو، پیشنهاد میشود که از تابع `httpgrace.ListenAndServe` استفاده شود که قابلیت توقف عملیات سرور به صورت آرام و بدون قطع ارتباط درخواستهای در حال انجام را دارا است. این روش میتواند به بهبود تجربه کاربری کمک کرده و از از دست رفتن درخواستها در هنگام توقف یا راهاندازی مجدد سرور جلوگیری کند.
🟣لینک مقاله:
https://golangweekly.com/link/170035/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
httpgrace: A net/http Wrapper with Graceful Shutdown
🟢 خلاصه مقاله:
به جای استفاده از تابع `http.ListenAndServe` در برنامهنویسی وب با زبان گو، پیشنهاد میشود که از تابع `httpgrace.ListenAndServe` استفاده شود که قابلیت توقف عملیات سرور به صورت آرام و بدون قطع ارتباط درخواستهای در حال انجام را دارا است. این روش میتواند به بهبود تجربه کاربری کمک کرده و از از دست رفتن درخواستها در هنگام توقف یا راهاندازی مجدد سرور جلوگیری کند.
🟣لینک مقاله:
https://golangweekly.com/link/170035/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - enrichman/httpgrace: Go `net/http` wrapper with graceful shutdown baked in.
Go `net/http` wrapper with graceful shutdown baked in. - enrichman/httpgrace
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
لیست به روزرسانی های پکیچ لاراول
🔶 نسخه v1.1.0 برای Laravel Package :
Changes :
feat: add modern Laravel package scaffolding with full structure and customization
- Implemented support for facades, service layer, repository pattern, interfaces
- Added event/listener system, notifications, middleware, and artisan commands
- Introduced SymfonyStyle for enhanced CLI UX with confirmation and validation
- Structured project with PSR-4 namespacing and clear separation of concerns
- Enabled stub-based generation with customizable templates and placeholders
- Included 15+ CLI options with --all flag for complete scaffolding
- Added professional structure: README template, MIT license, .gitignore
- Prepared for testing with PHPUnit config, base TestCase, and sample tests
گیت هاب :
https://github.com/LaraPire/laravel-package/releases/tag/v1.1.0
🔶 نسخه v1.1.0 برای Laravel Slugable :
1. Multi-language Support
- Added support for fa (Persian), ar (Arabic), and en (English).
- Properly handles zero-width non-joiners, Tatweel, and script-specific characters.
- Custom regex patterns for each language for accurate slug cleanup.
2. Customization Options
- Set custom slug source and destination fields.
- Specify custom separator (default: -).
- Set maximum length for slugs.
- Force slug regeneration on every save.
- Enable/disable uniqueness check for slugs.
3. Improved Uniqueness Enforcement
- Ensures uniqueness using incremental suffixes (-2, -3, etc.).
- Skips current model record in uniqueness check.
- Supports models using SoftDeletes with optional withTrashed() check.
4. Better Code Structure
- Separated logic into clear, testable methods:
- - generateSlug()
- - convertToSlug()
- - convertNumbers()
- - makeSlugUnique()
- - slugExists()
- - usesSoftDeletes()
- - processLanguageSpecificChars()
- - getCharacterPatternForLanguage()
- - cleanUpSeparators()
- Uses type hinting and default values.
- More readable and maintainable.
5. Compatibility with Route Model Binding
- getRouteKeyName() dynamically returns the slug field used for routing.
گیت هاب :
https://github.com/LaraPire/laravel-slugable/releases/tag/v1.1.0
#لاراول
@TheRaymondDev
🔶 نسخه v1.1.0 برای Laravel Package :
Changes :
feat: add modern Laravel package scaffolding with full structure and customization
- Implemented support for facades, service layer, repository pattern, interfaces
- Added event/listener system, notifications, middleware, and artisan commands
- Introduced SymfonyStyle for enhanced CLI UX with confirmation and validation
- Structured project with PSR-4 namespacing and clear separation of concerns
- Enabled stub-based generation with customizable templates and placeholders
- Included 15+ CLI options with --all flag for complete scaffolding
- Added professional structure: README template, MIT license, .gitignore
- Prepared for testing with PHPUnit config, base TestCase, and sample tests
گیت هاب :
https://github.com/LaraPire/laravel-package/releases/tag/v1.1.0
🔶 نسخه v1.1.0 برای Laravel Slugable :
1. Multi-language Support
- Added support for fa (Persian), ar (Arabic), and en (English).
- Properly handles zero-width non-joiners, Tatweel, and script-specific characters.
- Custom regex patterns for each language for accurate slug cleanup.
2. Customization Options
- Set custom slug source and destination fields.
- Specify custom separator (default: -).
- Set maximum length for slugs.
- Force slug regeneration on every save.
- Enable/disable uniqueness check for slugs.
3. Improved Uniqueness Enforcement
- Ensures uniqueness using incremental suffixes (-2, -3, etc.).
- Skips current model record in uniqueness check.
- Supports models using SoftDeletes with optional withTrashed() check.
4. Better Code Structure
- Separated logic into clear, testable methods:
- - generateSlug()
- - convertToSlug()
- - convertNumbers()
- - makeSlugUnique()
- - slugExists()
- - usesSoftDeletes()
- - processLanguageSpecificChars()
- - getCharacterPatternForLanguage()
- - cleanUpSeparators()
- Uses type hinting and default values.
- More readable and maintainable.
5. Compatibility with Route Model Binding
- getRouteKeyName() dynamically returns the slug field used for routing.
گیت هاب :
https://github.com/LaraPire/laravel-slugable/releases/tag/v1.1.0
#لاراول
@TheRaymondDev
GitHub
Release v1.1.0 · LaraPire/laravel-package
Changes :
feat: add modern Laravel package scaffolding with full structure and customization
Implemented support for facades, service layer, repository pattern, interfaces
Added event/listener sys...
feat: add modern Laravel package scaffolding with full structure and customization
Implemented support for facades, service layer, repository pattern, interfaces
Added event/listener sys...
Forwarded from DevTwitter | توییت برنامه نویسی
دو ابزار جدید براتون دارم:
1. Zarinpal Link Generator
اسکریپت PHP 7.4+ برای ساخت خودکار لینک پرداخت زرینپال بدون نیاز به کد مالیاتی یا اینماد، با تنظیمات ساده، پشتیبانی از هاستهای اشتراکی و ارتباط cURL REST API
https://github.com/arash-aryapour/zarinpal-link-generator
2. Zarinpal Transaction Checker
اسکریپتی برای بررسی تراکنشها مستقیماً از پنل کاربری با استفاده از session cookie، مناسب توسعهدهندهها و فروشگاهها
https://github.com/arash-aryapour/Zarinpal-Transaction-Checker
اگر دنبال راهی سریع و امن برای مانیتور تراکنش ها هستید این ابزار عالیه.
@DevTwitter | <Arash Aryapour/>
1. Zarinpal Link Generator
اسکریپت PHP 7.4+ برای ساخت خودکار لینک پرداخت زرینپال بدون نیاز به کد مالیاتی یا اینماد، با تنظیمات ساده، پشتیبانی از هاستهای اشتراکی و ارتباط cURL REST API
https://github.com/arash-aryapour/zarinpal-link-generator
2. Zarinpal Transaction Checker
اسکریپتی برای بررسی تراکنشها مستقیماً از پنل کاربری با استفاده از session cookie، مناسب توسعهدهندهها و فروشگاهها
https://github.com/arash-aryapour/Zarinpal-Transaction-Checker
اگر دنبال راهی سریع و امن برای مانیتور تراکنش ها هستید این ابزار عالیه.
@DevTwitter | <Arash Aryapour/>
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰پیدا کردن فرآیندهای zombie
پردازشهایی که اجراشون تموم شده ولی هنوز در جدول پردازشها باقی موندن، چون پدرشون هنوز وضعیت خروجی اونها رو جمعآوری نکرده. Zombieها هنوز یک PID دارن ولی دیگه در حال اجرا نیستن.
یک ورودی در Process Table اشغال میکنن.
✅ مرحله یک، پیدا کردن پردازش های زامبی.پردازشهای Zombie با حرف بزرگ Z در ستون وضعیت (STAT) نمایش داده میشوند.
✅ مرحله 2: پیدا کردن والد Zombie
میخوایم ببینیم چه پروسهای پدر Zombie است:
✅ مرحله 3: بستن Zombie (از طریق کشتن والد)
پر دازش Zombie خودش قابل kill نیست چون اجرا نمیشود. باید والدش را وادار به جمعآوری آن کنیم یا والد را kill کنیم تا سیستمعامل Zombie را پاک کند.
نویسنده: حسین سیلانی
اخبار و آموزش های بیشتر در کانال:
https://t.iss.one/linuxtnt
پردازشهایی که اجراشون تموم شده ولی هنوز در جدول پردازشها باقی موندن، چون پدرشون هنوز وضعیت خروجی اونها رو جمعآوری نکرده. Zombieها هنوز یک PID دارن ولی دیگه در حال اجرا نیستن.
یک ورودی در Process Table اشغال میکنن.
✅ مرحله یک، پیدا کردن پردازش های زامبی.پردازشهای Zombie با حرف بزرگ Z در ستون وضعیت (STAT) نمایش داده میشوند.
ps -eo pid,ppid,stat,cmd | grep -w Z
ps aux | grep 'Z'
✅ مرحله 2: پیدا کردن والد Zombie
میخوایم ببینیم چه پروسهای پدر Zombie است:
ps -p 6789 -o pid,cmd
✅ مرحله 3: بستن Zombie (از طریق کشتن والد)
پر دازش Zombie خودش قابل kill نیست چون اجرا نمیشود. باید والدش را وادار به جمعآوری آن کنیم یا والد را kill کنیم تا سیستمعامل Zombie را پاک کند.
kill -SIGCHLD 6789
نویسنده: حسین سیلانی
اخبار و آموزش های بیشتر در کانال:
https://t.iss.one/linuxtnt
Forwarded from Byteforge / بایــت فورج 🛸
الگوی ساخت تراکنش روی پلتفرم زرین پال بدون نیاز به دریافت مرچند کد و ثبت کد مالیاتی و حتی اینماد و امکان اعتبار سنجی تراکنش ها »
اسکریپت های زیر به تازگی در گیت هاب 🌐 منتشر شدن:
اسکریپت جنریتور لینک زرین پال با آتوریتی:
🔗 : https://github.com/arash-aryapour/zarinpal-link-generator
اسکریپت برسی تراکنش ها از داخل پنل کاربری:
🔗 : https://github.com/arash-aryapour/Zarinpal-Transaction-Checker
🖥 ویدیو آموزش کانفیگ اسکریپ برسی تراکنش:
🔗 : https://youtu.be/5zFdNiFQCHo?si=W-KCBfPLUBgmEI0V
اسکریپت های زیر به تازگی در گیت هاب 🌐 منتشر شدن:
اسکریپت جنریتور لینک زرین پال با آتوریتی:
🔗 : https://github.com/arash-aryapour/zarinpal-link-generator
اسکریپت برسی تراکنش ها از داخل پنل کاربری:
🔗 : https://github.com/arash-aryapour/Zarinpal-Transaction-Checker
🖥 ویدیو آموزش کانفیگ اسکریپ برسی تراکنش:
🔗 : https://youtu.be/5zFdNiFQCHo?si=W-KCBfPLUBgmEI0V
#tools
#byteforge
@byteforge_chan 🛸
GitHub
GitHub - arash-aryapour/zarinpal-link-generator: 📌 PHP script for generating ZarinPal payment links without tax code/ اسکریپت ساخت…
📌 PHP script for generating ZarinPal payment links without tax code/ اسکریپت ساخت لینک زرین پال بدون نیاز به کد مالیاتی و اینماد - arash-aryapour/zarinpal-link-generator
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
لیست به روزرسانی های پکیچ لاراول
🔶 نسخه v1.1.0 برای Laravel Package :
Changes :
feat: add modern Laravel package scaffolding with full structure and customization
- Implemented support for facades, service layer, repository pattern, interfaces
- Added event/listener system, notifications, middleware, and artisan commands
- Introduced SymfonyStyle for enhanced CLI UX with confirmation and validation
- Structured project with PSR-4 namespacing and clear separation of concerns
- Enabled stub-based generation with customizable templates and placeholders
- Included 15+ CLI options with --all flag for complete scaffolding
- Added professional structure: README template, MIT license, .gitignore
- Prepared for testing with PHPUnit config, base TestCase, and sample tests
گیت هاب :
https://github.com/LaraPire/laravel-package/releases/tag/v1.1.0
🔶 نسخه v1.1.0 برای Laravel Slugable :
1. Multi-language Support
- Added support for fa (Persian), ar (Arabic), and en (English).
- Properly handles zero-width non-joiners, Tatweel, and script-specific characters.
- Custom regex patterns for each language for accurate slug cleanup.
2. Customization Options
- Set custom slug source and destination fields.
- Specify custom separator (default: -).
- Set maximum length for slugs.
- Force slug regeneration on every save.
- Enable/disable uniqueness check for slugs.
3. Improved Uniqueness Enforcement
- Ensures uniqueness using incremental suffixes (-2, -3, etc.).
- Skips current model record in uniqueness check.
- Supports models using SoftDeletes with optional withTrashed() check.
4. Better Code Structure
- Separated logic into clear, testable methods:
- - generateSlug()
- - convertToSlug()
- - convertNumbers()
- - makeSlugUnique()
- - slugExists()
- - usesSoftDeletes()
- - processLanguageSpecificChars()
- - getCharacterPatternForLanguage()
- - cleanUpSeparators()
- Uses type hinting and default values.
- More readable and maintainable.
5. Compatibility with Route Model Binding
- getRouteKeyName() dynamically returns the slug field used for routing.
گیت هاب :
https://github.com/LaraPire/laravel-slugable/releases/tag/v1.1.0
#لاراول
@TheRaymondDev
🔶 نسخه v1.1.0 برای Laravel Package :
Changes :
feat: add modern Laravel package scaffolding with full structure and customization
- Implemented support for facades, service layer, repository pattern, interfaces
- Added event/listener system, notifications, middleware, and artisan commands
- Introduced SymfonyStyle for enhanced CLI UX with confirmation and validation
- Structured project with PSR-4 namespacing and clear separation of concerns
- Enabled stub-based generation with customizable templates and placeholders
- Included 15+ CLI options with --all flag for complete scaffolding
- Added professional structure: README template, MIT license, .gitignore
- Prepared for testing with PHPUnit config, base TestCase, and sample tests
گیت هاب :
https://github.com/LaraPire/laravel-package/releases/tag/v1.1.0
🔶 نسخه v1.1.0 برای Laravel Slugable :
1. Multi-language Support
- Added support for fa (Persian), ar (Arabic), and en (English).
- Properly handles zero-width non-joiners, Tatweel, and script-specific characters.
- Custom regex patterns for each language for accurate slug cleanup.
2. Customization Options
- Set custom slug source and destination fields.
- Specify custom separator (default: -).
- Set maximum length for slugs.
- Force slug regeneration on every save.
- Enable/disable uniqueness check for slugs.
3. Improved Uniqueness Enforcement
- Ensures uniqueness using incremental suffixes (-2, -3, etc.).
- Skips current model record in uniqueness check.
- Supports models using SoftDeletes with optional withTrashed() check.
4. Better Code Structure
- Separated logic into clear, testable methods:
- - generateSlug()
- - convertToSlug()
- - convertNumbers()
- - makeSlugUnique()
- - slugExists()
- - usesSoftDeletes()
- - processLanguageSpecificChars()
- - getCharacterPatternForLanguage()
- - cleanUpSeparators()
- Uses type hinting and default values.
- More readable and maintainable.
5. Compatibility with Route Model Binding
- getRouteKeyName() dynamically returns the slug field used for routing.
گیت هاب :
https://github.com/LaraPire/laravel-slugable/releases/tag/v1.1.0
#لاراول
@TheRaymondDev
GitHub
Release v1.1.0 · LaraPire/laravel-package
Changes :
feat: add modern Laravel package scaffolding with full structure and customization
Implemented support for facades, service layer, repository pattern, interfaces
Added event/listener sys...
feat: add modern Laravel package scaffolding with full structure and customization
Implemented support for facades, service layer, repository pattern, interfaces
Added event/listener sys...
Forwarded from GPT YAR | جیپیتی یار
با GPT YAR، بدون دردسر به نسخه ChatGPT Plus دسترسی پیدا کن و با کمترین هزینه، از نهایت قدرت GPT Plus بهرهمند شو
اشتراک ماهانه فقط با ۲۰۰ هزار تومان
امکانات اشتراکی :
پشتیبانی از موبایل و دسکتاپ
دسترسی بدون قطعی
پاسخدهی سریعتر و دقیقتر
بهزودی، حریم خصوصی دیگه دغدغه نیست!
همچنین میتونی نسخه اختصاصی ChatGPT Plus را هم تهیه کنی.
ثبت سفارش و پشتیبانی :
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
همیشه یه
json schema editor
لازم داشتم که باهاش بتونم پارامتر لازم برای
Structured Response
ایپیآی چتجیبیتی رو بسازم ولی هیچکدومشون اون چیزی نبودن که میخواستم
پس با هوشمصنوعی یکی ساختم
https://amir9480.github.io/json-schema-builder/
@DevTwitter | <Amir/>
json schema editor
لازم داشتم که باهاش بتونم پارامتر لازم برای
Structured Response
ایپیآی چتجیبیتی رو بسازم ولی هیچکدومشون اون چیزی نبودن که میخواستم
پس با هوشمصنوعی یکی ساختم
https://amir9480.github.io/json-schema-builder/
@DevTwitter | <Amir/>
Forwarded from Erfan
📌 لیست کامل بازیهای پشتیبانیشده رو از اینجا ببین!
@NovaDns
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
یکی از پروژه هایی که بهتون کمک میکنه یه پله توی سی بالا تر برید ساخت وب سروره امروز یکی رو به اسم مصطفی خان توی توییتر دیدم که این پروژه رو زده، داغه داغه برید کلونش کنید هم با Makefile ها درگیر میشین هم با کار های سطح پایین توی سی
github.com/mustafa-khann/http-server
@Linuxor
github.com/mustafa-khann/http-server
@Linuxor
Creep
Radiohead
But I'm a creep,
I'm a weirdo,
What the hell am I doin' here?
I don't belong here
I'm a weirdo,
What the hell am I doin' here?
I don't belong here
Forwarded from DevTwitter | توییت برنامه نویسی
نسخهی جدید PHP 8.5 تو راهه :)
چند قابلیت جدید و بهبود جالب توی این نسخه:
* توابع array_first() و array_last() برای دسترسی سریعتر به اولین و آخرین عنصر آرایهها (البته array_last تفاوت خاصی با end() نداره)
* امکان استفاده از Closure و Callable در const
* ویژگی [#[\NoDiscard]] برای مشخصکردن اینکه مقدار return باید استفاده بشه
* بهبود نمایش خطاها با Error Backtraces v2
* توابع جدید get_error_handler() و get_exception_handler()
* بهبود performance در cURL و کلاس Directory
نسخه 8.5 شاید تغییرات انقلابی نداشته باشه، ولی تجربهی برنامهنویسی رو بهتر و تمیزتر میکنه.
البته هنوز خبری از generic types درستوحسابی نیست و PHP کاملاً type-safe نشده
منبع:
https://wiki.php.net/rfc#php_85
@DevTwitter | <Milad Niroee/>
چند قابلیت جدید و بهبود جالب توی این نسخه:
* توابع array_first() و array_last() برای دسترسی سریعتر به اولین و آخرین عنصر آرایهها (البته array_last تفاوت خاصی با end() نداره)
* امکان استفاده از Closure و Callable در const
* ویژگی [#[\NoDiscard]] برای مشخصکردن اینکه مقدار return باید استفاده بشه
* بهبود نمایش خطاها با Error Backtraces v2
* توابع جدید get_error_handler() و get_exception_handler()
* بهبود performance در cURL و کلاس Directory
نسخه 8.5 شاید تغییرات انقلابی نداشته باشه، ولی تجربهی برنامهنویسی رو بهتر و تمیزتر میکنه.
البته هنوز خبری از generic types درستوحسابی نیست و PHP کاملاً type-safe نشده
منبع:
https://wiki.php.net/rfc#php_85
@DevTwitter | <Milad Niroee/>
Forwarded from SoniaCircuit (Sonia)
اینم چنل آرشیو کتاب، جزوه ، برگه تقلب، منابع و قراردادو... هست بدردتون میخوره
t.iss.one/ArchiveDevs
این گروه، هر تاپیک مربوط به یک شاخه برنامه نویسی هست، خیلی بدردتون میخوره
t.iss.one/TopicsDev
چنل اصلیشون
✍🏽 ¦ t.iss.one/DevYara
t.iss.one/ArchiveDevs
این گروه، هر تاپیک مربوط به یک شاخه برنامه نویسی هست، خیلی بدردتون میخوره
t.iss.one/TopicsDev
چنل اصلیشون
✍🏽 ¦ t.iss.one/DevYara
Telegram
Archive Developers
رسالت ما – ارائه محتوای کاربردی شامل کتاب، برگه تقلب، وبینار و پادکست برای توسعهدهندگان و علاقهمندان به برنامهنویسی و فناوریهای مرتبط، همراه با ذکر منابع!
👨🏻💻 | @Afsh6n
✍🏽 | @DevYara
🍓 | @TopicsDev
👨🏻💻 | @Afsh6n
✍🏽 | @DevYara
🍓 | @TopicsDev
Forwarded from IRCF | اینترنت آزاد برای همه
#گزارش
مشاهدات اخیر مهسانت روی شبکه اپراتور #ایرانسل، الگوی قابل توجهی را آشکار کرده: در حالی که درخواستهای استاندارد DNS (مبتنی بر UDP) برای دامنههای فیلتر شده طبق انتظار دستکاری میشوند، استفاده از پروتکلهای جایگزین مانند DoH، DoT و DoTCP وضعیت پیچیدهتری را ایجاد میکند.
تا پیش از این، تقریباً تمام سرورهای DoT، DoH، DoQ، DoTCP چه عمومی و چه شخصی، مسدود بودند. اما اکنون رویکرد #فیلترینگ تغییر کرده است؛ مسدودسازی پروتکلهای اصلی رمزنگاریشده (DoH, DoT, DoQ) روی سرورهای DNS عمومی و معروف (مثل کلاودفلر، گوگل، و ...) را در بر میگیرد، در حالی که پروتکل DoTCP روی همین سرورها فعال باقی مانده است. همزمان، سرورهای شخصی که آیپیهای تمیز و فیلتر نشده دارند، بدون محدودیت به کار خود ادامه میدهند. این موضوع عملاً دو راه برای دریافت آیپی واقعی دامنهها باز گذاشته است: استفاده از سرورهای شخصی، یا استفاده از DoTCP روی سرورهای عمومی و معروف.
نکته جالبتر اینکه این قضیه به لایه فیلترینگ SNI در هندشیک TLS نیز مربوط میشود. بررسیها نشان میدهند که در حال حاضر سیستم DPI مبتنی بر فیلترینگ SNI تقریباً ناکارآمد است؛ چرا که اتصالات مستقیم HTTPS به آدرسهای IP واقعی (که با روشهای بالا پیدا شدهاند)، حتی برای دامنههای کاملاً فیلتر شده، با موفقیت برقرار میشود. این یعنی سیستم DPI ایرانسل، یا این نوع ترافیک را شناسایی نمیکند، یا به کل آن را نادیده میگیرد.
رفتار مشاهده شده در شبکه ایرانسل ظهور یک الگوی دوگانه مشخص را نشان میدهد: پروتکلهای جایگزین DNS مانند DoTCP, DoT, DoH, DoQ، به طور مداوم فیلترینگ سطح DNS آن را دور میزنند و امکان resolve شدن آدرسهای آیپی واقعی برای دامنههای فیلتر شده را فراهم میکنند. نکته بسیار مهم این است که اتصالات مستقیم HTTPS/TLS به این آیپیها برای اکثر دامنههایی که معمولاً از طریق SNI/DNS مسدود میشوند (به عنوان مثال، سرویسهای مرتبط با
وجود یک شکاف مشهود و قابلتوجه در سیستم فیلترینگ ایرانسل، عملاً موانع دسترسی به طیف وسیعی از محتوای محدود شده را برای کاربران آن کاهش داده است. دلیل اصلی این پدیده هنوز مشخص نیست، اما میتواند ناشی از تصمیمات فنی در معماری شبکه، نقصی در فرآیند پیادهسازی سیاستها، و یا حتی یکی از ویژگیهای ذاتی ساختار فعلی آن باشد. از این رو، به منظور درک دقیق میزان پایداری این وضعیت و دلایل بنیادین آن، پایش مستمر شبکه و انجام تحقیقات تکمیلی، امری ضروری تلقی میگردد.
مشاهده متن کامل گزارش:
👉 mahsanet.com/fa/blog/10/irancell-impact-of-dns-on-blocked-domains
🔍 ircf.space
@ircfspace
مشاهدات اخیر مهسانت روی شبکه اپراتور #ایرانسل، الگوی قابل توجهی را آشکار کرده: در حالی که درخواستهای استاندارد DNS (مبتنی بر UDP) برای دامنههای فیلتر شده طبق انتظار دستکاری میشوند، استفاده از پروتکلهای جایگزین مانند DoH، DoT و DoTCP وضعیت پیچیدهتری را ایجاد میکند.
تا پیش از این، تقریباً تمام سرورهای DoT، DoH، DoQ، DoTCP چه عمومی و چه شخصی، مسدود بودند. اما اکنون رویکرد #فیلترینگ تغییر کرده است؛ مسدودسازی پروتکلهای اصلی رمزنگاریشده (DoH, DoT, DoQ) روی سرورهای DNS عمومی و معروف (مثل کلاودفلر، گوگل، و ...) را در بر میگیرد، در حالی که پروتکل DoTCP روی همین سرورها فعال باقی مانده است. همزمان، سرورهای شخصی که آیپیهای تمیز و فیلتر نشده دارند، بدون محدودیت به کار خود ادامه میدهند. این موضوع عملاً دو راه برای دریافت آیپی واقعی دامنهها باز گذاشته است: استفاده از سرورهای شخصی، یا استفاده از DoTCP روی سرورهای عمومی و معروف.
نکته جالبتر اینکه این قضیه به لایه فیلترینگ SNI در هندشیک TLS نیز مربوط میشود. بررسیها نشان میدهند که در حال حاضر سیستم DPI مبتنی بر فیلترینگ SNI تقریباً ناکارآمد است؛ چرا که اتصالات مستقیم HTTPS به آدرسهای IP واقعی (که با روشهای بالا پیدا شدهاند)، حتی برای دامنههای کاملاً فیلتر شده، با موفقیت برقرار میشود. این یعنی سیستم DPI ایرانسل، یا این نوع ترافیک را شناسایی نمیکند، یا به کل آن را نادیده میگیرد.
رفتار مشاهده شده در شبکه ایرانسل ظهور یک الگوی دوگانه مشخص را نشان میدهد: پروتکلهای جایگزین DNS مانند DoTCP, DoT, DoH, DoQ، به طور مداوم فیلترینگ سطح DNS آن را دور میزنند و امکان resolve شدن آدرسهای آیپی واقعی برای دامنههای فیلتر شده را فراهم میکنند. نکته بسیار مهم این است که اتصالات مستقیم HTTPS/TLS به این آیپیها برای اکثر دامنههایی که معمولاً از طریق SNI/DNS مسدود میشوند (به عنوان مثال، سرویسهای مرتبط با
www.youtube.com, instagram.com, و غیره) نیز با موفقیت انجام میشوند. این امر نشاندهنده ناکارآمدی گسترده فعلی یا عدم اعمال خاص مکانیزمهای مسدودسازی مبتنی بر SNI یا مشابه در لایه TLS توسط ایرانسل برای این مسیرهای ارتباطی خاص است.وجود یک شکاف مشهود و قابلتوجه در سیستم فیلترینگ ایرانسل، عملاً موانع دسترسی به طیف وسیعی از محتوای محدود شده را برای کاربران آن کاهش داده است. دلیل اصلی این پدیده هنوز مشخص نیست، اما میتواند ناشی از تصمیمات فنی در معماری شبکه، نقصی در فرآیند پیادهسازی سیاستها، و یا حتی یکی از ویژگیهای ذاتی ساختار فعلی آن باشد. از این رو، به منظور درک دقیق میزان پایداری این وضعیت و دلایل بنیادین آن، پایش مستمر شبکه و انجام تحقیقات تکمیلی، امری ضروری تلقی میگردد.
مشاهده متن کامل گزارش:
👉 mahsanet.com/fa/blog/10/irancell-impact-of-dns-on-blocked-domains
🔍 ircf.space
@ircfspace