- Lightweight, low resource usage, easy to deploy
- Monitor system status and Hysteria2 status
- Limit user traffic, user online status, force users to log off, number of online users, reset user traffic
- Limit the number of users' online devices at the same time, the number of online devices
- User subscription link, node URL, import and export users
- Managing Hysteria2 configurations and Hysteria2 versions
- Change the Web port, modify the Hysteria2 traffic multiplier
- Telegram notification
- View, import, and export system logs and Hysteria2 logs
- I18n: English, 简体中文
- Page adaptation, support night mode, custom page themes
- More features waiting for you to discover
OS: CentOS 8+/Ubuntu 20+/Debian 11+
CPU: x86_64/amd64 arm64/aarch64
Memory: ≥ 256MB
Install Latest Version
bash <(curl -fsSL https://raw.githubusercontent.com/jonssonyan/h-ui/main/install.sh)
Install Custom Version
bash <(curl -fsSL https://raw.githubusercontent.com/jonssonyan/h-ui/main/install.sh) v0.0.1
Executable files: https://github.com/jonssonyan/h-ui/releases
mkdir -p /usr/local/h-ui/
curl -fsSL https://github.com/jonssonyan/h-ui/releases/latest/download/h-ui-linux-amd64 -o /usr/local/h-ui/h-ui && chmod +x /usr/local/h-ui/h-ui
curl -fsSL https://raw.githubusercontent.com/jonssonyan/h-ui/main/h-ui.service -o /etc/systemd/system/h-ui.service
# Custom web port, default is 8081
# sed -i "s|^ExecStart=.*|ExecStart=/usr/local/h-ui/h-ui -p 8081|" "/etc/systemd/system/h-ui.service"
systemctl daemon-reload
systemctl enable h-ui
systemctl restart h-ui
Uninstall
systemctl stop h-ui
rm -rf /etc/systemd/system/h-ui.service /usr/local/h-ui/
-
Install Docker
https://docs.docker.com/engine/install/
bash <(curl -fsSL https://get.docker.com)
-
Start a container
docker pull jonssonyan/h-ui docker run -d --cap-add=NET_ADMIN \ --name h-ui --restart always \ --network=host \ -v /h-ui/bin:/h-ui/bin \ -v /h-ui/data:/h-ui/data \ -v /h-ui/export:/h-ui/export \ -v /h-ui/logs:/h-ui/logs \ jonssonyan/h-ui
Custom web port, default is 8081
docker run -d --cap-add=NET_ADMIN \ --name h-ui --restart always \ --network=host \ -v /h-ui/bin:/h-ui/bin \ -v /h-ui/data:/h-ui/data \ -v /h-ui/export:/h-ui/export \ -v /h-ui/logs:/h-ui/logs \ jonssonyan/h-ui \ ./h-ui -p 8081
Set the time zone, default is Asia/Shanghai
docker run -d --cap-add=NET_ADMIN \ --name h-ui --restart always \ --network=host \ -e TZ=Asia/Shanghai \ -v /h-ui/bin:/h-ui/bin \ -v /h-ui/data:/h-ui/data \ -v /h-ui/export:/h-ui/export \ -v /h-ui/logs:/h-ui/logs \ jonssonyan/h-ui
Uninstall
docker rm -f h-ui
docker rmi jonssonyan/h-ui
rm -rf /h-ui
- Panel Port: 8081
- SSH local forwarded port: 8082
- Login Username/Password: Random 6 characters
- Connection Password: {Login Username}.{Login Password}
Export the user, system configuration, and Hysteria2 configuration in the management background, redeploy the latest version of h-ui, and import the data into the management background after the deployment is complete.
-
Scheduled server restart
0 4 * * * /sbin/reboot
-
Install Network Accelerator
https://v2.hysteria.network/docs/getting-started/3rd-party-apps/
Go >= 1.20, Node.js >= 18.12.0
-
frontend
cd frontend pnpm install npm run dev
-
backend
go run main.go
Telegram Channel: https://t.me/jonssonyan_channel
You can subscribe to my channel on YouTube: https://www.youtube.com/@jonssonyan
Thanks to everyone who contributed to this project.