Skip to content

jonssonyan/h-ui

Repository files navigation

H UI

H UI

English / 简体中文

Just the panel for Hysteria2

License: GPL-3.0 GitHub stars GitHub forks GitHub release Docker pulls

cover

Features

  • 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

Recommended OS

OS: CentOS 8+/Ubuntu 20+/Debian 11+

CPU: x86_64/amd64 arm64/aarch64

Memory: ≥ 256MB

Deployment

Quick Install (Recommended)

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

systemd

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/

Docker

  1. Install Docker

    https://docs.docker.com/engine/install/

    bash <(curl -fsSL https://get.docker.com)
  2. 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

Default Installation Information

  • Panel Port: 8081
  • SSH local forwarded port: 8082
  • Login Username/Password: Random 6 characters
  • Connection Password: {Login Username}.{Login Password}

System Upgrade

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.

FAQ

English > FAQ

Performance Optimization

Client

https://v2.hysteria.network/docs/getting-started/3rd-party-apps/

Development

Go >= 1.20, Node.js >= 18.12.0

  • frontend

    cd frontend
    pnpm install
    npm run dev
  • backend

    go run main.go

Build

Other

Telegram Channel: https://t.me/jonssonyan_channel

You can subscribe to my channel on YouTube: https://www.youtube.com/@jonssonyan

Contributors

Thanks to everyone who contributed to this project.

Star History

Star History Chart

License

GPL-3.0