Skip to content

About

Wholeton Internet Authentication Tool, Designed for Headless Operating Systems

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

惠尔顿上网认证工具

该项目是一个命令行客户端,用于在惠尔顿网关上进行上网认证并保持会话在线。程序会自动登录、建立 WebSocket 连接进行保活,并在超时或被踢下线后自动重试。适用于 OpenWRT 等环境作为守护进程长期运行。

编译

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -tags netgo -trimpath -ldflags="-s -w -X main.version=dev" -o wholeton-auth ./cmd/wholeton-auth

运行

./wholeton-auth

查看版本:

./wholeton-auth -v

指定配置文件路径:

./wholeton-auth -c /path/to/wholeton.json

配置文件

程序默认读取 ~/.wholeton 作为配置文件(JSON)。可通过 -c 指定其他路径。如果文件不存在或内容无效,首次运行会进入交互式输入并自动保存到该路径。

示例配置文件见 wholeton.example.json,可直接复制后修改:

cp wholeton.example.json ~/.wholeton
chmod 600 ~/.wholeton

字段说明:

  • host: 惠尔顿网关地址。
  • user: 账号用户名。
  • pass: 账号密码。
  • ip: 客户端 IP。
  • mac: 客户端 MAC 地址。
  • update_secs: 重新登录间隔(秒),例如 28800 表示 8 小时。

进程守护

OpenWRT

在 /etc/init.d/ 目录下创建 wholeton-auth 文件

touch /etc/init.d/wholeton-auth
chmod +x /etc/init.d/wholeton-auth

编辑 vi /etc/init.d/wholeton-auth 内容如下:

#!/bin/sh /etc/rc.common

START=99
STOP=10
USE_PROCD=1

PROG="/root/wholeton/wholeton-auth"
NAME="wholeton-auth"

start_service() {
    procd_open_instance
    procd_set_param command $PROG
    procd_set_param respawn 3600 5 5
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_set_param term_timeout 10
    procd_close_instance
}

stop_service() {
    echo "Stopping $NAME"
}

控制进程

/etc/init.d/wholeton-auth start
/etc/init.d/wholeton-auth stop

查看日志

logread -e wholeton-auth

systemd (Ubuntu 或其他主流 Linux)

创建服务文件 /etc/systemd/system/wholeton-auth.service:

[Unit]
Description=Wholeton Auth Client
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/wholeton-auth
Restart=always
RestartSec=2
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

启用并启动:

systemctl daemon-reload
systemctl enable --now wholeton-auth

查看日志:

journalctl -u wholeton-auth -f

About

Wholeton Internet Authentication Tool, Designed for Headless Operating Systems

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages