61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
# OSU Public Wi-Fi Auto Login
|
||
|
||
自动登录 OSU(Ohio State University)公共 Wi-Fi 的脚本。通过 Selenium 驱动 Edge 浏览器,自动完成 Captive Portal 的条款确认和登录操作。
|
||
|
||
## 工作原理
|
||
|
||
1. 检测当前网络是否已连接(通过 HTTP 204 / connecttest 验证)
|
||
2. 若未连接,使用 headless Edge 浏览器访问 Captive Portal 触发 URL(自动尝试多个备选地址)
|
||
3. 自动勾选 "I accept the terms of use" 并点击 "Log In"
|
||
4. 登录后轮询验证网络是否真正连通,失败则自动重试(最多 3 次)
|
||
|
||
## 环境要求
|
||
|
||
- Python >= 3.14
|
||
- Microsoft Edge 浏览器
|
||
- [uv](https://docs.astral.sh/uv/) 包管理器
|
||
|
||
## 安装
|
||
|
||
```bash
|
||
uv sync
|
||
```
|
||
|
||
## 使用
|
||
|
||
```bash
|
||
uv run main.py
|
||
```
|
||
|
||
### 可选参数
|
||
|
||
| 参数 | 说明 |
|
||
|------|------|
|
||
| `--random-mac` | 登录前随机化 Wi-Fi 网卡的 MAC 地址(需要**管理员权限**) |
|
||
|
||
示例:
|
||
|
||
```bash
|
||
# 普通登录
|
||
uv run main.py
|
||
|
||
# 随机 MAC 地址后登录
|
||
uv run main.py --random-mac
|
||
```
|
||
|
||
> **注意**:`--random-mac` 会通过修改注册表并重启网卡来更改 MAC 地址,需要以管理员身份运行。
|
||
|
||
## Windows 开机自启
|
||
|
||
1. 按 `Win + R`,输入 `shell:startup` 打开启动文件夹
|
||
2. 将 `run.bat` 的快捷方式放入该文件夹
|
||
3. 修改 `run.bat` 中的路径为你的实际项目路径
|
||
|
||
## 打包为可执行文件
|
||
|
||
```bash
|
||
uv run pyinstaller --onefile main.py
|
||
```
|
||
|
||
生成的 `main.exe` 位于 `dist/` 目录下。
|