HyperHost là một công cụ mã nguồn mở dành riêng cho các lập trình viên trên hệ điều hành Windows. Công cụ này đóng vai trò như một bảng điều khiển Nginx siêu tốc, giúp bạn tự động định tuyến tên miền ảo (ví dụ: my-project.test hoặc api.local) tới các cổng localhost đang chạy với đầy đủ chứng chỉ HTTPS (SSL) hợp lệ.
Không còn cảnh phải sửa file hosts bằng tay, không còn phải loay hoay tạo chứng chỉ Self-Signed lỗi xanh lỗi đỏ trên trình duyệt. Chỉ cần 1 click là bạn có ngay một tên miền chuyên nghiệp ngay dưới máy tính nội bộ của mình!
- ⚡ Quản lý tên miền tức thì: Giao diện UI/UX siêu mượt xây dựng bằng React. Tạo nhanh một tên miền và liên kết tới một cổng Upstream (VD:
localhost:3000) chỉ trong 3 giây. - 🔒 HTTPS (SSL) tự động: Tích hợp cực sâu công cụ chuyên dụng
mkcert. Tự động đứng ra làm Tổ chức chứng thực (Certificate Authority - CA) của máy tính, cấp chứng chỉ xanh lá cây hợp lệ cho mọi tên miền ảo. - 💻 Text Editor cấp độ Pro: Tích hợp lõi Monaco Editor (công nghệ đằng sau VSCode). Bạn có thể viết và chèn cấu hình Raw Nginx Server blocks/Directives tùy biến với Auto-format cực kì mạnh mẽ.
- 👻 Chế độ Background / System Tray: Hoạt động âm thầm không làm phiền bạn. Khi bấm dấu 'X' để tắt cửa sổ, HyperHost tự giấu mình vào System Tray dưới góc phải màn hình trong khi Nginx vẫn hoạt động mượt mà.
- 🔄 Tự động Cập Nhật (Auto-Updater): Khi nhà phát triển ra mắt phiên bản mới trên GitHub Releases, HyperHost sẽ tự động mở hộp thoại thông báo tải xuống & cài đặt bản mới trực tiếp nhờ lõi Tauri Updater.
- 🌐 Public Tunnel (Cloudflare): Chia sẻ trang web của bạn ra ngoài Internet qua Cloudflare Tunnel. Nhấn 1 nút và nhận đường link
*.trycloudflare.comtạm thời. - 📊 Live Traffic Inspector: Theo dõi lưu lượng HTTP đi qua Nginx theo thời gian thực với giao diện dạng bảng trực quan.
- Backend: Rust & Tauri v2.
- Frontend: React 18, Vite, và TailwindCSS v4.
- Core Systems:
nginx(Máy chủ Proxy),mkcert(Quản lý HTTPS),cloudflared(Public Tunnel), SQLite (Dữ liệu).
Ứng dụng HyperHost hiện cung cấp bộ cài .exe thông minh tự động (NSIS Installer) thông qua GitHub Actions CI/CD.
Bạn hãy truy cập vào mục Releases của kho lưu trữ này và tải về file HyperHost_..._x64-setup.exe. Trình cài đặt sẽ tự động lưu vào C:\Program Files\HyperHost và đổ biểu tượng ra màn hình Destkop cho bạn.
Ngoài giao diện đồ hoạ (GUI), HyperHost còn đi kèm công cụ dòng lệnh hyh cho phép bạn quản lý toàn bộ hệ thống ngay từ Terminal/PowerShell mà không cần mở ứng dụng chính.
Lưu ý: CLI cần chạy dưới quyền Administrator vì phải ghi file
hostshệ thống và quản lý tiến trình Nginx.
CLI đã được tự động cài sẵn khi bạn cài HyperHost qua Installer. Binary hyh.exe nằm trong thư mục cài đặt và đã được đăng ký vào PATH hệ thống.
Nếu tự build từ source:
cd src-tauri
cargo build --release --bin hyh --no-default-features
# Output: target/release/hyh.exehyh <COMMAND> [OPTIONS]
COMMANDS:
add Thêm tên miền mới với HTTPS
remove Xóa một tên miền
list Liệt kê tất cả tên miền đã cấu hình
toggle Bật/tắt một tên miền
nginx Quản lý Nginx proxy
ca Quản lý Certificate Authority (CA)
help Hiển thị trợ giúp
Tạo một tên miền cục bộ mới kèm chứng chỉ HTTPS, tự động cập nhật file hosts và cấu hình Nginx.
hyh add <DOMAIN> <UPSTREAM>| Tham số | Mô tả | Ví dụ |
|---|---|---|
<DOMAIN> |
Tên miền cục bộ (bắt buộc kết thúc .test hoặc .local) |
myapp.test |
<UPSTREAM> |
Địa chỉ server upstream kèm protocol | http://127.0.0.1:3000 |
Ví dụ mẫu:
# Tạo domain đơn giản trỏ về React dev server
hyh add myapp.test http://127.0.0.1:3000
# Tạo domain cho API backend đang chạy ở port 8080
hyh add api.test http://127.0.0.1:8080
# Tạo domain cho Laravel (Herd/Valet)
hyh add laravel.local http://127.0.0.1:8000
# Tạo domain cho Next.js
hyh add shop.test https://127.0.0.1:3001Kết quả mẫu:
🔐 Issuing certificate for myapp.test...
✓ Certificate issued (rcgen)
📦 Saved to database
📝 Hosts file updated
🔄 nginx config regenerated
✅ https://myapp.test → http://127.0.0.1:3000
Xóa tên miền khỏi hệ thống, bao gồm chứng chỉ SSL, bản ghi hosts, và cấu hình Nginx.
hyh remove <DOMAIN>Ví dụ:
hyh remove myapp.test
# ✅ Removed myapp.testHiển thị bảng tất cả tên miền đã cấu hình kèm trạng thái hoạt động và chứng chỉ SSL.
hyh listKết quả mẫu:
╭────────┬──────────────────┬────────────────────────────────┬───────────╮
│ Status │ Domain │ Upstream │ Cert │
├────────┼──────────────────┼────────────────────────────────┼───────────┤
│ 🟢 │ myapp.test │ http://127.0.0.1:3000 │ ✓ valid │
│ 🟢 │ api.test │ http://127.0.0.1:8080 │ ✓ valid │
│ ⚫ │ old-project.test │ http://127.0.0.1:4000 │ ✗ expired │
╰────────┴──────────────────┴────────────────────────────────┴───────────╯
3 domain(s) total
Chuyển đổi trạng thái hoạt động của tên miền. Khi tắt, Nginx sẽ không proxy cho domain đó nữa nhưng cấu hình vẫn được giữ nguyên.
hyh toggle <DOMAIN>Ví dụ:
# Tắt tạm thời một domain
hyh toggle old-project.test
# ✅ old-project.test → ⚫ disabled
# Bật lại
hyh toggle old-project.test
# ✅ old-project.test → 🟢 enabledĐiều khiển tiến trình Nginx proxy server.
hyh nginx <ACTION>
ACTIONS:
start Khởi động Nginx
stop Dừng Nginx
reload Tải lại cấu hình (không cần restart)
status Kiểm tra trạng thái Nginx
logs Xem log lỗi gần nhấtVí dụ mẫu:
# Khởi động Nginx
hyh nginx start
# ✅ nginx started
# Kiểm tra trạng thái
hyh nginx status
# nginx: 🟢 running
# Tải lại sau khi sửa cấu hình
hyh nginx reload
# ✅ nginx reloaded
# Xem 50 dòng log lỗi gần nhất
hyh nginx logs -n 50
# Dừng Nginx
hyh nginx stop
# ✅ nginx stoppedQuản lý CA nội bộ dùng để cấp chứng chỉ SSL hợp lệ cho các tên miền cục bộ.
hyh ca <ACTION>
ACTIONS:
install Cài đặt CA vào Windows Trust Store
status Kiểm tra trạng thái CAVí dụ mẫu:
# Cài đặt CA (cần Admin) — trình duyệt sẽ tin tưởng SSL sau bước này
hyh ca install
# 🔐 Installing CA to Windows trust store...
# ✓ certutil: Chrome/Edge trusted
# ✓ mkcert: Firefox NSS trusted
#
# ✅ CA installed successfully
# Kiểm tra CA đã được cài đặt chưa
hyh ca status
# CA: 🟢 installed & trustedDưới đây là quy trình hoàn chỉnh từ lúc cài đặt tới khi có HTTPS tên miền cục bộ:
# Bước 1: Cài đặt CA vào hệ thống (chỉ cần làm 1 lần)
hyh ca install
# Bước 2: Khởi động Nginx
hyh nginx start
# Bước 3: Thêm tên miền cho React app đang chạy tại port 3000
hyh add myapp.test http://127.0.0.1:3000
# Bước 4: Mở trình duyệt và truy cập
# → https://myapp.test ✅ Xanh lá, HTTPS hợp lệ!
# Bước 5: Xem danh sách domain hiện có
hyh list
# Bước 6: Tắt domain khi không cần nữa
hyh toggle myapp.testHyperHost tích hợp sẵn cloudflared để chia sẻ trang web cục bộ ra ngoài Internet mà không cần cấu hình Router hay mua tên miền.
- Mở HyperHost GUI.
- Nhấn nút 🌐 (Share Public Tunnel) cạnh domain bất kỳ.
- Chờ vài giây — một URL dạng
https://xxx-yyy.trycloudflare.comsẽ xuất hiện. - Gửi link này cho bất kỳ ai trên thế giới.
Một số nhà mạng Việt Nam (VNPT, Viettel, FPT) chặn DNS của *.trycloudflare.com. Nếu bạn hoặc người nhận link gặp lỗi DNS_PROBE_FINISHED_NXDOMAIN, hãy đổi DNS:
Cách 1 — Đổi DNS hệ thống (PowerShell Admin):
netsh interface ip set dns "Wi-Fi" static 1.1.1.1
netsh interface ip add dns "Wi-Fi" 8.8.8.8 index=2
ipconfig /flushdnsCách 2 — Bật Secure DNS trên trình duyệt:
- Mở
chrome://settings/security(Chrome) hoặcedge://settings/privacy(Edge). - Bật "Use secure DNS".
- Chọn Cloudflare (1.1.1.1) hoặc Google (Public DNS).
Nếu bạn muốn đóng góp code hoặc tự Build từ gốc, hãy làm theo các bước sau:
Yêu cầu hệ thống: NodeJS (v20+), Rust, và C++ Build Tools for Windows.
-
Clone mã nguồn:
git clone https://github.com/ptn1411/HyperHost.git cd HyperHost -
Cài đặt thư viện Frontend:
npm install
-
Khởi chạy chế độ Phát triển (Dev Mode):
# Cần chạy ở Terminal quyền Administrator npm run tauri dev -
Build CLI riêng (không cần GUI):
cd src-tauri cargo build --release --bin hyh --no-default-features # Output: target/release/hyh.exe
-
Đóng gói (Build) ra file Exe:
# (Tùy chọn) Nếu bạn muốn Build Updater, hãy nạp biến môi trường # $env:TAURI_PRIVATE_KEY="<Private-Key>" npm run tauri build
Lưu ý: Kho chứa không đẩy file updater_keys (Private Key) để bảo mật chống giả mạo cập nhật. Bạn phải sử dụng khóa của chính mình nếu tự build và muốn dùng Updater.
Dự án được mở mã nguồn dưới chứng chỉ MIT. Bạn hoàn toàn có thể tự do chỉnh sửa và sử dụng.