chianghuan / YaH3C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YaH3C

YaH3C 是用于校园网认证的客户端,支持中山大学东校区.

依赖

  • Linux
  • Python2 (Python3暂不支持)

安装

首先从github上下载,可以直接利用git clone,也可以下载压缩包自己解压然后安装。下面以git为例,如果没有则需要先安装:

# Ubuntu/Debian
sudo apt-get install git

# ArchLinux
sudo pacman -S git

然后从项目中clone下来并安装

git clone git://github.com/humiaozuzu/YaH3C.git
cd YaH3C
make
sudo make install

ArchLinux默认安装的python是python3,你需要手动安装python2。

使用

认证

程序运行时必须要有root权限:

sudo yah3c

然后根据程序的提示输入账号密码就可以开始认证了。

联网

因为YaH3C仅仅是认证客户端,所以通过认证后你需要自己联网,一般学校都是使用的dhcp协议获取ip。

你可以通过你自己喜欢的方式获取ip,命令行的或者是NetworkManager/Wicd:

# 以dhcpcd为例
sudo dhcpcd eth0

配置文件

所有用户的登陆信息和配置文件都放在~/.yah3c/目录下,可以自己根据需求进行修改。

~/yah3c/
├── plugins            # 插件目录
│   ├── auto_dhcp.py
│   ├── __init__.py
│   ├── notify.py
│   ├── plugin_template.py
│   └── test.py
└── users.conf         # 保存用户的登陆信息

用户的登陆信息按照如下的格式保存在文件users.conf中:

[account]          # 你的帐户 
password = 123456  # 密码
dev = eth0         # 使用的网卡

插件

目前插件机制还不是很完善,默认是没有启用任何插件的。

plugins::notify

调用python-notify提示用户在线或掉线。

KDE的用户可能回遇到下面错误或者notify不显示的情况:

No protocol specified\nAutolaunch error: X11 initialization failed.\n

有2种解决方案:

  1. 在终端执行xhost +local:root,或讲其添加到.bash_profile一劳永逸解决问题。
  2. 执行visudo后添加下面的配置
Defaults env_keep += "HOME"

plugins::auto_dhcp

这个插件会在你登陆成功后使用dhcpcd帮你自动获取ip。

为YaH3C贡献插件

你可以参考~/.yah3c/plugins/plugin_template.py文件,了解如何为YaH3C编写插件,更详细的信息可以参考wiki

ScreenShots

认证成功:

success

认证失败:

failure

Updates

Ver 0.3

  • add eap-md5 support

Ver 0.2

  • complete refactory
  • plugins support

Ver 0.01

  • Initial commit

Todo

  • Command line argument support
  • Web UI
  • Tray icon

Thanks

About

License:MIT License