reggiepy / rein

This program is used to efficiently redirect connections(TCP proxy to redirect) from one IP address/port combination to another. It is useful when operating virtual servers, dockers, firewalls and the like. Simple deployment. It was developed by golang.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rein

rein

This program is used to efficiently redirect connections from one IP address/port combination to another.

It is useful when operating virtual servers, dockers, firewalls and the like. It was developed by golang.

Alter tip:

1.0.3

  1. rein support stream mode.
  2. rein support fileshare mode.

1.0.4

  1. The fileshare mode support multiple path, 1.0.3 only support single path.

    eg:

    {
    	"stream": [
    		{"source": "0.0.0.0:8150", "target": "127.0.0.1:9991"}
    	],
    	"fileshare": [
    		{"port": "9991", "path": "/home/user/dir1"},
    		{"port": "9992", "path": "/home/user/dir2"}
    	]
    }
    

1. Simple deployment

1.1 CentOS/RHEL/Ubuntu

release download: https://note.youdao.com/ynoteshare1/index.html?id=b1e1ad270ba1b1af97ebdf3e2c8b7403&type=note

cd ~
wget http://note.youdao.com/yws/public/resource/b1e1ad270ba1b1af97ebdf3e2c8b7403/xmlnote/82E2CC3FF2744238B6AF36346298E5E5/27082 -O rein.zip
unzip rein.zip
chmod +x rein
./rein -e > rein.json
# modify rein.json for you
./rein -c rein.json

1.2 Windows

  • download file

    https://note.youdao.com/ynoteshare1/index.html?id=b1e1ad270ba1b1af97ebdf3e2c8b7403&type=note

    rein-amd64-windows.zip

  • decompress rein-amd64-windows.zip

  • generating and modifying conf rein.json

    # generate default conf 'rein.json'
    # windows cmd 
    ./rein.exe -e > rein.json
    
    # windows powershell
    ./rein.exe -e | out-file -encoding ascii rein.json
    {
    	"stream": [
    		{"source": "0.0.0.0:8150", "target": "127.0.0.1:9991"}
    	],
    	"fileshare": [
    		{"port": "9991", "path": "."}
    	]
    }
  • running

    ./rein.exe -c rein.json

2. Configuration tip

2.1 stream

stream include keywords source and target.

source open port to listen, target is data stream destination.

eg:

{
	"stream": [
		{"source": "0.0.0.0:8150", "target": "127.0.0.1:9991"}
	]
}

2.2 file share

This function looks like ftp.

fileshare include keywords port and path.

eg:

{
	"fileshare": [
		{"port": "9991", "path": "/home/lz"}
	]
}

rein 中文版说明

本程序主要用于进行反向代理IP地址和端口,功能类似于 nginxstream 模式和rinetd 的功能,由于rein使用了golang语言开发,并且提供已经编译好的可下载版本,在部署配置方面比它们要方便些。

功能列表:

  1. 反向代理IP和端口。
  2. 提供本地文件的快速网络(http模式)分享。

修改说明:

1.0.3

  1. rein 支持 stream 模式。
  2. rein 支持fileshare 模式。

1.0.4

  1. rein 的 fileshare 模式支持多路径分享, 在1.0.3 版本中支持一条路径。

    eg:

    {
    	"stream": [
    		{"source": "0.0.0.0:8150", "target": "127.0.0.1:9991"}
    	],
    	"fileshare": [
    		{"port": "9991", "path": "/home/user/dir1"},
    		{"port": "9992", "path": "/home/user/dir2"}
    	]
    }
    

1. 简单快速部署

1.1 CentOS/RHEL/Ubuntu 平台

已经编译好的版本下载地址: https://note.youdao.com/ynoteshare1/index.html?id=b1e1ad270ba1b1af97ebdf3e2c8b7403&type=note

下载 rein-amd64-linux-x.x.x.zip

如果您的 Linux 具备公网下载功能,可以直接通过下面的命令进行下载使用:

cd ~
wget http://note.youdao.com/yws/public/resource/b1e1ad270ba1b1af97ebdf3e2c8b7403/xmlnote/82E2CC3FF2744238B6AF36346298E5E5/27082 -O rein.zip
# 需要安装 unzip 
unzip rein.zip
chmod +x rein
./rein -e > rein.json
# modify rein.json for you
./rein -c rein.json

1.2 Windows 平台

使用您的浏览器下载 https://note.youdao.com/ynoteshare1/index.html?id=b1e1ad270ba1b1af97ebdf3e2c8b7403&type=note

rein-amd64-windows-x.x.x.zip并解压它。

使用下面的命令生成并修改 rein.json 配置文件

# generate default conf 'rein.json'
# 使用 cmd 时
./rein.exe -e > rein.json

# 使用 powershell 时
./rein.exe -e | out-file -encoding ascii rein.json

生成的默认配置文件如下:

{
	"upstream": [
		{"source": "0.0.0.0:8150", "target": "127.0.0.1:9991"}
	],
	"fileshare": [
		{"port": "9991", "path": "."}
	]
}

根据您的需要进行修改配置文件后,运行:

./rein.exe -c rein.json

2. 配置文件说明

2.1 stream 模式

stream 模式主要由 sourcetarget 构成,实现的功能就是将主机上的某个IP地址与端口,映射到其他的主机(本机)和端口上。在 stream 模式下,支持多组由 sourcetarget 构成的映射对。source 是监听 IP 和端口,target是需要转发到的 IP 和端口。

举例说明:

{
	"upstream": [
		{"source": "0.0.0.0:8150", "target": "127.0.0.1:9991"}
	]
}

2.2 file share 模式

此模式类似于ftp功能,能快速将本地资源进行网络(http方式)发布,它由portpath构成。port是要开放的端口,path是本地资源的路径。类似地,这个功能也支持多组。

举例说明:

{
	"fileshare": [
		{"port": "9991", "path": "/home/lz"}
	]
}

About

This program is used to efficiently redirect connections(TCP proxy to redirect) from one IP address/port combination to another. It is useful when operating virtual servers, dockers, firewalls and the like. Simple deployment. It was developed by golang.

License:MIT License


Languages

Language:Go 94.8%Language:Makefile 4.7%Language:Batchfile 0.5%