分类 Linux 下的文章

第二次了,发生在我的Thinkpad E14 Gen3 (20YE01CD)上。

 1986  du -h --max-depth=1 /home/xfox
 1987  du -h --max-depth=1 /home/xfox/.config
 1988  du -h --max-depth=1 /home/xfox/.config/clash-verge/logs/

一通查询,发现了问题所在。你没看错是被日志挤满的,
出现了大量类似如下条目的日志。
31mERRO[2024-01-18T22:52:08.679274456+08:00(☁️
CFWarp-C) connect to server: connect failed: dial udp 188.114.96.128:1074: connect: network is unreachable
31mERRO[2024-01-18T22:52:08.67928208+08:00(☁️
CFWarp-B) connect to server: connect failed: dial udp 188.114.98.122:1074: connect: network is unreachable

看看写入了多少(毕竟零下的温度散热风扇都转起来了)

xfox@ThinkPadE14Gen3:~$ du -h --max-depth=1 /home/xfox/.config/clash-verge/logs/
30G     /home/xfox/.config/clash-verge/logs/

好,写的很多,下次不要再写了。😠
这件事情提醒我们没事别老开着日志记录。

为啥我要自己编译?

因为Debian官方仓库的版本有些旧了。而且我不喜欢也不想大量使用臃肿的FlatPak或者Snap包。

官方文档

https://github.com/obsproject/obs-studio/wiki/Build-Instructions-For-Linux

自用版本

Github Release
编译参数Release有写明,如有需要留言说明。
我编译的包依赖Qt6,今后也不打算支持旧版Qt5。

sudo apt install qt6-base-dev qt6-base-private-dev libqt6svg6-dev qt6-wayland qt6-image-formats-plugins

持续更新

看心情,我想起来就去拉个最新版本的更新一下,想不起来就不管。
如果你发现有什么重大更新发布了但是我没跟进编译,可以留言我能看见。

问题设备主要参数

PC:Thinkpad E14Gen3 (AMD R5 5600U) 蓝牙与网卡集成在RTL8852AE上。
耳机:KMOUK KM-HTW008 (洛达1562A 蓝牙5.2 支持编码:SBC/ACC)。
操作系统:Linux ThinkPadE14Gen3 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux

问题特征:

链接耳机能扫描到,但是链接失败,失败后正常出现在配对列表。报错:br-connection-profile-unavailable
另外,我当前使用的PulseAudio有非常致命的声音延迟问题,导致我在CSGO里屡屡被队友当成了聋子。😠

参考文章:

bluetooth-br-connection-profile-unavailable-issue-on-upgrade-to-xubuntu-23-04
https://wiki.debian.org/BluetoothUser/a2dp
https://wiki.debian.org/PipeWire#Bluetooth

- 阅读剩余部分 -

问题现象:

挂载的ext4磁盘无法建立Steam存储库,Steam展示的分区的选项里没有,手动选择后提示目录无执行权限。(ntfs-3g以default参数挂载的NTFS磁盘确正常显示且可以建立存储库但游戏似乎无法启动?)

尝试解决

手动chmod 775后发现Steam依然输出错误
Failed system("/media/xfox/LinuxDataPart/SteamGame/.steam_exec_test.sh") in execute test: 32256

这里我不得不吐槽一下,看日志的时候发现Steam还尝试往/efi/boot等敏感分区写入测试脚本,这个问题Github早有反馈但是至今未获得解决。

在路径下执行umask发现输出权限掩码0022,那么实际权限应该是0775,随后在CTL下进入路径手动运行二进制可执行文件发现命令行提示无权限执行。也就是可执行权限实际还是没有给到,编辑/etc/fstab,挂载参数改为:exec,umask=0022 重新挂载后再次启动Steam,大功告成。

后记

第二天就无法正常启动了,只得把umask删掉,但是明明上面系统分区/boot/efi用了umask参数都没问题。难道这俩参数冲突不能混用?总之最终只写了一个exec 启动了操作系统。存储库依旧是可用的。(然而我之前试过user,exec参数就不行,很奇葩。这个问题Github也一直存在,解决方法其中就有写user,exec的,还有搞软链接的,但是归根结底并不像是用户自己的问题。)
Fuck you Steam!

知识点:

Linux 文件基本属性和八进制权限代码表示

2023-10-28T20:30:27.png
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

各权限的分数对照表如下:
读 r:4
写 w:2
执行 x:1
无权 -:0
分数之和即为权限所有者的权限等级代码,依次有所有者owner,所有者同组用户group,其他用户others 这三个权限所者,每个权限施行对象有一个数字,即前面介绍的分数之和来
rwx r-x r-x即

4+2+1 4+0+1 4+0+1
7 5 5
777-022=775 ,777,644,775这些常见权限等级设置是不是很熟悉?
0777-权限掩码=实际权限代码
umask可用来设定[权限掩码]。直接执行umask查看当前[权限掩码],[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

最近做作业为了方便交就上传到博客服务器,结果发现了这个限制。

参考文章:typecho上传文件大小限制的修改

我的博客架构是基于Debian12 运行 php7.4 Nginx mariaDB ,因此对上传文件的限制在php-fpm和Nginx上
顺便吐槽以下本校垃圾校园网,SSH都连不上我的服务器,还得我自己开流量,纯纯的垄断资本垃圾服务。

- 阅读剩余部分 -

为什么使用Podman而不是Docker?尽管Docker-CE是免费的,但是Docker属于商业公司的产品,而Podman是由社区驱动的自由软件。Podman近乎完全兼容Docker的CLI和标准Docker容器生态,对于我没有学习成本亦不造成生态割裂。此外Podman与Cockpit可通过插件完美集成,大大提高了可视化管理效率。

什么是Moments?

Moments是一个 C# 开发的博客朋友圈平台。

Moments 为你提供了一个全新的方式来与你关注的博客作者和读者互动,让你的博客体验更加丰富和充实。
我们核心目标是通过整合各种订阅源,如 RSS 和 Atom,将你感兴趣的博客转化为一个个人朋友圈。你可以订阅来自世界各地的博客,并实时获取他们的最新动态。无论是热门博客、专业博主,还是你最喜爱的作者,你都可以通过 Moments 获得他们的最新博文、评论和互动。

安装Podman

参见Podman Installation Instructions
sudo apt install podman
你可能需要对Podman进行简单的配置,参见:必要的配置

- 阅读剩余部分 -

 灵感来源是Linux.cn的每日新闻,老王叔叔做自媒体就更谨慎一些,这也是受限于相关性和正式性有些东西他一般是不会发出来的。我希望这部分信息他可能不那么方便发的信息依然有一个合适的渠道被传送给身处中国大陆,特别是不可能看到油管等外部媒体信息的普通大众。
我希望能促进真实信息的无障碍传递,尽可能的发挥中国大陆境内有限的言论自由权。
先在博客发布,然后在B站发专栏吧,毕竟看油管的也不需要看B站。后续考虑单独开个域名和站点发布相关内容。
中文名字就叫自由软件与互联网慢讯吧。
简写为FS&IT慢讯

计划使用域名:fsit.eu.org

正在申请注册

计划站点应用使用Typecho

暂定默认主题,如果有其他主题,欢迎推荐。

昨晚无意间发现的,睡前随手打开博客结果转圈然后Connect Rest/Closed,刚开始以为服务器被墙了,就顺手打开笔记本看了一眼。

开始看乐子

Ping了一下域名,正常响应了,看来没被墙,SSH服务正常登录上去Htop看了一眼,CPU占用100%,RAM倒是没什么影响。 刚开始也没在意,只当是出了点bug抽风一下,直接重启。
重启后刚开始还能打开页面,过了几秒又是Connection Rest/Closed,htop命令上php-fpm占用居高不下,想了想可能是被攻击了,稍微上点心开始看日志。
cat /var/log/nginx/access.log
日志一直刷不完,那就
tail -f /var/log/nginx/access.log
看了下,刷不完是因为后面访问记录一直在高频刷写。
这里随意摘出来一部分:

35.197.121.158 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=ce167aaf-483f-4887-b710-4fa822ef5e34&param1=4GDzirKVEe&param2=gA6vVX8eaw&timestamp=1691601014 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0"
198.23.254.212 - - [10/Aug/2023:01:10:23 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
35.197.71.216 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=7fb35c3b-a136-4223-b68a-8317ee501a07&param1=7RvcaEVkej&param2=gnVzSYROZ3&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"
34.66.111.163 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=b3f2bfc1-de55-4c22-a701-7f68052dc544&param1=vrkJ5thvM7&param2=fgIC6O2tJz&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 5.0.1; ALE-L23) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36"
198.23.254.212 - - [10/Aug/2023:01:10:24 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=d4aa11be-98fa-4750-a0eb-5d0dc5776086&param1=QtOZIkFllL&param2=QSGsDtkQ0d&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4"
35.197.121.158 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=426e4139-08f4-4f34-a37f-b71370953631&param1=IeNOGHrPqK&param2=rdtWgqRdps&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
35.197.71.216 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=0a8da378-ece3-49ee-9ec2-2236e2757c50&param1=xjEtLEFZAf&param2=fNBFJMmWv2&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.33 Safari/537.31 SmartTV/5.0"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=5418aacd-821e-4d70-8fe8-979ee757d923&param1=SRCtiYzr7m&param2=bg3Ce86SOK&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 7.0; SM-G610M Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/191.0.0.35.96;]"

稍作分析

198.23.254.212是服务器自己发出的正常请求,不过这个api我貌似早就弃用了,后续去看看主题文件是不是没删掉。
其他ip随机抓下来查了下都是美国谷歌的机房IP。UA估计也没啥真实性,都是随机出来的垃圾数据。
之前也有找朋友DDoS帮我测压,国内服务器1TB下去没买防御套餐直接就黑洞了,不过我这个国外的VPS就没那么脆弱了,目前从头到尾除了博客打不开其他服务都正常运行,因为这个服务器带宽不小亦不是按流量计费,上面也没需要100%全天运行的东西,之前就没怎么关心防DDoS/CC。

第一次遇到还是挺新奇的,群友的博客服务器之前也有遇到过访问日志一直刷的。当晚也没什么事情就在B站开了个直播和网友一起看日志刷屏,顺便一起聊聊天。有个粉丝说关注我第一次看见我开播哈哈,正好赶上当作活素材了。

睡觉之前,给NAS装上了OBS,然后在Nas上继续串流直播。
今天睡醒把这事都忘了,刚才爬起来上去看nas命令行已经停掉了,直播间有粉丝留言说攻击已经停了可以正常访问了。
报错是:client_loop: send disconnect: Broken pipe
然后看了看中断之前日志上最后一个访问的异常ip是35.197.121.158,
http访问过去,页面就一个ヾ(*ФωФ)βyё βyё☆彡,又试了试另一个ip,也是一样。

乐子结束

不知道是哪家的小孩打着玩的,本来当天晚上打算看看有没有什么防火墙工具可以处理一下,但是这点流量又没什么技术性也就没什么实质性威胁我就懒得管了,挂着直播给网友娱乐,我直接睡觉去。