老E的博客

  • 首页
  • 关于
  • 技术应用
    • VPS相关
    • AI相关
    • 盒子相关
    • 其他
  • 订阅Youtube频道
  • 网络加速
    • expressvpnNo.1 ExpressVPN
    • 最佳免费VPN-PrivadoVPN
    • NordVPN
    • 廉价王者-Surfshark
    • PrivateInternetAccess
    • 解锁一切-PrivateVPN
  • 公益资源
    • AI导航
    • 工具下载
    • Docker镜像加速
  • 友情链接
    • tickcloudTickcloud
老E的博客
专注记录并分享跨境技术应用及随想
  1. 首页
  2. 技术应用
  3. VPS相关
  4. 正文

使用loophole发布网站以及自定义域名

2023年11月2日 5371次阅读 6条评论
clawcloud
expressvpn best vpn
privado vpn
surfshark vpn
private vpn
pia vpn
nord vpn

『前文』介绍了11款用于内网穿透的隧道工具,很多人并不清楚内网穿透可以做什么以及如何应用。本文仅以loophole为例,介绍其完整的部署应用方法,包括网站与服务的发布、auth0验证、自定义域名等,其他工具(包括『前文』未作介绍的)的使用大致相同,仅仅是命令名称、命令行参数或GUI的区别。

1.什么是loophole

「Loophole.cloud」是若干免费内网穿透工具中提供公共服务且相对稳定的一个,支持Windows、Linux(包括嵌入式设备)、MacOS,同时提供cli和desktop程序。目前,loophole服务仅在欧洲托管。loophole的客户端cli是开源的,官方自述“就目前而言,我们希望通过测试期以稳定系统,希望明年能提供自托管服务”。loophole服务提供的功能包括:

  • 公开本地HTTP服务器
  • 公开在网络中任何计算机上运行的HTTP服务器
  • 通过HTTPS公开本地目录
  • 通过WebDav公开本地目录
  • 基本身份验证

功能上公开本地HTTP服务器,就是网站发布,这个网站可以是一个博客、一个影视库,也可以是一个论坛系统等。另外一款工具zrok将这类功能总结为共享文件,定义很准确,无论是html、css、js还是其他文件,无非都是公布出去别人能获取到并在浏览器或其他程序中解析、渲染、呈现。因此,webdav公开本地目录、前端调试等都是以为网站发布/文件共享功能为基础的。

2.安装

安装?还用安装?! 不用!Loophole提供了cli和desktop的压缩包,下载解压即可,无需安装。官方网站上提供的下载链接也同样是github托管仓库的release链接,为免死循环,老E已将其放在在了博客网盘中,Cli版本程序分别按照「Windows」、「Linux」、「MacOS」进行了归类,「Desktop」版本未按系统分类。

需要注意的是,嵌入式设备中运行loophole,要区分armv7和arm64架构。S905设备及较早的树莓派上,应下载使用arm7版本。对应版本下载后解压,tar包无需安装额外解压缩工具。

wget https://github.com/loophole/cli/releases/download/1.0.0-beta.15/loophole-cli_1.0.0-beta.15_linux_armv7.tar.gz
#github无法下载时可使用以下备用链接
#wget https://appscross.com/as-tools/pub%20Tools/loophole/cli/linux/loophole-cli_1.0.0-beta.15_linux_armv7.tar.gz

#解压并进入loophole目录
tar zxvf loophole-cli_1.0.0-beta.15_linux_armv7.tar.gz && cd loophole-cli_1.0.0-beta.15_linux_armv7/

3.网站发布

下载完成后解压。确保待发布的网站本地可正常提供服务,如果你本地根本就没有提供web服务或者本地的httpd(nginx、caddy等)服务异常,使用任何穿透工具都不可能公网发布成功。

§ 最简单的

Cli方面,在待发布网站的主机简单运行以下命令行,也即将本地运行并监听于6666端口的网站发布至公网,loophole默认将生成一个随机的子域名,通过该域名即可在公网访问你的内网网站。

loophole http 6666

§  登录与注销

不过,在发布网站之前,还需要login登录一下,调试完成之后,不再需要通过loophole发布的时候,应该通过logout注销。loophole登陆验证采用auth0,可使用google或github账户直接登录。

https://loophole.eu.auth0.com/activate

