瓦工的新玩意 – pathfabric

瓦工推出了一个试验性的新功能,https://pathfabric.com/,为的是如果你买了一个线路比较垃圾(指无中国优化),但性能很强的Vps, 那它就就可以用 WireGuard/GRE/IPIP等方式来把你的垃圾线路转到优化线路上来。

并且几乎无需改动你原有的vps设置。

比如我买了一台Vultr的LAX的VPS, 但在大陆地区,连接并不会特别顺畅,特别是在晚高峰的时候。有了账号后,就可以配置服务了。瓦工做了一键脚本,使用起来很方便。我用GRE做了连接。

江苏电信直接连接vultr, 可以看得出来,将近30%的丢包率,以下是mtr的数据:

mtr -rzn vu.xxxx.xxx
Start: 2026-07-22T22:07:47+0800
HOST: ImmortalWrt Loss% Snt Last Avg Best Wrst StDev
1. AS??? 100.71.0.1 30.0% 10 10.6 6.8 4.4 11.4 2.9
2. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
3. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
4. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
5. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
6. AS4134 202.97.26.101 90.0% 10 10.0 10.0 10.0 10.0 0.0
7. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
8. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
9. AS4134 202.97.6.2 10.0% 10 156.4 192.2 156.0 477.1 106.8
10. AS4134 218.30.54.182 30.0% 10 183.1 183.1 182.5 183.9 0.4
11. AS1299 62.115.139.16 80.0% 10 164.7 166.4 164.7 168.0 2.4
12. AS1299 62.115.139.150 20.0% 10 180.0 179.9 178.3 181.3 0.9
13. AS1299 62.115.126.251 40.0% 10 163.6 163.3 162.3 164.5 0.9
14. AS1299 62.115.149.37 10.0% 10 153.0 152.1 150.6 153.1 0.7
15. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
16. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
17. AS20473 107.191.59.147 30.0% 10 171.5 172.5 171.0 174.7 1.2
18. AS20473 149.248.17.213 30.0% 10 182.8 181.9 180.4 182.8 0.9

使用加gre 的pathfabric的优化通道后,可以看得出来,对于电信来说,已是CN2 GIA (59.43.xxx.xxx).  线路稳定,无丢包。

mtr -rzn vu-pf.xxx.xxx
Start: 2026-07-22T22:09:46+0800
HOST: ImmortalWrt Loss% Snt Last Avg Best Wrst StDev
1. AS??? 100.71.0.1 0.0% 10 4.5 6.3 3.9 8.5 1.5
2. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
3. AS4134 49.84.72.193 90.0% 10 7.0 7.0 7.0 7.0 0.0
4. AS4134 58.217.22.145 80.0% 10 5.2 5.0 4.7 5.2 0.4
5. AS??? ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
6. AS4134 202.97.127.254 40.0% 10 6.8 7.1 5.5 8.8 1.3
7. AS??? 59.43.132.153 0.0% 10 9.8 9.6 8.6 10.6 0.6
8. AS??? 59.43.159.98 70.0% 10 10.4 12.0 10.4 15.0 2.7
9. AS??? 59.43.39.190 80.0% 10 15.3 15.5 15.3 15.7 0.3
10. AS??? 59.43.182.90 10.0% 10 136.1 135.6 134.2 136.3 0.8
11. AS25820 45.78.0.91 20.0% 10 135.7 135.6 133.9 139.4 1.6
12. AS25820 142.0.32.101 30.0% 10 149.0 150.6 149.0 151.6 0.9
13. AS25820 142.0.32.103 30.0% 10 163.1 164.1 163.1 164.6 0.5
14. AS25820 142.0.32.255 10.0% 10 151.9 150.7 149.4 151.9 0.7
15. AS25820 67.230.188.30 0.0% 10 135.2 135.3 133.8 139.9 1.8

iperf3 的数据,原vultr线路与pf优化后的线咱,受限于路由器的性能,可以看到,单线程已达到路由器的极限。

