تثبيت برنامج DawnVPN على راوتر OpenWrt
هناك طريقتان للتثبيت:
- أ. التثبيت التلقائي. يتولى عميل DawnVPN لنظام Windows تثبيت البرنامج على راوتر يعمل بنظام OpenWrt والتحقق منه.
- ب. التثبيت اليدوي. تنزّل الحزمة المناسبة لراوترك وإصدار OpenWrt لديك، وتتحقق منها، ثم تنسخها إلى الراوتر بـ scp وتشغّل سكربت التثبيت.
الأجهزة والحزم المدعومة
| الراوتر | المعالج | OpenWrt | مدير الحزم | الحزمة |
|---|---|---|---|---|
Cudy TR3000 (256 MB، اللوحة cudy,tr3000-256mb-v1) |
aarch64 (MT7981، mediatek/filogic) |
24.10.5 | opkg (.ipk) |
quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz |
| Cudy TR3000 | aarch64 | 25.12.6 (النواة 6.12.112) | apk (.apk) |
quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz |
| Xiaomi Redmi AC2100 | mipsel 24kc soft-float (ramips/mt7621) |
23.05.5 | opkg | quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz |
لا تثبّت حزمة راوتر على الراوتر الآخر: يتوقف سكربت التثبيت إذا لم يطابق uname -m.
أ. التثبيت التلقائي (عميل Windows)
شاشات عميل Windows لم تكتمل بعد، لذلك الخطوات التالية عامة.
أ1. الراوتر يعمل بنظام OpenWrt بالفعل (تثبيت بنقرة واحدة)
- صِل الكمبيوتر بالراوتر بكابل شبكة (الأفضل) أو عبر شبكة Wi-Fi الخاصة به.
- افتح أداة تثبيت الراوتر في عميل DawnVPN لنظام Windows. تبحث الأداة عن الراوتر على عنوان البوابة أو على العناوين المعتادة:
192.168.8.1و192.168.1.1و192.168.2.1(AC2100). - تسجّل الدخول عبر SSH باسم
rootوتقرأ/tmp/sysinfo/board_nameوuname -mوإصدار OpenWrt، وعلى أساسها تختار الحزمة الصحيحة: TR3000 على 24.10، أو TR3000 على 25.12، أو AC2100. - ترفع الملفات وتطابق SHA256 لكل ملف مع
SHA256SUMS.json. - تشغّل سكربت التثبيت وتنتظر السطر
INSTALL_TR3000_DONE(أوINSTALL_AC2100_DONE). - تتحقق من
http://127.0.0.1/api/discoverعلى الراوتر، ثم تفتح صفحة إدارة الراوتر.
أ2. الراوتر لا يعمل بنظام OpenWrt بعد (التفليش)
تختلف طرق التفليش من جهاز لآخر. لتثبيت OpenWrt على الراوتر، اتبع دليل جهازك أو مستندات OpenWrt الرسمية (https://openwrt.org/docs/). بعدها ثبّت برنامجنا بنقرة واحدة (أ1) أو يدوياً (ب).
ملفات اختيارية لـ Cudy TR3000 (Cudy 2.5.21 ← OpenWrt 24.10.5). بجانب كل ملف ملف .sha256، والقائمة الكاملة في https://client.tinystone.us/downloads/manifest.json:
| الملف | الرابط | SHA256 |
|---|---|---|
recovery.bin |
https://www.tinystone.us/downloads/router/tr3000/cudy-2.5.21_openwrt-24.10.5/recovery.bin | 8762df3d172107ea0fd4f5efd348df91f9581ab73d970062344a31f546d34637 |
sysupgrade-intermediate.bin |
https://www.tinystone.us/downloads/router/tr3000/cudy-2.5.21_openwrt-24.10.5/sysupgrade-intermediate.bin | 702d8a0019f50d81565bf2b7d0eecd1ca4e1720937b1f8340bd4be77c79a2552 |
openwrt-sysupgrade.bin |
https://www.tinystone.us/downloads/router/tr3000/cudy-2.5.21_openwrt-24.10.5/openwrt-sysupgrade.bin | 0cffd428f472f3800c1aa1a1a08910d0630ae04c36247c7e6c98a5fc22cdf9d9 |
ب. التثبيت اليدوي على OpenWrt مثبّتة مسبقاً
ب1. ما تحتاجه
- راوتر Cudy TR3000 بنظام OpenWrt 24.10.x أو 25.12.x، أو Redmi AC2100 بنظام OpenWrt 23.05.5.
- عنوان LAN للراوتر. عادةً يكون
192.168.8.1أو192.168.1.1في TR3000، و192.168.2.1في AC2100. - إمكانية الدخول عبر SSH باسم
root. في OpenWrt المثبّتة حديثاً، اضبط كلمة مرور root أولاً بالأمرpasswd. - كمبيوتر فيه
sshوscpوtar. هذه الأوامر الثلاثة موجودة في Windows 10/11 افتراضياً. - الاتصال بالإنترنت: يُدعم WAN عبر DHCP فقط، ولا يُدعم اتصال PPPoE. ضع الراوتر خلف مودم أو راوتر أعلى يوزّع العناوين عبر DHCP. بعد التثبيت تُعطَّل LuCI، وتتم كل الإدارة من صفحة إدارتنا على المنفذ 80.
- للتحقق من الراوتر:
```sh ssh [email protected] 'uname -m; uname -r; cat /tmp/sysinfo/board_name; . /etc/openwrt_release; echo $DISTRIB_RELEASE' ``` يجب أن ترى `aarch64`، واسم لوحة يحتوي `tr3000`، و`24.10.x` أو `25.12.x`. على 25.12 تناسب وحدات النواة المرفقة النواة `6.12.112` فقط. مع أي نواة أخرى في 25.12، يحتاج الراوتر إلى الإنترنت أثناء التثبيت. ### ب2. التنزيل والتحقق > **مقترح (غير موجود على الموقع بعد):** انظر «إدخالات صفحة التنزيلات» في النهاية. الروابط أدناه لن تعمل قبل رفع الملفات.
لكل ملف ملف `.sha256` بالاسم نفسه. القيم المتوقعة: | الحزمة | البايتات | SHA256 | |---|---|---| | tr3000 24.10.5 | 11,790,613 | `abd881f3b529c924fe0a504e2f78d5af9d21860d6586fee3f636a27da7ba74ae` | | tr3000 25.12.6 | 11,643,601 | `7821c6ddd36e54d867eae7a5901f6e4df304e3949c2af109652dba3432325a7f` | | ac2100 23.05.5 | 7,479,187 | `f65bf0ed245c25282b2ca29f2a84b2301e192562abd7530e30b43aabc65e4fb3` | للتحقق من الملف المنزَّل: - **Windows (PowerShell):** `Get-FileHash .\quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz -Algorithm SHA256` - **Windows (cmd):** `certutil -hashfile quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz SHA256` - **macOS / Linux:** `shasum -a 256 -c quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz.sha256` فكّ الضغط بالأمر `tar xzf <الملف>.tar.gz`. في الداخل ستجد `MANIFEST.json` و`SHA256SUMS.json`، وفيهما حجم كل ملف وقيمة SHA256 له. ### ب3. نسخ الملفات إلى الراوتر خادم SSH في OpenWrt (dropbear) لا يدعم SFTP، لذلك استخدم `scp -O`:https://www.tinystone.us/download/router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz https://www.tinystone.us/download/router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz https://www.tinystone.us/download/router/ac2100/pack/20261028-ffd8045b/quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz
بعدها، على الراوتر، ضع كل ملف في المكان الذي يحدده `MANIFEST.json`. **TR3000، كلا الإصدارين:**# example: TR3000 on 25.12.6 scp -O -r quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b [email protected]:/tmp/qvpack ssh [email protected]
**إضافةً لـ TR3000 على 24.10.5 (opkg):**cd /tmp/qvpack cp bin/quicvpn-linux-gw bin/quicvpn-sni-filter www/index.html /tmp/ cp hotplug/98-quicvpn-uplink hotplug/99-quicvpn-usb-wan /tmp/ cp install.sh /tmp/install_quicvpn.sh
**إضافةً لـ TR3000 على 25.12.6 (apk):**cp kmods/kmod-tun.ipk kmods/kmod-tcp-bbr.ipk /tmp/ mkdir -p /tmp/quicvpn-usb-ipks /tmp/dnsmasq-ipks cp kmods/*.ipk /tmp/quicvpn-usb-ipks/ cp deps/dnsmasq/*.ipk /tmp/dnsmasq-ipks/
**AC2100 على 23.05.5:**mkdir -p /tmp/quicvpn-apk-kmods cp kmods-25.12/*.apk /tmp/quicvpn-apk-kmods/
### ب4. تشغيل المثبّتcd /tmp/qvpack cp bin/quicvpn-linux-gw bin/quicvpn-sni-filter www/index.html hotplug/98-quicvpn-uplink /tmp/ cp kmods/kmod-tun.ipk kmods/kmod-tcp-bbr.ipk /tmp/ mkdir -p /tmp/sni-iptables /tmp/dnsmasq-ipks cp deps/sni-iptables/*.ipk /tmp/sni-iptables/ cp deps/dnsmasq/*.ipk /tmp/dnsmasq-ipks/ cp install.sh /tmp/install_quicvpn.sh
يجب أن يكون السطر الأخير `INSTALL_TR3000_DONE` (أو `INSTALL_AC2100_DONE`). على TR3000، يتحقق السكربت أولاً من مدير الحزم الذي يستخدمه الراوتر: - **24.10 (opkg):** يثبّت ملفات `.ipk` المرفقة. - **25.12 (apk):** يثبّت أولاً وحدات النواة `.apk` المرفقة إذا طابقت `uname -r`. وما يبقى ناقصاً يُثبَّت من المستودع الرسمي لـ OpenWrt عبر الإنترنت (`apk update` و`apk add kmod-tun kmod-tcp-bbr kmod-nft-queue`). لا يثبّت `dnsmasq` إلا إذا كان غير موجود، ولا يستخدم `dnsmasq-full`. في الحالتين يثبّت بعد ذلك البرنامج في `/opt/quicvpn`، وينشئ الخدمتين `quicvpn-gw` و`quicvpn-sni` ويشغّلهما، ويوقف `uhttpd`. ### ب5. التحقق من التثبيتchmod +x /tmp/install_quicvpn.sh /tmp/quicvpn-linux-gw /tmp/quicvpn-sni-filter sh /tmp/install_quicvpn.sh
يجب أن يحتوي الرد على `"ok":true`، وأن يحتوي `board` على `tr3000` أو `ac2100`، وأن يتضمن `caps` القيمتين `access_schedule` و`lan_access`. بعد ذلك افتح `http://<عنوان LAN للراوتر>/` في المتصفح. --- ## ج. الإعداد بعد التثبيت ### ج1. عنوان صفحة الإدارة والمنفذ - يقدّم البرنامج نفسه صفحة الإدارة على **`http://<عنوان LAN للراوتر>/` على المنفذ 80.** العنوان الذي يستمع عليه محفوظ في `/opt/quicvpn/etc/web_listen` (الافتراضي `0.0.0.0:80`). إذا كان هذا الملف فارغاً أو تالفاً، يعود البرنامج إلى `0.0.0.0:80`. - المثبّت **يوقف `uhttpd` ويعطّله**، لذلك **تُعطَّل LuCI (صفحة الإدارة القياسية في OpenWrt) بعد التثبيت ولا تبقى على أي منفذ.** تتم كل الإدارة من صفحة إدارتنا على المنفذ 80. الروابط القديمة لـ LuCI (`/cgi-bin/luci`) تفتح صفحة إدارتنا. - **WAN:** يُدعم WAN عبر DHCP فقط، ولا يُدعم PPPoE. صِل منفذ WAN في الراوتر بمودم أو راوتر أعلى يوزّع العناوين عبر DHCP. - **قد يتغير عنوان LAN.** إذا تداخلت شبكة LAN في الراوتر مع الشبكة الأعلى (مثلاً كلتاهما `192.168.1.x`)، ينقل البرنامج LAN إلى شبكة فرعية متاحة `192.168.X.1/24` ويحدّث DHCP. إذا توقفت الصفحة عن الفتح، أعد الاتصال وافتح عنوان البوابة الذي حصل عليه الكمبيوتر. ### ج2. أول تسجيل دخول 1. عند فتح صفحة الإدارة أول مرة، ستطلب منك **تعيين كلمة مرور للمسؤول**. اختر كلمة مرور جديدة، ولا تعِد استخدام كلمة مرور Wi-Fi. 2. تنتهي جلسة المسؤول بعد **5 دقائق** من عدم النشاط. 3. سجّل الدخول بـ **حساب DawnVPN** (قسم الحساب في صفحة الإدارة)، واختر خادماً أو اتركه على الاختيار التلقائي. 4. اختر وضع التوجيه: - **وضع التقسيم للصين (التقسيم الذكي):** حركة المرور إلى الوجهات الصينية تخرج مباشرة، وكل ما عداها يمر عبر VPN. - **VPN شامل:** كل حركة المرور تمر عبر VPN. يسري تغيير الوضع فوراً. 5. يمكنك أيضاً ربط الراوتر بحسابك على `router.tinystone.us` بمسح رمز QR. 6. يمكنك أيضاً ضبط قواعد الوصول: الإنترنت فقط، أو الألعاب، أو حظر التواصل الاجتماعي والفيديو، أو وضع الدراسة. يحتاج وضع الدراسة إلى `kmod-nft-queue`. ### ج3. Wi-Fi - يدير البرنامج Wi-Fi بنفسه (`QUICVPN_WIFI_OWN=1`). فهو **يوقف نقاط الوصول الافتراضية في OpenWrt** (`wireless.default_radio0/1.disabled=1`) ويشغّل نقاط وصول خاصة به. غيّر اسم Wi-Fi وكلمة مروره من شاشة Wi-Fi في صفحة الإدارة، وليس من `/etc/config/wireless`. - من الشاشة نفسها يمكن أيضاً وصل الراوتر بشبكة Wi-Fi أخرى لتكون مصدر الإنترنت. عندما يعمل WAN السلكي، يُستخدم السلكي أولاً دائماً. ### ج4. ما يتم تلقائياً وما تفعله بنفسك | المجال | تلقائي (install.sh أو البرنامج) | يدوي | |---|---|---| | وحدات النواة (`tun` و`tcp_bbr` و`nft_queue`) | يثبّتها install.sh: ملفات `.ipk` محلية على 24.10/23.05؛ وعلى 25.12 ملفات `.apk` محلية للنواة 6.12.112، وإلا فمن المستودع عبر الإنترنت | 25.12 بنواة أخرى: يجب أن يصل الراوتر إلى الإنترنت | | واجهة TUN `quicvpn0` | ينشئها البرنامج | — | | منطقة الجدار الناري | يضيف البرنامج منطقة `quicvpn` (تضم `quicvpn0` مع التنكّر وضبط MSS)، وتمريراً `lan → quicvpn`، ويضيف `wwan` إلى منطقة WAN | — | | DNS | يضبط البرنامج dnsmasq على `noresolv=1` و`localuse=1` و`filter_aaaa=1` و`cachesize=1000` و`confdir=/tmp/dnsmasq.d`، ويضيف قاعدتي إعادة التوجيه `qv_dns_udp`/`qv_dns_tcp` اللتين ترسلان كل DNS من الشبكة المحلية إلى الراوتر | — | | التوجيه والتقسيم | ينشئ البرنامج جداول nft خاصة به `inet quicvpn_*` (التقسيم، ومفتاح القطع، وUDP، ووضع الدراسة وغيرها) وقواعد توجيه | — | | WAN | إذا لم يوجد `network.wan`، ينشئه البرنامج (DHCP على منفذ مناسب). يتقدّم WAN السلكي دائماً على اتصال Wi-Fi | يُدعم WAN عبر DHCP فقط، و**لا يُدعم PPPoE**. ضع الراوتر خلف مودم أو راوتر أعلى يوزّع العناوين عبر DHCP | | عنوان LAN | يُنقل تلقائياً عند تعارض الشبكات الفرعية (ج1) | — | | IPv6 | **معطَّل عمداً:** `ipv6=0` على lan/wan/wwan، و`wan6` معطَّل، ولا RA ولا DHCPv6 على الشبكة المحلية | — | | Wi-Fi | نقاط الوصول الافتراضية متوقفة؛ والبرنامج يشغّل نقاطه الخاصة | الاسم وكلمة المرور من صفحة الإدارة | | خادم الويب | uhttpd متوقف ومعطَّل؛ وصفحة الإدارة على المنفذ 80 | — | | الخدمات | `quicvpn-gw` (أجزاء web وwifi وroute-guard) و`quicvpn-sni`، تبدأ عند الإقلاع ويُعاد تشغيلها إذا تعطلت | — | | كلمة مرور المسؤول وحساب DawnVPN | — | تُضبط من صفحة الإدارة (ج2) | البرنامج وسكربت التثبيت واحد لكل الطرازات والإصدارات. ما يختلف حسب الإصدار: - **TR3000 على 24.10.5:** ملفات `.ipk` محلية (النواة 6.6.119). - **TR3000 على 25.12.6:** apk، وملفات `.apk` محلية (النواة 6.12.112). - **AC2100 على 23.05.5:** ملفات `.ipk` محلية (النواة 5.15.167)، إضافةً إلى حزم `iptables`/`xt_string` محلية لترشيح SNI. --- ## د. حل المشكلات | ما تراه | ما تفعله | |---|---| | `ERROR: arch=… not aarch64` | حزمة خاطئة: استخدمت حزمة TR3000 على AC2100 أو العكس. | | `WARN: offline apk kmods are not for kernel …` | لديك 25.12 بنواة غير 6.12.112. تأكد أن الراوتر يصل إلى الإنترنت، ثم شغّل المثبّت مرة أخرى. | | `WARN: kmod-nft-queue missing` | لن يعمل وضع الدراسة. صِل الراوتر بالإنترنت وشغّل `apk add kmod-nft-queue` (25.12) أو `opkg update && opkg install kmod-nft-queue` (24.10). | | `tun missing` | لن يعمل VPN. ثبّت `kmod-tun` بالطريقة نفسها وشغّل المثبّت مرة أخرى. | | صفحة الإدارة لا تفتح | شغّل `ps w \| grep quicvpn` و`logread \| grep quicvpn`. تأكد ألا يستخدم برنامج آخر المنفذ 80 (`uhttpd` أو `nginx`). سكربت التثبيت يوقف `uhttpd`، والبرنامج يحاول أيضاً إيقاف `uhttpd` و`nginx` و`lighttpd`. | | SSH لا يستجيب | تأكد أنك على شبكة الراوتر، وأن الكمبيوتر لا يحتوي على مسار ثابت خاطئ (لا توجّه البوابة إلى نقطة اتصال الهاتف). | | `scp: … sftp-server not found` | استخدم `scp -O`. | | فقدت الوصول بعد التثبيت | ربما تغيّر عنوان LAN (ج1). تحقّق من عنوان البوابة الذي حصل عليه الكمبيوتر. | ### إزالة البرنامج لإزالة البرنامج، أعد تفليش الفيرموير الأصلي أو OpenWrt الرسمية. --- ## إدخالات صفحة التنزيلات (مقترح، الرفع يحتاج إلى موافقة) المسارات المقترحة، بجانب صور التفليش الموجودة حالياً:wget -qO- http://127.0.0.1/api/discover
الإدخالات المقترحة لـ `products[]` في `manifest.json` موجودة في `manifest-products.proposed.json` (في المجلد نفسه). **لم يُرفع شيء حتى الآن، والرفع يحتاج إلى موافقة المستخدم.**router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz (+ .sha256) router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz (+ .sha256) router/ac2100/pack/20261028-ffd8045b/quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz (+ .sha256)