@Shiraira6 月前

10/22
17:38
生活残念

pigz压缩解压

使用pigz打包和解包

tar –use-compress-program=pigz -cvf archive.tar.gz file1 file2 file3 #打包
tar –use-compress-program=pigz -xvf archive.tar.gz -C /path/to/target/directory #解压

pigz压缩解压

@Shiraira8 月前

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爬虫应对加密表单的好方法

@Shiraira9 月前

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命令相关的迷思

@Shiraira9 月前

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后报错问题处理

@Shiraira1 年前

03/25
17:44
技术杂谈

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

主要原理

  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设为默认启动项

@Shiraira1 年前

01/9
23:30
技术杂谈

Steam Deck运行一些汉化游戏时汉化无效的解决方法(BepInEx失效)

今天在尝试使用Steam Deck运行一个汉化的游戏时,遇到了汉化失效的情况
查看文件结构,汉化依赖BepInEx插件,疑似是挂载的DLL没有正确加载
查询Reddit后,确认需要增加启动参数WINEDLLOVERRIDES来正确加载BepInEx的DLL
WINEDLLOVERRIDES="winhttp.dll=n,b" %command%
即可正确加载

Steam Deck运行一些汉化游戏时汉化无效的解决方法(BepInEx失效)

@Shiraira1 年前

11/7
22:12
技术杂谈

V2ray进阶MITM用法配置分析

前言

今天在查看TLS in TLS相关问题的分析时,偶然看到这篇文章:V2Ray的进阶用法(2): MITM
其中对自己进行MITM攻击的做法,使得与Client端与Server端的加密流量中只存在HTTP数据,从而完全避免了TLS in TLS特征,虽然实用性不高,但想法十分奇特,且配置较为复杂。
虽然不打算实际使用,但可以利用这个机会,理解V2ray的工作原理和配置原理。

Read More →

V2ray进阶MITM用法配置分析