Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

HiDeck

Self-hosted console for Qualcomm 4G / LTE / 5G modems

English · 简体中文 · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский

Release Docker Go Vue 3 License: PolyForm Noncommercial 1.0.0

Manage USB modems, cellular proxy, SMS, WiFi calling / IMS voice, eSIM, and scheduled tasks from a browser.

Web UIhttp://YOUR_IP:7575
Default loginadmin / admin (change on first sign-in)
DatabaseSQLite (data/hideck.db)

Features

  • Devices — USB auto-discovery; QMI, MBIM, AT, PC/SC; live radio and SIM identity
  • Proxy — SOCKS5 / HTTP bound to the modem with SO_BINDTODEVICE
  • SMS — inbox, send, contacts; vcf/csv from iOS, Google, Samsung, Xiaomi, Huawei, OPPO, vivo
  • Phone — WiFi calling, cellular software IMS, or native VoLTE; hold, call waiting, listen-only answer
  • VoWiFi — SWu / IMS, recordings; country proxy pool, pin a node, or go direct
  • Native VoLTE — modem IMS (phone_mode=volte), no ePDG; unique China MBN mapping only
  • eSIM — download, enable, disable, rename, delete; activation code or QR / PDF
  • Automation & notify — scheduled tasks; Telegram, email, Bark, Feishu, WeCom, WeChat, QQ

Protocol notes: VoWiFi · VoLTE · operators · hardware · module voice troubleshooting

Outgoing call/SMS quotas are per SIM and survive restarts: limits and configuration.

Quick start

Docker (recommended). Needs Linux, curl, Docker Compose, host networking, and USB access. The image includes ADB, ALSA tools, AMR/MP3 libraries, and the embedded module-side voice runtime. The host still needs a USB audio driver; see module voice prerequisites.

curl -fsSL https://raw.githubusercontent.com/yibaiba/hideck/main/deploy.sh | sh
curl -fsSL https://raw.githubusercontent.com/yibaiba/hideck/main/deploy.sh | HIDECK_DIR=/opt/hideck sh

Then open http://YOUR_IP:7575.

With a public hostname (DNS A/AAAA to the host, open 443/TCP and 443/UDP):

curl -fsSL https://raw.githubusercontent.com/yibaiba/hideck/main/deploy.sh | \
  HIDECK_DOMAIN=hideck.example.com \
  HIDECK_DIR=/opt/hideck sh

Image: yibaiba/hideck:latest. Compose uses network_mode: host, privileged: true, /dev, and persists config/, data/, logs/. See DOCKERHUB.md and HTTPS / WebRTC.

For Feiniu fnOS, the optional FPK packaging reuses the Docker image with an application entry and persistent app directories; on-device validation is still required.

docker compose ps
docker compose logs -f hideck

For PC/SC USB smart-card readers, also configure the host service and optional Compose override described in Docker PC/SC setup.

Screenshots

Login

Dashboard

DevicesPhone
DevicesPhone
CommandsProxy
CommandsProxy

Binary install

The installer also installs ADB, ALSA tools and recording libraries, then checks ADB capabilities and host USB audio support. Missing dependencies produce a nonzero exit status even if the HiDeck service was installed; they are not reported as a fully successful deployment. These checks do not connect to or reboot a modem.

OpenWrt keeps module voice optional: use the separate hideck-adb and hideck-modem-voice packages. See OpenWrt packaging for IPK/APK installation and target matching.

curl -fsSL https://raw.githubusercontent.com/yibaiba/hideck/main/deploy-binary.sh | sh
curl -fsSL https://raw.githubusercontent.com/yibaiba/hideck/main/deploy-binary.sh | \
  HIDECK_DIR=/opt/hideck \
  HIDECK_VERSION=v2.1.23 \
  HIDECK_ARCH=linux_amd64 sh
AssetPlatform
hideck_v2.1.23_linux_amd64x86_64, glibc + UPX
hideck_v2.1.23_linux_arm64ARM64 / Raspberry Pi OS 64-bit, glibc + UPX
hideck_v2.1.23_linux_armv732-bit ARM, glibc + UPX
hideck_v2.1.23_openwrt_amd64OpenWrt x86_64, musl static, no UPX
hideck_v2.1.23_openwrt_arm64OpenWrt aarch64
hideck_v2.1.23_openwrt_armv7OpenWrt 32-bit ARM
hideck_v2.1.23_openwrt_dynamic_amd64OpenWrt x86_64, dynamic musl, MP3 encoding capable
hideck_v2.1.23_openwrt_dynamic_arm64OpenWrt aarch64, dynamic musl, MP3 encoding capable
hideck_v2.1.23_openwrt_dynamic_armv7OpenWrt 32-bit ARM, dynamic musl, MP3 encoding capable

On OpenWrt, use openwrt_* only. The package-manager archives and binary installer use the static assets. The dynamic assets require matching runtime libraries and are intended for MP3 call recording; see OpenWrt packaging.

Configuration

Copy config/config.example.yaml to config/config.yaml.

KeyDefaultNotes
server.port7575HTTP
server.https_enabledfalseBuilt-in HTTPS; keep off behind a reverse proxy
server.https_port7576Built-in HTTPS port
server.webrtc_udp_address:7580WebRTC audio UDP
server.webrtc_public_hostemptyPublic ICE host behind NAT
web.username / web.passwordadminChange immediately
vowifi.enabledfalseGlobal VoWiFi
system.openwrt_dynamic_interfacesfalseOpenWrt netifd mapping

Do not commit secrets. SIM PIN fields store environment variable names only (HIDECK_SIM_PIN_READER1). PROXY_WEB_PASSWORD overrides the file.

Build

Go 1.26.4+, Node.js / npm. make build-* requires UPX.

make build-amd64    # also: build-arm64, build-armv7, build-all
npm ci --prefix web && npm run build --prefix web
cp -R web/dist internal/web/dist
GOWORK=off CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
  go build -trimpath -tags "with_utls nomsgpack" -o dist/hideck_linux_amd64 ./cmd/hideck
npm test --prefix web && npm run typecheck --prefix web
go test -timeout=60s ./cmd/... ./internal/... ./pkg/...

Dev proxy: VITE_API_PROXY_TARGET=http://127.0.0.1:7575 in web/.env.local. API docs: /api/docs.

License

Personal learning, research, and testing. Not a production telephony stack. Independent of Quectel, Qualcomm, and carriers. Follow local law and your operator’s terms.

PolyForm Noncommercial 1.0.0. third_party/vowifi-go is AGPL-3.0. See THIRD_PARTY_NOTICES.md before distributing binaries or images.

Thanks: LINUX DO · iniwex5/vohive-release · boa-z/vowifi-go

关于 About

No description, website, or topics provided.

语言 Languages

Go77.0%
Vue12.3%
TypeScript8.3%
Python1.0%
Shell0.6%
CSS0.5%
JavaScript0.2%
Makefile0.1%
Dockerfile0.1%
HTML0.0%
SCSS0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
1039
Total Commits
峰值: 355次/周
Less
More

核心贡献者 Contributors