精易论坛

标题: 一个简单的SOCKS5代理服务器的易语言代码示例 [打印本页]

作者: 小破旧    时间: 2025-7-31 19:18
标题: 一个简单的SOCKS5代理服务器的易语言代码示例
基础代理工具实现(HTTP/SOCKS5代理)
  
窗口程序集名保 留  保 留备 注
主窗口   
变量名类 型数组备 注
服务器服务器套接字  
客户端列表客户端信息0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
服务器.绑定 (1080)  ' 监听端口
服务器.监听 ()
标签_状态.标题 = "服务已启动 - 端口:1080"
子程序名返回值类型公开备 注
_服务器_客户进入  
参数名类 型参考可空数组备 注
客户句柄整数型
变量名类 型静态数组备 注
新客户端客户端信息 
新客户端.套接字 = 客户句柄
新客户端.远程地址 = 取远程地址 (客户句柄)
加入成员 (客户端列表, 新客户端)
启动线程 (&处理客户端, 取数组成员数 (客户端列表), )
子程序名返回值类型公开备 注
处理客户端  
参数名类 型参考可空数组备 注
索引整数型
变量名类 型静态数组备 注
请求头文本型 
目标主机文本型 
目标端口整数型 
请求头 = 客户端列表[索引].套接字.接收文本 ()
如果 (寻找文本 (请求头, "CONNECT", , ) > 0)  ' HTTPS代理
解析HTTPS请求 (请求头, 目标主机, 目标端口)
客户端列表[索引].套接字.发送文本 ("HTTP/1.1 200 Connection Established\r\n\r\n")
.否则  ' HTTP代理
解析HTTP请求 (请求头, 目标主机, 目标端口)

如果真 (目标主机 <> "" 目标端口 > 0)
客户端列表[索引].目标套接字.创建 ()
如果 (客户端列表[索引].目标套接字.连接 (目标主机, 目标端口))
启动线程 (&转发数据, 索引, )
客户端列表[索引].套接字.关闭 ()

子程序名返回值类型公开备 注
转发数据  
参数名类 型参考可空数组备 注
索引整数型
变量名类 型静态数组备 注
缓冲区字节集 
循环判断首 ()
缓冲区 = 客户端列表[索引].套接字.接收 ()
如果 (取字节集长度 (缓冲区) > 0)
客户端列表[索引].目标套接字.发送 (缓冲区)
跳出循环 ()

循环判断尾 ()


i支持库列表   支持库注释   
sock网络通讯支持库
EThread多线程支持库


辅助工具

配置管理工具

  
' 界面:列表框 + 按钮
子程序名返回值类型公开备 注
_按钮_添加规则_被单击  
变量名类 型静态数组备 注
规则文本型 
规则 = 编辑框_域名.内容 + "|" + 组合框_类型.内容
列表框_规则.加入项目 (规则, )
子程序名返回值类型公开备 注
保存配置  
写到文件 ("config.ini", 列表框_规则.所有项目)


流量监控面板
  
窗口程序集名保 留  保 留备 注
(未填写程序集名)   
变量名类 型数组备 注
变量名类 型数组备 注
流量统计流量数据  

子程序名返回值类型公开备 注
更新流量显示  
标签_上传.标题 = "上传: " + 到文本 (流量统计.上传) + " KB"
标签_下载.标题 = "下载: " + 到文本 (流量统计.下载) + " KB"
进度条_内存.位置 = 取内存使用率 ()


自动连接工具
  
子程序名返回值类型公开备 注
_定时器_心跳_周期事件  
如果 (网络检测 ("www.google.com") = )
重连VPN ()
标签_状态.标题 = "连接正常 - " + 取现行时间 ()


安全增强
  
' 添加简易认证
子程序名返回值类型公开备 注
验证客户端  
参数名类 型参考可空数组备 注
索引整数型
如果 (取文本中间 (请求头, 寻找文本 (请求头, "Proxy-Authorization:"), 50) ≠ "Basic base64密文")
返回错误响应 (407, "需要验证")



系统兼容性处理

  
子程序名返回值类型公开备 注
初始化网卡  
如果 (系统_取系统类型 () = "Windows")
' 调用netsh命令
运行 ("netsh interface set interface name=VPN admin=enable", 假, )
' Linux/Mac处理



方案

替代方案:
  
# 使用成熟开源方案二次开发
1. 编译OpenVPN源码
2. 通过易语言调用其命令行接口:
运行 ("openvpn --config client.ovpn", 假, )
3. 开发易语言配置界面


法律声明
开发VPN软件需遵守当地法律法规:



作者: 小破旧    时间: 2025-7-31 19:21
沙发自己的
作者: 一指温柔    时间: 2025-8-1 09:25
感谢你的支持,精易有你更精彩
作者: kyo9766    时间: 2025-8-1 09:40
学习一下 服务器 的使用,感谢分享
作者: 胖子葛格    时间: 2025-8-1 11:33
感谢大神分享~!
作者: wh1234567    时间: 2025-8-1 13:15
感谢分享
作者: jysoft2022    时间: 2025-8-1 13:52
发个完整的源码 谢谢
作者: 花小旭    时间: 2025-8-1 15:08
支持支持支持
作者: year1970    时间: 2025-8-2 21:16
感谢分享
作者: 小段    时间: 7 天前

感谢大神分享~!
作者: 夏亿    时间: 7 天前
感谢分享
作者: by百伯    时间: 7 天前

作者: ogion    时间: 7 天前
感谢分享,很给力!~
作者: 神奇的哆啦A梦    时间: 7 天前
感谢分享,很给力!~
作者: please    时间: 6 天前
感谢分享,支持开源!!!
作者: 易世界    时间: 6 天前
感谢分享,很给力!~
作者: 極度壞    时间: 5 天前
感谢分享,支持开源!!!
作者: ogion    时间: 5 天前
感谢分享,很给力!~
作者: 2663024683    时间: 4 天前
感谢分享,很给力!~
作者: xkAnd    时间: 4 天前
在此留名,以后多多交流,期待与你互动!
作者: eklove    时间: 4 天前
很赞同,谢谢你的精彩分享!
作者: please    时间: 4 天前
感谢分享,支持开源!!!
作者: 1184798949    时间: 4 天前
感谢分享
作者: 8503    时间: 4 天前
支持支持!
作者: kyzy0590    时间: 3 天前
        感谢分享,很给力!~
作者: ogion    时间: 前天 13:40
支持开源~!感谢分享
作者: shoe8    时间: 昨天 20:22
感谢分享,支持开源!!!




欢迎光临 精易论坛 (https://bbs.ijingyi.com/) Powered by Discuz! X3.4