星期四, 九月 29, 2022

153 使用 yaP 制作 Clash for Windows 便携版, 配置随着打包即可带走

cfw这个东西真的是一言难尽, 你说它好用吧, 它是electron写的, 性能又差, 占用内存; 和.NET程序一起, 在我的鄙视链中.. 你说它不好用吧, 它又很强大... cfw本身带有便携版, 但是 %appdata%\clash_win\ 会有缓存文件. 

yap是什么? 它是一个可扩展的便携软件制作工具. 
原理很简单, yap没有hook路径之类的, 通过自己写ini, 实现启动前的环境准备(比如设置环境变量, 准备文件, 写入注册表等等), 再等到指定进程退出以后, 再继续环境处理(比如回收配置文件到某个目录下, 删注册表, 清理文件文件夹等等), 虽然2019年期就停更了, 但是扩展性很好. 就是个小小启动器, 还支持参数用指定密码加密, yap就相当于两个cmd. 

portableapps见过吧, yap和那个类似, portableapps还需调用NSIS, 虽然说很高级, 但我的需求就是简单地写个cfw的便携版ini, 不需要那么繁琐的准备环境和各种依赖. 

yap和pa的文件结构类似, 就一个启动器exe和一个ini文件. 所以最重要的也就是这个ini的内容了. 下面我把我自己写的ini贴出来. 

把cfw放入app文件夹, 以保证 \App\Clash for Windows.exe 存在. 后续更新只需要自己清掉app文件夹里的文件, 放入新版本即可.

如果clash需要重启, 手动退出clash重新进. 由于yap自身缺陷, 只能识别标题是否存在, 无法做到检测进程.exe是否重启. 如果clash已经重启了, 没事, 手工退出再重新进一下就好. 

