oculus quest2激活之小米4A千兆版刷openwrt

oculus quest2 已到手3天,激活成功后一直卡在更新0%的地方,已经连续3晚尝试各种办法更新,皆无果。

原本手机电脑上都可以科学上网,用手机开局域网代理奈何只能激活不能更新,网上有解释说更新走的是udp,代理无用。但尝试了网上常见的clash、sstap方法均无法更新。

clash主要卡在cfw-tap 网络电缆被拔出,无法共享网络,换了三台电脑win10\win7都不行,遂放弃。

sstap倒是网络直接受限,后利用手机ss局域网代理成功激活,然后就卡0%见。

网上常见的四种方法已用完三种,无奈选择第四种,早已耳闻鼎鼎大名openwrt,从未刷过路由器,所以蛮敬畏这种方法,抱着不行就只能闲鱼代激活的心态[科技从业者去找闲鱼代激活说来也蛮惭愧]。手上正好有台小米4A千兆版路由器可刷,实际刷起来还真挺顺利的~

谨记录小米路由器4A 千兆版刷openwrt固件ssR科学激活更新 oculus quest2 过程:

我的小米路由器固件是2.28.69,不在网上推荐之列,盲刷竟然也能一步提权成功看来小米官方也是有意不着急封堵吧。我是先刷的breed后利用breed刷更新 openwrt固件。

1、获取小米路由器root权限,利用github国外大神脚本
其实这一步如果用mac加联网刷root 非常简单,有现成的python环境,一键到底。由于时间地点环境因素,我没用mac,而是选择windows脱机刷固件
,脱机脚本也是网上找的其他人改好的现成脚本,相关用到脱机脚本附件后面也一并附上 。
①登陆路由器管理界面,确保你的登陆地址仍然为http://192.168.31.1/,不是的话得改回来否则后面脚本会失败,拿到这个stok值,注意过程中这个页面不要关,否则stok值会变掉;

②windows安装python,这里推荐安装3.7.4,32位64根据自己所装系统选择 去下载python

点个性化安装,这里环境变量一定要勾选
红色的都勾选

2.下载附件里的压缩包并解压,解压好后打开网络适配器把IP配置成静态IP,地址为:192.168.31.88 其次确定路由器LAN口已经和电脑连接,并且管理地址是:192.168.31.1 如果不是,请更改或恢复。

3、前面提到是脱机脚本,但是提权过程中仍然需要用到几个辅助脚本,为了简化文件上传方式,可以利用附件中的chfs-windows-x64-1.0文件夹里面的chfs.exe,点击运行即可建立一个简易的http服务器,可以直接访问192.168.31.88应该看到如左图三个文件

4、准备工作已完成,cmd命令行进入附件下载含有 requirements.txt 文件的本地目录

python install -r requirements.txt # 安装python3必要组件模块 
python remote_command_execution_vulnerability.py # 跑提权脚本

如果报错就先执行这个,再执行上面脚本:
pip install requests

5、按提示操作输入stok值等,我是秒完成提权,最后会提示让你telnet 192.168.31.1 直接在终端操作,按下回车输入root即可。看到are u ok 后分别输入下面三段代码,等待路由器重启。

cd /tmp
wget http://192.168.31.88/shared/breed-mt7621-pbr-m1.bin
mtd -r write breed-mt7621-pbr-m1.bin Bootloader

6、到了reboot后就基本完成,等待路由器重启后你会发现是紫色灯很暗,我凑近看才看到了灯光,这个时候breed已经刷入成功了,把电脑地址改为自动获取地址后访问192.168.1.1 备份好eeprom(重要),编程器固件也要备份。mac地址修改那个页面点进去也截图备份。

7、进入固件更新菜单,上传openwrt固件及刚刚备份的eeprom
即可 ,openwrt里面有三个固件任选一个即可, openwrt的密码一个是root一个是password,padora密码是admin 。建议 openwrt里面已经装好了ssR和KMS,待会儿解决oculus quest2 更新卡在0%处就靠他了。

[当然也可以自行选择官方固件, 建议不要选snapshot开发版本,可能会存在不稳定, sysupgrade 是从现有系统升级上去的建议也不选,直接选install URL,因为我只是想更新oculus quest,就选了网上的现成固件版本。不知官方版本是否需要额外配置。另外附件里的固件因为也是来路不明,不建议大家日常家用,建议用完再用breed恢复官方固件,毕竟官方固件还是很好用的除了不能kxsw。]

8.刷完后等待路由器重启即可看到openwrt的WiFi信号,说明已经成功。剩下的需要自己配置,查看路由器地址并且登入。因为离联网路由器比较远,便用无线中继模式联网,详细配置参考这个和这篇帖子中的方法三,如果你可以直接有线接入可忽略。

