2 Star 1 Fork 0

武汉锂钠氪锶科技有限公司 / remotesocks

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

remotesocks

本项目是为hportal提供远程网络编程功能的。

最初版本是基于libp2p stream单独实现一套listen机制并forward到一个本地的socket上, 这样客户端代码不需要调整,只需要额外执行一下配置代码,即可实现远程功能。 但在实现dial时,想不到不修改现有业务代码的前提下实现。

从使用者角度来看,对客户端最小侵入的方式是使用现有的socks5协议。因此listen和dial最终都迁移到socks5方式上。 并在此基础上进行扩展,以便兼容现有第三方socks client,以便在不需要完整功能的情况下 使用第三方(主要是考虑非golang项目)客户端访问此功能。

本项目是为hportal提供远程socks功能的,本身只需要服务端代码,但建于目前 大部分socks client仅支持connect command,少量支持bind commandudp associate, 但在基于bind实现tcp listener时一般都存在问题(因为这方面实际需求很少)。 因此把socks client代码也加强了一下,若是golang项目,请尽量使用本项目中的客户端来访问socks服务。

socks5的client和server完整实现,包括

  1. Connect command (相当于tcp dial)
  2. Bind command (相当于简化版的tcp listen)
  3. UDP ASSOCIATE (相当于udp dial)

额外扩展

  1. 监听token network(已废弃移除)
  2. 支持Listen UDP
  3. 支持UDP多播,以便实现远程ssdp发现等功能

安全方面

本库只是作为一个功能库,不提供完整的应用程序逻辑, 安全方面是由额外的客户端、服务端来加上额外逻辑,不在本项目中实现。

hportal相关

服务端的访问接口是由hserver进行封装后,交由lzc-runtime进行鉴权,提供给上层lzcapp使用的。

上层lzcapp通过lzc-runtime接口获取到实际的socks server url以及认证信息,然后使用本项目的 socks client以及相关封装后进行远程网络编程。

空文件

简介

socks5 with some extensions 1. full support listen and dial on TCP or UDP 2. listen on token network 3. support UDP multiplecast 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/linakesi/remotesocks.git
git@gitee.com:linakesi/remotesocks.git
linakesi
remotesocks
remotesocks
master

搜索帮助