root@ImmortalWrt:~# iperf3 -Rc vu.xxxx.xxx
Connecting to host vu.xxxx.xxx, port 5201
Reverse mode, remote host vu.xxxx.xxx is sending
[ 5] local 100.71.124.105 port 44432 connected to 149.248.17.213 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 113 KBytes 921 Kbits/sec
[ 5] 1.00-2.00 sec 527 KBytes 4.32 Mbits/sec
[ 5] 2.00-3.00 sec 1.55 MBytes 13.0 Mbits/sec
[ 5] 3.00-4.00 sec 2.13 MBytes 17.9 Mbits/sec
[ 5] 4.00-5.00 sec 2.12 MBytes 17.8 Mbits/sec
[ 5] 5.00-6.00 sec 1.33 MBytes 11.2 Mbits/sec
[ 5] 6.00-7.00 sec 1.41 MBytes 11.8 Mbits/sec
[ 5] 7.00-8.00 sec 1.50 MBytes 12.6 Mbits/sec
[ 5] 8.00-9.00 sec 2.08 MBytes 17.5 Mbits/sec
[ 5] 9.00-10.01 sec 1.59 MBytes 13.3 Mbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.18 sec 21.6 MBytes 17.8 Mbits/sec 2256 sender
[ 5] 0.00-10.01 sec 14.4 MBytes 12.0 Mbits/sec receiver

iperf Done.
root@ImmortalWrt:~# iperf3 -Rc vu-pf.xxxx.xxx
Connecting to host vu-pf.xxxx.xxx, port 5201
Reverse mode, remote host vu-pf.xxxx.xxx is sending
[ 5] local 100.71.124.105 port 56954 connected to 67.230.188.30 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 1.61 MBytes 13.5 Mbits/sec
[ 5] 1.00-2.00 sec 13.4 MBytes 112 Mbits/sec
[ 5] 2.00-3.00 sec 13.6 MBytes 115 Mbits/sec
[ 5] 3.00-4.00 sec 14.0 MBytes 118 Mbits/sec
[ 5] 4.00-5.00 sec 13.7 MBytes 115 Mbits/sec
[ 5] 5.00-6.00 sec 14.0 MBytes 117 Mbits/sec
[ 5] 6.00-7.00 sec 13.4 MBytes 112 Mbits/sec
[ 5] 7.00-8.00 sec 13.8 MBytes 116 Mbits/sec
[ 5] 8.00-9.00 sec 13.8 MBytes 116 Mbits/sec
[ 5] 9.00-10.00 sec 13.8 MBytes 116 Mbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.13 sec 147 MBytes 121 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 125 MBytes 105 Mbits/sec receiver

iperf Done.

 

当然购买也非常简单,order service 后,就会出现你要买的服务,当然现在无促销,还是有点小贵的。

布署到vps中也非常简单,在服务中点开你的服务,然后选中Configuration and installation,即可在Generate one-time installer link中创建一键安装脚本。

 

之后安装脚本就太简单了. 期待瓦工能来一波大力度促销。

Installer link

This single-use link expires in 24 hours. Choose one download method; the first successful download consumes the link.

Download Linux installer

Download with wget

umask 077
wget -O pathfabric-install.sh 'https://pathfabric.com/install?token=Vixxxx-ssssxxx-xxxx_xx1g'

Download with curl

umask 077
curl -fL -o pathfabric-install.sh 'https://pathfabric.com/install?token=Vixxxx-ssssxxx-xxxx_xx1g'

Inspect and run

chmod 700 pathfabric-install.sh
sudo ./pathfabric-install.sh --install

Example unattended installation:

sudo ./pathfabric-install.sh --install --unattended \
  --default-gateway=tunnel

搬瓦工 Singapore CN2 GIA SG_8

搬瓦工上线了一个全新的机房,搬瓦工新加坡 SG_8 机房,三网回程都是走 CN2 GIA 线路.

价格吗,土豪的价格,极致的享受!除了贵,别的没缺点。

线路自行测试:

Looking Glass:  sg8.868789.xyz/lg

Speedtest:  sg8.868789.xyz/speedtest

Smokeping: https://smoke.868789.xyz/?target=CT.JS-CT

3网smoke表现:

 

有很多可转移机房: 大阪GIA, 香港CMI, 美西GIA等一众质量很好的机房。

总体还是不错的。

方案 内存 CPU 硬盘 月流量 带宽 机房 价格 购买
Singapore 2GB 2核 40GB 0.5TB 1.5Gbps 新加坡 CN2 GIA $49.99/月
$499.99/年
购买
Singapore 4GB 4核 80GB 1TB 1.5Gbps $86.99/月
$869.99/年
购买
Singapore 8GB 6核 160GB 2TB 2.5Gbps $165.99/月
$1665.99/年
购买
Singapore 16GB 8核 320GB 4TB 2.5Gbps $329.99/月
$3199/年
购买
Singapore 32GB 10核 640GB 6TB 5Gbps $549.99/月
$5549.99/年
购买
Singapore 64GB 12核 1280GB 8TB 5Gbps $1059.99/月
$10559.99/年
购买

 

 

 OpenClaw配置成公网或局域网访问

