Skip to content

基于openwrt软路由系统中,软件包wifidog的认证服务器实现

License

Notifications You must be signed in to change notification settings

gralliry/Wifidog-AuthServer-Gin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6382924 · Feb 22, 2025

History

42 Commits
Jan 13, 2025
Jan 8, 2025
Jan 6, 2025
Feb 22, 2025
Jan 8, 2025
Jan 22, 2025
Jan 6, 2025
Jan 8, 2025
Jan 22, 2025

Repository files navigation

Wifidog-Server-Gin

描述

本项目是基于openwrt软路由系统中,软件包wifidog luci-app-wifidog的认证服务器实现

安装

git clone https://github.com/gralliry/Wifidog-Server-Gin.git
cd Wifidog-Server-Gin

# GOOS和GOARCH对应关系:https://freshman.tech/snippets/go/cross-compile-go-programs/
# gin运行模式:debug | release | test

Linux

env GOOS=linux GOARCH=amd64 GIN_MODE=debug go build -o out/authserver

windows

set GOOS=windows
set GOARCH=amd64
set GIN_MODE=debug
go build -o out/authserver.exe

darwin(MacOS)

env GOOS=darwin GOARCH=amd64 GIN_MODE=debug go build -o out/authserver

openwrt(linux-mipsel)

env GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags="-s -w" -o out/authserver

使用

打开openwrt服务->wifodog配置

有几项需要与config.toml中对应:

  • ListenHost对应认证服务器:主机名
  • ListenPort对应认证服务器:web服务端口 (注意在config.toml中是字符串)

然后执行以下

sqlite3 ./data/database.db
-- `通用配置`->`设备ID`(一般是路由器mac地址,对应上你wifidog的配置页面内容即可)
INSERT INTO net(sid, address, port)
VALUES ('设备ID', '认证服务器:主机名', '认证服务器:web服务端口')

打开认证服务器配置

  • 认证服务器:url路径 -> /wifidog/
  • 服务器login接口脚本url路径段 -> login/?
  • 服务器portal接口脚本url路径段 -> portal/?
  • 服务器ping接口脚本url路径段 -> ping/?
  • 服务器auth接口脚本url路径段 -> auth/?
  • 服务器消息接口脚本url路径段 -> gw_message.php?

注意:在config.toml不需要添加?

作者留言

如果是路由器本身作为认证服务器,极力建议使用可执行文件(而不是使用go命令运行源码,其环境和程序占用都过大)

./out/authserver

如果路由器存在go语言环境,你也可以直接运行源码

go run ./main.go

问题

部分存在无法编译的问题可能是因为缺少对应的gcc库,尤其是对于openwrt中linux-mipsel架构

使用官方的sqlite3驱动是依赖CGO的,不适合低存储低内存的场景,这里使用了其他的sqlite驱动,但是该驱动并不支持mipsel的架构

目前作者在寻找适配的、能快速部署的gcc编译器和sqlite驱动,如果你有好的想法可以在issue中提出建议,作者会一一回复

nginx不要设置强制ssl,不然会发生301重定向,导致wifidog无法获取直接返回的结果

About

基于openwrt软路由系统中,软件包wifidog的认证服务器实现

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published