إعدادات WireGuard
يدعم Chute WireGuard كبروتوكول بروكسي صادر. يمكنك إما تكوين WireGuard مضمَّناً في القسم [Proxy]، أو تعريف قسم [WireGuard] مسمى والإشارة إليه.
قسم WireGuard
يعرف قسم [WireGuard] تكوين نفق WireGuard كامل يمكن الإشارة إليه بالاسم من خادم بروكسي WireGuard.
[WireGuard wg0]
private-key = base64_private_key
peer-public-key = base64_peer_public_key
self-ip = 10.0.0.2
self-ip-v6 = fd00::2
preshared-key = base64_preshared_key
server = example.com
port = 51820
wg-mtu = 1420
keepalive = 25
المعاملات
| المفتاح | مطلوب | الوصف |
|---|---|---|
private-key |
نعم | مفتاح WireGuard الخاص، مرمَّز بـ base64 |
peer-public-key |
نعم | مفتاح النظير العام، مرمَّز بـ base64 |
self-ip |
لا | عنوان IPv4 المحلي لواجهة WireGuard (الافتراضي: 10.0.0.2، لكل من WireGuard و AmneziaWG) |
self-ip-v6 |
لا | عنوان IPv6 المحلي لواجهة WireGuard |
preshared-key |
لا | مفتاح مشترك مسبقاً لمقاومة ما بعد الكم |
server |
نعم* | عنوان الخادم البعيد (يستخدم عندما لا يحدد سطر البروكسي عنواناً؛ سطر البروكسي له الأسبقية) |
port |
نعم* | منفذ الخادم البعيد (نفس أسبقية server) |
wg-mtu |
لا | MTU لواجهة WireGuard (الافتراضي: 1420). يُقرأ mtu داخل القسم على أنه wg-mtu، وتكون الأولوية لـ wg-mtu المكتوب صراحة |
keepalive |
لا | فاصل keepalive المستمر بالثواني. وإن غاب فلا يُرسل keepalive |
allowed-ips |
لا | الوجهات التي ينقلها النظير، بصيغة CIDR مفصولة بفواصل (مثل allowed-ips = 10.0.0.0/8, 192.168.1.0/24). والاتصال بعنوان خارجها يُرفض (TCP) أو يُسقَط (UDP). وغيابه، أو إدراجه 0.0.0.0/0 و ::/0 معاً، يعني كل الوجهات؛ والمدخل الذي ليس CIDR يُتجاهل مع تحذير |
reserved |
لا | بايتات محجوزة لترويسة مصافحة WireGuard (مثال reserved=0,1,2) — يُحلَّل، لكن المحرك الحالي لا يطبقه ويسجّل تحذيراً |
* يجب أن يكون server و port موجودين إما في القسم أو على سطر [Proxy] المشير إليه؛ وإلا تُرفض السياسة باعتبارها غير مكتملة.
صيغة peer في Surge
يمكن للقسم أن يصف نظيره بالطريقة التي يتبعها Surge:
[WireGuard wg0]
private-key = base64_private_key
self-ip = 10.0.0.2
mtu = 1280
peer = (public-key = base64_peer_public_key, endpoint = example.com:51820, preshared-key = base64_preshared_key, keepalive = 25, client-id = 1/2/3, allowed-ips = "0.0.0.0/0, ::/0")
- يصبح
public-keyهوpeer-public-key، ويصبحendpoint(host:portأو[v6]:port) هوserverوport، ويصبحclient-id = a/b/cهوreserved، ويحتفظpreshared-keyوkeepaliveباسميهما. والمفتاح المكتوب مباشرة في القسم له الأولوية على القيمة نفسها داخلpeer. يحلّل المحرك الحاليreservedلكنه لا يطبقه. - لا يُستخدم إلا نظير واحد؛ أما الثاني فيُبلَّغ عنه كتنبيه ويُتجاهل.
- تُترجم
allowed-ipsوتُطبّق على TCP وUDP في WireGuard: يُرفض الهدف أو يُسقط إذا خرج عن شبكات CIDR الخاصة بالنظير، لأن ذلك النظير لا يستطيع توجيهه عائداً. أما مفتاحا Surgedns-serverوprefer-ipv6فيُحتفظ بهما دون أثر، ويظهران في تنبيه الخيارات المتجاهلة. - عند حفظ الإعدادات، يُكتب القسم مجدداً بالمفاتيح أعلاه بدلاً من سطر
peer = (…).
الاستخدام
الإشارة إلى القسم من خادم بروكسي:
[Proxy]
WG = wireguard, section-name=wg0
[Proxy Group]
WGGroup = select, WG
[Rule]
IP-CIDR,10.0.0.0/8,WGGroup
FINAL,DIRECT
يمكن تعريف عدة أقسام [WireGuard] لأنفاق مختلفة:
[WireGuard us]
private-key = ...
peer-public-key = ...
self-ip = 10.0.1.2
[WireGuard eu]
private-key = ...
peer-public-key = ...
self-ip = 10.0.2.2
ملاحظة: يعمل WireGuard عبر نفق UDP خاص به مع مكدس TCP/IP في مساحة المستخدم. الأسماء (مثال
wg0) حساسة لحالة الأحرف.
قسم AmneziaWG
يدعم Chute أيضاً AmneziaWG، وهو نسخة من WireGuard مع تمويه حركة المرور. يقبل القسم [AmneziaWG <name>] المفاتيح نفسها التي يقبلها قسم [WireGuard]، إضافةً إلى معاملات التمويه التالية:
jcوjminوjmax— عدد حزم البيانات المهملة ونطاق حجمها. وحين تتجاوزjcالصفر وجب ضبطjminوjmaxمعاً، ولا يجوز أن تكونjmaxأصغر منjmin، وإلا رُفض إنشاء النفق.s1وs2وs3وs4— بيانات مهملة تُضاف في بداية حزم init/response/cookie/transport. لا يجوز أن تتجاوزs1–s364 بايت (وs432)، ويجب أن يختلفs1 + 148عنs2 + 92، وإلا رُفض إنشاء النفق.h1وh2وh3وh4— قيم مخصصة لترويسة نوع الرسالة. كلٌّ منها عدد عشري أو مدىstart-endضمن 32 بت، ويجب أن يكون أكبر من 4، لأن 1–4 هي أنواع رسائل WireGuard نفسه؛ ولا يجوز أن تتداخل القيم الأربع، وإلا رُفض النفق.i1وi2وi3وi4وi5— تعريفات حزم البيانات المهملة الخاصة. والتعريف الذي يتعذّر تحليله يؤدي إلى رفض النفق.
ويُسجَّل أي جمع مرفوض من المعاملات على الشكل WireGuard: AmneziaWG parameters rejected: <reason>، ثم يفشل النفق برسالة Failed to create BoringTun tunnel.
تشير السياسة إلى القسم بالنوع amneziawg (الاسم البديل awg):
[AmneziaWG awg0]
private-key = base64_private_key
peer-public-key = base64_peer_public_key
self-ip = 10.0.0.2
server = example.com
port = 51820
jc = 4
jmin = 40
jmax = 70
s1 = 15
s2 = 60
h1 = 123456
h2 = 67543
h3 = 32345
h4 = 123123
[Proxy]
AWG = amneziawg, section-name=awg0
قواعد التحقق المتقاطع:
- وجود معاملات AmneziaWG داخل قسم
[WireGuard]عادي يُعد خطأ في الإعداد — استخدم قسم[AmneziaWG]بدلاً من ذلك. - لا يمكن استخدام
reservedداخل قسم[AmneziaWG]: فهو يكتب بايتات الترويسة نفسها التي يستبدلهاh4، لذا يُرفض هذا الجمع بوصفه خطأ. - يحصل قسم
[AmneziaWG]بلا أي معاملات تمويه على تنبيه إرشادي — إذ يتصرف مثل WireGuard العادي.
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.