العودة إلى التحديثات
New releaseAug 20, 2026

roamr v0.1.4

اعثر على أفضل شبكة WiFi لموقعك — تَقيّم كل شبكة محفوظة حسب جودتها الحقيقية في الاستخدام الفعلي، وليس مجرد قوة الإشارة.

مشاركة

roamr

Release CI Go Reference License: MIT

اعثر على أفضل شبكة WiFi لموقعك دون قطع اتصالك.

في مكتب (أو منزل) يحتوي على عدة شبكات WiFi، تتغير الشبكة الأفضل مع تنقلك، و«الأفضل» لا تعني فقط أشرطة الإشارة. فقد تظهر شبكة بإشارة كاملة لكنها تبقى بطيئة: ازدحام في نطاق 2.4 GHz، معيار WiFi قديم، قناة مزدحمة. يقرأ roamr ما يعرفه نظام تشغيلك بالفعل عن كل شبكة محفوظة قريبة، ويقيّمها وفقًا للجودة الواقعية، ويوضح السبب، ويخبرك أيها تستخدم.

تصنيف roamr للشبكات WiFi المحفوظة وشرح سبب ترتيب Office-2G أخيرًا رغم إشارته 100%

الحالة: متاح على macOS (brew install --cask sourabh-khot65/tap/roamr)، بالإضافة إلى تطبيق مصاحب لشريط القوائم. تم التحقق من عمله على Windows؛ أما Linux فهو منفَّذ وفي مرحلة المعاينة (انظر المنصات). لا تملك Mac؟ جرّب roamr --demo.

التثبيت

macOS (موصى به). ثبّت عبر Homebrew. يزيل cask سمة العزل (quarantine) عند التثبيت، لذا يعمل الملف الثنائي دون تحذير Gatekeeper الذي قد يظهر عند التنزيل من المتصفح:

brew install --cask sourabh-khot65/tap/roamr

Windows. ثبّت باستخدام Scoop:

scoop bucket add roamr https://github.com/sourabh-khot65/scoop-bucket
scoop install roamr

أي منصة. نزّل ملفًا ثنائيًا من أحدث إصدار، أو ابنِه من المصدر باستخدام Go 1.26+:

go install github.com/sourabh-khot65/roamr/cmd/roamr@latest

الملفات الثنائية من صفحة Releases (خلافًا لـ Homebrew) غير موقّعة، لذا يعزلها Gatekeeper على macOS. أزل العزل مرة واحدة باستخدام xattr -d com.apple.quarantine ./roamr. تركيبات Homebrew غير متأثرة. توثيق ملف roamr الثنائي نفسه (notarization) مُخطط له لكنه خارج نطاق v0.x.

بدء سريع

بعد التثبيت، جرّب العرض التوضيحي المدمج (لا حاجة لأجهزة WiFi):

roamr --demo --why          # or, from source: go run ./cmd/roamr --demo --why
→ Switch to Office-6E — clearly better here.

  Office-6E             ▀▀▀▀▁  86%  6GHz   ax    score  95
      - 6 GHz — fast, uncongested
      - channel is clear
  Office-5G             ▀▀▀▀▀  92%  5GHz   ax    score  93
      - strong signal (-54 dBm)
      - channel is clear
  Office-Guest          ▀▀▀▁▁  68%  5GHz   ac    score  81
      - channel is clear
▸ Office-2G             ▀▀▀▀▀ 100%  2.4GHz n     score  69
      - strong signal (-47 dBm)
      - 2.4 GHz — slower, more interference
      - WiFi 4 — older, slower standard

أنت متصل بشبكة Office-2G (المشار إليها بـ ▸) بإشارة 100%، لكن roamr يضعها في المرتبة الأخيرة، 2.4 GHz على معيار WiFi 4 قديم، ويوجّهك إلى Office-6E بدلًا منها. تلك الفجوة بين «إشارة كاملة» و«جودة فعلية» هي الهدف الأساسي من roamr.

الأوامر

الأمرالوظيفة
roamrيوصي بأفضل شبكة معروفة هنا (الافتراضي)
roamr currentيشخّص الشبكة التي تتصل بها (بما في ذلك زمن الاستجابة/الاهتزاز)
roamr listيعرض الشبكات المعروفة ودرجاتها
roamr watchيأخذ عينات باستمرار؛ ويقترح التبديل فقط عندما تكون الشبكة الأخرى أفضل بشكل دائم
roamr speedtestيقيس معدل التنزيل الفعلي للشبكة التي تتصل بها

الخيارات: --why (شرح الدرجات)، --json (صيغة قابلة للقراءة آليًا)، --demo (بدون أجهزة)، --interval / --samples (لأمر watch).

roamr استشاري بطبيعته: فهو يقرأ ما يعرفه نظام التشغيل لديك ولا يغيّر اتصالك أبدًا. يخبرك أي شبكة محفوظة هي الأفضل، وتقوم أنت بالتبديل من قائمة Wi-Fi في نظام التشغيل.

يعمل watch على تنعيم درجة كل شبكة بمرور الوقت (EMA) ولا يشير إلى التبديل إلا عندما يتفوق منافس على شبكتك الحالية بهامش واضح عبر عدة عينات متتالية، حتى لا تتقلب التوصية بسبب ضوضاء الإشارة أو توجيه النطاق 2.4/5 GHz.

كيف يعمل

التقييم سلبي ولا يفصلك عن الشبكة أبدًا. يأخذ في الاعتبار الإشارة والنطاق وازدحام القناة ومعيار WiFi وزمن الاستجابة المباشر (للشبكة التي تتصل بها). التفاصيل في docs/architecture.md؛ ودعم المنصات يقع خلف واجهة واحدة قابلة للتوصيل، موصوفة في docs/adding-a-platform.md.

تطبيق شريط القوائم (macOS)

تطبيق مصاحب لشريط القوائم يعرض القائمة المرتّبة مباشرةً و«السبب» في قائمة منسدلة — درجات ملوّنة حسب الجودة، وأشرطة إشارة، وتنبيه كهرماني عندما تكون شبكة ما أفضل بشكل دائم. يقرأ التطبيق roamr watch --json، لذا تبقى كل عمليات التقييم في CLI؛ ومثل CLI، يقدّم المشورة فقط ولا يبدّل الشبكة عنك أبدًا.

make app          # build macos/Roamr.app (Swift, no Xcode needed)
make install-app  # build and install it to /Applications

المنصات

نظام التشغيلالمزوّدالحالة
macOSمساعد CoreWLAN موقّع عبر macwifi (ADR-0002)يعمل (Apple Silicon، macOS 13+)
Windowsواجهة WLAN الأصلية (wlanapi.dll، ADR-0004)يعمل (تم التحقق منه على جهاز فعلي؛ يتطلب تفعيل الموقع)
Linuxnmcli (NetworkManager)منفَّذ (تم اختباره باستخدام بيانات تجريبية؛ بانتظار التحقق على جهاز)

يتطلب macOS إذن الموقع لقراءة تفاصيل WiFi (يُمنح للمساعد المضمّن عند أول تشغيل)؛ لا يلزم حساب Apple مدفوع لبناء roamr أو تشغيله (انظر ADR-0002). يتطلب الاعتماد على macwifi إصدار Go 1.26+ ويستهدف Apple Silicon؛ ولا يبلّغ macOS عن وضع PHY، لذا تُتخطّى إشارة التقييم هذه هناك.

التطوير

go build ./...   # build everything
go test ./...    # run tests (no WiFi hardware needed)
go vet ./...

الترخيص

MIT. انظر LICENSE.

الفئات