# wifi-auto-connect
**Repository Path**: bkmsoft/wifi-auto-connect
## Basic Information
- **Project Name**: wifi-auto-connect
- **Description**: 专为电脑,路由器,软路由打造的,自动连接校园网的脚本项目
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-08-26
- **Last Updated**: 2025-08-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# wifi-auto-connect
#### 1. 介绍
河南科技学院校园网自动登陆(新乡的很多系统相似,可能也可以用?),java版。可以实现电脑,路由器,软路由的自动认证wifi,后续会上传docker版本的。
系统如下图。

#### 2.软件架构
**采用jdk8**
**1.大致实现思想:**
抓包最后的请求接口,通过请求接口达到认证
最后发现`/quickauth.do`的get接口是最后实现的关键
**2.通过该get接口我发现可以直接登陆校园wifi**:
`[http://172.18.249.222:6060/quickauth.do?userid=20211554217@kjxyyd&passwd=Wang15238791265&wlanuserip=10.102.41.73&wlanacname=HIST-BRAS&wlanacIp=172.18.247.17&ssid=&vlan=32003272&mac=f4:ce:23:f9:9b:88&version=0&portalpageid=47×tamp=1682562683888&uuid=3c30a228-3e44-4dd7-8aee-ac1100bd2578&portaltype=0&hostname=&bindCtrlId=](http://172.18.249.222:6060/quickauth.do?userid=20211554217@kjxyyd&passwd=Wang15238791265&wlanuserip=10.102.41.73&wlanacname=HIST-BRAS&wlanacIp=172.18.247.17&ssid=&vlan=32003272&mac=f4:ce:23:f9:9b:88&version=0&portalpageid=47×tamp=1682562683888&uuid=3c30a228-3e44-4dd7-8aee-ac1100bd2578&portaltype=0&hostname=&bindCtrlId=)`
3.**下面是我对该get接口的query参数的简单说明**
**下面是参数说明**,带“*”的是参数必须项:
```text
* uerid : 校园网帐号+学院缩写+运营商
* passwd : 校园网密码
* wlanuserip : 被分配ip,ac所分配的ap,和mac同时作为入网证明。
* wlanacname : wifi 名称,不能不填,用于区分教师和学生wifi
* vlan : vlan
* mac : ap mac地址
wlanacIp : ac地址,经测试可以不填,猜测是valn和分配的地址直接限定了ac设备
version : 版本 应该没什么卵用
portalpageid : 暂时不知道是什么
timestamp : 毫秒时间戳
uuid : 登陆唯一识别id 我猜测随便编一个就成,没卵用
portaltype : 认证方式 我们学校好像就一种,没卵用
hostname : 暂时没什么用
bindCtrlId : 暂时没什么用
```
我舍弃不必要的参数,获取一个较为精简的脚本,发现可以认证wifi。
```sheel
curl 'http://172.18.249.222:6060/quickauth.do?userid=20211554217@kjxyyd&passwd=Wang15238791265&wlanuserip=10.102.41.73&wlanacname=HIST-BRAS&vlan=32003272&mac=f4:ce:23:f9:9b:88'
```
当然这样写不具有通用性,按照这个思路我写了一个较为通用的java程序,类似我们学校的校园网应该都可以用的。。。吧?。
#### 安装教程
##### 1.源码版本(release版本使用类似)
1. **git源码(或者下载源码)**
```sheel
git clone https://gitee.com/chenbaifu/wifi-auto-connect.git
```
2. **切换至工程目录**
```sheel
cd wifi-auto-connect
```
3. **编译源码**
```sheel
javac AutoConnectWifi.java
```
4.**设置配置文件**
对工程里的`authentication.conf`进行校园网帐号,密码,运营商的配置
```ini
#校园网帐号
username=13678593474
#校园网密码
password=swa32323
#校园网运营商 移动为=yd,联通为lt,电信为dx.
operator=yd
```
5.运行
```sheel
java AutoConnectWifi
```
##### 2.docker安装
1.**建立配置文件(这里随意即可,不一定非得是home目录)**
```shell
mkdir /home/wifi-config/conf
cd /home/wifi-config/conf
vi authentication.conf
```
2.**编辑配置文件**
```shell
#校园网帐号
username=
#校园网密码
password=
#校园网运营商 移动为=yd,联通为lt,电信为dx.
operator=yd
```
wq保存退出即可。
3.**启动容器**
```shell
sudo docker run -d --net=host -v /home/wifi-config/conf:/opt/conf --name=autowifi-demo chenbaifu/schoolwifi-auto
```
尽量用host网络,网桥模式可能被自己的路由拦截而请求。
#### 参与贡献
暂无