博文

从“防火墙”到“白名单”:一种可能的互联网治理转向

这些年关于GFW(防火墙)的讨论,其实一直没有停过。很多人习惯用“封锁”来简单概括它,但如果更客观地看,这套体系从一开始就不是为了彻底关闭互联网,而是一种“有限开放”的管理方式。 它的核心逻辑,是通过关键词识别、内容过滤、连接干预等技术手段,对部分信息进行选择性阻断。在这种机制下,互联网并没有被完全隔绝,用户仍然可以访问大量资源,只是某些特定内容被限制。这种状态,本质上是一种折中:既不完全开放,也不完全封闭。 如果把问题放在更大的框架下看,其实不难理解这种选择。在“政治稳定”和“经济发展”之间,很多时候优先级是明确的。而防火墙,正是在这种现实约束下形成的一种技术工具——它的目标,不是效率最大化,而是风险可控。 从实际效果来看,防火墙在普通用户层面,确实达成了它的初衷。 对于大多数用户来说,这不仅仅是“增加获取信息的成本”,而是在相当程度上限制了其访问国际互联网、自由获取信息的能力。与此同时,它也强化了信息与舆论的管理能力,使整体的治理结构更加稳定。从这个意义上讲,防火墙确实实现了其最初的设计目标:覆盖大多数人,限制大多数人的跨境信息流动,而对少数具备技术能力或特殊需求的用户,则并不作为主要控制对象。 但与此同时,这套机制也带来了一个长期被低估的“副作用”,甚至可以说是一种“战略红利”。 由于外部互联网平台的进入受到限制,国内互联网企业获得了一个相对独立的发展环境。从搜索、社交、电商到支付、云计算,中国逐步建立起了一整套完整且高度自洽的互联网生态体系。这种生态不仅规模庞大,而且在很多领域具备全球竞争力。 从结果来看,这种“有边界的开放”,在一定程度上推动中国成为全球第二大互联网经济体。换句话说,防火墙在发挥管理功能的同时,也客观上起到了“产业保护”的作用,成为一种特殊的“技术屏障”。 也正因为如此,中国在互联网层面具备了一种相对独特的能力:即便在极端情况下与国际互联网进一步脱钩,整体运行依然可以维持基本稳定。这种能力,在全球范围内并不多见。 但问题在于,这套机制运行这么多年之后,也逐渐显现出它的另一面。 一方面,总有一部分用户长期通过各种技术手段访问外部网络。从早期的代理,到后来的VPN,再到不断演进的混淆与伪装技术,这种“对抗”几乎从未停止。对于这些人来说,防火墙的存在意义其实非常有限。 另一方面,对于普通用户而言,虽然其访问能力被有效限制,但这也意味着信息获取的边...

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