这个方案,OpenClaw必须要部署在公网服务器上,部署在本地不行,其实也不是不行,但要设置NAT穿越,比较复杂,所以不建议部署在本地。

废话不多说,直接上教程。

01

 OpenClaw配置成公网

多数人使用OpenClaw的网页,其实都是用的本地局域网地址:127.0.0.1

但其实可以配置成服务器公网的地址。

如果你是在百度云厂商上搭建的,就不存在这个问题。这一步针对自己租服务器搭建的场景,比如我就是租的云服务器去部署openclaw

打开OpenClaw.json文件,需要修改如下几个选项

“gateway”: {
“port”: 18789,
“mode”: “local”,
“bind”: “lan”,
“controlUi”: {
“allowedOrigins”: [
“http://192.168.58.118:18789”
],
“allowInsecureAuth”:true,
“dangerouslyDisableDeviceAuth”:true
},
“auth”: {
“mode”: “password”,
“token”: “xxxxxxxx”,
“password”: “xxxx”
},
“tailscale”: {
“mode”: “off”,
“resetOnExit”: false
},
“remote”: {
“url”: “ws://0.0.0.0:18789”,
“token”: “xxxxxxxx”
},
“nodes”: {
“denyCommands”: [
“camera.snap”,
“camera.clip”,
“screen.record”,
“calendar.add”,
“contacts.add”,
“reminders.add”
]
}
},

 

bind从loopback改成lan, 这样就从127.0.0.1变成使用公网IP。

增加controlUi选项,其中allowedOrigins配置你的公网IP。

allowInsecureAuth和dangerouslyDisableDeviceAuth设置为True, 这2个参数的意义是用HTTP的方式也能访问,不需要HTTPS。如果配置HTTPS的话,还的配置安全证书,比较麻烦

当然HTTP的方式的安全度不高,所以不要泄露自己的IP以及token。

配置完成后执行:openclaw gateway restart 重启生效

通过公网地址打开网页,状态显示Connected,就表示公网gateway地址是通的了。

openwrt原生固件,手机快速漫游802.11kvr

openwrt原生固件,手机快速漫游802.11kvr
 
手机漫游主要是802.11kvr协议。多个路由器的WiFi名字、密码、加密方式一样,开启802.11kvr,手机就可以在多个路由器之间快速漫游。
本文基于上一篇无线mesh组网的两个路由器,设置手机快速漫游802.11kvr,同样也适用于有线组网的多个路由器设置802.11kvr
1,打开network >> wireless 界面
主路由,子节点,都创建2.4G WiFi网络 5G WiFi 网络,如下图红框两个网络,方法见以前的帖子
比如主路由 5G WiFi 网络名 HUAWEI-BPIR3,机密方式:WPA2-PSK,密码:xxxxx
子节点路由也要设置 5G WiFi 网络名 HUAWEI-BPIR3,机密方式:WPA2-PSK,密码:xxxxx
现在查看还不支持802.11kvr
2,打开 802.11kvr
Mobility Domain 设置一个416进制数,主路由和子节点5G WiFi网络设置成一样的。手机可以在主路由和子节点之间快速漫游
再次检查已经支持802.11kvr
手机快速漫游 802.11kvr 设置完成
 
openwrt原生固件更多使用方法见以下链接:
openwrt原生固件,使用手册合集:https://forum.gl-inet.cn/forum.php?mod=viewthread&tid=5048

OpenWRT 路由器快速漫游(802.11r)配置笔记

OpenWRT 路由器快速漫游(802.11r)配置笔记

原版op固件为了节省空间,自带的wpad库是残血的。因为我们需要用到满血wpad的一些功能,需要先安装满血库。如果你的op像我用的原版ImmortalWrt 23.05.2一样自带了满血的wpad-openssl 或者 wpad-wolfssl(国人自己编译的很多都是),那可以跳过这步,为了保险起见可以删除一下再重新安装。

记住无线接口里的BSSID数值

注意事项:

勾选802.11r 快速切换

勾选无线电测量邻居报告

勾选无线电测量信标报告

“2.4G”、“5G”每台设备根据自身MAC地址NAS id 填入“去掉冒号的BSSID”

“2.4G”、“5G”设备的移动域分别填入的“四位数字”保持一致,即2.4G和2.4G一致,5G和5G一致(2.4g和5g设置不一样的移动域)。

R1 密钥持有者 填入“去掉冒号的BSSID”

勾选R1 推送 PMK