#login和logout应配对使用,避免长期占用
loophole account login [flags]

loophole http 6666 localhost --https

loophole account logout

运行loophole account login命令后,打开浏览器,拷贝Loophole给出的链接进行登录验证。Loophole采用auth0,相对简单,可以直接使用github或google账户进行验证。

完成登录验证之后,再使用loophole http <port> 发布网站,loophole会分配一个随机子域名(XX...XX.loophole.site)供公网访问。Loophole默认采用TLS加密普通HTTP流量,如果待发布的网站已开启了https,可通过--https选项指定以避免重复加密。

§  基本身份验证

Loophole支持http基本身份验证,通过-u、-p或--basic-auth-username、--basic-auth-password分别指定用户名、密码。

-p --basic-auth-password string           Basic authentication password to protect site with
-u, --basic-auth-username string          Basic authentication username to protect site with

§  便利访问

Loophole支持自定义子域名以及生成网址二维码。--hostname string指定子域名为string,--qr指定隧道成功建立后显示网址二维码。

--hostname string         custom hostname you want to run service on
--qr                      use if you want a QR version of your url to be shown

loophole支持webdav协议,以下指定将/tmp目录暴露于公网并设置test、1234为访问用户名和密码。

loophole webdav /tmp -u test -p 1234

无论是否可自定义子域名,在注销(logout)前,网址链接不会发生变化,可以尝试通过添加自有域名的cname记录指向loophole生成的网址,完成最后一步。考虑到官方托管服务远在德国,就此打住。cli程序需要后台运行的话,windows下可以通过sc添加系统服务,linux下可以采用systemd进行守护管理。

4.结语

Loophole可以安全地将位于防火墙或NAT之后的服务公开、发布至Internet。目前,Loophole仅提供HTTP/HTTPs支持,所有流量使用 Let's encrypt SSL证书进行加密,使用Auth0进行身份验证。同时,Loophole还支持多个并行隧道以及端到端加密。有意尝试其他免费工具的话,可自行参考前文『11款轻量、简洁、可用于内网穿透的免费隧道工具与平台 』进行安装部署。

Loophole很简洁,但是很有效,更何况,还有其他很多简单、开源、免费的内网穿透工具/服务可供使用。即便自托管部署,使用这类工具也会更简单、更易于维护。另外,相比Snapdrop等单纯的文件分享工具,定位于服务发布/“文件共享”的隧道工具进行自托管部署更有价值和意义。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: loophole 内网穿透
最后更新:2024年5月27日

老E

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • 反对法

    loophole可以后台执行吗?不希望看到dos窗口

    2023年11月16日
    回复
    • 老E

      @反对法 可以的

      2023年11月17日
      回复
  • 就爱吃咸粽子

    你好,我这在进入网站时后台报错了:ERR TLS Certificate failed to provision. Will be obtained with first request made by any client, therefore first execution may be slower :exclaim:

    2023年12月27日
    回复
    • 老E

      @就爱吃咸粽子 错误信息很明确了

      2023年12月27日
      回复
  • 樱桃小丸子

    loophole.exe tcp 3389
    Error: unknown command "tcp" for "loophole"

    Did you mean this?
    http

    Run 'loophole --help' for usage. 可不可以支持远程桌面3389,要怎么操作?

    2024年2月25日
    回复
    • webmaster

      @樱桃小丸子 绝大多数免费产品都不支持rdp so... 可以看下zrok 貌似支持 只是比较庞大有些你不会需要的功能

      2024年2月25日
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    站内搜索
    归档
    • 2025 年 5 月
    • 2025 年 4 月
    • 2025 年 3 月
    • 2025 年 2 月
    • 2025 年 1 月
    • 2024 年 12 月
    • 2024 年 11 月
    • 2024 年 10 月
    • 2024 年 9 月
    • 2024 年 8 月
    • 2024 年 7 月
    • 2024 年 6 月
    • 2024 年 5 月
    • 2024 年 4 月
    • 2024 年 3 月
    • 2024 年 2 月
    • 2024 年 1 月
    • 2023 年 12 月
    • 2023 年 11 月
    • 2023 年 10 月
    • 2023 年 9 月
    • 2023 年 8 月
    • 2023 年 7 月
    • 2023 年 6 月

    Copyright ©2023-2025 Appscross. All Rights Reserved.