; configuration file for yaP v0.7.x (http://rolandtoth.hu/yaP/)

; application name: Clash for Windows

; website: https://github.com/Fndroid/clash_for_windows_pkg/releases


[GENERAL]

application = {YAPROOT}\App\Clash for Windows.exe

; commandline = 

workdir = {YAPROOT}\App\

!waitprocess = Clash for Windows


[BEFORE]

dir = %userprofile%\.config\clash\ :: {YAPROOT}\Data\

dir = %appdata%\clash_win\ :: {YAPROOT}\Data\cache\


[AFTER]

-dir = {YAPROOT}\Data\logs\

-file = %temp%\*.tmp.ico

-file = {YAPROOT}\App\debug.log

-regkey = HKCU\SOFTWARE\Classes\clash\

其中;是注释, 其它内容很好理解, 就是在每次cfw结束之后回收配置文件至 软件目录\Data\下, 清理缓存.
网站也对语法有详细的文档介绍. https://yap.rolandtoth.hu/#configuration 还有各类模板可供参考: https://yap.rolandtoth.hu/#examples

下载地址: https://yap.rolandtoth.hu/

软件启动前和退出后, 有文件读写操作, 所以如果是像 钉钉 那样的屎山, 用这个yap没有太大意义. 

星期四, 六月 30, 2022

152 红米k20pro 从MIUI刷至魔趣, 并解决 wifi无法开启卡住 取消类原生流量和wifi有x有叉 GPS能搜到信号但无法定位 的问题

1, 先刷入官方底包, 从MIUI网站检查符合魔趣安卓版本号的版本. 比如魔趣这个包是安卓10, 你也得从官网下载安卓10的底包, 不能跨版本, 否则可能有GPS无法定位、wifi无法打开等各类奇葩情况. 也可以从https://xiaomifirmwareupdater.com/firmware/raphael/ https://downloads.akhilnarang.dev/MIUI/raphael/

下载firmware和vendor, 将驱动升至符合魔趣安卓版本号的版本. 
如果用的是firmware zip包, 在刷入之前, 记得在TWRP-"挂载"里面, 挂载firmware分区!  vendor同理. 

2, 如果刷入官方底包, 那还需要重新刷入TWRP recovery. 

3, 安装魔趣系统刷机包. 

4, 进入TWRP-清除, 格式化Data分区. TWRP-高级-取消强制加密, ✔删除DM校验 ✔取消强制加密 这两个都勾上执行. 重启至系统, 进去之后, 过完新手设置引导, 重启至Recovery. 

5, 检查/data/system/、/data/app/、/data/data/ 之类的分区, 文件名和文件夹名是否被加密. 如果操作正确, 文件名都会显示正常. 

6, 继续在TWRP中刷入Magisk最新版本, 重启至系统, 安装app. 安装后进入设置, 只勾选Zygisk, 底下的遵守排除列表不勾, 然后隐藏magisk. 重启至系统. 

7, 在magisk的设置里, 不勾选遵守排除列表, 直接进入排除列表, 勾上银行类支付类等各类要排除的软件. 每个软件都要点开把所有项目都勾选上. 

8, 继续在magisk安装Shamiko的zip包(以对抗银行类软件). https://zhuanlan.zhihu.com/p/470468650, 装完重启即可正常打开银行类软件. 

9, WIFI/流量信号有小x: 

adb devices

adb shell settings put global captive_portal_http_url http://connectivitycheck.platform.hicloud.com/generate_204

adb shell settings put global captive_portal_https_url http://connectivitycheck.platform.hicloud.com/generate_204

adb shell settings put global default_captive_portal_http_url http://connectivitycheck.platform.hicloud.com/generate_204

adb shell settings put global default_captive_portal_fallback_urls http://connectivitycheck.platform.hicloud.com/generate_204

分四行执行. https_url的值也不能为https, 这一版rom如果改https的网址, 重启后电信APN(接入点)会消失, 无法用流量联网. 另外也可以用"CaptiveMgr"进行修改, 需要root权限, 注意也不要勾选https的选项, 否则重启后同样电信APN会消失. 

 

*在TWRP备份恢复分区误操作, 无脑恢复了这些分区 msadp logo keymaster xbl cnmlib splash dsp apdp dtbo EFS logfs abl bluetooth fsg Persist cnmlib64 Boot Persist_backup tz devcfg hyp 导致无限重启, 即使重刷zip刷机包也不行: 
从这里下载tgz线刷包, 解压出来, 用fastboot+miflashpro的形式刷入. miflashpro也可以从第三方检索页面查询下载
我尝试恢复之前魔趣的data分区, 系统无限重启, 貌似twrp备份没什么用. 还是钛备份吧, 虽然有点麻烦…

星期一, 四月 25, 2022

151 钉钉 通过json下载最新版本的离线包

给同事下载个钉钉, 从官网正常下载发现是个下载器...

网上搜了一下, 发现这个博主的方法能够解决. 只要接口不变, 可以一直获取最新版本. 

https://im.dingtalk.com/manifest/new/website/vista_later.json

看URL节点里面的地址即可获取exe完整包或者zip的完整包(解压就行). 

臃肿又卡顿的软件😂


有人说, 直接用下载器下载安装不就好了么?

给别人做好系统安装软件的时候, 不一定有网-_-

星期五, 一月 28, 2022

150 vivaldi浏览器 登录谷歌帐号提示 "此浏览器或应用可能不安全"

由于centbrowser已经一年多没有更新, 我已经放弃了, 进而使用内存占用和资源消耗大一些的vivaldi. 

浏览器设置完了之后, 谷歌帐号无法登录, 提示"此浏览器或应用可能不安全", 英文错误提示是"This browser or app may not be secure".

-有人说通过vivaldi_proxy.exe打开浏览器登录, 我试了无效. 

-还有人说禁用所有扩展之后再登录, 同样无效. 再说这是vivaldi浏览器, 一个网页没权限获得我的扩展安装列表, 而且这些扩展我以前也一直用. UA也就升了个版本号, 看不出什么. 识别浏览器指纹就更不太可能了. 

找了很多帖子, 发现还是设置的问题. 

设置 - 隐私 - 谷歌扩展 - 加密令牌, 把这个勾上, 重启一下浏览器再登录就行了, 另外如果 应用商店 没有勾选的话, 也勾上.

原贴出处: https://vivaldi.club/d/14118 - ikali的评论


149 Vivaldi浏览器 两种方法设置默认为便携版 Userdata随软件目录走

首先排除 快捷方式+参数, 如果由其它软件调起系统默认浏览器, 那使用 快捷方式+参数 没有任何意义. 

其实vivaldi的安装包是有便携版安装的功能, 选"独立版本模式安装"这项安装就好了. 

=================

如果已经安装好的, 按照下图把userdata移动过来放好就行. 

放好之后, 在application底下新建一个空文件, 命名为stp.viv
这就标识为便携版本了. 软件会自动识别刚才你移动过来的userdata.

星期二, 一月 25, 2022

148 话筒无法出声也没有图标, 以及win10设置(新控制面板)崩溃: SystemSettings.exe - 系统错误: 系统在此应用程序中检测到基于堆栈的缓冲区溢出。

标题有点长. 两个问题.

最近瞎几把禁用后台服务, 也就是services.msc, 结果把系统干出两个问题, 研究了五十多分钟, 终于研究出方法了. 一到晚上我要睡觉了, 就给我出幺蛾子...

(1) 话筒无法出声也没有图标

(2) win10设置(新控制面板)崩溃: SystemSettings.exe - 系统错误: 系统在此应用程序中检测到基于堆栈的缓冲区溢出。

------------------

(1) 今天晚上玩英雄联盟日服, 跟队友开语音没有声音. 对方头像小绿圈亮, 但我听不到对方的语音, 我说话的时候头像小绿圈也不亮.
以为是游戏的问题, 但我顺手试了一下浏览器的在线测试麦克风, 结果发现...托盘的话筒图标不出来, 在线测试也测不到声音, 设备列表有, 但是会提示无权限之类的错误. 

(2) 打完游戏后, 照着网上的方法打开 设置 - 隐私 - 麦克风, 直接报(2)的错误, 点确定然后设置界面就闪退了. 我很清楚这是我自己干的事, 因为系统刚装上的时候没有这些幺蛾子. 

问题主要出在这个服务(camsvc是服务名, 可以直接用sc命令启用, 或者在services.msc里面找功能访问管理服务), 

camsvc 功能访问管理器服务

给我折腾到晚上两点半, 设置成 手动+启用 之后用浏览器测试立马就好了. 设置 - 隐私 - 麦克风 也能正常进去了. 

以后再也不瞎几把乱禁服务了. 不过win10有些服务是真踏马没卵用. 


再说一说系统目前的服务如何备份吧, 有两个方法.
一是直接导出本地服务. 打开服务界面之后, 右击最左侧栏的 服务(本地) - 导出列表. 这样就能导出一个表格, 出了问题可以一个个服务去核对.
二是用这个bat, 很早以前不知道从什么地方弄来的, 看代码大概意思就是, 获取服务列表, 保存其状态并生成恢复用的bat, 注意这个bat不保证能用.

@echo off

rem  get current date and time

for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m

for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%_%%j_%%k.bat


rem get all service name

sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt

echo Save Service Start State In %FILENAME%

rem save service start state into batch file 

rem


echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME%" 

echo @pause >>"%FILENAME%"


for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr  START_TYPE >tmpstype.txt &&  for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config  %%j start= %%s >>"%FILENAME%")

