An open API service indexing awesome lists of open source software.

https://github.com/bdadmehr0/azad-proxy

Azad proxy is DNS over HTTPS proxy
https://github.com/bdadmehr0/azad-proxy

dns doh filtering https internet iran proxy

Last synced: 7 months ago
JSON representation

Azad proxy is DNS over HTTPS proxy

Awesome Lists containing this project

README

          

# Azad Proxy - آزاد پروکسی

یک پروکسی سرور HTTPS با کارایی بالا که از DNS over HTTPS (DoH) برای رزولوشن سریع و امن دامنه‌ها استفاده می‌کند. پروژه **Azad Proxy** بهینه شده برای سرعت، پایداری و سهولت استفاده است و نسبت به پروکسی‌های معمولی عملکرد بهتری ارائه می‌دهد.

## امکانات

* رزولوشن دامنه‌ها از طریق DNS over HTTPS (DoH) برای حفظ حریم خصوصی و امنیت بیشتر
* کش داخلی پاسخ‌های DNS برای کاهش زمان پاسخ‌دهی
* امکان تنظیم DNS آفلاین (Offline DNS) برای دامنه‌های خاص
* مدیریت اتصالات چند نخی (Multi-threaded) برای افزایش همزمانی و کارایی
* کمترین وابستگی‌ها و سهولت در راه‌اندازی
* بهبود عملکرد قابل توجه نسبت به اسکریپت‌های پایه پروکسی HTTPS

## نصب

1. مخزن را کلون کنید:

```bash
git clone https://github.com/BDadmehr0/azad-proxy.git
cd azad-proxy
```

2. نصب وابستگی‌ها:
```bash
pip install -r requirements.txt
```

*(اگر فایل requirements.txt موجود نبود، به صورت دستی نصب کنید:)*

```bash
pip install dnspython requests
```

## استفاده

برای اجرای سرور پروکسی کافی است دستور زیر را اجرا کنید:

```bash
python proxy_server.py
```

پروکسی به صورت پیش‌فرض روی `127.0.0.1:4500` اجرا می‌شود. می‌توانید در کد `proxy_server.py` این مقدار را تغییر دهید یا برای انعطاف بیشتر پارامترهای ورودی اضافه کنید.

## مقایسه عملکرد

با استفاده از ابزار ApacheBench (`ab`)، عملکرد **Azad Proxy** در مقایسه با اسکریپت پایه زیر بهبود چشمگیری داشته است:

| حالت تست | تعداد درخواست در ثانیه | میانگین زمان پاسخ (میلی‌ثانیه) | توضیحات |
| ------------------- | ---------------------- | ------------------------------ | ---------------------------------------------- |
| اسکریپت پایه پروکسی | ۹۲.۱۹ | ۱۰۸۴.۶۷ | عملکرد پایه |
| Azad Proxy | ۱۴۳۶.۰۷ | ۶۹.۶۳ | تقریباً ۱۵ برابر سریع‌تر و با تأخیر بسیار کمتر |

## چرا Azad Proxy؟

اکثر پروکسی‌های ساده از DNS سیستم عامل استفاده می‌کنند که ممکن است کند یا ناامن باشد. **Azad Proxy** با استفاده مستقیم از DNS over HTTPS ضمن افزایش امنیت و حفظ حریم خصوصی، ریسک جعل DNS را کاهش می‌دهد و با کش کردن پاسخ‌ها سرعت دسترسی به دامنه‌ها را به طور قابل توجهی افزایش می‌دهد. معماری چند نخی آن نیز امکان مدیریت بهتر اتصالات همزمان را فراهم می‌کند.

## مرجع

این پروژه بر اساس پروژه زیر توسعه یافته و بهبود یافته است:
[GFW-knocker/gfw\_resist\_HTTPS\_proxy](https://github.com/GFW-knocker/gfw_resist_HTTPS_proxy)

## مشارکت

پذیرای مشارکت، گزارش باگ و درخواست ویژگی‌های جدید هستیم. خوشحال می‌شویم Pull Request ارسال کنید.

## مجوز

این پروژه تحت مجوز **GPL-3.0** منتشر شده است.