博文

macOS 系统 L2TP 拨号后自动加路由的实现方式

  正文:   很多人发现 macOS 用系统自带 L2TP 拨号后,会自动出现一条指向内网的路由,但忘了当初是怎么做到的。我这边排查了一次,答案其实很直接:是 pppd 的 ip-up 脚本在连接成功后执行的。   核心机制   macOS 的 L2TP 连接由 pppd 负责建立。当 VPN 成功拨号后, pppd 会自动调用 /etc/ppp/ip-up 。如果这个脚本里写了 route add ,系统就会把路由加进去。   我机器上的脚本内容是:   #!/bin/sh   echo "[$(date)] VPN connected on $1, peer IP is $5" >> /tmp/vpn_route.log   /sbin/route add -net 192.168.0.0/16 "$5" >> /tmp/vpn_route.log 2>&1   解释一下:   - $5 是 VPN 对端(peer)的 IP。   - /sbin/route add -net 192.168.0.0/16 "$5" 这行就是“自动加路由”的来源。   - 脚本顺带把日志写到 /tmp/vpn_route.log ,方便排查。   如何确认   连接 VPN 前后跑一次:   netstat -rn   如果看到类似:   192.168.0/16   <peer-ip>   UGSc   ppp0   就说明路由是通过 ppp0 接口加进去的。   断开后清理   如果没有 /etc/ppp/ip-down ,断开时不会主动删路由。但一般 ppp0 消失后路由会被系统清理。想更彻底,可以自己写一个 ip-down 脚本做删除。   结论   macOS 系统 L2TP 的“自动加路由”不是隐藏配置,而是 pppd 的标准机制: 连接成功后执行 /etc/ppp/ip-up ,由脚本决定是否加路由 。只要记住这个入口,就能完全掌控 VPN 拨号后的路由...

HDR2SDR 全显卡过程中一些问题和解决

反馈主题:RTX 5090 在 Vulkan + libplacebo + NVENC 处理 Dolby Vision 增强层时编码速度骤降   环境说明   - pc01:Ubuntu 24.04、RTX 5070 Ti、NVIDIA 驱动 580.65.06、FFmpeg 自行编译(支持 --enable-libplacebo   --enable-nvenc)、CUDA 12.6。HDR→SDR(Dolby Vision → SDR)流程稳定,转码速度 4~6×。   - pc02:Ubuntu 24.04、RTX 5090。最初驱动 580.95.05,后回退到 580.65.06;FFmpeg 与 pc01 同源同配   置(CUDA 12.6,libplacebo 一致),命令完全相同;输入视频是 Dolby Vision Profile 7(包含增强层 NAL   type 63)。   复现命令(示例)   ffmpeg -v error -stats \     -init_hw_device vulkan=vk:0 -hwaccel vulkan \     -hwaccel_output_format vulkan -filter_hw_device vk \     -fflags +genpts -i <DolbyVision_profile7.mp4> \     -map 0:v:0 -r 24 \     -c:v hevc_nvenc -gpu 0 -preset p5 -rc vbr \     -vf   libplacebo=tonemapping=mobius:colorspace=bt709:color_primaries=bt709:color_trc=bt709:format=nv12,hw   download,format=nv12 \     -b:v 12M -maxrate 20M -bufsize 40M \     -pix_fmt yuv...

使用 AI 对音乐进行分类打标签的相关研究工作

