Metadata-Version: 2.1
Name: py-wifi-info
Version: 0.1.2
Summary: 跨平台获取已保存 WiFi 网络信息（SSID、密码、WiFi 标准等）
Author: dingtongbin
License: Apache-2.0
Project-URL: Homepage, https://github.com/dingtongbin/wifi_info
Project-URL: Bug Tracker, https://github.com/dingtongbin/wifi_info/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Topic :: System :: Networking
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: pytest >=8.3.5 ; extra == 'dev'

# wifi_info

跨平台获取已保存 WiFi 网络信息的 Python 库。

## 特性

- 跨平台支持：Windows、Linux (NetworkManager)、macOS
- 安全获取：仅读取系统已授权存储的 WiFi 信息
- 完整信息：SSID、密码、WiFi 标准、认证类型、加密方式
- 简单易用：三个清晰的方法，满足不同场景需求
- 未来兼容：自动识别新的 WiFi 协议

## 安装

```bash
pip install wifi_info
```

## 快速开始

### 方法 1: 获取所有 SSID 列表

```python
from wifi_info import WifiInfo

wifi = WifiInfo()
ssids = wifi.list_ssids()
print(ssids)  # ['HomeWiFi', 'OfficeWiFi', 'CoffeeShop']
```

### 方法 2: 获取指定网络的详细信息

```python
from wifi_info import WifiInfo

wifi = WifiInfo()
info = wifi.get_wifi_info('HomeWiFi')
print(f"密码: {info['password']}")
print(f"WiFi 标准: {info['wifi_standard']}")
print(f"认证类型: {info['auth_type']}")
```

### 方法 3: 获取所有网络的完整信息

```python
from wifi_info import WifiInfo

wifi = WifiInfo()
networks = wifi.info_list()
for net in networks:
    print(f"SSID: {net['ssid']}, 密码: {net['password']}")
```

## 输出字段说明

每个网络信息字典包含以下字段：

| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| `ssid` | `str` | 网络名称 | `"MyHomeWiFi"` |
| `password` | `str \| None` | 明文密码（若可获取） | `"secret123"` |
| `wifi_standard` | `str \| None` | WiFi 标准 | `"Wi-Fi 6"` |
| `auth_type` | `str \| None` | 认证类型 | `"WPA2-Personal"` |
| `cipher` | `str \| None` | 加密算法 | `"CCMP"` |
| `platform_source` | `str` | 数据来源平台 | `"windows_netsh"` |

## 支持的 WiFi 标准

- Wi-Fi 1 (802.11b)
- Wi-Fi 2 (802.11g)
- Wi-Fi 4 (802.11n)
- Wi-Fi 5 (802.11ac)
- Wi-Fi 6 (802.11ax)
- Wi-Fi 6E (802.11ax + 6GHz)
- Wi-Fi 7 (802.11be)
- 未知协议自动保留原始名称（如 `802.11BF`）

## 权限说明

- Windows: 无需管理员权限
- Linux: 可能需要 sudo 权限读取 NetworkManager 配置
- macOS: 会触发系统钥匙串授权弹窗

## 开发

```bash
# 克隆仓库
git clone https://github.com/dingtongbin/wifi_info.git
cd wifi_info

# 安装依赖
pip install -e ".[dev]"

# 运行测试
pytest tests/ -v
```

## 使用示例

更多示例请查看 examples.py 文件。

## 贡献

欢迎提交 Issue 和 Pull Request！

## 许可证

Apache License 2.0

## 作者

dingtongbin

## 链接

- [GitHub Repository](https://github.com/dingtongbin/wifi_info)
- [PyPI Package](https://pypi.org/project/wifi_info/)
