bifrost

module
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2019 License: MIT

README

Bifrost · PRs Welcome

内网穿透工具,名字的灵感来自战神4中北欧神话的彩虹桥

架构
实现内容
  • socks5协议实现
  • 网桥
  • 代理客户端
  • 本地socks->socks免校验代理

使用

在内网启动service,在公网启动bridge,使用socks5代理连接bridgeproxy端口即可使用service的内网环境, 所有的请求都会被service代理,支持多bridge、多service的部署方式

release中下载当前系统的程序压缩包, 解压后里面会包含一份默认配置.bifrost.yaml(查看需要 ls -a),程序会根据配置文件.bifrost.yaml初始化程序, 不过当前版本如果找不到配置也会直接使用代码里预设好的默认配置

也可以自己制定配置文件的位置

# -f 可以制定配置文件
$ bifrost [action] -f ~/.bifrost.yaml
任意访问内网
# 启动网桥,网桥必须在service和client都可以访问的环境下启动
$ bifrost bridge
# 启动代理客户端
$ bifrost service
# 外网启本地代理
$ bifrost proxy

我使用的代理工具是Chrome上的Proxy SwitchyOmegasock5协议代理到本地8080端口,done,事实上bifrost proxy本身是可以省略的,但是SwitchyOmega不支持Sock5 Auth,所以使用proxy中转了一下No Auth的请求。

端口映射
# 启动网桥,网桥必须在service和client都可以访问的环境下启动
$ bifrost bridge
# 启动代理客户端
$ bifrost service
# 外网启动端口映射
$ bifrost mapping

脚本本身支持自定义参数详情可以

# 了解帮助信息
$ bifrost -h

配置

bridge:
  # 网桥地址
  addr: :7000
  # 网桥代理地址
  proxyAddr: :8888
service:
  # 分组
  group: tangtangtang
  # 网桥地址,接受多个网桥地址使用`,`分割,如 :7000,:7001
  bridgeAddr: :7000
  # 密码
  password: 123456
proxy:
  # 本地代理地址
  addr: :8080
  # 网桥代理地址
  bridgeProxyAddr: :8888
  # 分组
  group: tangtangtang
  # 密码
  password: 123456
  # 代理类型 http || socks5,默认socks5
  type: socks5
mapping:
  # 本地代理地址
  addr: :8080
  # 网桥代理地址
  bridgeProxyAddr: :8888
  # 映射地址
  realAddr: ''
  # 分组
  group: tangtangtang
  # 密码
  password: 123456

功能说明

负载均衡

允许使用相同组注册到bridge,根据机器临时id一致性hash策略选择service

多路复用

bridge和service通信使用多路复用策略

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL