
وكيل إعادة كتابة HTTP(S) شفاف يدعم أوضاع HTTP وSOCKS5 وTPROXY وREDIRECT وNFQUEUE مع اعتراض HTTPS (MitM)، وإعادة كتابة الرؤوس والمحتوى وفق قواعد، وتجاوز أنظمة فحص الحزم العميق (DPI desync).
English | 简体中文
UA3F هو وكيل إعادة كتابة HTTP(S)، يعمل كخدمة HTTP وSOCKS5 وTPROXY وREDIRECT وNFQUEUE لإعادة كتابة حركة مرور HTTP(S) (مثل User-Agent) بكفاءة وشفافية.
يدعم UA3F عدة طرق للتثبيت:
الملفات الثنائية وحزم التثبيت
توفر صفحة Release ملفات ثنائية وحزم تثبيت opkg/apk للمعماريات الشائعة، ما عليك سوى تنزيل حزمة التثبيت الخاصة بالمنصة المقابلة وتثبيتها يدويًا.
النشر عبر Docker:
للتشغيل كوكيل SOCKS5:
docker run -p 1080:1080 sunbk201/ua3f -f FFF
الترجمة من المصدر:
بناء وترجمة ملف UA3F الثنائي:
git clone https://github.com/SunBK201/UA3F.git && cd UA3F
go build -o ua3f main.go
OpenWrt 编译安装:
git clone https://github.com/openwrt/openwrt.git && cd openwrt
git checkout openwrt-24.10
./scripts/feeds update -a && ./scripts/feeds install -a
git clone https://github.com/SunBK201/UA3F.git package/UA3F
make menuconfig # 勾选 Network->Web Servers/Proxies->ua3f
make download -j$(nproc) V=s
make -j$(nproc) || make -j1 || make -j1 V=sc
# make package/UA3F/openwrt/compile -j1 V=sc # 单独编译 UA3F 安装包
راجع UA3F للحصول على الوثائق التفصيلية
بدء UA3F باستخدام التكوين الافتراضي:
ua3f
بدء التشغيل باستخدام ملف التكوين المحدد:
ua3f -c /path/to/config.yaml
إنشاء ملف تكوين القالب:
ua3f -g
للحصول على شرح مفصل لإعداد معاملات سطر الأوامر، راجع دليل الإعداد، وللاطلاع على أمثلة ملفات الإعداد، راجع أمثلة الإعداد
يدعم UA3F صفحة OpenWrt LuCI Web، ويمكنك فتح Services -> UA3F لإجراء الإعدادات ذات الصلة.
للاطلاع على البرنامج التعليمي السريع، راجع: برنامج تعليمي لاستخدام UA3F يفهمه حتى القرد
opkg install sudo
sudo -u nobody /usr/bin/ua3f
يُنصح مستخدمو shellclash/shellcrash باستخدام الأمر التالي للتشغيل:
sudo -u shellclash /usr/bin/ua3f
# 如果上面命令报错执行下面该命令
sudo -u shellcrash /usr/bin/ua3f
معاملات بدء تشغيل سطر الأوامر ذات الصلة:
-c <config path>: مسار ملف التكوين المخصص-g: إنشاء ملف تكوين قالب config.yaml في الدليل الحالي-m <mode>: وضع الخدمة، يدعم HTTP وSOCKS5 وTPROXY وREDIRECT، الافتراضي SOCKS5-b <bind addr>: عنوان الاستماع المخصص للربط، الافتراضي 127.0.0.1-p <port>: رقم المنفذ، الافتراضي 1080-l <log level>: مستوى السجل، الافتراضي info، اختياري: debug، موقع السجل الافتراضي: /var/log/ua3f.log-x: استراتيجية إعادة الكتابة، تدعم GLOBAL وDIRECT وRULE، الافتراضي GLOBAL-f <UA>: UA مخصص، الافتراضي FFF-r <regex>: تعبير نمطي مخصص لمطابقة User-Agent، الافتراضي فارغ، مما يعني إعادة كتابة جميع User-Agent-s: استبدال جزئي، يستبدل فقط الجزء المطابق للتعبير النمطي-z: قواعد إعادة الكتابة، بتنسيق json string، تعمل فقط في وضع استراتيجية إعادة الكتابة RULEيتضمن UA3F وحدة تحكم API Server مدمجة، توفر واجهات استعلام وتحكم لمعلومات مثل حالة تشغيل UA3F وقواعد التكوين، ويمكن تفعيلها عبر المعامل --api-server:
ua3f --api-server <addr:port>
راجع وثائق API في وثائق UA3F API
يدعم UA3F خمسة أوضاع خدمة مختلفة، وفيما يلي خصائص كل وضع وسيناريوهات استخدامه:
| وضع الخدمة | مبدأ العمل | هل يعتمد على Clash وغيره | التوافق | هل يمكن تشغيله جنبًا إلى جنب مع Clash وغيره |
|---|---|---|---|---|
| HTTP | وكيل HTTP | نعم | عالٍ | نعم |
| SOCKS5 | وكيل SOCKS5 | نعم | عالٍ | نعم |
| TPROXY | netfilter TPROXY | لا | متوسط | نعم |
| REDIRECT | netfilter REDIRECT | لا | متوسط | نعم |
| NFQUEUE | netfilter NFQUEUE | لا | منخفض | نعم |
يدعم UA3F ثلاث استراتيجيات مختلفة لإعادة الكتابة:
| استراتيجية إعادة الكتابة | سلوك إعادة الكتابة | إعادة كتابة Header | أوضاع الخدمة المناسبة |
|---|---|---|---|
| GLOBAL | إعادة كتابة جميع الطلبات | User-Agent | مناسب لجميع أوضاع الخدمة |
| DIRECT | عدم إعادة الكتابة، تمرير فقط | لا يوجد | مناسب لجميع أوضاع الخدمة |
| RULE | إعادة الكتابة وفق قواعد إعادة الكتابة | مخصص | مناسب لـ HTTP/SOCKS5/TPROXY/REDIRECT |
أنواع القواعد:
| نوع القاعدة | الوصف |
|---|---|
| DOMAIN | المطابقة حسب اسم النطاق |
| DOMAIN-SUFFIX | المطابقة حسب لاحقة اسم النطاق |
| DOMAIN-KEYWORD | المطابقة حسب الكلمة المفتاحية لاسم النطاق |
| DOMAIN-SET | المطابقة حسب مجموعة أسماء النطاقات |
| IP-CIDR | المطابقة حسب نطاق عنوان IP |
| SRC-IP | المطابقة حسب عنوان IP المصدر |
| DST-PORT | المطابقة حسب المنفذ الهدف |
| HEADER-KEYWORD | المطابقة حسب الكلمة المفتاحية في Header الطلب |
| HEADER-REGEX | المطابقة بتعبير نمطي في Header الطلب |
| URL-REGEX | المطابقة بتعبير نمطي في URL الطلب |
إجراءات إعادة الكتابة:
| نوع الإجراء | الوصف |
|---|---|
| DIRECT | السماح المباشر دون إعادة كتابة |
| DELETE | حذف Header المحدد |
| ADD | إضافة Header المحدد بمحتوى محدد |
| REPLACE | استبدال Header المحدد بمحتوى محدد |
| REPLACE-REGEX | استبدال الجزء المطابق للتعبير النمطي بمحتوى محدد |
| REJECT | رفض الطلب |
| DROP | إسقاط الطلب |