暗黑模式
内网穿透
网络内网穿透
花生壳
略
localhost.run
免费域名
限制
此方式无需账号,但是有以下限制:
- 域名会定期更改
- 有速度限制
警告
微软 Edge 浏览器提示钓鱼网站警告
https://1d2dff51a0bfae.lhr.life
代理到 localhost:8080
:
bash
ssh -R 80:localhost:8080 nokey@localhost.run
authenticated as anonymous user
1d2dff51a0bfae.lhr.life tunneled with tls termination, https://1d2dff51a0bfae.lhr.life
create an account and add your key for a longer lasting domain name. see https://localhost.run/docs/forever-free/ for more information.
Open your tunnel address on your mobile with this QR:
...
1
2
3
4
5
6
7
2
3
4
5
6
7
参考文档 → localhost.run docs
账号授权方式
提示
- 账号授权成功后,域名会持续更长时间。
生成 SSH key 并上传到你的账号中:生成 SSH key
使用 SSH key:
bashssh -i /path/to/ssh-key-file -R 80:localhost:8080 localhost.run # SSH key defaults to ~/.ssh/id_rsa user scjmjy@outlook.com authenticated 9f7bdaea98c4ef.lhr.life tunneled with tls termination, https://9f7bdaea98c4ef.lhr.life Open your tunnel address on your mobile with this QR: ...
1
2
3
4
5
6
付费自定义域名
参考文档 → localhost.run custom domains
Tailscale
对比了 frp
nps
tailscale
之后,本文选择使用 tailscale
,原因如下:
- 无需自己搭建中转服务器,可以使用官方的协调服务器
tailscale
免费个人版本支持最多 100 个设备,足够使用- 端对端传输、流量不走中转服务器,不受中转服务器速度限制
注册账号
登录 tailscale
官网注册账号:Login
安装(WSL Ubuntu22)
参考:官方安装文档
bash
curl -fsSL https://tailscale.com/install.sh | sh
1
bash
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update
sudo apt-get install tailscale
sudo tailscale up # 弹出授权页面
1
2
3
4
5
6
2
3
4
5
6
你可以在多个设备上重复以上步骤,这些设备就处于局域网中了,可以互相访问。
内网穿透(Tailscale Funnel)
Tailscale Funnel 可以暴露本地文件或服务到公网。
bash
# 适用于把本地开发服务暴露给同事
sudo tailscale funnel [--https=443|8443|10000] [--bg] 3000 # 暴露本地 3000 端口到公网,首次使用会引导开通 funnel 功能
vailable on the internet:
https://xx.tailxxxx.ts.net
|-- / proxy http://127.0.0.1:3000
1
2
3
4
5
6
2
3
4
5
6
bash
# 适用于静态网站或简单的文件服务器
sudo tailscale funnel [--https=443|8443|10000] [--bg] /path/to/directory # start with / or ~
vailable on the internet:
https://xx.tailxxxx.ts.net
|-- / proxy http://127.0.0.1:3000
1
2
3
4
5
6
2
3
4
5
6
bash
sudo tailscale funnel [--https=443|8443|10000] off # 停止后台运行的代理
1
WARNING
当前只支持 443(默认)/8443/10000 3 个端口,所以一个设备最多同时暴露 3 个本地服务。
TIP
参考文档:Tailscale Funnel
内网穿透(Reverse Proxy)
(node_port_to_port) {
*.vps01.iflyit.top:{args[0]} {
tls {
# dns dnspod {env.DNSPOD_TOKEN}
dns dnspod ID,TOKEN
}
@pc01 host pc01.vps01.iflyit.top
handle @pc01 {
reverse_proxy pc01.taila5a6a7.ts.net:{args[0]}
}
@pc02 host pc02.vps01.iflyit.top
handle @pc02 {
reverse_proxy pc02.taila5a6a7.ts.net:{args[0]}
}
@pc03 host pc03.vps01.iflyit.top
handle @pc03 {
reverse_proxy pc03.taila5a6a7.ts.net:{args[0]}
}
@pc04 host pc04.vps01.iflyit.top
handle @pc04 {
reverse_proxy pc04.taila5a6a7.ts.net:{args[0]}
}
# Fallback for otherwise unhandled domains
handle {
respond "Invalid tailscale node: {host}"
}
}
}
import node_port_to_port 5173
import node_port_to_port 5174
import node_port_to_port 5175
import node_port_to_port 5176
import node_port_to_port 5177
import node_port_to_port 5178
import node_port_to_port 5179
import node_port_to_port 5180
import node_port_to_port 8080
import node_port_to_port 8081
import node_port_to_port 8082
import node_port_to_port 8083
import node_port_to_port 8443
import node_port_to_port 8444
import node_port_to_port 12000
import node_port_to_port 12001
import node_port_to_port 12002
import node_port_to_port 14400
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
开通通配符域名
安装
xcaddy
:https://github.com/caddyserver/xcaddyxcaddy build --with github.com/caddy-dns/dnspod
{ acme_dns dnspod ID,TOKEN }
1
2
3tls { dns dnspod ID,TOKEN }
1
2
31
自托管协调服务器
tailscale
的协调服务器是闭源的,不过各个平台的 tailscale
客户端支持配置其他协调服务器,例如:Headscale
。
参考:Headscale 教程
其他玩法
略