Forwarded from DevTwitter | توییت برنامه نویسی
تجربه برنامهنویسی با نرونهای کمتر :)
چند روز پیش مسئلهای پیش آمد که باید دادههای سایت اداره کل حقوقی قوه قضاییه کرول شود. اما چون این سایت که با فریمورک ASP MVC پیادهسازی شده و برای جلوگیری از CRAWL از یک توکن در صفحه به صورت hidden استفاده میکند، امکان کرول مستقیم API آن وجود نداشت و باید حتما صفحه ابتدا باز شده و پس از بررسی آن مقدار هش، سپس درخواستهای API ارسال شود. این چالش فرصتی فراهم کرد که مدل جدید Claude 3.7 sonnet را به صورت thinking امتحان کنم.
ابتدا پروژه را در گیت ساختم و چند فایل خالی به عنوان ساختار اولیه ایجاد کردم. سپس برای ورودی و خروجی API با استفاده از مدل claude-3.7-sonnet-thinking در crusor مدلهای pydantic ساختم.
توضیحات قدم به قدم اجرای پروژه را در این مقاله به همراه پرامپتها نوشتم.
https://virgool.io/@code/claude-37-sonnet-irwyrfawspao
@DevTwitter | <Mohammadreza Shaghouzi/>
چند روز پیش مسئلهای پیش آمد که باید دادههای سایت اداره کل حقوقی قوه قضاییه کرول شود. اما چون این سایت که با فریمورک ASP MVC پیادهسازی شده و برای جلوگیری از CRAWL از یک توکن در صفحه به صورت hidden استفاده میکند، امکان کرول مستقیم API آن وجود نداشت و باید حتما صفحه ابتدا باز شده و پس از بررسی آن مقدار هش، سپس درخواستهای API ارسال شود. این چالش فرصتی فراهم کرد که مدل جدید Claude 3.7 sonnet را به صورت thinking امتحان کنم.
ابتدا پروژه را در گیت ساختم و چند فایل خالی به عنوان ساختار اولیه ایجاد کردم. سپس برای ورودی و خروجی API با استفاده از مدل claude-3.7-sonnet-thinking در crusor مدلهای pydantic ساختم.
توضیحات قدم به قدم اجرای پروژه را در این مقاله به همراه پرامپتها نوشتم.
https://virgool.io/@code/claude-37-sonnet-irwyrfawspao
@DevTwitter | <Mohammadreza Shaghouzi/>
Forwarded from Geek Alerts
نسخه جدید اپ Gemini توی IOS یه سری ویجت توی لاک اسکرین هم نمایش میده، داخل این ویجت میشه کارهایی مثل تایپ پرامپت، مکالمه یا دستیار صوتی و اشتراکگذاری تصویر و فایل رو داشت. در واقع دسترسی به Gemini بسیار سریعتر و ساده تر هست.
🔗 testingcatalog
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ninja Learn | نینجا لرن
خب خب خب Design Patterns 🏗
امروز میخوایم دربارهی Design Patterns یا الگوهای طراحی تو برنامهنویسی صحبت کنیم. این موضوع خیلی مهمه و توی دنیای نرمافزار به شما کمک میکنه که کدهاتون رو بهتر، تمیزتر و قابلنگهداریتر بنویسین. توی این پست تعریف میکنیم که این الگوها چی هستن، چه انواعی دارن و ...
🧠 Design Patterns چیه؟
Design Patterns یا الگوهای طراحی، راهحلهای استاندارد و امتحانشدهای هستن برای مشکلات رایجی که تو طراحی نرمافزار بهشون برمیخوریم. این الگوها مثل یه نقشهی راهن که به شما نشون میدن چطور یه مسئلهی خاص رو به بهترین شکل ممکن حل کنین. این مفهوم اولین بار تو کتاب معروف Gang of Four یا GoF
معرفی شد. این کتاب سال ۱۹۹۴ منتشر شد و هنوزم یه منبع معتبر و مرجع به حساب میاد.
این الگوها از یک زبون خاص مستقل هستن، یعنی میتونین تو هر زبانی مثل پایتون، جاوا یا سی++ ازشون استفاده کنین. ما اینجا با پایتون مثال میزنیم تا ساده و قابلفهم باشه.
📚 انواع Design Patterns
طبق دستهبندی Gang of Four، الگوهای طراحی به سه دستهی اصلی تقسیم میشن:
1⃣ Creational Patterns (الگوهای ساختاری):
این الگوها با نحوهی ساختن اشیاء (Objects) سر و کار دارن و به شما کمک میکنن که اشیاء رو به روشهای انعطافپذیر و بهینه بسازین.
2⃣ Structural Patterns (الگوهای ساختاری):
این الگوها دربارهی سازماندهی و ارتباط بین کلاسها و اشیاء هستن تا ساختار کِدتون منظمتر بشه.
3⃣ Behavioral Patterns (الگوهای رفتاری):
این الگوها روی تعاملات و مسئولیتهای بین اشیاء تمرکز دارن و باعث میشن ارتباط بین بخشهای مختلف برنامهتون بهتر بشه.
حالا بریم سراغ یه مثال پایتونی از هر دسته تا دقیق ببینین چطور کار میکنن.
1️⃣ Creational Pattern: Singleton (تکتون)
الگوی Singleton مطمئن میشه که از یه کلاس فقط یه نمونه (Instance) ساخته بشه و همهجای برنامه به همون یه نمونه دسترسی داشته باشن.
مثال:
فرض کنین میخواین یه سیستم لاگ داشته باشین که فقط یه شیء ازش وجود داشته باشه:
توی متد
چون
خروجی
2️⃣ Structural Pattern: Adapter (آداپتور)
الگوی Adapter مثل یه پل عمل میکنه که دو کلاس با رابطهای (Interface) متفاوت رو به هم وصل میکنه.
مثال:
فرض کنین یه کلاس قدیمی به اسم
کلاس OldPrinter یه متد قدیمی داره به اسم print_text.
کلاس PrinterAdapter یه نمونه از OldPrinter رو میگیره و متد print رو به print_text وصل میکنه.
حالا سیستم جدیدتون میتونه با adapter.print() کار کنه، بدون اینکه OldPrinter رو تغییر بدین.
ادامه, پست بعد
امروز میخوایم دربارهی Design Patterns یا الگوهای طراحی تو برنامهنویسی صحبت کنیم. این موضوع خیلی مهمه و توی دنیای نرمافزار به شما کمک میکنه که کدهاتون رو بهتر، تمیزتر و قابلنگهداریتر بنویسین. توی این پست تعریف میکنیم که این الگوها چی هستن، چه انواعی دارن و ...
🧠 Design Patterns چیه؟
Design Patterns یا الگوهای طراحی، راهحلهای استاندارد و امتحانشدهای هستن برای مشکلات رایجی که تو طراحی نرمافزار بهشون برمیخوریم. این الگوها مثل یه نقشهی راهن که به شما نشون میدن چطور یه مسئلهی خاص رو به بهترین شکل ممکن حل کنین. این مفهوم اولین بار تو کتاب معروف Gang of Four یا GoF
معرفی شد. این کتاب سال ۱۹۹۴ منتشر شد و هنوزم یه منبع معتبر و مرجع به حساب میاد.
این الگوها از یک زبون خاص مستقل هستن، یعنی میتونین تو هر زبانی مثل پایتون، جاوا یا سی++ ازشون استفاده کنین. ما اینجا با پایتون مثال میزنیم تا ساده و قابلفهم باشه.
📚 انواع Design Patterns
طبق دستهبندی Gang of Four، الگوهای طراحی به سه دستهی اصلی تقسیم میشن:
1⃣ Creational Patterns (الگوهای ساختاری):
این الگوها با نحوهی ساختن اشیاء (Objects) سر و کار دارن و به شما کمک میکنن که اشیاء رو به روشهای انعطافپذیر و بهینه بسازین.
2⃣ Structural Patterns (الگوهای ساختاری):
این الگوها دربارهی سازماندهی و ارتباط بین کلاسها و اشیاء هستن تا ساختار کِدتون منظمتر بشه.
3⃣ Behavioral Patterns (الگوهای رفتاری):
این الگوها روی تعاملات و مسئولیتهای بین اشیاء تمرکز دارن و باعث میشن ارتباط بین بخشهای مختلف برنامهتون بهتر بشه.
حالا بریم سراغ یه مثال پایتونی از هر دسته تا دقیق ببینین چطور کار میکنن.
1️⃣ Creational Pattern: Singleton (تکتون)
الگوی Singleton مطمئن میشه که از یه کلاس فقط یه نمونه (Instance) ساخته بشه و همهجای برنامه به همون یه نمونه دسترسی داشته باشن.
مثال:
فرض کنین میخواین یه سیستم لاگ داشته باشین که فقط یه شیء ازش وجود داشته باشه:
class SingletonLogger:
# متغیر استاتیک برای ذخیرهی نمونه
_instance = None
# بازنویسی متد __new__ برای کنترل ساخت نمونه
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
def log(self, message):
print(f"Log: {message}")
# تست کردن
logger1 = SingletonLogger()
logger2 = SingletonLogger()
# چک میکنیم که آیا هر دو متغیر به یه شیء اشاره میکنن
print(logger1 is logger2) # خروجی: True
logger1.log("سلام دنیا") # خروجی: Log: سلام دنیا
logger2.log("تست دوم") # خروجی: Log: تست دوم
توی متد
new چک میکنیم که آیا _instance قبلاً ساخته شده یا نه. اگه نشده باشه، یه نمونه جدید میسازیم.چون
logger1 و logger2 به یه شیء اشاره میکنن، هر تغییری که با یکی بدین، روی اون یکی هم اعمال میشه.خروجی
True نشون میده که فقط یه نمونه از SingletonLogger وجود داره.2️⃣ Structural Pattern: Adapter (آداپتور)
الگوی Adapter مثل یه پل عمل میکنه که دو کلاس با رابطهای (Interface) متفاوت رو به هم وصل میکنه.
مثال:
فرض کنین یه کلاس قدیمی به اسم
OldPrinter دارین که متد print_text داره، ولی سیستم جدیدتون از متد print پشتیبانی میکنه:# کلاس قدیمی
class OldPrinter:
def print_text(self, text):
print(f"Old Printer: {text}")
# آداپتور
class PrinterAdapter:
def __init__(self, old_printer):
self.old_printer = old_printer
def print(self, text):
self.old_printer.print_text(text)
# تست کردن
old_printer = OldPrinter()
adapter = PrinterAdapter(old_printer)
adapter.print("سلام از سیستم جدید") # خروجی: Old Printer: سلام از سیستم جدید
کلاس OldPrinter یه متد قدیمی داره به اسم print_text.
کلاس PrinterAdapter یه نمونه از OldPrinter رو میگیره و متد print رو به print_text وصل میکنه.
حالا سیستم جدیدتون میتونه با adapter.print() کار کنه، بدون اینکه OldPrinter رو تغییر بدین.
3️⃣Behavioral Pattern: Observer (ناظر)
الگوی Observer یه رابطهی یکبهچند بین اشیاء تعریف میکنه. یه شیء اصلی (Subject) وقتی وضعیتش تغییر میکنه، بهطور خودکار به همهی ناظرها (Observers) خبر میده
مثال:
فرض کنین یه سیستم اعلان دارین که وقتی پیام جدید میاد، همهی کاربرها باخبر بشن:ادامه, پست بعد
Forwarded from کانال مهرداد لینوکس
🔥 مشاهده و دنبال کردن Log با lnav
✅ مطالعه فایل لاگ بهترین راه برای پیدا کردن مشکل یک سیستم است
🗓 ابزار های زیادی tail/grep/less به صورت standard Unix utilities و
حتی بهینه شده مثل btail یا Toolong که قبلا معرفی کرده بودم هستند ولی فقط پردازش میکنند فایل لاگ را نمیفهمند
☀️ ابزار LNAV -- The Logfile Navigator با قابلیت :
💠تشخیص فرمت فایل
💠ترکیب کردن فایل
💠دنبال کردن، تغییر نام ، ساخت index ازerrors و warnings فایل
💠و خروجی کار با Json
قابلیت بیشتر اینجا
⚙️ برای نصب
البته میتوانید آنلاین هم تست کنید یا با نام کاربردی "tutorial 1" آموزش ببینید
👨🏻💻روش استفاده
مستندات
❤️ ممنون از حمایت هاتون 💐🌺
#linux #devops #security
✅ مطالعه فایل لاگ بهترین راه برای پیدا کردن مشکل یک سیستم است
🗓 ابزار های زیادی tail/grep/less به صورت standard Unix utilities و
حتی بهینه شده مثل btail یا Toolong که قبلا معرفی کرده بودم هستند ولی فقط پردازش میکنند فایل لاگ را نمیفهمند
☀️ ابزار LNAV -- The Logfile Navigator با قابلیت :
💠تشخیص فرمت فایل
💠ترکیب کردن فایل
💠دنبال کردن، تغییر نام ، ساخت index ازerrors و warnings فایل
💠و خروجی کار با Json
قابلیت بیشتر اینجا
⚙️ برای نصب
brew install lnav
البته میتوانید آنلاین هم تست کنید یا با نام کاربردی "tutorial 1" آموزش ببینید
$ ssh [email protected]
$ ssh [email protected]
👨🏻💻روش استفاده
$ lnav /path/to/file1 /path/to/dir ...
$ journalctl | lnav
$ journalctl -f | lnav
بخش journalctl -o json | lnav برای من کار نکرد کرش میکنه شما تست کنید شاید مشکل از سیستم تست منه
مستندات
❤️ ممنون از حمایت هاتون 💐🌺
#linux #devops #security
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
یک کورس جدید بازهم از HuggingFace و این یکی راجع به reasoning و reinforcement learning هست. این مفاهیم را کامل توضیح میده و اینکه چطور مدل DeepSeek R1 کار میکنه به همراه روش آموزش این مدل. واقعا این کورس ارزشش را داره.
Link: https://huggingface.co/learn/nlp-course/en/chapter12/1
@DevTwitter | <Mehdi Allahyari/>
Link: https://huggingface.co/learn/nlp-course/en/chapter12/1
@DevTwitter | <Mehdi Allahyari/>
Forwarded from Agora (Alireza Azadi)
YouTube
How to Become Pope
Help support videos like this: https://www.patreon.com/cgpgrey
* https://www.youtube.com/watch?v=S6QmhrtBTO0&index=1&list=PLc5PfsIwcLCh-ClpeBvtkz4db215-fEjZ
† https://www.youtube.com/watch?v=5hPsX3zQeX4&list=PLc5PfsIwcLCiGtfE-5B8GTysGJfsLKn5v&index=1
‡ …
* https://www.youtube.com/watch?v=S6QmhrtBTO0&index=1&list=PLc5PfsIwcLCh-ClpeBvtkz4db215-fEjZ
† https://www.youtube.com/watch?v=5hPsX3zQeX4&list=PLc5PfsIwcLCiGtfE-5B8GTysGJfsLKn5v&index=1
‡ …
Forwarded from Laravel News
Catch Unintended HTTP Requests in Laravel Tests https://laravel-news.com/prevent-stray-requests
Laravel News
Catch Unintended HTTP Requests in Laravel Tests - Laravel News
Safeguard your Laravel test suite with preventStrayRequests. Catch accidental external HTTP calls and ensure proper request faking for reliable, predictable tests.
Forwarded from Python Hints
ابزار تقلب توی مصاحبه :
Interview Coder AI tool
این ابزار کاملاً open source هم هست، حالا چرا اینجا گذاشتم ؟
نه برای اینکه تقلب کنید (چون درجا گیر میوفتید اگر طرف کار بلد باشه)
برای این هست که فوقالعاده میشه ازش برای آمادگی مصاحبه فنی استفاده کرد؛ اینکه چی بگید رو هم براتون میذاره.
بخصوص بدرد مرحله اول و دوم مصاحبه که کد زدن و الگوریتم و ... داره میخوره
Interview Coder AI tool
این ابزار کاملاً open source هم هست، حالا چرا اینجا گذاشتم ؟
نه برای اینکه تقلب کنید (چون درجا گیر میوفتید اگر طرف کار بلد باشه)
برای این هست که فوقالعاده میشه ازش برای آمادگی مصاحبه فنی استفاده کرد؛ اینکه چی بگید رو هم براتون میذاره.
بخصوص بدرد مرحله اول و دوم مصاحبه که کد زدن و الگوریتم و ... داره میخوره
GitHub
GitHub - ibttf/interview-coder: An invisible desktop application to help you pass your technical interviews.
An invisible desktop application to help you pass your technical interviews. - ibttf/interview-coder
Forwarded from LinNews (Benyamin)
موتور بازیسازی Godot 4.4 با بهبودهای بسیاری منتشر شد.
تغییرات نسخه 4.4 عبارتند از:
منبع خبر
تغییرات نسخه 4.4 عبارتند از:
- فیزیک Jolt با موتور ادغام شده است(تا قبل از این بروزرسانی بهعنوان یک “افزونه” در دسترس بود).اطلاعات بیشتر در GodotEngine.org
- ویرایش بلادرنگ (Realtime) درون بازی و بهبودهای دیگر برای ویرایشگر Godot.
- پشتیبانی از Ubershader به منظور کاهش لکنت (stuttering)، فیزیک سهبعدی و AgX Tone Mapping.
- اکنون، بازی بهعنوان یک فرایند مجزا از ویرایشگر اجرا میشود. درنتیجه در صورت وقوع هرگونه خرابی، اطلاعات از بین نمیروند.
- اکنون گودو برای لینوکس، امکان پشتیبانی از دوربین دستگاهها را فراهم میکند (بعلاوه تکمیل پشتیبانی قبلی MacOS و IOS).
- ایمپورت سریعتر با استفاده از کمپرسور تکسچر Betsy.
- پشتیبانی از .NET 8.0 برای .NET Scripting.
- پشتیبانی رسمی از زبان برنامهنویسی Swift.
- افزودن Recovery Mode.
- بهینهسازیهای متعدد برای بهبود عملکرد و اصلاحات دیگر.
منبع خبر
Forwarded from DevTwitter | توییت برنامه نویسی
مرورگر کروم داره روی یه چیزی به اسم «توابع CSS» کار میکنه که یه جورایی منطق وارد CSS میشه، یعنی الان CSS ها بیشتر برای توصیف ظاهر هستن، نه برای محاسبه و تصمیمگیری. با این توابع ولی میشه شرطبذاری، محاسبه کنی و قوانین خاص اجرا کنی.
مثلا الان وقتی کلی CSS نوشته شده، اگه بخوایم یه سری ویژگیهارو تغییر بدیم مثلا رنگها مجبوریم تمام CSS هارو ویرایش کنیم ولی توی توابع میتونی یه جا تعریفش کنی و جاهای دیگه صداش کنی. خروجی میشه CSS فوقالعاده کمتر و سرعت بیشتر توی نوشتن و ویرایش کدهای CSS.
از طرفی با نسخهی پیشرفتهتری از سایتها روبرو میشیم که به مراتب داینامیکتر عمل میکنن.
بعد میتونید مجموعهای از توابع رو بسازی (یه جورایی یه کتابخونه ساختی) و توی پروژههای بعدیت ازشون استفاده کنی.
فعلا این ویژگی تو نسخهی آزمایشی Chrome Canary اضافه شده
میشه پیشبینی کرد همین امسال به کروم اصلی هم اضافه بشه، از اونجایی که بیشتر سهم بازار مرورگرها در اختیار کروم هست و مابقی هم مرورگرهای کروم بیس هستن میشه انتظار داشت از سال آینده توابع CSS به شکل گسترده استفاده بشه.
@DevTwitter | <Geek Alerts/>
مثلا الان وقتی کلی CSS نوشته شده، اگه بخوایم یه سری ویژگیهارو تغییر بدیم مثلا رنگها مجبوریم تمام CSS هارو ویرایش کنیم ولی توی توابع میتونی یه جا تعریفش کنی و جاهای دیگه صداش کنی. خروجی میشه CSS فوقالعاده کمتر و سرعت بیشتر توی نوشتن و ویرایش کدهای CSS.
از طرفی با نسخهی پیشرفتهتری از سایتها روبرو میشیم که به مراتب داینامیکتر عمل میکنن.
بعد میتونید مجموعهای از توابع رو بسازی (یه جورایی یه کتابخونه ساختی) و توی پروژههای بعدیت ازشون استفاده کنی.
فعلا این ویژگی تو نسخهی آزمایشی Chrome Canary اضافه شده
میشه پیشبینی کرد همین امسال به کروم اصلی هم اضافه بشه، از اونجایی که بیشتر سهم بازار مرورگرها در اختیار کروم هست و مابقی هم مرورگرهای کروم بیس هستن میشه انتظار داشت از سال آینده توابع CSS به شکل گسترده استفاده بشه.
@DevTwitter | <Geek Alerts/>
Forwarded from Laravel News
In-depth guide on documenting API requests with Scramble https://laravel-news.com/in-depth-guide-on-documenting-api-requests-with-scramble
Laravel News
In-depth guide on documenting API requests with Scramble - Laravel News
When documenting the endpoints of your API, you can mentally split the task into documenting the request part (authentication, request body, request parameters) and documenting the response part. In this guide, we'll do a deep dive into request documentation.
Forwarded from DevTwitter | توییت برنامه نویسی
یکی از قابلیتهایی که Full-Text در MySQL دارد، امکان تعریف stopwords برای جلوگیری از بزرگ شدن ایندکس و افزایش کیفیت نتایج جستجو است.
ما میتونیم با حذف کلماتی مانند حروف اضافه، افعال رایج و حتی کلمات نامناسب، ایندکس بهینه داشته باشیم.
برای این کار کافیه، جدولی با یک ستون به نام value بسازیم و اون رو با استفاده از آپشن innodb_ft_server_stopword_table به MySQL معرفی کنیم.
دیکشنریهای آمادهی زیادی برای stopwords در اینترنت وجود داره که میشه ازشون استفاده کرد.
یکی از دیکشنریهای Open Source که میشه ازش استفاده کرد، پروژهی زیر است:
https://github.com/kharazi/persian-stopwords
بعد از اعمال تغییرات در stopwords، باید ایندکس Full-Text را مجدداً ایجاد کنید تا تغییرات اعمال شود.
@DevTwitter | <Hamoon Mohammadian Pour/>
ما میتونیم با حذف کلماتی مانند حروف اضافه، افعال رایج و حتی کلمات نامناسب، ایندکس بهینه داشته باشیم.
برای این کار کافیه، جدولی با یک ستون به نام value بسازیم و اون رو با استفاده از آپشن innodb_ft_server_stopword_table به MySQL معرفی کنیم.
دیکشنریهای آمادهی زیادی برای stopwords در اینترنت وجود داره که میشه ازشون استفاده کرد.
یکی از دیکشنریهای Open Source که میشه ازش استفاده کرد، پروژهی زیر است:
https://github.com/kharazi/persian-stopwords
بعد از اعمال تغییرات در stopwords، باید ایندکس Full-Text را مجدداً ایجاد کنید تا تغییرات اعمال شود.
@DevTwitter | <Hamoon Mohammadian Pour/>
Forwarded from IRCF | اینترنت آزاد برای همه
#اختلال_اینترنت
مدیرعامل شرکت ارتباطات زیرساخت علت اختلالهای ایجادشده در اینترنت کشور را قطعی فیبر در مرز گرجستان و ارمنستان و به دنبال آن، از دسترس خارج شدن حجم زیادی از ظرفیت اینترنت کشور اعلام کرد. /دیجیاتو
🔍 ircf.space
@ircfspace
مدیرعامل شرکت ارتباطات زیرساخت علت اختلالهای ایجادشده در اینترنت کشور را قطعی فیبر در مرز گرجستان و ارمنستان و به دنبال آن، از دسترس خارج شدن حجم زیادی از ظرفیت اینترنت کشور اعلام کرد. /دیجیاتو
🔍 ircf.space
@ircfspace
Forwarded from محتوای آزاد سهراب
خب نوشتن این راهنما رو دوباره از سر گرفتم، البته اصولیش اینه که با لاتک بنویسم ولی خب لیبرهآفیس واقعاً گزینه دم دست تریه :)))
@SohrabContents
@SohrabContents
Forwarded from IRCF | اینترنت آزاد برای همه
زرنشین ابزاری برای مدیریت Xray هست، که از طریق رابط وب و همینطور CLI قابل استفاده بوده و بهعنوان یک ابزار جانبی، در کنار مرزنشین طراحی شده تا مدیریت سرورها رو سادهتر کنه.
رابط کاربری زرنشین امکان کنترل ورودیها، خروجیها، DNS، بالانسرها و سایر ویژگیهای Xray رو فراهم میکنه و ابزار خط فرمان قابلیت انجام وظایفی مثل تغییر پورت، تنظیم HTTPS، بهروزرسانی فایلهای جغرافیایی و مدیریت سرویس رو بهصورت سریع و مستقیم ارائه میده.
👉 github.com/MeXenon/Xarneshin
🎥 youtube.com/watch?v=zCE2emLkpu0
🔍 ircf.space
@ircfspace
رابط کاربری زرنشین امکان کنترل ورودیها، خروجیها، DNS، بالانسرها و سایر ویژگیهای Xray رو فراهم میکنه و ابزار خط فرمان قابلیت انجام وظایفی مثل تغییر پورت، تنظیم HTTPS، بهروزرسانی فایلهای جغرافیایی و مدیریت سرویس رو بهصورت سریع و مستقیم ارائه میده.
👉 github.com/MeXenon/Xarneshin
🎥 youtube.com/watch?v=zCE2emLkpu0
🔍 ircf.space
@ircfspace
Forwarded from LearnPOV | لرن پی او وی (Smin)
اینم از لینک نظر سنجی 🔻
https://docs.google.com/forms/d/e/1FAIpQLSfq3FZnAgTajYjg0-4p48RStH_psFcBXaRIQNQpEy-fXXJKCQ/viewform?usp=dialog
ممنون که وقت میذارید، نظراتتون برای ما خیلی ارزشمنده! ❤️
https://docs.google.com/forms/d/e/1FAIpQLSfq3FZnAgTajYjg0-4p48RStH_psFcBXaRIQNQpEy-fXXJKCQ/viewform?usp=dialog
ممنون که وقت میذارید، نظراتتون برای ما خیلی ارزشمنده! ❤️