mirror of
https://gitee.com/konyshe/goodlink.git
synced 2025-12-24 08:13:00 +08:00
8cf75a53062195a710583a3988aec14eab2afeb2
特点
-
两台主机之间直连!直连!直连!不经过第三方服务器,不用担心数据隐私泄露
-
一条命令搞定,无需安装、无需注册,无需公网IP,无需配置文件
-
直连基于QUIC,高性能,已加密
注:1.1.6版本开始加强了通信安全,因此和老版本不兼容
介绍
-
两台主机运行同一个程序, 一台主机加--remote选项(以下称remote端), 另一台主机加--local选项(以下称local端)。
-
local端和remote端之间的连接是点对点直连的,不经过第三方服务器
-
可以在local端访问remote端, 但是反过来不可以
-
如果需要反过来, 或者需要访问多个remote端, 就运行多个程序或启动多个 Docker
-
一个local端对应一个remote端,两端必须使用同一个--key
-
由于直连过程复杂,会出现反复重试,通常10分钟内成功。如果长时间无法连接,请反馈我解决
简单使用
工作模式 - 介绍
代理模式
local端需要指定本地端口,以提供Socks5代理服务
local端需要在系统或者软件中配置Socket5代理,便可访问remote端所处网络中的所有主机端口
转发模式
remote端需要指定所处网络中的某一个主机端口,local端也需要指定本地端口。
local端无需配置Socks5代理,直接访问指定的本地端口,就等于访问remote端指定的主机端口。但也只能访问这一个端口
注:转发模式仅支持TCP协议,如果remote端需要转发多个TCP端口,需执行多个命令或启动多个 Docker(--key不能重复)
代理模式 - 举例
local端运行在公司的电脑,remote端运行在家里的NAS。
在公司电脑上配置代理地址:socks5://127.0.0.1:18080,便可访问家里包括NAS在内的所有主机端口。
家里的NAS ( linux,Docker )
下载镜像:registry.cn-shanghai.aliyuncs.com/kony/goodlink
docker rm goodlink -f; docker run -d --name=goodlink --net=host --restart=always registry.cn-shanghai.aliyuncs.com/kony/goodlink --key= nas_202412140928
公司的电脑 ( windows, 命令行 )
.\goodlink-windows-amd64.exe --local=127.0.0.1:18080 --key=nas_202412140928
注:remote端和local端均支持命令行 和 Docker 方式,二选一即可,以上仅作两种方式的举例。
转发模式 - 举例
local端运行在公司的电脑,remote端运行在家里的NAS。
在公司访问 http://127.0.0.1:9999 , 等于访问家里的NAS管理页面http://192.168.3.2:9999
家里的NAS (linux,Docker)
下载镜像:registry.cn-shanghai.aliyuncs.com/kony/goodlink
docker rm goodlink -f; docker run -d --name=goodlink --net=host --restart=always registry.cn-shanghai.aliyuncs.com/kony/goodlink --remote=192.168.3.2:9999 --key=nas_202412140928
公司的电脑 (windows, 命令行)
.\goodlink-windows-amd64.exe --local=127.0.0.1:9999 --key=nas_202412140928
选项说明
root@VM-4-9-ubuntu:~/go/src/goodlink# ./bin/goodlink-linux-amd64 -h
Usage of bin/goodlink-linux-amd64:
--remote string
remote端所处网络中, 需要被远程访问的主机地址端口。若不加这个选项就,就是代理模式
--local string
local端监听的地址端口
--key string
自定义, local端和remote端必须一致。16-24个字节长度: {name}_{YYYYMMDDHHMM}, 例如: kony_202412140928
--conn int
由于remote和local两端默认使用的算法不一样,如果出现超过10分钟无法连接的情况,可能是其中一端和默认的算法不兼容,
此时可在local端增加 "--conn=1" 选项,以调换两端的算法,就能连接了
自己如何编译
cd /root/go/src
git clone -b main https://gitee.com/konyshe/gogo.git
git clone https://gitee.com/konyshe/goodlink.git
cd goodlink
make clean; make
详细使用说明
Description
Languages
Go
97%
Makefile
1.2%
Dockerfile
0.7%
Shell
0.7%
Batchfile
0.4%