9、至此更新oculus quest2的准备工作已全部完成,在路由器里配置好ss节点,OQ2连上后竟然无限循环重启,最后查明原因竟是,ss选不代理中国ip的问题,OQ2更新时网络部分不通会无限重启,无奈选择全局代理,并代理所有端口。等了大概10分钟,当然这也取决于梯子速度,更新完毕。成功激活更新,开启元宇宙。

10、做个小广告,如果你打算走亚马逊海外购购买,可用我的亚马逊推荐链接下单,成功后赠送一个oculus商城$5 点券以下的软件礼品兑换码,另外如果你是亚马逊海外淘新人,还可以扫我的码领总计50元新人购物券

新人领券
日亚由于价格便宜点等的时间要长一点

11、如果你已经下单拿到机器但是还没有激活,可以加我FB并用我的oculus推荐链接激活,成功后你我可各得$30 oculus商城点券 ,我再返你一个oculus商城$20 点券以下的软件礼品兑换码oculus激活推荐链接:
https://www.oculus.com/referrals/link/ky.bush1/
由于FB官方限制每月可邀请人数有限,名额先到先得恕不另行通知。

win7文件夹删除不刷新

最近老电脑打开尝试试用了下,新建文件夹看不到,按F5刷新出来了,改个名字,也不会变,每次都要按F5刷新一次。删除文件、移动文件什么的都不好使,偶尔又正常,一直没搞清楚什么原因,网上找了很多办法包括注册表修改都不好用,找了好久发现原来是网络文件夹在作怪,我添加了一个网络驱动器,局域网内另一台机器的共享文件夹,但是可能那个共享文件夹早就无法访问了,导致explorer也跟着卡着不刷新,直接删除网络驱动器->ftp快捷方式,完美解决。

ftp被动模式可登陆 dir/ls超时卡死解决办法 (227 Entering Passive Mode (1,2,3,4,8,174))

和xx监狱ftp传输对账文本,投产后对方ftp能登陆但始终不能dir/ls,(
会出现超时卡死 )并且报227 Entering Passive Mode (1,2,3,4,8,174)。

找了很久资料发现,对方ftp server返回的227代码内1,2,3,4->1.2.3.4 ip是其内网ip,与我们实际访问的专线对端ip地址(2.3.4.5)不一致。这导致登陆后ftpserver指定的访问ip我们实际是不能访问的。监狱方使用的是vsftp。尝试沟通让对方配置文件进行修改:

/etc/vsftpd.conf:pasv_address= 2.3.4.5 。然后就成功解决。原理如下:

我们可以看到如上图,ftp被动模式下正常登陆并数据交互的标准流程代码,根据FTP协议的定义,在请求目录信息时,我们需要一个用于文件及目录数据获取的IP地址和端口,FTP服务器将采用227命令来回复已准备好连接的IP地址和端口【前四位是ip,第五位*256+第六位 是端口】,然后我们则根据返回的IP地址和端口进行连接,连接成功后,再等待ftp服务器返回150命令字并开始传送文件/目录数据

冲突在于:默认情况下返回的是内网实际ip,我们实际能请求访问的是转换后的专线入口地址,处于外网的我们当然无法直接访问监狱的内网。

至此生产问题解决,但是在查资料过程中还有额外收获一并记录分享。

1、因为是命令行请求没那么智能,发现有网友提到这种情况下,使用专用ftp客户端登录时,227多次请求无法访问该地址后,会智能尝试替换成为登陆成功时用的主机地址(即我们这里的专线地址)。 所以有时候用客户端登陆却又是没问题的。

2、刚刚我们生产问题解决的方案其实是有隐患的,
/etc/vsftpd.conf:pasv_address= 2.3.4.5 设置后该ftp所有账户全局只能通过分配给我行的专线入口ip才能进行文件数据传输操作,因为227指令会始终推
2.3.4.5 这个分配给我行的专线ip。由于监狱方配置文件修改较为困难且当前项目为我行独有中标,便未进一步推进狱方配置优化。仍在此记录优化方案以便不时之需:

配置思路为将全局配置改为单用户配置,重置前述配置修改:
①在狱方ftp服务器上的VSFTP配置文件(/etc/vsftpd.conf)中加入以下一行,打开用户独立配置功能:
user_config_dir=/etc/vsftpd/userconfig#指定单用户配置文件路径
②在狱方服务器(/etc/vsftpd/userconfig)路径下新建一个和FTP用户名的文件,写入如下内容:
pasv_addr_resolve=yes
pasv_address=2.3.4.5

3、如果ftpserver 是绑定动态域名和端口转发 的, pasv_addr_resolve=yes 一定要设置为yes

