Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gralliry/wifidog-authserver-fastapi
基于openwrt软路由系统中,软件包wifidog luci-app-wifidog的认证服务器实现
https://github.com/gralliry/wifidog-authserver-fastapi
fastapi openwrt python wifidog wifidog-auth-server
Last synced: 19 days ago
JSON representation
基于openwrt软路由系统中,软件包wifidog luci-app-wifidog的认证服务器实现
- Host: GitHub
- URL: https://github.com/gralliry/wifidog-authserver-fastapi
- Owner: gralliry
- Created: 2024-09-13T18:03:20.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2024-09-25T05:57:24.000Z (about 2 months ago)
- Last Synced: 2024-10-17T03:26:20.175Z (about 1 month ago)
- Topics: fastapi, openwrt, python, wifidog, wifidog-auth-server
- Language: Python
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wifidog-Server-FastApi
## 描述
本项目是基于openwrt软路由系统中,软件包`wifidog` `luci-app-wifidog`的认证服务器实现
## 使用
```shell
git clone https://github.com/gralliry/Wifidog-AuthServer-FastApi.git
cd Wifidog-AuthServer-FastApi
pip install -r requirements.txt
python run.py
# or `python run.py --port {yourport}`
```打开`服务`->`wifodog配置`
有几项需要与`app.py`中对应:
`通用配置`->`设备ID`
`认证服务器配置`:
* `认证服务器:url路径`
* `服务器login接口脚本url路径段`
* `服务器portal接口脚本url路径段`
* `服务器ping接口脚本url路径段`
* `服务器auth接口脚本url路径段`
* `服务器消息接口脚本url路径段`以上参数请一一和`app.py`中的全局变量对应
## 作者留言
如果是外部服务器作为认证服务器,可以采用python
如果是路由器本身作为认证服务器,不建议使用python,其环境和程序占用都过大可以去看看我另一个用Go写的认证服务器
本项目除去bug修复和说明,不再对功能进行扩展
## 常见问题
* nginx: request header or cookie too large
```
# nginx配置,因为本程序的session是基于cookies加密实现的,cookies的数据量会很大
# nginx对headers大小有限制
server
{
...
# 增加默认请求头部缓冲区大小
client_header_buffer_size 16k;
# 增加允许的请求头部缓冲区数量
large_client_header_buffers 4 16k;
...
}
```## 警告
* 本项目存在用户伪造网关身份对认证服务器发起请求的问题
* 本项目的认证服务器未对用户身份进行验证
* 本项目只能对应一个wifidog网关极力建议你使用我的另一个项目`Wifidog-AuthServer-Gin`,该项目使用`Go`语言的`Gin`框架编写:
* 性能高,占用少
* 修复了大部分的安全问题
* 不依赖太多的中间件和模式,减少了环境配置的问题
* 可以对应多个wifidog网关