V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
guangleihe
V2EX  ›  分享创造

Proxyer 免费内网映射工具

  •  3
     
  •   guangleihe · 2020-02-29 18:28:37 +08:00 · 9568 次点击
    这是一个创建于 1489 天前的主题,其中的信息可能已经有所发展或是发生改变。

    proxyer

    私有内网映射工具

    项目地址 https://gitee.com/guangleihe/proxyer

    现在市面上的内网映射工具,大部分都是收费的,收费的同时一般也只能够提供有限的网络带宽。造成这个问题最主要的原因是流量本来就非常贵,无论是谁提供内网映射服务都绕不过这个问题,而免费的内网映射工具,更无法保证提供优质的服务了。

    当下互联网大部分的应用已经高度依赖可靠的网络带宽,网络带宽小,会极大的影响很多应用的体验,例如远程桌面、文件传输、视频监控等应用,带宽小体验非常差。

    与此同时,云服务器的租用变得越来越简单,按流量收费的这种模式也逐渐兴起,在这种情况下,我们完全可以选择为自己或者团队搭建一个私有的内网映射服务。提供按质,按量的优质服务。所有的数据和流量都在自己的掌握之下,可大可小,将真正发挥远程的能力。

    Proxyer 是一个允许随意搭建的新一代的内网映射工具,借助于公网服务器和内网客户端,可以将内网电脑的任意 IP 地址和端口映射到公网服务器上。整个过程完全自动化,对内网的依赖极小,只要客户端能够连接外网服务器,就能够实现端口映射。

    试用地址 http://test.proxyer.cn:6789/ 访问密码:12345678

    使用 Proxyer,您可以

    • 远程使用 Windows 远程桌面
    • 远程 GIT,SVN
    • 远程访问 Linux
    • 视频监控
    • 远程共享 NAS 存储、FTP
    • ... ...

    与其它的内网映射工具相比,Proxyer 有三个显著的特点

    1. Proxyer 不提供公共映射服务器,Proxyer 只提供安装包,您可以将 Proxyer 安装到自己的服务器上,数据和带宽是完全独占,数据是完全安全的。
      1. 企业内部可以自己搭建自己私有的服务器,这样就极其简单的为企业构建一些场景下的远程办公能力。
      2. 企业某一些特殊产品,需要远程运维,也可以通过搭建自己的私有服务器提供简单高效的解决方案。
      3. 个人可以搭建自己私有的服务端为自己提供优质的内网映射服务。
    2. Proxyer 提供极简的安装使用方式。
      1. 服务端 Docker 一键安装
      2. 客户端只有一个可执行文件,完全绿色,支持 Windows 端、macOS、Linux 端。(为了保证客户端只有一个可执行文件,同时不生成,不依赖其它文件,我们做了很多独创性设计,欢迎体验)
    3. 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 依然有两个重要优势

    1. 自己安装自己的服务器,低成本独享服务,不受其它客户影响,安全可靠。
    2. 安装和配置极其简单,开箱即用。

    安装试用

    • 安装使用可以查看WIKI

    安装和使用

    • 当然 Proxyer 还处于初级版本,有问题可以在本项目中的Issues
    • 如果定制化或者大规模应用,可以发邮件咨询: [email protected]
    第 1 条附言  ·  2020-03-01 03:36:59 +08:00

    快速安装

    服务器上先保证安装了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/访问服务器

    64 条回复    2020-03-17 13:44:27 +08:00
    Shazoo
        1
    Shazoo  
       2020-02-29 21:09:16 +08:00   ❤️ 1
    和 ssh -nNT -R 有啥区别?
    ThirdFlame
        2
    ThirdFlame  
       2020-02-29 21:38:13 +08:00   ❤️ 1
    frp nps ?
    guangleihe
        3
    guangleihe  
    OP
       2020-02-29 22:06:54 +08:00
    @ThirdFlame 类似的工具,但是使用更简单一些。
    guangleihe
        4
    guangleihe  
    OP
       2020-02-29 22:07:39 +08:00
    @Shazoo 可以综合动态的管理映射端口。对普通人来说,设置更加方便
    lekai63
        5
    lekai63  
       2020-02-29 22:29:25 +08:00 via iPhone
    看楼主介绍后 我决定继续使用 frp 因为反正已经配好了呀:)
    momaixi
        6
    momaixi  
       2020-02-29 22:32:02 +08:00
    有加密么 能不能被中间人嗅探
    guangleihe
        7
    guangleihe  
    OP
       2020-02-29 22:38:34 +08:00
    @momaixi 有加密,目前加密比较简单,后面持续完善
    guangleihe
        8
    guangleihe  
    OP
       2020-02-29 22:39:33 +08:00
    @lekai63 兄弟,可以试一试呀,又不会怀孕……
    Tink
        9
    Tink  
       2020-02-29 22:47:13 +08:00 via iPhone
    nps 也是有 Web 端管理界面啊,比这个方便一些吧
    zdb1115
        10
    zdb1115  
       2020-02-29 22:52:29 +08:00
    谢谢了。
    AngryPanda
        11
    AngryPanda  
       2020-02-29 22:54:58 +08:00
    作为 frp 的备选方案收藏了先
    zhchyu999
        12
    zhchyu999  
       2020-02-29 22:55:43 +08:00
    似乎不开源,不太放心
    licong
        13
    licong  
       2020-02-29 23:04:08 +08:00
    和 frp 有什么区别
    guangleihe
        14
    guangleihe  
    OP
       2020-02-29 23:06:48 +08:00
    @Tink 试用一下就知道了。
    guangleihe
        15
    guangleihe  
    OP
       2020-02-29 23:07:50 +08:00
    @zhchyu999 现在还不具备开源条件,等过一段时间更完善了,计划开源。
    guangleihe
        16
    guangleihe  
    OP
       2020-02-29 23:09:27 +08:00
    @licong 本质上是一样的,但是从安装和使用上 proxyer 都更加方便一些,你可以亲自试一下。
    guangleihe
        17
    guangleihe  
    OP
       2020-02-29 23:09:42 +08:00
    @zdb1115 Thanks ... ...
    Guruu
        18
    Guruu  
       2020-03-01 01:51:10 +08:00 via Android
    ZeroTier 在 ipv6 下能跑出 100M 带宽,需要自建中转不就和 frp 差不多了,阿里云包固定带宽或者按流量计费都不便宜
    guangleihe
        19
    guangleihe  
    OP
       2020-03-01 03:29:27 +08:00
    @Guruu ZeroTier 本质上还是虚拟局域网 VPN,在中国的网络状态下很难活得舒服。Proxyer 相对于 FRP 最大的优势还是在于使用简单得多。你可以尝试一下。
    v2vTZ
        20
    v2vTZ  
       2020-03-01 03:38:32 +08:00 via iPhone
    马一个.现在的方案是 frp
    guangleihe
        21
    guangleihe  
    OP
       2020-03-01 03:41:58 +08:00
    @v2vTZ 欢迎使用,有啥问题,直接提!
    xh13096
        22
    xh13096  
       2020-03-01 07:45:44 +08:00 via Android
    frp 还没搞,试一试
    guangleihe
        23
    guangleihe  
    OP
       2020-03-01 11:36:29 +08:00
    @xh13096 有啥问题反馈给我就是
    nidhogger
        24
    nidhogger  
       2020-03-01 11:45:10 +08:00
    目前 ddns 够用,收藏先
    guangleihe
        25
    guangleihe  
    OP
       2020-03-01 11:49:25 +08:00
    @nidhogger 牛逼,现在 DDNS 能够使用起的人不多了。
    rzzm
        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 到公网
    guangleihe
        27
    guangleihe  
    OP
       2020-03-01 18:15:23 +08:00
    @rzzm 终于有一个人发现里面第一个神奇的地方了。下载客户端的时候,就是把 ServerIP 编码到了应用程序里面的,为了避免用户去配置服务端,少一步配置。

    客户端映射的内网地址,会在服务端随机选择一个地址。所以,如果你的服务端在内网里面,对外只暴露一个 6789 服务,映射出来的地址外网是无法访问的,(它有可能会映射本机的 35467 之类的端口,这个端口你路由器又没有配置端口映射)。

    所以,还是得一个公网服务器才行………………
    guangleihe
        28
    guangleihe  
    OP
       2020-03-01 18:20:44 +08:00
    @rzzm 需要对外的地址是写的 0.0.0.0,不需要对外的地址是写的 127.0.0.1。 对外网需要开放 6789、6544,和 32367-65536 的端口。端口资源占用是一个问题,主要是每一个内网地址的映射都需要一个服务器的端口
    ylx
        29
    ylx  
       2020-03-02 10:14:48 +08:00
    服务端需要开放的端口 玄学啊,给我映射了一个 2 万多的端口。。
    guangleihe
        30
    guangleihe  
    OP
       2020-03-02 10:18:37 +08:00
    @ylx 端口的范围是由服务器自己选择的,一般的端口选择范围在这个文件里面能够看到 /proc/sys/net/ipv4/ip_local_port_range。 一般是 32768 - 60999。如果修改过这个值,那就是相应的值。
    ylx
        31
    ylx  
       2020-03-02 10:30:53 +08:00
    @guangleihe 这个映射端口可以给个提示范围以及可以设置自定义吧
    我在想 IP 都能集成进去 端口范围那也能获取及打包进去
    等更新
    guangleihe
        32
    guangleihe  
    OP
       2020-03-02 10:34:12 +08:00
    @ylx 好想法!后面统一更新了
    mezhangkai
        33
    mezhangkai  
       2020-03-02 11:36:07 +08:00
    虽然在用 frp,这个可以玩一玩,
    guangleihe
        34
    guangleihe  
    OP
       2020-03-02 13:10:53 +08:00
    @mezhangkai 欢迎使用,欢迎提意见!
    ylx
        35
    ylx  
       2020-03-02 19:23:35 +08:00
    我有个 VPS 部署完后下载 windowsUI exe 运行后不久就自动退了 没弹出浏览器 怎么办
    服务端已经设置过密码了
    ylx
        36
    ylx  
       2020-03-02 19:27:23 +08:00
    Can't connect the proxyer server *:678, please check the network status ... ...
    这里端口是错的吧?
    guangleihe
        37
    guangleihe  
    OP
       2020-03-02 21:36:37 +08:00
    @ylx 你在安装的时候是不是没有指定 PROXYER_PUBLIC_HOST 的地址,像下面这样启动

    PROXYER_PUBLIC_HOST={你的公网 IP 地址或者域名} docker-compose up -d


    上面那个测试服务器因为有问题,所以关了一段时间 ,现在好了
    ylx
        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
    和你测试服务器没什么关系啊
    ylx
        39
    ylx  
       2020-03-02 23:09:01 +08:00
    是不是第一次运行出错后 PROXYER_PUBLIC_HOST 没赋值到
    之后不管我是否删除 /mnt/data/proxyer 都没用的?
    guangleihe
        40
    guangleihe  
    OP
       2020-03-03 09:03:54 +08:00
    @ylx PROXYER_PUBLIC_HOST=* 不行,需要指定一个具体可以访问的 IP 或者域名,这个信息会被编码到客户端,客户端在运行的时候,显然连接不上`*:6789`这个地址
    guangleihe
        41
    guangleihe  
    OP
       2020-03-03 09:05:28 +08:00
    @ylx 你只要把这个目录删除了,整个服务器都是新的
    ylx
        42
    ylx  
       2020-03-03 09:07:41 +08:00
    @guangleihe 大哥,我试了几次了 *是我抹掉了 IP 不是真的*
    我删除那个目录重试了几次 下次的无 UI 版本都是链接到 678 这个端口 明显是错的
    链接到的服务器 IP 是对的 端口是错的
    ylx
        43
    ylx  
       2020-03-03 10:07:08 +08:00
    我可能知道是什么原因了 我用的是域名 然后超出你存储的字符串了
    不过目前还没弄好
    guangleihe
        44
    guangleihe  
    OP
       2020-03-03 10:10:42 +08:00
    @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 这个参数,也可以连接到服务器上面。
    guangleihe
        45
    guangleihe  
    OP
       2020-03-03 10:11:47 +08:00
    @ylx 是 docker-compose.yml 这个文件里面 第一个 Install 写的参数 "${PROXYER_PUBLIC_HOST}:6789" 是不是 6789.
    guangleihe
        46
    guangleihe  
    OP
       2020-03-03 10:13:00 +08:00
    @ylx 应该是这样子的,我今天把这个问题修复一下。Thanks
    ylx
        47
    ylx  
       2020-03-03 10:35:29 +08:00
    @guangleihe 我现在用 IP 端口映射好了
    但是远程连不上 郁闷了 等你更新好我再试试
    guangleihe
        48
    guangleihe  
    OP
       2020-03-03 11:00:05 +08:00
    @ylx HI,我已经更新了镜像了。你可以

    使用 docker pull 更新一下镜像,再启动试一试。V2EX 不允许我发链接了,docker pull {镜像名称} 这个镜像名称就是写到 docker-compose.yml 里面的那个 proxyer:v1.0.1 镜像地址
    Kimipoker
        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 的机器
    guangleihe
        50
    guangleihe  
    OP
       2020-03-03 14:04:12 +08:00
    @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 为可执行权限。
    ylx
        51
    ylx  
       2020-03-03 15:48:19 +08:00
    现在映射是没问题 但是不知道为什么 3389 映射后 一直内部错误 要么一直在链接
    guangleihe
        52
    guangleihe  
    OP
       2020-03-03 16:25:55 +08:00
    @ylx 你服务器的端口是不是有限制外网访问的?特别是 6789、6544 和映射出来的端口?如果没有问题,你可以根据本机的 127.0.0.1:9876 端口映射出来看看,有什么问题没。还有问题可以加我微信:guangleihe
    sansam
        53
    sansam  
       2020-03-03 19:55:06 +08:00
    mark 一下,支持
    guangleihe
        54
    guangleihe  
    OP
       2020-03-03 21:25:19 +08:00
    @sansam Thanks,欢迎使用
    wslzy007
        55
    wslzy007  
       2020-03-04 12:39:38 +08:00
    对个人用户而言,要安全就不要将端口映射到外网,去年 RDP 漏洞证明了一切!内网 vs 内网 +客户端配置+多链路聚合模式才是王道。推荐使用 SG ( https://github.com/lazy-luo/smarGate
    guangleihe
        56
    guangleihe  
    OP
       2020-03-04 14:05:32 +08:00
    @wslzy007 这个也是一个比较有优秀的项目。两种技术各有所长,根据应用的场景不同,使用的地方也不同。
    HarveyLiu
        57
    HarveyLiu  
       2020-03-05 15:36:03 +08:00
    这种涉及到流量转发的,不开源,不敢用啊,Frp 对 openwrt arm、x86、支持也良好,所以流行啊。
    guangleihe
        58
    guangleihe  
    OP
       2020-03-05 19:26:38 +08:00
    @HarveyLiu 这个东西看怎么想吧,有时候开源了,更不一定敢用。
    npe
        59
    npe  
       2020-03-06 16:24:57 +08:00
    映射地址为什么没有呢?
    npe
        60
    npe  
       2020-03-06 16:30:37 +08:00
    guangleihe
        61
    guangleihe  
    OP
       2020-03-07 14:19:54 +08:00
    @npe 加我微信:guangleihe,我看一下你的服务
    guangleihe
        62
    guangleihe  
    OP
       2020-03-07 19:46:33 +08:00
    @npe 服务已经恢复了,更新了一下服务
    her100
        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
    her100
        64
    her100  
       2020-03-17 13:44:27 +08:00
    @her100 解决了,另外 windows 客户端只能 64 位才能用吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1189 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:11 · PVG 07:11 · LAX 16:11 · JFK 19:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.