项目地址 https://gitee.com/guangleihe/proxyer
现在市面上的内网映射工具,大部分都是收费的,收费的同时一般也只能够提供有限的网络带宽。造成这个问题最主要的原因是流量本来就非常贵,无论是谁提供内网映射服务都绕不过这个问题,而免费的内网映射工具,更无法保证提供优质的服务了。
当下互联网大部分的应用已经高度依赖可靠的网络带宽,网络带宽小,会极大的影响很多应用的体验,例如远程桌面、文件传输、视频监控等应用,带宽小体验非常差。
与此同时,云服务器的租用变得越来越简单,按流量收费的这种模式也逐渐兴起,在这种情况下,我们完全可以选择为自己或者团队搭建一个私有的内网映射服务。提供按质,按量的优质服务。所有的数据和流量都在自己的掌握之下,可大可小,将真正发挥远程的能力。
Proxyer 是一个允许随意搭建的新一代的内网映射工具,借助于公网服务器和内网客户端,可以将内网电脑的任意 IP 地址和端口映射到公网服务器上。整个过程完全自动化,对内网的依赖极小,只要客户端能够连接外网服务器,就能够实现端口映射。
试用地址 http://test.proxyer.cn:6789/ 访问密码:12345678
使用 Proxyer,您可以
与其它的内网映射工具相比,Proxyer 有三个显著的特点
以花生壳相比,根据官方公布的价格,最便宜的套餐 318 元 /1/年,只有 1Mbps 的共享带宽,而且只允许一个映射。最贵的企业版本 4988 元一年,独享 5Mbps 带宽,映射数量按需开通。
Proxyer 完全免费。在阿里云环境下,一台最便宜的共享云服务器只需要 24 元一个月,开 10M 按流量收费的服务,您就可以任意映射端口,同时独占整个服务器资源和带宽。一个月成本不过 30 - 40 元,就可以获得比花生壳 4988 元套餐更好的服务。
如果您将 proxyer 用于远程办公,综合成本和用户体验整体核算下来,也会发现比目前 Teamview 和向日葵等软件低至少 5 - 10 倍的价格。
与其它类似的工具,例如https://www.ngrok.cc/, https://www.nsloop.com/、https://serveo.net/ 相比。
Proxyer 依然有两个重要优势
服务器上先保证安装了Docker和Docker-Compose
# 1. 下载docker-compose.yml配置文件
curl -sSL https://gitee.com/guangleihe/proxyer/raw/master/docker-compose.yaml -o docker-compose.yml
# 2. 直接使用docker-compose up 启动服务
PROXYER_PUBLIC_HOST={你的公网IP地址或者域名} docker-compose up -d
例如,启动对外公开IP为121.11.111.111的映射服务器
PROXYER_PUBLIC_HOST=121.11.111.111 docker-compose up -d
启动之后,您就可以通过浏览器访问服务器的6789端口进行配置并且使用了。后面基本上不需要刻意配置什么,没有复杂的配置文件,直接根据提示使用即可。
如上面的例子,可以通过http://121.11.111.111:6789/
访问服务器
1
Shazoo 2020-02-29 21:09:16 +08:00 1
和 ssh -nNT -R 有啥区别?
|
2
ThirdFlame 2020-02-29 21:38:13 +08:00 1
frp nps ?
|
3
guangleihe OP @ThirdFlame 类似的工具,但是使用更简单一些。
|
4
guangleihe OP @Shazoo 可以综合动态的管理映射端口。对普通人来说,设置更加方便
|
5
lekai63 2020-02-29 22:29:25 +08:00 via iPhone
看楼主介绍后 我决定继续使用 frp 因为反正已经配好了呀:)
|
6
momaixi 2020-02-29 22:32:02 +08:00
有加密么 能不能被中间人嗅探
|
7
guangleihe OP @momaixi 有加密,目前加密比较简单,后面持续完善
|
8
guangleihe OP @lekai63 兄弟,可以试一试呀,又不会怀孕……
|
9
Tink 2020-02-29 22:47:13 +08:00 via iPhone
nps 也是有 Web 端管理界面啊,比这个方便一些吧
|
10
zdb1115 2020-02-29 22:52:29 +08:00
谢谢了。
|
11
AngryPanda 2020-02-29 22:54:58 +08:00
作为 frp 的备选方案收藏了先
|
12
zhchyu999 2020-02-29 22:55:43 +08:00
似乎不开源,不太放心
|
13
licong 2020-02-29 23:04:08 +08:00
和 frp 有什么区别
|
14
guangleihe OP @Tink 试用一下就知道了。
|
15
guangleihe OP @zhchyu999 现在还不具备开源条件,等过一段时间更完善了,计划开源。
|
16
guangleihe OP @licong 本质上是一样的,但是从安装和使用上 proxyer 都更加方便一些,你可以亲自试一下。
|
17
guangleihe OP @zdb1115 Thanks ... ...
|
18
Guruu 2020-03-01 01:51:10 +08:00 via Android
ZeroTier 在 ipv6 下能跑出 100M 带宽,需要自建中转不就和 frp 差不多了,阿里云包固定带宽或者按流量计费都不便宜
|
19
guangleihe OP @Guruu ZeroTier 本质上还是虚拟局域网 VPN,在中国的网络状态下很难活得舒服。Proxyer 相对于 FRP 最大的优势还是在于使用简单得多。你可以尝试一下。
|
20
v2vTZ 2020-03-01 03:38:32 +08:00 via iPhone
马一个.现在的方案是 frp
|
21
guangleihe OP @v2vTZ 欢迎使用,有啥问题,直接提!
|
22
xh13096 2020-03-01 07:45:44 +08:00 via Android
frp 还没搞,试一试
|
23
guangleihe OP @xh13096 有啥问题反馈给我就是
|
24
nidhogger 2020-03-01 11:45:10 +08:00
目前 ddns 够用,收藏先
|
25
guangleihe OP @nidhogger 牛逼,现在 DDNS 能够使用起的人不多了。
|
26
rzzm 2020-03-01 16:37:03 +08:00
@guangleihe
好神奇啊, 下载的客户端会把 server ip 编译在里面! 这是怎么做到的啊? 还有就是 docker-compose.yml 里面, 127.0.0.1 为什么不用 0.0.0.0 呢? 比如你看我的部署环境是这样的: Windows7 -> 使用 Docker-toolbox -> Virtualbox 中把[6789,6544,2379]映射到 host -> 路由器中映射 6789 到公网 |
27
guangleihe OP @rzzm 终于有一个人发现里面第一个神奇的地方了。下载客户端的时候,就是把 ServerIP 编码到了应用程序里面的,为了避免用户去配置服务端,少一步配置。
客户端映射的内网地址,会在服务端随机选择一个地址。所以,如果你的服务端在内网里面,对外只暴露一个 6789 服务,映射出来的地址外网是无法访问的,(它有可能会映射本机的 35467 之类的端口,这个端口你路由器又没有配置端口映射)。 所以,还是得一个公网服务器才行……………… |
28
guangleihe OP @rzzm 需要对外的地址是写的 0.0.0.0,不需要对外的地址是写的 127.0.0.1。 对外网需要开放 6789、6544,和 32367-65536 的端口。端口资源占用是一个问题,主要是每一个内网地址的映射都需要一个服务器的端口
|
29
ylx 2020-03-02 10:14:48 +08:00
服务端需要开放的端口 玄学啊,给我映射了一个 2 万多的端口。。
|
30
guangleihe OP @ylx 端口的范围是由服务器自己选择的,一般的端口选择范围在这个文件里面能够看到 /proc/sys/net/ipv4/ip_local_port_range。 一般是 32768 - 60999。如果修改过这个值,那就是相应的值。
|
31
ylx 2020-03-02 10:30:53 +08:00
|
32
guangleihe OP @ylx 好想法!后面统一更新了
|
33
mezhangkai 2020-03-02 11:36:07 +08:00
虽然在用 frp,这个可以玩一玩,
|
34
guangleihe OP @mezhangkai 欢迎使用,欢迎提意见!
|
35
ylx 2020-03-02 19:23:35 +08:00
我有个 VPS 部署完后下载 windowsUI exe 运行后不久就自动退了 没弹出浏览器 怎么办
服务端已经设置过密码了 |
36
ylx 2020-03-02 19:27:23 +08:00
Can't connect the proxyer server *:678, please check the network status ... ...
这里端口是错的吧? |
37
guangleihe OP @ylx 你在安装的时候是不是没有指定 PROXYER_PUBLIC_HOST 的地址,像下面这样启动
PROXYER_PUBLIC_HOST={你的公网 IP 地址或者域名} docker-compose up -d 上面那个测试服务器因为有问题,所以关了一段时间 ,现在好了 |
38
ylx 2020-03-02 22:49:32 +08:00
肯定指定了
PROXYER_PUBLIC_HOST=* docker-compose up -d Starting root_install_1 ... done Starting root_etcd_1 ... done root_proxyer-server_1 is up-to-date root_proxyer-turn_1 is up-to-date 和你测试服务器没什么关系啊 |
39
ylx 2020-03-02 23:09:01 +08:00
是不是第一次运行出错后 PROXYER_PUBLIC_HOST 没赋值到
之后不管我是否删除 /mnt/data/proxyer 都没用的? |
40
guangleihe OP @ylx PROXYER_PUBLIC_HOST=* 不行,需要指定一个具体可以访问的 IP 或者域名,这个信息会被编码到客户端,客户端在运行的时候,显然连接不上`*:6789`这个地址
|
41
guangleihe OP @ylx 你只要把这个目录删除了,整个服务器都是新的
|
42
ylx 2020-03-03 09:07:41 +08:00
@guangleihe 大哥,我试了几次了 *是我抹掉了 IP 不是真的*
我删除那个目录重试了几次 下次的无 UI 版本都是链接到 678 这个端口 明显是错的 链接到的服务器 IP 是对的 端口是错的 |
43
ylx 2020-03-03 10:07:08 +08:00
我可能知道是什么原因了 我用的是域名 然后超出你存储的字符串了
不过目前还没弄好 |
44
guangleihe OP @ylx 看看 Docker 里面,第一个 command 里面是不是写的"${PROXYER_PUBLIC_HOST}:6789" 如下,如果这个地方都写的 678 的话,那就是这有问题。
install: image: registry.cn-hangzhou.aliyuncs.com/proxyer/proxyer/proxyer:v1.0.1 command: /bin/sh /opt/bin/install.sh "${PROXYER_PUBLIC_HOST}:6789" volumes: - /mnt/data/proxyer:/opt/proxyer restart: "no" 2. 你的输入的 HOST 有多长?多少个字符,我看看是不是有一个地方截断了。 3. 你可以在运行的时候输入一个 -pdns={HOST}:6789 这个参数,也可以连接到服务器上面。 |
45
guangleihe OP @ylx 是 docker-compose.yml 这个文件里面 第一个 Install 写的参数 "${PROXYER_PUBLIC_HOST}:6789" 是不是 6789.
|
46
guangleihe OP @ylx 应该是这样子的,我今天把这个问题修复一下。Thanks
|
47
ylx 2020-03-03 10:35:29 +08:00
@guangleihe 我现在用 IP 端口映射好了
但是远程连不上 郁闷了 等你更新好我再试试 |
48
guangleihe OP @ylx HI,我已经更新了镜像了。你可以
使用 docker pull 更新一下镜像,再启动试一试。V2EX 不允许我发链接了,docker pull {镜像名称} 这个镜像名称就是写到 docker-compose.yml 里面的那个 proxyer:v1.0.1 镜像地址 |
49
Kimipoker 2020-03-03 11:47:44 +08:00
root@iZwz974lqepn0tz8winy9oZ:~# sudo chmod +x /usr/local/bin/docker-compose
root@iZwz974lqepn0tz8winy9oZ:~# curl -sSL https://gitee.com/guangleihe/proxyer/raw/master/docker-compose.yaml -o docker-compose.yml root@iZwz974lqepn0tz8winy9oZ:~# PROXYER_PUBLIC_HOST=xxx.xxx.xxx.xxx docker-compose up -d -bash: /usr/bin/docker-compose: No such file or directory 你好 这个是什么原因呢? docker 是我之前转的 没有使用# 1. 一键安装 Docker curl -sSL https://get.daocloud.io/docker | sh Ubuntu 的机器 |
50
guangleihe OP @Kimipoker
root@iZwz974lqepn0tz8winy9oZ:~# sudo chmod +x /usr/local/bin/docker-compose root@iZwz974lqepn0tz8winy9oZ:~# curl -sSL https://gitee.com/guangleihe/proxyer/raw/master/docker-compose.yaml -o docker-compose.yml 这两个命令执行反了,先通过 curl 下载 docker-compose 到 /usr/local/bin 目录下,再修改 docker-compose 为可执行权限。 |
51
ylx 2020-03-03 15:48:19 +08:00
现在映射是没问题 但是不知道为什么 3389 映射后 一直内部错误 要么一直在链接
|
52
guangleihe OP @ylx 你服务器的端口是不是有限制外网访问的?特别是 6789、6544 和映射出来的端口?如果没有问题,你可以根据本机的 127.0.0.1:9876 端口映射出来看看,有什么问题没。还有问题可以加我微信:guangleihe
|
53
sansam 2020-03-03 19:55:06 +08:00
mark 一下,支持
|
54
guangleihe OP @sansam Thanks,欢迎使用
|
55
wslzy007 2020-03-04 12:39:38 +08:00
对个人用户而言,要安全就不要将端口映射到外网,去年 RDP 漏洞证明了一切!内网 vs 内网 +客户端配置+多链路聚合模式才是王道。推荐使用 SG ( https://github.com/lazy-luo/smarGate )
|
56
guangleihe OP @wslzy007 这个也是一个比较有优秀的项目。两种技术各有所长,根据应用的场景不同,使用的地方也不同。
|
57
HarveyLiu 2020-03-05 15:36:03 +08:00
这种涉及到流量转发的,不开源,不敢用啊,Frp 对 openwrt arm、x86、支持也良好,所以流行啊。
|
58
guangleihe OP @HarveyLiu 这个东西看怎么想吧,有时候开源了,更不一定敢用。
|
59
npe 2020-03-06 16:24:57 +08:00
映射地址为什么没有呢?
|
60
npe 2020-03-06 16:30:37 +08:00
@npe ![image.png]( https://i.loli.net/2020/03/06/X3MTzFcHvSUu9r4.png)
|
61
guangleihe OP @npe 加我微信:guangleihe,我看一下你的服务
|
62
guangleihe OP @npe 服务已经恢复了,更新了一下服务
|
63
her100 2020-03-17 10:49:09 +08:00
PROXYER_PUBLIC_HOST 后下面这样是正常的吗,本地 ip+端口号可以服务器,公网 ip 不能访问
root_etcd_1 is up-to-date Recreating root_install_1 ... done Recreating root_proxyer-server_1 ... done Recreating root_proxyer-turn_1 ... done |