@Shiraira2 月前

07/21
23:57
技术杂谈

中兴问天BE7200 Pro用作桥接AP时WAN口SSDP数据包会被过滤

2024.9.21更新:升级V1.0.0.4B8.8000版本后,问题已经不存在

即使设置了桥接模式,WAN口本不应当再有防火墙行为,但仍然过滤了SSDP数据包,进而导致连接在本路由器(AP)下设备无法对上级网络进行UPNP发现

一开始是发现将上级路由过来的线插在LAN口就能恢复正常,但是其中一个2.5G口为WAN口,且这台中兴路由还需要带一台NAS,需要占用一个2.5G口。这样上级路由过来的网线似乎只能插在千兆口上,但电脑插在上级路由上,如果上级路由接千兆口会影响NAS的访问速度

在官方解决这个问题之前,有两个方案来解决这个问题

  1. 一开始考虑将NAS的两个2.5G口绑定为虚拟交换机,上级路由直连NAS,然后NAS再连中兴路由。这个方案的问题是不清楚是否会影响转发效率(因为不知道NAS的两个网口是独立的网卡还是同一种网卡,担心会走CPU转发)
  2. 另一个可用的解决方法是指定一个千兆口为WAN口,不再使用该网口,将上级路由的网线和NAS接在两个2.5G口上,可正常使用UPNP且不会导致2.5G口被浪费(这个方法是我在路由器后台点着玩的时候偶然发现可以指定任意网口为WAN口,如果不知道这个功能,只能选择上一个方案,但这个方案显然优于方案1)

中兴问天BE7200 Pro用作桥接AP时WAN口SSDP数据包会被过滤

@Shiraira3 月前

06/19
19:55
技术杂谈

不需要镜像,ESXi在线升级更新

之前找网上的教程,都是手动把补丁放到datastore里然后打命令升级,十分不便
前两天偶然发现 VMware ESXi Patch Tracker 这个网站,点击相应的 Imageprofile 的名字,例如 ESXi-8.0U2c-23825572-standard ,会弹出一个小窗口,上面写着类似以下文字的内容。

# Cut and paste these commands into an ESXi shell to update your host with this Imageprofile
# See the Help page for more instructions
#
esxcli network firewall ruleset set -e true -r httpClient
esxcli software profile update -p ESXi-8.0U2c-23825572-standard \
-d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
esxcli network firewall ruleset set -e false -r httpClient
#
# Reboot to complete the upgrade

想必聪明的各位已经知道怎么使用了
唯一的问题是直接访问 hostupdate.vmware.com 的速度很慢,需要自己想办法解决

注意:有时升级会报告[MemoryError] Please refer to the log file for more details.错误,增大python脚本的内存限制即可

esxcli system settings advanced set -o /VisorFS/VisorFSPristineTardisk -i 0
cp /usr/lib/vmware/esxcli-software /usr/lib/vmware/esxcli-software.bak
sed -i 's/mem=300/mem=500/g' /usr/lib/vmware/esxcli-software.bak
mv /usr/lib/vmware/esxcli-software.bak /usr/lib/vmware/esxcli-software -f
esxcli system settings advanced set -o /VisorFS/VisorFSPristineTardisk -i 1

