IP Radar 的官方桌面伴侣。 托盘常驻,全局快捷键(Ctrl/Cmd+Alt+I)唤起 → 自动读取剪贴板中的 IP → 多源并行查询 → 弹窗展示完整画像。安全运维的贴身 IP 情报入口。
- 一键即查 —— 复制 IP 后按下快捷键,剪贴板中的 IP(单个或一批,上限可在设置中调整)直接出结果,无需粘贴确认
- 划词查询(仅 Windows) —— 无需先复制:选中文本后直接按快捷键,自动捕获选区优先查询其中的 IP;选区无 IP 时回退剪贴板
- 多源并列 —— 查询你自部署的 IP Radar server(verdict / 置信度 / geo / ASN / 分类证据),同时并列 AbuseIPDB 云端信誉;源互相隔离,一个挂了另一个照常
- 源可插拔 —— 新增查询源 = 在
src/sources/加一个文件,零注册代码 - 多 IP 批量 —— 从日志/告警里复制的一串 IP 一次全查,紧凑列表点击展开详情,verdict 徽章一目了然
- 多平台 —— Linux / macOS / Windows 三平台构建,轻量(Tauri 2)
macOS —— 推荐 Homebrew
brew install --cask steponeerror/ipradar/ip-radar-desktop更新:brew upgrade --cask ip-radar-desktop。仅支持 Apple Silicon(arm64)Mac。
次选:从 Releases 下载 .dmg,将应用拖入 Applications 后打开。macOS 构建对完整 .app 做 ad-hoc 签名以保证包内资源完整性,但尚无 Developer ID 签名或 Apple 公证。首次打开下载的应用仍可能被 Gatekeeper 拦截;确认来源可信后,在「系统设置 → 隐私与安全性」中选择「仍要打开」。
若提示「已损坏」,请勿直接清除隔离属性。可先验证安装后的包:
codesign --verify --deep --strict --verbose=2 "/Applications/IP Radar Desktop.app"旧版 0.1.14 DMG 可能只有 linker 临时签名、缺少资源封装签名,验证会失败;请使用修复后的构建。Ad-hoc 签名不等于 Apple 信任认证,面向公众免手动放行的发行仍需 Developer ID 和公证。
Windows
从 Releases 下载便携版 .exe(免安装,双击即用)。未签名,SmartScreen 弹「已保护你的电脑」时点「更多信息 → 仍要运行」。
Linux
暂无安装包,请从源码构建。
打开设置(窗口右上角齿轮):
- Server URL —— 指向你自部署的 ip-radar(默认
http://127.0.0.1:8000) - IP Radar API key —— 新版 server 对跨源程序化查询要求 Bearer key:浏览器打开
{serverUrl}/admin→ API Keys → 签发后粘贴到此处(旧版无鉴权 server 不填也可用) - AbuseIPDB API key —— 免费额度 1000 次/天,在 abuseipdb.com/account/api 申请
- 快捷键、单次最大查询数、语言、源开关、开机自启等均可在设置中调整
- 终端与内嵌终端(如 VSCode 终端)请先复制再按热键(模拟复制在这些场景不可靠)
# Linux 依赖
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
npm ci
npm run tauri buildThe official desktop companion for IP Radar. Lives in your tray: press the global hotkey (Ctrl/Cmd+Alt+I) → IPs on your clipboard are read automatically → multiple sources are queried in parallel → a popup shows the full profile. Your at-hand IP intelligence entry for security operations.
- Clipboard-to-verdict — copy an IP (or a whole list, cap configurable), press the hotkey, results appear — no pasting, no confirmation
- Selection lookup (Windows only) — no copying needed: select text and press the hotkey; the selection is captured and queried first, falling back to the clipboard when it holds no IPs
- Parallel multi-source — queries your self-hosted IP Radar server (verdict / confidence / geo / ASN / per-classification evidence) alongside AbuseIPDB cloud reputation; sources are isolated — one failing never blocks the other
- Pluggable sources — adding a query source is dropping one file into
src/sources/, zero registration code - Batch lookups — a list of IPs copied from logs or alerts is queried in one shot; compact rows expand into full detail views with verdict badges
- Cross-platform — Linux / macOS / Windows builds, lightweight (Tauri 2)
macOS — Homebrew recommended
brew install --cask steponeerror/ipradar/ip-radar-desktopTo update: brew upgrade --cask ip-radar-desktop. Apple Silicon (arm64) Macs only.
Fallback: download the .dmg from Releases, drag the app into Applications, then open it. macOS builds ad-hoc sign the complete .app to seal its resources, but do not yet have Developer ID signing or Apple notarization. Gatekeeper may still block the first launch of a downloaded app; if you trust its source, use System Settings → Privacy & Security → Open Anyway.
If macOS reports that the app is damaged, verify the installed bundle before removing any quarantine attributes:
codesign --verify --deep --strict --verbose=2 "/Applications/IP Radar Desktop.app"The original 0.1.14 DMG can fail this check because it has only a linker-generated signature with no resource seal; use a repaired build. Ad-hoc signing does not establish Apple trust. Public distribution without a manual exception requires Developer ID signing and notarization.
Windows
Download the portable .exe (no installer, double-click to run) from Releases. Unsigned — when SmartScreen says "Windows protected your PC", choose "More info → Run anyway".
Linux
No packages yet — build from source.
Open settings (gear icon, top right):
- Server URL — points to your self-hosted ip-radar (default
http://127.0.0.1:8000) - IP Radar API key — newer servers require a Bearer key for cross-origin programmatic queries: open
{serverUrl}/adminin a browser → API Keys → issue one and paste it here (older servers without auth work with no key) - AbuseIPDB API key — free tier is 1,000 checks/day, apply at abuseipdb.com/account/api
- Hotkey, max IPs per query, language, source toggles and autostart are all configurable
- In terminals and embedded terminals (e.g. the VSCode terminal), copy first and then press the hotkey (simulated copy is unreliable there)
# Linux deps
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
npm ci
npm run tauri buildAGPL-3.0. Same license as the main project IP Radar.
On macOS, run npm run tauri build -- --bundles dmg, then:
bash scripts/verify-macos-dmg.sh src-tauri/target/release/bundle/dmg/*.dmgCI runs this check on pull requests and before release uploads. It verifies the DMG checksum and the signature of the app inside the mounted image. It does not assert Gatekeeper acceptance. Test a browser-downloaded (quarantined) copy separately for first-launch behavior. Never disable Gatekeeper globally to validate a release.
The macOS-only src-tauri/tauri.macos.conf.json enables ad-hoc signing (-). For Developer ID distribution, configure a real signing identity and Apple notarization credentials following the Tauri macOS signing guide, then verify with spctl --assess --type execute --verbose=4 and xcrun stapler validate in addition to the integrity check.
The macOS release and test build steps set TAURI_BUNDLER_DMG_IGNORE_CI=true
so Tauri runs its Finder layout step even when GitHub sets CI=true.
src-tauri/tauri.macos.conf.json fixes the installer window at 660×400,
with the app on the left and the Applications shortcut on the right;
Tauri's bundled DMG script uses 128-point icons.
Release verification uses scripts/verify-macos-dmg.sh <dmg> --require-layout
to reject images without Finder layout metadata (.DS_Store) or the
Applications shortcut, in addition to validating the app signature. This
metadata-presence check is not a pixel-level visual test. The layout step
requires working Finder automation on the macOS runner; a failure stops the
build rather than silently uploading a default-layout DMG.

