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

Proxyer 免费内网映射工具

  •  3
     
  •   guangleihe · 240 天前 · 6052 次点击
    这是一个创建于 240 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条附言  ·  239 天前

    快速安装

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

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

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

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


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

    使用 docker pull 更新一下镜像,再启动试一试。V2EX 不允许我发链接了,docker pull {镜像名称} 这个镜像名称就是写到 docker-compose.yml 里面的那个 proxyer:v1.0.1 镜像地址
    Kimipoker
        49
    Kimipoker   237 天前
    [email protected]:~# sudo chmod +x /usr/local/bin/docker-compose
    [email protected]:~# curl -sSL https://gitee.com/guangleihe/proxyer/raw/master/docker-compose.yaml -o docker-compose.yml
    [email protected]:~# 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   237 天前
    @Kimipoker

    [email protected]:~# sudo chmod +x /usr/local/bin/docker-compose
    [email protected]:~# 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   237 天前
    现在映射是没问题 但是不知道为什么 3389 映射后 一直内部错误 要么一直在链接
    guangleihe
        52
    guangleihe   237 天前
    @ylx 你服务器的端口是不是有限制外网访问的?特别是 6789、6544 和映射出来的端口?如果没有问题,你可以根据本机的 127.0.0.1:9876 端口映射出来看看,有什么问题没。还有问题可以加我微信:guangleihe
    sansam
        53
    sansam   237 天前
    mark 一下,支持
    guangleihe
        54
    guangleihe   236 天前
    @sansam Thanks,欢迎使用
    wslzy007
        55
    wslzy007   236 天前
    对个人用户而言,要安全就不要将端口映射到外网,去年 RDP 漏洞证明了一切!内网 vs 内网 +客户端配置+多链路聚合模式才是王道。推荐使用 SG ( https://github.com/lazy-luo/smarGate
    guangleihe
        56
    guangleihe   236 天前
    @wslzy007 这个也是一个比较有优秀的项目。两种技术各有所长,根据应用的场景不同,使用的地方也不同。
    HarveyLiu
        57
    HarveyLiu   235 天前
    这种涉及到流量转发的,不开源,不敢用啊,Frp 对 openwrt arm、x86、支持也良好,所以流行啊。
    guangleihe
        58
    guangleihe   235 天前
    @HarveyLiu 这个东西看怎么想吧,有时候开源了,更不一定敢用。
    npe
        59
    npe   234 天前
    映射地址为什么没有呢?
    npe
        60
    npe   234 天前
    guangleihe
        61
    guangleihe   233 天前
    @npe 加我微信:guangleihe,我看一下你的服务
    guangleihe
        62
    guangleihe   233 天前
    @npe 服务已经恢复了,更新了一下服务
    her100
        63
    her100   223 天前
    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   223 天前
    @her100 解决了,另外 windows 客户端只能 64 位才能用吗
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3134 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 12:10 · PVG 20:10 · LAX 05:10 · JFK 08:10
    ♥ Do have faith in what you're doing.