看标题会感觉是一个很简单的操作,但是不是。路由器后台会自动重定向到ip访问,导致常规端口转发不生效。
我尝试过zerotier,但是和公司的局域网网段重叠了,遂放弃。
今天发现ssh可以做socks代理,于是解决了。
ssh指令ssh -D 1080 -N -q user@host -p port打开一个socks代理
然后下一个火狐(可以下便携版)
进入设置拉到最下面找到网络设置,配置socks代理(别写http的)

然后就可以直接访问了
Category
以前写过一个安卓app可以远程操作家里旧手机给电脑发wake-on-lan数据包触发远程开机,最近用上了米家的智能家居,想把远程开关机集成到米家里,同时又不想买米家的开机卡
首先研究了Home Assistant,部署完了对接米家的时候发现只能单向用ha操作米家设备,这不是和我的需求反了吗
然后看了一下小米iot平台开发者账号,发现要企业资质才能申请😓
问gpt,给了一个用脚本模拟米家设备的方案,会顶替掉一个设备😓
今天下班不死心在网上搜,突然看到一个知乎文章,发现还有这种好东西
先注册巴法云账号,然后点按钮切到mqtt设备云并新建一个设备,此处设备命名后缀代表了设备的类型,参考
创建一个设备,该设备的名字代表了后面mqtt协议的频道,然后可以给设备自定义一个昵称,这个名字是米家关联后的设备名字
在该页面左上角可以看到密钥,点击显示复制出来,可以用mosquitto_sub订阅mqtt,接收消息
然后是termux,研究ha的时候就给旧手机装好了,其实不用proot也可以用,但是之前已经装好了那就拿着用了
我用的脚本如下
#!/bin/bash
ID="{secret}" # 用自己的替换
TOPIC="{topic}"
HOST="bemfa.com"
PORT=9501
mosquitto_sub -h "$HOST" -p "$PORT" -i "$ID" -t "$TOPIC" | while read payload
do
ts=$(date +"%Y-%m-%d %H:%M:%S")
echo "[$ts] $payload" > $TOPIC.log
if [[ "$payload" == "on" ]]; then
wakeonlan 01:02:03:04:05:06
elif [ "$payload" == "off" ]; then
ssh device "shutdown /s /t 30 /f" # 需要配置 ssh config
fi
done运行脚本后会阻塞,此时如果在巴法云管理页面上可以看到订阅者:在线 1,如果在网页上推送消息,则log文件中会打印推送的消息
在米家app中找到 我的 > 添加其他平台 > 巴法
输一下账号密码,然后会看到设备(需要是巴法云上名字符合后缀要求的设备,否则不会同步到米家),看到后就可以退出来了
触发开关机首先可以用语音操作小爱同学打开电脑,这儿的电脑是巴法云里设置的设备昵称,触发之后会给mqtt推送一条消息on
然后可以使用米家操作按钮开关,但是米家里是看不到这个设备的,所以要用到自动化/手动控制去控制小爱音响,设备选择小爱音响,动作选择自定义,然后写打开电脑,就可以触发巴法云的mqtt推送了,延迟基本上在1秒左右
同一个共享文件夹中可以针对子文件夹配置不同的访问权限,使匿名访问无法查看某些文件夹
文件管理器+ 并选择远程存储,点击添加远程存储win+r 打开 cmd ,在 cmd 中输入 ipconfig 显示自己的ip地址可以将远程存储中的文件夹放入收藏夹从而快捷访问