外部 R0KH 列表 填入 ”BSSID,去掉冒号的BSSID,自定一个128位的密钥“

外部 R1KH 列表 同上

假设我有4个路由器(1个AC, 3个AP)。

外部 R0KH 列表 与 外部 R1KH 列表就需要把4个路由器都填上 (多少个组网无缝漫游就得填多少个)

外部 R0KH 列表和外部 R1KH 列表不能留空,否则日志会报错:hostapd: nl80211: kernel reports: key addition failed

128位key的计算方法

在windows系统中, 可以打开Powershell, 执行命令

(Get-Random -Count 16 -InputObject (0..255) | ForEach-Object { $_.ToString(“X2″) }) -join ”

在linux系统中, 执行命令

xxd -l 16 -p /dev/random

验证需要以下几个工具:

  • 支持快速漫游的手机(iPhone是肯定可以,安卓你很难知道它支不支持)
  • 手机安装监测Wi-Fi漫游的软件。第一推荐WiFiman,是个ubiquiti的配套软件,很好用,信息显示也很全。其次可以用tplink的网络百宝箱,也还算好用。安卓端还推荐一个wifi analyzer软件,可以用来分析信号
  • 电脑ssh连接路由器。很多人喜欢用putty,不过我喜欢直接命令行ssh。这里涉及命令行,要用到专业知识,不过都是复制粘贴,难度不大。可能比较劝退,我就不解释了,如果有不懂的请百度

准备好以后我们就可以开始了。可以先快速在wifi analyzer里看一看协议里有没有 +FT。如果没有的话可能路由器设置有问题,或者你的手机不支持。苹果用户没有,或者安卓用户没找到这个软件也没关系,不影响我们之后的步骤。

首先我们需要ssh连接路由器更改几个设置。输入以下几条命令

root@OpenWrt:~# uci set wireless.radio0.log_level=1

root@OpenWrt:~# uci commit wireless

root@OpenWrt:~# wifi up

root@OpenWrt:~# grep _level /var/run/hostapd-phy0.conf     # 保证你的输出和下面对的上就行

logger_syslog_level=1

logger_stdout_level=1

这里我们做的是让 openwrt 的 log 打印更多东西。原本关于快速漫游的信息在log里是不显示的。

准备工作已经做好,现在你需拿出手机,打开监测漫游的软件,在房间里走来走去让手机漫游个几次。

在手机漫游的过程中,设备漫游的相关信息也会在路由器的log里被记录下来。这时候只要我们查看log数据就可以知道手机是否使用了快速漫游。

回到ssh窗口,输入logread命令并按下回车。这时你的命令行会打印一大堆log。如果你发现log结尾有这样的内容

daemon.debug hostapd: wlan0: STA e0:…:30 WPA: FT authentication already completed – do not start 4-way handshake

那么你的快速漫游已经成功了。但是如果你发现你的log有这样的内容

Wed Nov  3 21:45:48 2021 daemon.debug hostapd: wlan0: STA 70:8a:09:df:f1:bc WPA: sending 1/4 msg of 4-Way Handshake

Wed Nov  3 21:45:48 2021 daemon.debug hostapd: wlan0: STA 70:8a:09:df:f1:bc WPA: received EAPOL-Key frame (2/4 Pairwise)

Wed Nov  3 21:45:48 2021 daemon.debug hostapd: wlan0: STA 70:8a:09:df:f1:bc WPA: sending 3/4 msg of 4-Way Handshake

Wed Nov  3 21:45:48 2021 daemon.debug hostapd: wlan0: STA 70:8a:09:df:f1:bc WPA: received EAPOL-Key frame (4/4 Pairwise)

那说明你的手机没有使用快速漫游,而是用了传统的龟速切换方式。要么你的手机不支持802.11r,要么你的配置和你的手机不兼容。如果有别的报错的话,可以通过报错信息查看问题出在哪里。

甲骨文云Oracle Cloud官方重装系统/官方救砖教程

原文《甲骨文云Oracle Cloud官方重装系统教程》链接:https://cnboy.org/2961

甲骨文云自2019年推出以来,一直不提供重装系统的功能,成为了龟友长期诟病的话题。想要实现重装系统只能通过实例救砖、或是NetBoot重装的方式实现重装系统。直到今天,甲骨文正式推出了自己的重装系统功能 — 替换引导卷功能。这篇教程第一时间,做个记录,以便需要的朋友有所参考。

此教程是通过官方提供的更换引导卷来实现重装系统的目的。