图片
 发现这一门的相关研究还比较前沿,但基本上很多项目都停留在几年前。很多项目已经被设置为隐私模式,需要登陆,或者直接删库了,难道是因为这种类型的项目发展到了瓶颈,相关人员已经到大厂入职了,所以删库保留自己的工作的价值? 最早的 GPT 提醒我使用 musicnn 这个项目,但已经6 年没有更新了,我是在低版本的 python 里运行成功了,但是依赖于第三方插件都比较旧,不能支持 GPU 运行。 python3.8 musicNN_tags.py  很多项目是基于这个的,经过几天的折腾,最终放弃,无论是使用 docker 和还是自己编译都不行。 后来 GPT 推荐使用musicnn_keras,说是这个是支持最新的相关 Python 的插件,但实现上在 naivida 的 cuda12 里无法使用,降级到 cuda10,显示内核错误,后面又降级到 cuda11 也不行,放弃。这个项目实际也是很久不更新了,只是比 musicnn 稍晚一些,是基于 TensorFlow 写的,理论上支持最新的硬件吧。 使用 YAMNet模型运行成功了,这个很顺利,但生成的 tag 是有 500 多个,但是后面发现这个不怎么适合对于音乐的打标签,这是一个对声音打标签的工具,也可以提取 embedding 的特征量,提取放到 PostgreSQL后,可以顺利的取出相关相似音乐,已经成功用于 FEB 项目上。 但是这个毕竟不是针对音乐的工具,对于音乐分类不怎么专业,所以还要继续找。 经过几天的折腾,还是这几个项目来回折腾中,找到了 mtg-jamendo-dataset ,这个项目,也成功跑通了,但打出来的标签不怎么满意,很多歌都是有伤感和平静,如下图: 在 Python3.11.9 下运行成功 这个项目本身不带什么模型,自带了一个很小的训练好的模型,测试结果如上。 所以还得继续找,他好像可以自己下载原始的训练数据自己训练,所以还得测试。 带带的小模型只有 53 的标签,和 musicnn 的一样的,但后面有更多扩展的。

mac 下提取某一个网站的 cookies

  pip3 install browser-cookie3 --break-system-packages python3 -c " import browser_cookie3 import http.cookiejar jar = browser_cookie3.chrome(domain_name='youtube.com') with open('cookies.txt', 'w') as f:     f.write('# Netscape HTTP Cookie File\n')     for cookie in jar:         f.write('%s\t%s\t%s\t%s\t%d\t%s\t%s\n' % (             cookie.domain,             'TRUE' if cookie.domain.startswith('.') else 'FALSE',             cookie.path,             'TRUE' if cookie.secure else 'FALSE',             cookie.expires if cookie.expires else 0,             cookie.name,             cookie.value         )) "

掉到苹果万兆网卡的坑里了

图片
真没有想到这个龙眉大眼的苹果系统连一个万兆的网卡都不稳定。 连续买了两个万兆外置的雷电3接口的网卡就想使用上万兆网络,连续不稳定,心想可能是第三方的网卡兼容不好,又买一个内置万兆的Mac mini M4的机器,发现还是有同样的问题,网上一搜,一堆说这个问题的,很多出现在原来内置万兆Mac Studio的问题反馈上。网上说什么关闭网卡节能什么的,都试了不行。原来以为是交换机的兼容问题,又换了好几种类似的万兆网卡去配合,都出现了同样的问题。 看着手机里一堆设备,我陷入沉思。

对nload做了一些小的修改,大字显示

图片
 借助于chatGPT 4o1-preview,实现了对C++的代码的简单修改: 配合HUD实际展示效果: 代码地址: https://github.com/5UFKEFU/nload

假期对http3(quic)协议进行了测试,怎么变慢了?

图片
结论: 经过我的测试,原来直接使用http2,http1.1下载一个资源速度大概可以达到13MB/S.但使用http3后速度只有200-300KB/S左右. 速度下降非常多,这和网上一致说的http3变快完全不一样. 前述: 这个国庆假期由于国际学校并不放假,所以我还得在这里服务于James,而她妈和大果已经回国了,我闲得无聊,就想加速一下国际出国的链接. 一边和GPT聊着,一边测试. 先看看我这边的网络条件: 两个点之间的速度本身也是不错的,只是说下载大文件的时候速度根不上,一些高清视频会卡. 如果使用UDP来测试: 使用TCP方式直接测试 10个进程:默认可以达到: iperf3 -c uk1-lb02.shegu.net -R -t 10  -b 10000M -P 10