Redsocks في العمل
بالطبع! سأرشدك خلال عملية إعداد وكيل Shadowsocks باستخدام جهاز Mac الخاص بك وتهيئة جهاز التوجيه OpenWRT لتوجيه كل حركة المرور للأجهزة المتصلة عبر هذا الوكيل. تتضمن هذه الإعدادات الخطوات الرئيسية التالية:
- إعداد عميل Shadowsocks على macOS (باستخدام Shadowsocks-NG أو Clash)
- تكوين macOS للسماح باتصالات البروكسي الخارجية
- تعيين عنوان IP ثابت لجهاز Mac الخاص بك
- تثبيت وتكوين Redsocks على OpenWRT
- توجيه حركة مرور OpenWRT عبر بروكسي macOS
- اختبار إعداد البروكسي
دعونا نتعمق في كل خطوة بالتفصيل.
1. إعداد عميل Shadowsocks على نظام macOS
يمكنك استخدام إما Shadowsocks-NG أو Clash كعميل Shadowsocks الخاص بك. فيما يلي تعليمات لكليهما.
الخيار أ: استخدام Shadowsocks-NG
Shadowsocks-NG هو عميل Shadowsocks شهير وسهل الاستخدام لنظام macOS.
الخطوة 1: تنزيل وتثبيت Shadowsocks-NG
- قم بزيارة صفحة الإصدارات على GitHub لتنزيل أحدث إصدار من Shadowsocks-NG.
- بعد اكتمال التنزيل، افتح ملف
.dmg
وانقل تطبيق Shadowsocks-NG إلى مجلد “التطبيقات”. -
افتح التطبيق من مجلد “التطبيقات”. قد تحتاج إلى الموافقة على تشغيل التطبيق من خلال النقر على “فتح” في نافذة التحذير التي تظهر.
- تنزيل Shadowsocks-NG:
- قم بزيارة صفحة إصدارات Shadowsocks-NG على GitHub.
- قم بتنزيل أحدث ملف
.dmg
.
- تثبيت التطبيق:
- افتح ملف
.dmg
الذي تم تنزيله. - اسحب تطبيق ShadowsocksX-NG إلى مجلد التطبيقات (Applications).
- افتح ملف
- تشغيل Shadowsocks-NG:
- افتح ShadowsocksX-NG من مجلد التطبيقات (Applications).
- قد تحتاج إلى منح التطبيق الأذونات اللازمة في تفضيلات النظام (System Preferences).
الخطوة 2: تكوين Shadowsocks-NG
-
فتح Shadowsocks-NG: بعد تثبيت التطبيق، افتحه من قائمة التطبيقات.
- إضافة خادم جديد:
- انقر على أيقونة Shadowsocks-NG في شريط القوائم.
- اختر “Servers” ثم “Server Preferences”.
- انقر على زر “+” لإضافة خادم جديد.
- إدخال تفاصيل الخادم:
- Address: أدخل عنوان الخادم الذي حصلت عليه من موفر Shadowsocks.
- Port: أدخل المنفذ المحدد.
- Encryption: اختر طريقة التشفير (على سبيل المثال،
aes-256-cfb
). - Password: أدخل كلمة المرور الخاصة بالخادم.
- Remark: (اختياري) يمكنك إضافة ملاحظة لتحديد هذا الخادم بسهولة.
-
حفظ الإعدادات: بعد إدخال جميع التفاصيل، انقر على “OK” لحفظ الإعدادات.
- تفعيل الخادم:
- عد إلى القائمة الرئيسية واختر الخادم الذي أضفته حديثًا.
- انقر على “Turn Shadowsocks On” لبدء الاتصال.
- التحقق من الاتصال: تأكد من أن الاتصال يعمل بشكل صحيح عن طريق زيارة موقع ويب محظور أو استخدام أداة مثل
ping
للتحقق من الاتصال بالإنترنت.
الآن، يجب أن يكون Shadowsocks-NG مُهيأ وجاهزًا للاستخدام!
- افتح التفضيلات:
- انقر على أيقونة ShadowsocksX-NG في شريط القوائم.
- اختر “فتح ShadowsocksX-NG” > “التفضيلات”.
- إضافة خادم جديد:
- انتقل إلى علامة التبويب “Servers”.
- انقر على الزر “+” لإضافة خادم جديد.
- استيراد رابط Shadowsocks:
- انسخ رابط Shadowsocks الخاص بك:
ss://[ENCRYPTED_PASSWORD]@xxx.xxx.xxx.xxx:xxxxx/?outline=1
- طريقة الاستيراد:
- انقر على “استيراد”.
- الصق رابط Shadowsocks الخاص بك.
- يجب أن يقوم Shadowsocks-NG تلقائيًا بتحليل الرابط وملء تفاصيل الخادم.
- انسخ رابط Shadowsocks الخاص بك:
- إعداد الوكيل المحلي (Proxy):
- تأكد من تفعيل خيار “تمكين SOCKS5 Proxy”.
- لاحظ رقم المنفذ المحلي (عادةً ما يكون الافتراضي هو
1080
).
- حفظ وتفعيل:
- انقر على “موافق” لحفظ الخادم.
- قم بتبديل مفتاح “تفعيل Shadowsocks” إلى وضع التشغيل (ON).
الخيار B: استخدام Clash
Clash هو عميل وكيل متعدد الاستخدامات يدعم العديد من البروتوكولات، بما في ذلك Shadowsocks.
الخطوة 1: تنزيل وتثبيت Clash
- قم بتنزيل Clash لنظام macOS:
- قم بزيارة صفحة إصدارات Clash على GitHub.
- قم بتنزيل أحدث نسخة من Clash لنظام macOS.
- تثبيت التطبيق:
- انقل تطبيق Clash الذي تم تنزيله إلى مجلد التطبيقات (Applications) لديك.
- تشغيل Clash:
- افتح Clash من مجلد التطبيقات (Applications).
- قد تحتاج إلى منح الأذونات اللازمة في تفضيلات النظام (System Preferences).
الخطوة 2: تكوين Clash
- الوصول إلى ملف التكوين:
- يستخدم Clash ملف تكوين بتنسيق YAML. يمكنك إنشاؤه أو تعديله باستخدام محرر نصوص مثل TextEdit أو Visual Studio Code.
- أضف خادم Shadowsocks الخاص بك:
- أنشئ ملف تكوين (على سبيل المثال،
config.yaml
) بالمحتوى التالي:
- أنشئ ملف تكوين (على سبيل المثال،
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
proxies:
- name: "MyShadowsocks"
type: ss
server: xxx.xxx.xxx.xxx
port: xxxxx
cipher: chacha20-ietf-poly1305
password: "xxxxxx"
proxy-groups:
- name: "الافتراضي"
type: select
proxies:
- "MyShadowsocks"
- "DIRECT"
rules:
- MATCH,Default
ملاحظات:
- `port` و `socks-port` تحدد منافذ HTTP و SOCKS5 التي سيستمع عليها Clash.
- `allow-lan: true` تسمح لأجهزة الشبكة المحلية (LAN) باستخدام الوكيل.
- قسم `proxies` يتضمن تفاصيل خادم Shadowsocks الخاص بك.
- `proxy-groups` و `rules` تحدد كيفية توجيه حركة المرور.
- بدء تشغيل Clash مع التكوين:
- قم بتشغيل Clash وتأكد من أنه يستخدم ملف
config.yaml
الخاص بك. - قد تحتاج إلى تحديد مسار التكوين عند بدء تشغيل Clash.
- قم بتشغيل Clash وتأكد من أنه يستخدم ملف
- التحقق من تشغيل الوكيل:
- تأكد من أن Clash نشط ومتصل بخادم Shadowsocks الخاص بك.
- تحقق من رمز شريط القائمة للحصول على الحالة.
2. تهيئة macOS للسماح باتصالات البروكسي الخارجية
بشكل افتراضي، تربط عملاء Shadowsocks الوكيل بـ localhost
(127.0.0.1
)، مما يعني أن جهاز Mac فقط هو الذي يمكنه استخدام الوكيل. للسماح لجهاز التوجيه OpenWRT الخاص بك باستخدام هذا الوكيل، تحتاج إلى ربط الوكيل بعنوان IP الخاص بشبكة LAN لجهاز Mac.
لـ Shadowsocks-NG:
- افتح التفضيلات:
- انقر على أيقونة ShadowsocksX-NG في شريط القوائم.
- اختر “فتح ShadowsocksX-NG” > “التفضيلات”.
- انتقل إلى علامة التبويب “متقدم”:
- انتقل إلى علامة التبويب “متقدم”.
- تعيين عنوان الاستماع:
- قم بتغيير “عنوان الاستماع” من
127.0.0.1
إلى0.0.0.0
للسماح بالاتصالات من أي واجهة. - أو قم بتحديد عنوان IP الخاص بالشبكة المحلية (LAN) للماك (على سبيل المثال،
192.168.1.xxx
).
- قم بتغيير “عنوان الاستماع” من
- حفظ وإعادة تشغيل Shadowsocks-NG:
- انقر على “موافق” لحفظ التغييرات.
- أعد تشغيل عميل Shadowsocks-NG لتطبيق الإعدادات الجديدة.
لـ Clash:
- تعديل ملف الإعدادات:
- تأكد من تفعيل الإعداد
allow-lan: true
في ملفconfig.yaml
.
- تأكد من تفعيل الإعداد
- الربط بجميع الواجهات:
- في الإعدادات، تعيين
allow-lan: true
عادةً ما يربط الوكيل بجميع الواجهات المتاحة، بما في ذلك الشبكة المحلية (LAN).
- في الإعدادات، تعيين
- إعادة تشغيل Clash:
- أعد تشغيل عميل Clash لتطبيق التغييرات.
3. تعيين عنوان IP ثابت لجهاز Mac الخاص بك
لضمان اتصال مستمر بين جهاز التوجيه OpenWRT وجهاز Mac، قم بتعيين عنوان IP ثابت لجهاز Mac داخل شبكتك المحلية.
خطوات تعيين عنوان IP ثابت على نظام macOS:
- افتح إعدادات الشبكة:
- انقر على أيقونة Apple في الزاوية العلوية اليسرى من الشاشة.
- اختر “تفضيلات النظام” (System Preferences).
- انقر على “شبكة” (Network).
- اختر واجهة الشبكة:
- من القائمة على اليسار، اختر واجهة الشبكة التي تريد تعيين عنوان IP ثابت لها (مثل Wi-Fi أو Ethernet).
- اضبط إعدادات IPv4:
- انقر على الزر “تكوين IPv4” (Configure IPv4).
- من القائمة المنسدلة، اختر “يدوي” (Manually).
- أدخل معلومات IP الثابتة:
- أدخل عنوان IP الذي تريد استخدامه في حقل “عنوان IP” (IP Address).
- أدخل قناع الشبكة (Subnet Mask) في الحقل المخصص.
- أدخل عنوان الموجه (Router) في الحقل المخصص.
- أدخل خادم DNS:
- انقر على الزر “خوادم DNS” (DNS Servers).
- أدخل عنوان خادم DNS الذي تريد استخدامه.
- احفظ التغييرات:
- انقر على “تطبيق” (Apply) لحفظ التغييرات.
- تحقق من الاتصال:
- افتح Terminal واكتب
ping google.com
للتحقق من اتصالك بالإنترنت.
- افتح Terminal واكتب
باتباع هذه الخطوات، يمكنك تعيين عنوان IP ثابت على جهاز macOS الخاص بك.
- افتح تفضيلات النظام:
- انقر على قائمة Apple واختر “تفضيلات النظام”.
- انتقل إلى إعدادات الشبكة:
- انقر على “الشبكة”.
- اختر الاتصال النشط لديك:
- اختر “Wi-Fi” أو “Ethernet” من الشريط الجانبي الأيسر، اعتمادًا على كيفية اتصال جهاز Mac الخاص بك بالموجه.
- تكوين إعدادات IPv4:
- انقر على “Advanced…” (متقدم…).
- انتقل إلى علامة التبويب “TCP/IP”.
- قم بتغيير “Configure IPv4” من “Using DHCP” إلى “Manually” (يدويًا).
- تعيين عنوان IP ثابت:
- عنوان IP: اختر عنوانًا خارج نطاق DHCP الخاص بالموجه لتجنب التعارضات (مثل
192.168.1.xxx
). - قناع الشبكة الفرعية: عادةً ما يكون
255.255.255.0
. - الموجه: عنوان IP الخاص بالموجه (مثل
192.168.1.1
). - خادم DNS: يمكنك استخدام عنوان IP الموجه أو خدمة DNS أخرى مثل
8.8.8.8
.
- عنوان IP: اختر عنوانًا خارج نطاق DHCP الخاص بالموجه لتجنب التعارضات (مثل
- تطبيق الإعدادات:
- انقر على “موافق” ثم “تطبيق” لحفظ التغييرات.
4. تثبيت وتكوين Redsocks على OpenWRT
Redsocks هو موجه SOCKS شفاف يسمح لك بتوجيه حركة المرور على الشبكة عبر وكيل SOCKS5. سنستخدم Redsocks لتوجيه حركة مرور OpenWRT عبر وكيل Shadowsocks الذي يعمل على جهاز Mac الخاص بك.
الخطوة 1: تثبيت Redsocks
أولاً، نحتاج إلى تثبيت redsocks
على نظامك. يمكنك القيام بذلك باستخدام مدير الحزم الخاص بتوزيعتك.
على أنظمة تعتمد على Debian/Ubuntu:
sudo apt-get update
sudo apt-get install redsocks
على أنظمة تعتمد على RHEL/CentOS:
sudo yum install epel-release
sudo yum install redsocks
على أنظمة تعتمد على Arch Linux:
sudo pacman -S redsocks
بعد الانتهاء من التثبيت، يمكنك الانتقال إلى الخطوة التالية.
- تحديث قوائم الحزم:
ssh root@<router_ip>
opkg update
في هذا الكود، يتم استخدام الأمر ssh
للاتصال بجهاز الراوتر باستخدام عنوان IP الخاص به. بعد الاتصال، يتم تنفيذ الأمر opkg update
لتحديث قائمة الحزم المتاحة على الجهاز.
- تثبيت Redsocks:
opkg install redsocks
إذا لم يكن Redsocks متاحًا في مستودع OpenWRT الخاص بك، فقد تحتاج إلى تجميعه يدويًا أو استخدام حزمة بديلة.
الخطوة 2: تكوين Redsocks
بعد تثبيت Redsocks، نحتاج إلى تكوينه لتوجيه حركة المرور عبر الـ SOCKS5 proxy. يتم ذلك عن طريق تعديل ملف الإعدادات redsocks.conf
.
-
افتح ملف الإعدادات باستخدام محرر النصوص المفضل لديك:
sudo nano /etc/redsocks.conf
-
ابحث عن القسم
redsocks
وقم بتعديله ليتناسب مع إعدادات الـ SOCKS5 proxy الخاص بك. على سبيل المثال:redsocks { local_ip = 127.0.0.1; local_port = 12345; ip = your.proxy.ip.address; port = 1080; type = socks5; }
local_ip
وlocal_port
هما العنوان والمنفذ الذي سوف يستمع عليه Redsocks محليًا.ip
وport
هما عنوان الـ SOCKS5 proxy والمنفذ الذي يستخدمه.type
يجب أن يكونsocks5
للاتصال عبر SOCKS5 proxy.
-
احفظ التغييرات وأغلق المحرر.
-
أعد تشغيل خدمة Redsocks لتطبيق التغييرات:
sudo systemctl restart redsocks
الآن، تم تكوين Redsocks لتوجيه حركة المرور عبر الـ SOCKS5 proxy. في الخطوة التالية، سنقوم بتكوين iptables لتوجيه حركة المرور عبر Redsocks.
-
إنشاء أو تعديل ملف تكوين Redsocks:
vi /etc/redsocks.conf
-
أضف التكوين التالي:
base {
log_debug = on;
log_info = on;
log = "file:/var/log/redsocks.log";
daemon = on;
redirector = iptables;
}
```redsocks { local_ip = 0.0.0.0; local_port = 12345; # المنفذ المحلي الذي يستمع له Redsocks ip = xxx.xxx.xxx.xxx; # عنوان IP الثابت لجهاز Mac port = xxxxx; # منفذ وكيل SOCKS5 المحلي لـ Shadowsocks-NG type = socks5; login = “”; # إذا كان الوكيل يتطلب مصادقة password = “”; }
ملاحظات:
- `local_port`: المنفذ الذي يستمع عليه Redsocks للاتصالات الواردة من تحويلات iptables.
- `ip` و `port`: يشيران إلى وكيل SOCKS5 الخاص بـ Shadowsocks على جهاز Mac (`xxx.xxx.xxx.xxx:xxxxx` بناءً على الخطوات السابقة).
- `type`: اضبطه على `socks5` حيث يوفر Shadowsocks وكيل SOCKS5.
3. حفظ والخروج:
- اضغط على `ESC`، اكتب `:wq`، ثم اضغط على `Enter`.
4. إنشاء ملف السجل:
```bash
touch /var/log/redsocks.log
chmod 644 /var/log/redsocks.log
يُنشئ الأمر touch
ملفًا جديدًا باسم /var/log/redsocks.log
إذا لم يكن موجودًا. بينما يقوم الأمر chmod 644
بتعيين أذونات الملف بحيث يكون المالك قادرًا على القراءة والكتابة، بينما يمكن للمجموعة والمستخدمين الآخرين القراءة فقط.
الخطوة 3: بدء خدمة Redsocks
لبدء خدمة Redsocks، قم بتنفيذ الأمر التالي:
sudo systemctl start redsocks
للتأكد من أن الخدمة تعمل بشكل صحيح، يمكنك التحقق من حالة الخدمة باستخدام الأمر التالي:
sudo systemctl status redsocks
إذا كنت ترغب في تمكين تشغيل Redsocks تلقائيًا عند بدء التشغيل، استخدم الأمر التالي:
sudo systemctl enable redsocks
بهذا تكون قد نجحت في بدء خدمة Redsocks على نظامك.
- تمكين Redsocks للبدء عند التشغيل:
/etc/init.d/redsocks enable
- بدء Redsocks:
/etc/init.d/redsocks start
- التحقق من أن Redsocks يعمل:
ps | grep redsocks
يجب أن ترى عملية Redsocks تعمل.
5. تحويل حركة مرور OpenWRT عبر الوكيل على نظام macOS
الآن بعد أن تم إعداد Redsocks على OpenWRT، قم بتكوين iptables لإعادة توجيه كل حركة المرور الصادرة من نوع TCP عبر Redsocks، والذي بدوره يقوم بتوجيهها عبر وكيل Shadowsocks على جهاز Mac الخاص بك.
الخطوة 1: تكوين قواعد iptables
- إضافة قواعد iptables لإعادة توجيه حركة المرور:
# تحويل كل حركة مرور TCP إلى Redsocks (باستثناء حركة المرور إلى البروكسي نفسه)
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d xxx.xxx.xxx.xxx -p tcp --dport xxxxx -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
# تطبيق سلسلة REDSOCKS على كل حركة المرور الصادرة
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS
الشرح:
- إنشاء سلسلة جديدة:
REDSOCKS
- استبعاد حركة المرور الخاصة بالوكيل: تأكد من أن حركة المرور الموجهة إلى الوكيل نفسه لا يتم إعادة توجيهها.
- إعادة توجيه حركة مرور TCP الأخرى: إعادة توجيه حركة مرور TCP الأخرى إلى المنفذ الذي يستمع له Redsocks (
12345
).
- حفظ قواعد iptables:
لجعل هذه القواعد ثابتة عبر عمليات إعادة التشغيل، قم بإضافتها إلى تكوين الجدار الناري.
vi /etc/firewall.user
إضافة قواعد iptables:
# تحويل كل حركة مرور TCP إلى Redsocks (باستثناء البروكسي)
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d xxx.xxx.xxx.xxx -p tcp --dport xxxxx -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
# تطبيق سلسلة REDSOCKS iptables -t nat -A OUTPUT -p tcp -j REDSOCKS iptables -t nat -A PREROUTING -p tcp -j REDSOCKS
حفظ والخروج:
- اضغط على `ESC`، اكتب `:wq`، ثم اضغط على `Enter`.
3. إعادة تشغيل جدار الحماية لتطبيق التغييرات:
```bash
/etc/init.d/firewall restart
ملاحظة: الكود أعلاه هو أمر لاستعادة إعدادات الجدار الناري (firewall) في نظام Linux. لا يتم ترجمة الأوامر البرمجية أو الأكواد.
الخطوة 2: التحقق من إعادة توجيه الزيارات
- تحقق من سجلات Redsocks:
cat /var/log/redsocks.log
يجب أن ترى سجلات تشير إلى أن حركة المرور تتم معالجتها من خلال Redsocks.
- الاختبار من جهاز عميل:
- قم بتوصيل جهاز بجهاز التوجيه OpenWRT الخاص بك.
- قم بزيارة موقع ويب أو تنفيذ إجراء يستخدم الإنترنت.
- تحقق من أن حركة المرور يتم توجيهها عبر وكيل Shadowsocks عن طريق التحقق من عنوان IP الخارجي (على سبيل المثال، عبر WhatIsMyIP.com) لمعرفة ما إذا كان يعكس عنوان IP الخاص بالوكيل.
6. اختبار إعداد الوكيل (Proxy)
للتأكد من أن إعداد الوكيل يعمل بشكل صحيح، يمكنك اتباع الخطوات التالية:
-
التحقق من اتصال الشبكة: تأكد من أن جهازك متصل بالإنترنت بشكل صحيح.
- اختبار الوكيل باستخدام
curl
:curl -x http://your-proxy-server:port http://example.com
استبدل
your-proxy-server
وport
بعنوان الوكيل والمنفذ الخاص بك. إذا كان الوكيل يعمل بشكل صحيح، يجب أن ترى محتوى صفحةhttp://example.com
. - اختبار الوكيل باستخدام المتصفح:
- قم بتعيين إعدادات الوكيل في المتصفح.
- حاول زيارة موقع ويب. إذا كان الوكيل يعمل، يجب أن تتمكن من تصفح الإنترنت بشكل طبيعي.
- التحقق من السجلات (Logs):
- إذا كان الوكيل يدعم تسجيل الأحداث، تحقق من السجلات للتأكد من أن الطلبات تمر عبر الوكيل بشكل صحيح.
- اختبار الأداء:
- قم بقياس سرعة الاتصال مع الوكيل وبدونه للتأكد من أن الأداء مقبول.
إذا واجهت أي مشاكل، تأكد من أن إعدادات الوكيل صحيحة وأن الخادم يعمل بشكل صحيح.
تأكد من أن الإعداد بأكمله يعمل كما هو مقصود عن طريق إجراء الاختبارات التالية.
الخطوة 1: التحقق من اتصال Shadowsocks على جهاز Mac
- التحقق من حالة عميل Shadowsocks:
- تأكد من أن Shadowsocks-NG أو Clash متصل بنشاط بخادم Shadowsocks.
- تحقق من إمكانية الوصول إلى الوكيل المحلي (مثل
xxx.xxx.xxx.xxx:xxxxx
).
- اختبار الوكيل محليًا:
- على جهاز Mac الخاص بك، افتح متصفحًا وقم بتكوينه لاستخدام
localhost:1080
كوكيل SOCKS5. - قم بزيارة WhatIsMyIP.com للتأكد من أن عنوان IP يتطابق مع خادم Shadowsocks.
- على جهاز Mac الخاص بك، افتح متصفحًا وقم بتكوينه لاستخدام
الخطوة 2: التحقق من توجيه حركة مرور OpenWRT عبر الوكيل
في هذه الخطوة، سنتأكد من أن حركة المرور من جهاز OpenWRT يتم توجيهها بشكل صحيح عبر الوكيل. هذا مهم لضمان أن جميع الطلبات التي تأتي من الشبكة تمر عبر الوكيل المحدد.
- الدخول إلى واجهة OpenWRT:
- افتح متصفحك وادخل إلى واجهة إدارة OpenWRT عادةً عبر عنوان IP مثل
192.168.1.1
.
- افتح متصفحك وادخل إلى واجهة إدارة OpenWRT عادةً عبر عنوان IP مثل
- التحقق من إعدادات الشبكة:
- انتقل إلى
Network
>Interfaces
. - تأكد من أن إعدادات الشبكة الخاصة بك موجهة بشكل صحيح إلى الوكيل.
- انتقل إلى
- اختبار الاتصال:
- استخدم أداة مثل
curl
أوping
من جهاز متصل بالشبكة للتحقق من أن الطلبات تمر عبر الوكيل. - على سبيل المثال، يمكنك استخدام الأمر التالي في الطرفية:
curl -x http://your-proxy-ip:port http://example.com
- تأكد من استبدال
your-proxy-ip
وport
بعنوان الوكيل والمنفذ الخاص بك.
- استخدم أداة مثل
- مراجعة السجلات:
- تحقق من سجلات الوكيل للتأكد من أن الطلبات تأتي من عنوان IP الخاص بـ OpenWRT.
- إصلاح المشاكل:
- إذا لم تكن حركة المرور تمر عبر الوكيل، راجع إعدادات التوجيه والوكيل في OpenWRT.
باتباع هذه الخطوات، يمكنك التأكد من أن حركة مرور OpenWRT يتم توجيهها بشكل صحيح عبر الوكيل المحدد.
- التحقق من عنوان IP الخارجي لـ OpenWRT:
- من جهاز متصل بـ OpenWRT، قم بزيارة WhatIsMyIP.com لمعرفة ما إذا كان عنوان IP يعكس عنوان IP الخاص بخادم Shadowsocks.
- مراقبة سجلات Redsocks:
- على OpenWRT، قم بمراقبة سجلات Redsocks للتأكد من إعادة توجيه الحركة.
tail -f /var/log/redsocks.log
- استكشاف الأخطاء وإصلاحها إذا لزم الأمر:
- إذا لم يتم توجيه حركة المرور بشكل صحيح:
- تأكد من أن عميل Shadowsocks على جهاز Mac يعمل ويمكن الوصول إليه.
- تحقق من أن قواعد iptables مضبوطة بشكل صحيح.
- تحقق من إعدادات الجدار الناري على كل من جهاز Mac وOpenWRT.
- إذا لم يتم توجيه حركة المرور بشكل صحيح:
اعتبارات إضافية
1. الأمان
- تأمين البروكسي الخاص بك:
- تأكد من أن الأجهزة الموثوقة فقط هي التي يمكنها الوصول إلى البروكسي. نظرًا لأنك تقوم بإعادة توجيه كل حركة المرور عبر Redsocks، تأكد من أن جدار الحماية الخاص بجهاز Mac يسمح فقط بالاتصالات من جهاز التوجيه OpenWRT الخاص بك.
على نظام macOS:
- انتقل إلى تفضيلات النظام > الأمان والخصوصية > جدار الحماية.
-
قم بتكوين جدار الحماية للسماح بالاتصالات الواردة على منفذ الوكيل (
xxxxx
) فقط من عنوان IP جهاز التوجيه OpenWRT. - المصادقة:
- يوفر Shadowsocks بالفعل مستوى معينًا من الأمان من خلال التشفير. تأكد من استخدام كلمات مرور قوية وطرق تشفير قوية.
2. الأداء
- موارد جهاز التوجيه (Router):
- تشغيل خدمات الوكيل مثل Redsocks يمكن أن يستهلك موارد إضافية من وحدة المعالجة المركزية (CPU) والذاكرة على جهاز التوجيه الخاص بك الذي يعمل بنظام OpenWRT. تأكد من أن جهاز التوجيه لديه موارد كافية.
- أداء جهاز Mac:
- تأكد من بقاء جهاز Mac الخاص بك قيد التشغيل ومتصلًا بالشبكة للحفاظ على توفر الوكيل.
3. الصيانة
- مراقبة السجلات:
- تحقق بانتظام من سجلات Redsocks وShadowsocks بحثًا عن أي نشاط غير عادي أو أخطاء.
- تحديث البرمجيات:
- حافظ على تحديث OpenWRT، Redsocks، وعميل Shadowsocks لديك للاستفادة من تصحيحات الأمان وتحسينات الأداء.
4. الأساليب البديلة
بينما يمكن استخدام جهاز Mac كخادم وكيل وسيط، فكر في البدائل التالية لإعدادات قد تكون أبسط:
- تكوين OpenWRT مباشرة كعميل لـ Shadowsocks:
- يدعم OpenWRT Shadowsocks مباشرة من خلال حزم مثل
shadowsocks-libev
. هذه الطريقة تلغي الحاجة إلى وسيط مثل جهاز Mac.
- يدعم OpenWRT Shadowsocks مباشرة من خلال حزم مثل
- استخدام جهاز وكيل/شبكة خاصة مخصصة:
- يمكن للأجهزة مثل Raspberry Pi تشغيل خدمات الوكيل والتصرف كبوابات مخصصة.
الخاتمة
باتباع الخطوات الموضحة أعلاه، تكون قد قمت بإعداد جهاز Mac الخاص بك كخادم وكيل Shadowsocks وتهيئة جهاز التوجيه OpenWRT الخاص بك لتوجيه حركة المرور لجميع الأجهزة المتصلة عبر هذا الوكيل. يعزز هذا الإعداد خصوصية شبكتك ويزيد من تحكمك من خلال الاستفادة من بروتوكول Shadowsocks.
نقاط رئيسية ملخصة:
- عميل Shadowsocks على نظام Mac:
- تم تثبيت وتكوين Shadowsocks-NG أو Clash باستخدام رابط Shadowsocks الذي قمت بتوفيره.
- تم تكوين العميل للاستماع على عنوان IP الخاص بشبكة LAN في جهاز Mac.
- إمكانية الوصول إلى الوكيل:
- تم تعيين عنوان IP ثابت لجهاز Mac لضمان وصول متسق عبر الوكيل.
- تم تكوين جدار حماية macOS للسماح باتصالات الوكيل الواردة.
- تكوين OpenWRT:
- تم تثبيت وتكوين Redsocks لإعادة توجيه كل حركة المرور الصادرة عبر بروتوكول TCP من خلال وكيل Shadowsocks.
- تم تطبيق قواعد iptables اللازمة لفرض إعادة توجيه حركة المرور.
- الاختبار:
- تم التحقق من أن حركة المرور من الأجهزة المتصلة يتم توجيهها عبر وكيل Shadowsocks عن طريق التحقق من عناوين IP الخارجية.
التوصيات:
- ضمان الاستقرار: حافظ على تشغيل جهاز Mac الخاص بك وتوصيله بالطاقة لضمان استمرارية توفر الوكيل.
- الأمان أولاً: قم بتحديث جميع المكونات بانتظام ومراقبة السجلات لحماية النظام من الوصول غير المصرح به.
- فكر في التكوين المباشر للراوتر: لإعداد أكثر سلاسة، يمكنك استكشاف إعداد Shadowsocks مباشرة على جهاز الراوتر OpenWRT الخاص بك.
إذا واجهت أي مشكلات أو كنت بحاجة إلى مزيد من المساعدة بخصوص إعدادات معينة، فلا تتردد في التواصل معنا!
base {
log_debug = on;
log_info = on;
log = "file:/var/log/redsocks.log";
daemon = on;
redirector = generic;
}
تمت ترجمة الكود إلى:
base {
log_debug = on;
log_info = on;
log = "file:/var/log/redsocks.log";
daemon = on;
redirector = generic;
}
ملاحظة: الكود لم يتم تغييره لأنه يحتوي على إعدادات وتوجيهات تقنية لا يجب تغييرها عند الترجمة.
redsocks {
local_ip = 0.0.0.0;
local_port = 7891;
ip = xxx.xxx.xxx.xxx;
port = xxxxx;
type = http-connect;
login = "";
password = "";
}