1、导航至甲骨文实例列表页面,在这里选择你需要重装系统的实例,点击进入到该实例的详情页。
image

2、进入甲骨文实例详情页进行重装系统,这里有两种方式都可以到达重装系统的界面:

2.1、在甲骨文实例详情页顶端选项栏,选择【更多操作】-【替换引导卷】
image

2.2、在甲骨文实例详情页下拉到下方列表,选择【引导卷】-【替换引导卷】
image

3、点击【替换引导卷】后,在弹出的页面中,选择【映像】、【输入OCID】,并在下方【输入映像OCID】处填入OCID。
image

这里需要注意的是:

保留引导卷:开启这个功能后,将保留当前引导卷,以后随后所需时使用;如果没有这个需求,就不要开启这个功能。
映像OCID:可以通过甲骨文实例详情页下方列表,点击【引导卷】中对应的【映像】后,就能查看到OCID,复制后粘贴到上方即可。
image
image
引导卷大小:默认为47G,可以保持默认,后续后需要再进行扩展。当然,也可以根据自己的使用情况进行调整,但确保引导卷总量不要超过200G,超过后免费用户可能无法替换成功,收费用户将可能出现收取引导卷费用的情况。

如果你还记得之前的秘钥,则直接【保存】即可。如果你忘记了之前的秘钥或是想更换新的秘钥或密码。在【替换引导卷】中点击页面下方的【高级选项】,点击【元数据】,【名称】处输入user_data,【值】处输入新的公钥,或是下面脚本的base64加密值(base64加密方法可网页搜索“在线base64加密”任选一个进行在线加密即可)

#!/bin/bash
echo root:你的密码 | chpasswd root
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config
rm -rf /etc/ssh/sshd_config.d/* && rm -rf /etc/ssh/ssh_config.d/*
/etc/init.d/ssh* restart

image

4、在上方的替换引导卷页面填写完毕并点击【保存】后,该实例的引导卷将经历一个 正在分离 – 已分离 – 正在附加 – 已附加 的过程,持续时间大概3-5分钟。
image
image
image
image

至此,通过替换引导卷就完成了甲骨文云重装系统的操作。

最后,如果你前面选择了【保留引导卷】,之后想替换回之前的引导卷时,只需在【替换引导卷】页面,选择【引导卷】、【从列表中选择】,然后在下方列表里选择之前的引导卷后,点击【保存】即可。
image

文末附上甲骨文云官方支持文档中关于替换引导券的说明:

更换启动卷
您可以自动替换实例的启动卷,而无需终止并重新创建实例。实例停止,替换启动卷,并将实例返回到卷替换过程之前的状态。如果检测到问题或需要升级以实现新功能,此功能允许更换引导卷。

引导卷替换要求和选项
以下是使用启动卷替换的关键操作系统和映像要求:

仅支持 Linux 操作系统和映像。
不支持 Windows 和市场图像。
引导卷只能替换为使用相同 Linux 发行版的块卷和映像。例如,您无法从 Oracle Linux 切换到 Ubuntu,反之亦然。
映像限制适用于与映像以及实例上当前内容关联的启动选项。例如,如果映像的启动卷附件类型与实例启动选项不匹配,则该映像将被视为无效。

Rustdesk API

一、链接、文件、指令:

2,RustDesk 官网:https://rustdesk.com

3,RustDesk-API 官网:https://github.com/lej…

4,Docker部署指令:

1)RustDesk ID服务器:docker run –name RustDesk-hbbs -v ./data:/root -td –net=host –restart always rustdesk/rustdesk-server:latest hbbs -k 12345678

2)RustDesk 中继服务器:docker run –name RustDesk-hbbr -v ./data:/root -td –net=host –restart always rustdesk/rustdesk-server:latest hbbr -k 12345678

3)RustDesk-API 服务器:
docker run -d –name RustDesk-API  –restart always  -p 21114:21114  -v /data/rustdesk/api:/app/data  -e TZ=Asia/Shanghai  -e RUSTDESKAPILANG=zh-CN  -e RUSTDESKAPIRUSTDESKIDSERVER=192.168.3.5:21116  -e RUSTDESKAPIRUSTDESKRELAYSERVER=192.168.3.5:21117 -e RUSTDESKAPIRUSTDESKAPISERVER=http://192.168.3.5:21114  -e RUSTDESKAPIRUSTDESK_KEY=12345678 lejianwen/rustdesk-api:latest

5,重置RustDesk-API 管理员admin的密码:

1)docker exec -it RustDesk-API /bin/sh

2)./apimain reset-admin-pwd admin