echo @pause >>"%FILENAME%"


del tmpsrv.txt

del tmpstype.txt


星期一, 十一月 08, 2021

147 压缩优化chrome核浏览器导出的html书签

朋友共享了他的html书签, 我没导入, 打算用的时候直接打开html搜索. 

发现书签文件的体积很大, 打开看都是一些base64的图片和一些没用的字段. 经过一个下午的折腾, 终于用笨办法解决了去除无用字段的问题. 

首先来看一下chrome html书签中的两种情况和它的无用字段:

<H3 ADD_DATE="1606639169" LAST_MODIFIED="1636365719">书签文件夹名称</H3>

<A HREF="url" ADD_DATE="1633767478" ICON="data:image/png;base64,此处省略图片代码...">书签名称</A>

可以看到有3个字段是没有用的, add_date last_modified icon, 尤其是icon, 占用了大量的体积. 

尝试过文件编辑器+正则, 可惜正则实在让人头疼...

又尝试了使用JavaScript书签, removeAttribute, 屁用没有...

毕竟不是大佬, 能力十分有限. 折腾了两个多小时, 灵光一现, 想到了chrome去广告的扩展uBlock Origin, 终于成功...


文章来源: stackoverflow.com

1, 先用hfs之类的小工具, 在本地建一个html小环境. 如http://127.0.0.1/  因为虽然ublock可以在设置里允许访问file://, 但是我不知道本地规则该咋写... 

2, 把需要修改的html书签放到环境中. 如 http://127.0.0.1/1.html

3, 在ublock里面写这些规则: 

127.0.0.1##+js(ra.js, icon, a)

127.0.0.1##+js(ra.js, last_modified, a)

127.0.0.1##+js(ra.js, add_date, a)

127.0.0.1##+js(ra.js, add_date, h3)

127.0.0.1##+js(ra.js, last_modified, h3)

4, 保存之后, 访问你的html书签, 如 http://127.0.0.1/1.html

5, 按f12点开elements, 点一下<html>, 然后ctrl+c复制. 我试过直接ctrl+s还是会保存成未修改的, 所以要用f12. 
粘贴到记事本保存成html格式就行了. 


*实际测试效果: 2.67MB -> 495KB. 

----------