(方案来源:Quick Tip – Using ESXCLI to upgrade ESXi 8.x throws MemoryError or Got no data from process

不需要镜像,ESXi在线升级更新

@Shiraira4 月前

05/19
17:10
技术杂谈

解决克隆ESXi系统盘后vmfs无法挂载的问题

给软路由换了块新硬盘,把老硬盘上的分区克隆过来后发现vmfs能识别但无法挂载
查询资料后发现是需要重新签名

  1. 显示没有挂载的磁盘信息 复制uuid
    esxcfg-volume -l
  2. 挂载磁盘
    esxcfg-volume -r [uuid]
  3. 这个时候已经能看到vmfs 已经成功挂载上去了 重命名即可

解决克隆ESXi系统盘后vmfs无法挂载的问题

@Shiraira1 年前

08/25
16:58
技术杂谈

python爬虫应对加密表单的好方法

前言

使用爬虫爬取一些网站数据的时候,总会遇到一些登陆时对用户名和密码进行加密的网站,如果只是普通的标准加密还好,但有些网站使用的加密库本身就不标准,导致手撸加密总是不能够拟合网站所使用的加密

破局

我这次遇到的网站的加密相关js文件并没有混淆,可以直接调用。经过搜索,js2py可以将js文件的函数转化为python可以直接使用的函数

用法

在python命令行中直接使用js2py把js文件转换成py文件,例如我将cry.js转换为cry.py
这时候只需要把cry.py和原本的py脚本放到同一个目录中,然后在最上方声明from cry import cry即可导入函数
例如我需要使用的函数位encMe(),直接在py里写cry.encMe()即可正常使用

python爬虫应对加密表单的好方法

@Shiraira1 年前

07/23
20:16
技术杂谈

Debian系跨版本升级时apt命令相关的迷思

当前中文互联网上大部分有关Debian升级的教程哪怕是Debian12的教程,很多都是建议使用apt dist-upgrade甚至是apt-get dist-ugrade
但经过查找相关资料可以得知,apt-get已经被apt替代,并且自apt正式进入debian系后,就已经弃用了dist-upgrade这个命令,并使用full-upgrade进行代替

所以进行版本升级时,优先选用apt而不是apt-get
– 在选用apt后,使用apt full-upgrade进行升级
– 如果你更喜欢使用apt-get,则应当使用apt-get dist-upgrade
– 应当注意,apt dist-upgrade是以别名的形式存在的,不能保证日后是否会被删除,所以在写教程或者是笔记时,应当避免使用

参考
  1. Is apt dist-upgrade not necessary anymore
  2. is-apt-full-upgrade-safe

Debian系跨版本升级时apt命令相关的迷思

@Shiraira1 年前

07/23
20:02
技术杂谈

WordPress在升级PHP8.2后报错问题处理

环境

Debian12+Caddy2.6.4

表现

PHP随着Debian12更新升级至8.2版本,升级后抛出错误信息
Fatal error: Uncaught Error: Failed opening required '/var/wordpress/wp-config.php'

问题原因

由于文件权限问题,无法读取wp-config.php

解决方法

不知道是不是PHP8.2相比PHP7.4对待文件权限的处理过程变化了还是debian12的原因。之前PHP-FPM可以继承Caddy运行时的用户和用户组的权限来读取权限被设置为rw- --- ---的wp-config.php
但是升级后已经没办法继承权限
需要在PHP的默认(或者你当前使用的)pool配置文件中把用户组和用户更改为Caddy所使用的用户(组)即可正常执行

WordPress在升级PHP8.2后报错问题处理

@Shiraira2 年前

03/25
17:44
技术杂谈

阻止双系统下SteamDeck自动将Windows Boot Manager设为默认启动项

2024年6月21日更新:此方法已失效


主要原理

  1. Steamdeck的UEFI在检测到文件 \EFI\Microsoft\Boot\bootmgfw.efi 存在,就会自动创建 Windows 启动管理器(Windows Boot Manager) 启动项并且将其强制设置为首位(原因未知)
  2. 自动创建的启动项可以被隐藏,但不能被删除或是排序
  3. 但如果隐藏了该启动项,Windows将没有入口来启动,所以需要采取一些曲线救国的方法
  4. 因为 Windows 的 bootmgfw.efi 有一个特性,即bootmgfw可以被更名为其他名称,并且放到 \EFI\Boot 文件夹下(正常安装的Windows, EFI\Boot\bootx64.efi 与 bootmgfw.efi 为同一文件;暂未验证放到 \EFI\Boot 以外的文件夹下能否正常启动)参考资料:关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解

有以上要条件,可以得知要解决这些问题,就要将BCD中的 Windows Boot Manager 的 Appliocation Path 修改到其他文件夹,这样SteamDeck的UEFI就不会再进行这种令人头疼的自动化操作

操作方法

  1. 使用DiskGenius等工具
    将\EFI\Microsoft\Boot\bootmgfw.efi复制并改名为bootx64win.efi,放在\EFI\Boot\目录下

  2. 使用管理员权限运行CMD
    执行bcdedit /set {bootmgr} path \EFI\Boot\bootx64win.efi

  3. 打开 DiskGenius 工具-设置UEFI启动项
    此时应该能够看到一条或多条名为 Windows Boot Manager 的启动项,最上面的一条的启动文件应该为\EFI\Microsoft\Boot\bootmgfw.efi,并修改这一条启动项的属性

    取消勾选有效并勾选隐藏
    有效 ☑️隐藏

    点击保存当前启动项设置,然后让它留在第一位,不要再去修改它的内容或是顺序
    然后新建一条启动项,文件选择 \EFI\Boot\bootx64win.efi,同样名为 Windows Boot Manager,设备类型、启动磁盘、启动分区都应与第一条保持相同,属性勾选有效,保存即可

  4. 这时你可以自由排序除第一条修改 Windows Boot Manager 以外的所有启动项,完成后重启,查看效果

阻止双系统下SteamDeck自动将Windows Boot Manager设为默认启动项