Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ESWZY/webvpn-dlut
WRD 的 WebVPN 的 URL 互转原理🌚
https://github.com/ESWZY/webvpn-dlut
python webvpn
Last synced: 3 months ago
JSON representation
WRD 的 WebVPN 的 URL 互转原理🌚
- Host: GitHub
- URL: https://github.com/ESWZY/webvpn-dlut
- Owner: ESWZY
- Created: 2020-03-18T15:33:45.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-05T18:01:27.000Z (6 months ago)
- Last Synced: 2024-01-17T02:24:14.044Z (5 months ago)
- Topics: python, webvpn
- Language: Python
- Homepage:
- Size: 14.6 KB
- Stars: 56
- Watchers: 3
- Forks: 13
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Lists
- my-awesome-stars - ESWZY/webvpn-dlut - WRD 的 WebVPN 的 URL 互转原理🌚 (Python)
README
# webvpn-dlut
```webvpn.dlut.edu.cn```是DUT的WebVPN,提供了从校外访问校园网环境资源的接口,可供访问校内资源。
但是登录后,由于链接为加密状态,仅能访问该系统门户所提供的站点。
正巧最近的课程涉及到该链接编制方式,用Python实现加密链接与普通链接的转换方式。
经查,该系统为[网瑞达科技](https://www.wrdtech.com/content/content.php?p=2_30_203)的资源访问控制系统(WebVPN),并使用了```wrdvpnisthebest!```作为key和iv。
加密方法:*AES-128-CFB*
# 代码结构
源代码为Python文件:“webvpn.py”代码分为四个函数:
```python
getCiphertext(plaintext, key = key_, cfb_iv = iv_, size = 128) #利用明文生成密文
getPlaintext(ciphertext, key = key_, cfb_iv = iv_, size = 128) #利用密文得到明文
getVPNUrl(url) #从普通的url转换成webvpn的url
getOrdinaryUrl(url) #从webvpn的url反推回普通的url
```# 运行方式
如果缺少相关Python库,在命令行执行
```pip install -r requirements.txt```并直接运行 ```python webvpn.py```
可以得到一个知网论文网页的webvpn网址和一个webvpn网址对应的原先的网址。
# 适用性
理论上来说,可以应用到所有使用该系统的WebVPN上。在此提供一种移植的思路:
将
```python
institution = 'webvpn.dlut.edu.cn'
```改为
```python
institution = 'webvpn.xxx.edu.cn'
```即可切换为XXX的WebVPN。GL
# 参见
[webvpn4dut](https://github.com/cjhahaha/webvpn4dut):JavaScript「实现」的WebVPN链接转换。
[dlut-survival-tools](https://github.com/BeautyYuYanli/dlut-survival-tools):与大连理工大学相关的工具收集。