4、 listen = YES和listen_ipv6 = YES 配置不当会冲突。
同时开启传入的连接被解释为IPv6地址,因此IPv4 pasv_address未使用 ,一般情况下建议ipv6注释掉

以上很多细节tips均源于网络,这里只是顺带集合整理,具体外链不一一列举。

openssl make 编译报错undefined reference to `BIO_f_zlib’

最近需要使用国密SM4加密算法,综合评估下来将openssl升级到1.1.1版本即可,遂开启升级模式期间编译时有报错:

undefined reference to `BIO_f_zlib’
ld return 1 exit result

解决方案:

make clean
make //重新编译

顺道记录下升级步骤:

下载源码

解压缩

tar xzvf openssl-1.1.1-pre4.tar.gz
tar xzvf openssl-1.1.1-pre5.tar.gz

编译步骤

cd openssl-1.1.1-pre5
./config
make

本地安装(可选步骤)

sudo make install

配置LD_LIBRARY_PATH并检查openssl可执行程序版本号

$ export LD_LIBRARY_PATH=`pwd` 
$ ./apps/openssl version

selenium实现chrome多开

有时候为了避开登录验证所带来的麻烦,先登录后用selenium预加载之前的用户配置及cookie信息会极大便利自动化目标的实现,但受限于selenium及chrome的用户配置文件加锁机制,每次只能有一个进程操作大大限制了自动化目标的实施。所幸可以通过chrome的多用户可以完成selenium多任务同时加载cookie信息

1、添加多个chrome用户
2、分别用不同chrome用户访问 chrome://version/,找到对应的 个人资料路径 一般新开的会将Default延伸为Profile 1~
3、声明用户配置信息路径及资料名称:
option.add_argument(‘–user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data’)
option.add_argument(‘–profile-directory=Profile 1’)

参考资料:

https://stackoverflow.com/questions/50635087/how-to-open-a-chrome-profile-through-user-data-dir-argument-of-selenium

selenium利用send_keys()一次性上传多个文件

奈何中文资料太少,google了下使用selenium中send_keys()一次性上传多个文件的解决方案:driver.find_element_by_xpath(“file_path1\nfile_path2”)

中间加 \n 即可

注意:结尾不能有\n否则会报错,调了好久才发现这个坑

参考资料:https://stackoverflow.com/questions/23955430/selenium-webdriver-upload-multiple-files

另外三种其他方案一并推荐:
https://tuyennta.com/upload-multiple-files-in-selenium/

selenium文件上传,成功后文件选择框未自动关闭

在使用selenium自动上传文件成功后,总是出现浏览器关闭后文件选择框却仍停留在桌面上,尤其是进程执行数次后会有一堆这样的框框保留在桌面上,网上搜索了很久没找到原因和解决方案,百思不得琪姐。

琪姐告诉我:画蛇添足!
selenium上传文件直接对input进行send_keys()而不需要想浏览器一样先点击再选文件,错就错在代码层面还添加了一次点击,导致有多余的选择文件弹框出现,删足即可~

selenium xpath路径写对,但找不到元素

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {\”method\”:\”xpath\”,\”selector\”:\”//*[@id=\”js_msgSender\”]/a\”}

确认过xpath表达式正确无误时selenium仍然找不到元素时一般很有可能是前面使用过.click()方法,浏览器会新开一个tab,然而当前selenium焦点仍然保留在原有页面tab当中

因此只要在.click()操作后加一行:
driver.switch_to_new_tab()
焦点跳转到新tab就ok

这种错误尤其在命令行执行时会爆出,IDE调试测试阶段会有可视化浏览器实际操作,不容易暴露。命令行下不会有可视化浏览器操作,错误就产生了

宝塔反向代理谷歌直接跳转并访问失败

宝塔反向代理谷歌时,所有配置正确的情况下还是会自动跳转到目标设置的google.com并且访问失败。

原因:谷歌会根据vps所在地进行当地域名的跳转,如香港vps会自动跳转到google.com.hk会导致反向代理失败

解决方案:反向代理目标谷歌域名使用vps当地谷歌域名即可,也就是说除美国之外的都不要直接用www.google.com域名作反代

一键安装openvpn

OpenVPN 安装并不是想像的那么难,更何况还有一键安装包呢?该 OpenVPN 一键安装包非本人维护,它真正的主人是 @Nyr ,开源地址是:https://github.com/Nyr/openvpn-install ,整个安装过程非常简单,就一条命令,根据提醒步骤安装既可。

适用平台:Debian、Ubuntu、CentOS,版本越新越好。该项目目前在Github上被打星6K多次,赶紧收藏吧。即使您之前没有使用OpenVPN,该脚本也可让您在一分钟内设置自己的VPN服务器。OpenVPN 安装就是这么简单。

继续阅读一键安装openvpn