为什么要计较这1MB多呢? 

对于我个人的需求来说, 别人分享给我的书签, 我没必要导入自己的浏览器, 只是偶尔才用到, 用到的时候, 直接打开搜索就行啦. 我将这个书签放在我自己的网站上, 或者路由器上, 可能会用到手机访问, 几千行的内容外加一堆隐藏的图片, 可能会导致手机浏览器卡顿费电. 
所以花了三个小时研究方法还是很值的哈哈哈, 主要还是太菜, 不然正则几分钟搞定😂

星期一, 十月 11, 2021

146 Pacificrack主机 移除qemu服务

参考文章: https://www.bigxd.com/2018/11/432.html

访问/etc/init.d/并找到qemu***文件, 打开文件后, 得知服务名为qemu-guest-agent(下文简称qemu服务)

访问/usr/sbin/并找到qemu***文件, 删掉或给权限0000. 我是给0000, 也就是不可写不可读不可执行的意思. 

结束进程

ps -ef |grep qemu-ga | awk '{print $2}' | xargs kill -9


按照参考文章中的写法, 可以卸载pacificrack主机中的qemu服务:

service qemu-guest-agent stop && update-rc.d -f qemu-guest-agent remove && rm -f /etc/init.d/qemu-guest-agent && rm -f /bin/qemu-guest-agent


qemu-guest-agent是干啥的? 

其实阿里云里面也有类似云盾什么的服务, 主要监控主机的性能, 也有一定的控制能力, 参考https://www.cnblogs.com/liufarui/p/13144343.html

qemu guest agent简称qga, 是运行在虚拟机内部的一个守护程序(qemu-guest-agent.service),他可以管理应用程序,执行宿主机发出的命令。

QEMU为宿主机和虚拟机提供了一个数据通道(channel),这个通道的两端分别是在虚拟机内看到的串口和在宿主机上看到的unix socket文件。

宿主机与虚拟机内的qga通讯就扩展了对虚拟机的控制能力,例如在宿主机上获取虚拟机的ip地址等。

libvrit提供了专门的 virDomainQemuAgentCommand API(对应virsh qemu-agent-command命令)来和qemu-guest-agent通讯,

另外有些libvirt内置api也可以支持qga,例如reboot、shutdown等

大概就是这么个意思, 因为是小主机商, 放心不下可以卸载. 

那么从哪里看qemu服务有没有在后台运行呢, 系统自带的有ps -aux命令, 如果是想要windows那种实时更新的任务管理器, 可以安装htop工具: sudo apt install htop

然后运行htop命令就可以看到了. 

经过测试, 卸载qemu服务不会影响pacificrack控制面板底下的重启开机等、在线vnc等功能, 在线指标(CPU使用率、硬盘IO、内存使用、流量). 

星期六, 九月 11, 2021

145 115电脑版 115浏览器 下载界面的chrome://地址

 本篇纯属闲得折腾.


熟悉chrome浏览器的可能知道chrome://chrome-urls/可以打开浏览器隐藏高级功能, 但是115定制且阉割十分严重, 但我又实在是想找到下载界面对应的URL...

后来在115设置"打开特定网页或一组网页"这个功能时, 无意间发现了下载界面的两个URL:

下载管理界面: 

chrome://transfer-frame/

添加链接/BT任务: 

chrome://mini_download_frame/


*这两个链接为115浏览器专有, 其它浏览器没有.

点传输按钮再开个小窗十分蛋疼. 可以把这两个存成书签, 会新建标签页打开, 而不是弹出一个窗口. 


最后附上一个115的User-Agent. 注意, 单纯模拟UA来充当115浏览器是没有用的. 

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36 115Browser/24.4.0.2


星期五, 九月 03, 2021

144 网易云音乐 CloudMusic 下载歌单后总是少一两首

老版本失效了, 直接给我踢出来了, 登录提示失败. 所以换上了新版本. 

新版本下载总是少一两首歌, 歌单显示和本地下载的数量对不上. 几个歌单上千首, 我特么上哪对去. 如图:






后来下载完清理目录的时候发现是软件的BUG, 少的那几首歌曲, 在 

根目录\Netease\CloudMusic\TempD

这里可以找到. 这是个隐藏文件夹, 注意是TempD不是Temp, 设置显示隐藏文件之后才能看到隐藏文件夹. 





软件下载的逻辑是, 先缓存到TempD文件夹底下, 然后再转成解密的格式, 最后放到用户指定的下载目录. 

起初以为是老笔记本太卡造成的, 这个问题我在台式机上也有.