本项目是为hportal提供远程网络编程功能的。
最初版本是基于libp2p stream单独实现一套listen机制并forward到一个本地的socket上, 这样客户端代码不需要调整,只需要额外执行一下配置代码,即可实现远程功能。 但在实现dial时,想不到不修改现有业务代码的前提下实现。
从使用者角度来看,对客户端最小侵入的方式是使用现有的socks5协议。因此listen和dial最终都迁移到socks5方式上。 并在此基础上进行扩展,以便兼容现有第三方socks client,以便在不需要完整功能的情况下 使用第三方(主要是考虑非golang项目)客户端访问此功能。
本项目是为hportal提供远程socks功能的,本身只需要服务端代码,但建于目前
大部分socks client仅支持connect command
,少量支持bind command
和udp associate
,
但在基于bind
实现tcp listener时一般都存在问题(因为这方面实际需求很少)。
因此把socks client代码也加强了一下,若是golang项目,请尽量使用本项目中的客户端来访问socks服务。
socks5的client和server完整实现,包括
额外扩展
本库只是作为一个功能库,不提供完整的应用程序逻辑, 安全方面是由额外的客户端、服务端来加上额外逻辑,不在本项目中实现。
服务端的访问接口是由hserver进行封装后,交由lzc-runtime进行鉴权,提供给上层lzcapp使用的。
上层lzcapp通过lzc-runtime接口获取到实际的socks server url以及认证信息,然后使用本项目的 socks client以及相关封装后进行远程网络编程。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。