项目地址 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 ![]() 和 ssh -nNT -R 有啥区别? |
2 ThirdFlame 2020-02-29 21:38:13 +08:00 ![]() 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 PRO 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  |
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 |