Skip to content

东北大学ipgw网关管理软件,使用linux开发并可以支持跨平台。

License

Notifications You must be signed in to change notification settings

Neboer/mini_ipgw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mini_ipgw

本程序是用纯c编写的东北大学ipgw网关管理程序,它最大的优势就是快速、便捷且灵活。虽然现在它的配置等过程还存在一些繁琐之处,但是未来的它一定会越做越好。

设计理念

今天,ipgw的首页已经重新支持用户通过传统接口登录,这也就意味着这个程序可以重新工作了。程序设计的目的就是——在服务器或者因为一些原因无法正常启动显示的主机上,登录网关是一个非常麻烦的事情。使用c语言开发的程序仅需一个依赖libcurl就可以正常运行,相比于python程序,运行的时候不需要复杂的环境,且运行速度更快;相比于golang,执行效率更高并且不需要带http(s)网络模块;使用cmake开发一样支持跨平台编译,极大的发挥了c语言的优势。

安装方法

目前的安装主要分成以下几步。

编译安装

  1. 本项目成功编译需要依赖cjson和libcurl两个库,请使用合适的方法提前安装在系统中。
  2. 克隆整个仓库或者下载zip包到本地。
  3. 在当前用户的home目录下创建文件夹.ipgw,即为mkdir ~/.ipgw
  4. 进入src下,复制两个文件到~/.ipgw下。
  5. 构建并编译。首先需要在项目目录下执行cmake .,然后执行make即可。
  6. 编译成功之后,目录下将会出现ipgw可执行文件,即可通过复制/链接/加入PATH等操作完成安装,让ipgw成为一个命令。

运行指南

参考ipgw -h

  • ipgw -u20109876将会打开密码输入提示,输入密码并回车即可完成连接。
  • ipgw -u20109876 -p0123xxxdfs将会直接用密码连接。

高级支持选项

本程序运行的一个原理就是通过直接截取ipgw登录后返回的HTML页面的部分信息并与设定值相比对,从而判断登录的结果。如果结果截取的位置错误,将会无法辩识结果。这种情况比较罕见,经常在学校更新ipgw接口的返回信息的时候出现。

为了应对可能不稳定的ipgw页面,程序在设计的时候就做到了“运行时灵活”。通过一个非常详细的配置文件,你可以几乎完全控制程序核心解析的全过程。这个配置文件并不提供解释,如果你发现程序无法运行,返回错误,不妨在登录的命令里加入-t选项,看看学校是否变更了页面的返回值。如果确实如此,除了开issue报告问题,你还可以编辑配置文件来尝试修复它的解析过——如果修复成功,请直接开Pull Request,将你的配置文件提交上来。

开发计划

程序目前可以正常工作,没有任何问题。为了照顾一般linux用户,未来的Release里可能会加安装脚本等,同时配置文件里还可以设置如何解析请求内容等(现在的程序并不支持此功能,接下来将会开发这个)。

如果你对此项目非常感兴趣,也想和我一起开发,你可以随时给我发邮件取得联系。

About

东北大学ipgw网关管理软件,使用linux开发并可以支持跨平台。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published