最近在youtube上看经济学人的讲解,比如下面这个:
https://www.youtube.com/playlist?list=PLFOmDh7i7tWbblLXydFKQ6oGqTiNACDYN
youtube提供了podcast,打算批量下载下来,开车的时候听。
过程中有几个问题记录一下。

  1. 音频格式选择与下载
    yt-dlp本身提供了查看可选择音视频格式的选项:--list-formats或者-F,可以查看youtube提供的格式,用-f选择合适的格式下载即可。但是列表中的部分选集的格式不一样,批量下载的时候可能出现失败。

    最好使用-f 'bestaudio'选择下载最优音频格式,通常是webm格式;再用-x --audio-format mp3通过ffmpeg转换为常用的mp3格式。

  2. 导出并使用cookies
    一次下载的集数比较多是,可能出现限制下载的情况,需要通过使用浏览器cookies来进行认证。
    参考yt-dlp提供的说明即可。
    由于yt-dlp不支持我使用的thorium浏览器,需要使用Get cookies.txt LOCALLY插件导出后再使用,选项为--cookies PATH_TO_COOKIES.TXT
  3. 使用deno解决javascript challenges
    youtube为了限制下载,采用了javascript challenges,需要安装外部js运行时来解决,最简单的方案是使用deno
    yt-dlp也提供了说明,按照说明:
    先安装deno运行时,我使用scoop install deno直接安装。
    再增加选项--js-runtimes "deno:PATH_TO_DENO.exe"

    总的命令行如下:

    yt-dlp -f `bestaudio` -x --audio-format mp3 --cookies PATH_TO_COOKIES.TXT --js-runtimes "deno:PATH_TO_DENO.exe" YOUTUBE_URL
  4. 缩短文件名
    由于yt-dlp默认下载的文件名是视频标题,比较长。上传到NAS时会因为文件名过长而不给保存,需要通过删除末尾的重复文字来缩短文件名。
    我使用Total Commander的批量重命名功能,删除最后的“|TheEconomist”和后续的视频标识字符串。
    正则表达式为|TheEconomist.*,其中.*表示任意字符串。
    PixPin_2026-05-05_00-28-29.png

万象拼音是基于rime的拼音输入法,支持各种辅码。
在我常用的自然码拼音输入法基础上,更支持了自然码辅助码,效率提高了不少。

  1. 部署与定制化
    直接下载最新的自然码pro方案即可,定制化的内容也不多,只有更换输入法切换快捷键到F3、逗号/句号翻页两项。
    default.custom.yaml内容

    patch:
      "switcher/hotkeys":
     - F3
      "key_binder/bindings":
     - { when: paging, accept: comma, send: Page_Up }
     - { when: has_menu, accept: period, send: Page_Down }
  2. 自然码辅码
    键位图
    自然码辅助码键位图.jpg

    自然码辅助码在线查询工具

    自然码辅助码入门教程

  3. 参考资料
    https://zhuanlan.zhihu.com/p/1921900866975274411
    https://meta.appinn.net/t/topic/76426
    万象输入方案.png

Hysteria 是一个强大、快速、抗封锁的代理工具,对比naiveproxy在速度上有明显优势。

hysteria的服务端和客户端程序一样,最新版本为2.6.4, 下载地址:
Linux amd64版:https://github.com/apernet/hysteria/releases/download/app%2Fv2.6.4/hysteria-linux-amd64
Windows amd64版:https://github.com/apernet/hysteria/releases/download/app%2Fv2.6.4/hysteria-windows-amd64.exe

- 阅读剩余部分 -

飞牛fnOS上安装Transmission时忘记修改登录用户名和密码了。
最近想起来要更改,记录如下:

  1. 应用中心里停用Transmission
  2. 登录ssh,切换到root,编辑配置文件

    # 切换到root
    sudo -i
    
    # 编辑Transmission的配置文件
    # `vol1`为应用安装的存储空间,根据实际情况对应修改
    # `rpc-username`为用户名
    # `rpc-password`为密码,不用管他加密,直接修改为明文密码即可;重新登录后会更新为加密文本。
    vim /vol1/@appdata/transmission/settings.json
  3. 应用中心里启用Transmission,用新用户名和密码登录
  4. 参考
    https://blog.xqlee.com/article/544.html

  1. 生成新密钥,并上传公钥到服务器

    # 生成新密钥
    ssh-keygen -t rsa -m PEM -b 4096 -C "邮箱"
    # 提示可以输入密码,今后认证时服务器和本地用密钥认证,密码用来验证密钥
    
    # 上传公钥到服务器
    scp ~/.ssh/id_rsa.pub 用户名@服务器:~/.ssh/authorized_keys
  2. PowerShell中ssh连接

    ssh 用户名@服务器
    # 可见提示的密码认证是认证本地密钥

    PixPin_2025-08-31_21-42-22.png

  3. Putty中连接
    puttygen打开私钥,提示格式太老,菜单key \ 保存参数设置一下,另存为ppk格式的putty密钥。
    PixPin_2025-08-31_21-35-39.png
    putty中打开保存的会话,connection \ SSH \ Auth \ Credentials,打开之前保存的ppk密钥,重新保存会话。
    PixPin_2025-08-31_21-46-43.png
  4. 参考
    https://blog.csdn.net/black_cat7/article/details/139457572
    https://zhuanlan.zhihu.com/p/587082161
    https://www.dell.com/support/kbdoc/zh-cn/000217157/connectrix-b-series-how-to-use-putty-for-ssh-key-based-authentication
    https://blog.csdn.net/chenzhengfeng/article/details/125827015
    https://blog.csdn.net/knight_zhen/article/details/47001449

  1. socks5代理转http代理
    安装scoop需要代理翻墙,且只能走http代理,不支持socks5代理。
    naiveproxy只有新版本才能同时设置socks5代理,但新版本却不支持Windows 8.1, 只能通过privoxy来中转。
    privoxy配置文件config.txt中修改一句、新增一句配置

    listen-address  127.0.0.1:1090
    forward-socks5t   /               127.0.0.1:1080  .
  2. https问题
    安装scoop时出现错误Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel.

    如果客户端尝试使用TLS 1.0协商请求,但只支持TLS 1.1和1.2,则会出现此错误。
    在向您的服务发出请求之前,尝试通过将以下代码添加到客户端应用程序来强制客户端使用TLS1.2。
    Powershell

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  3. Powershell版本过低
    下载并安装Windows管理框架5.1
    https://tips.pfrlju.com/tech/jacki/updating-powershell-version-on-windows.html

    这里看貌似Windows 7也是一样的操作
    https://www.cnblogs.com/heenhui2016/p/11037607.html

1. 优势

方便安装多个系统,无需备份再重装。新增一个vhdx虚拟磁盘,安装系统,设置启动并进入即可,好用的留下,不好用删除即可。

2. 方案

整个硬盘设置为一个主分区,留好ESP分区用于存储启动记录。
PixPin_2025-07-05_23-18-22.png

2.1 创建vhdx虚拟磁盘

PE启动,在主分区里创建并挂载虚拟磁盘。

diskpart
create vdisk file=D:\win10.vhdx maximum=102400 type=fixed #创建虚拟磁盘文件`D:\win10.vhdx`,空间100G,类型为固定大小(性能最优)
select vdisk file=D:\win10.vhdx
attach vdisk

下面即可使用DiskGenius等工具在虚拟磁盘上建立分区,格式化了。由于启动记录在物理硬盘的ESP分区,直接整个虚拟磁盘设置为一个主分区即可。

2.2 安装系统

使用dism++,释放系统镜像即可。

2.3 设置启动

使用bootice设置从虚拟磁盘启动。

  1. 选择物理硬盘
    PixPin_2025-07-05_22-38-38.png
  2. 启动BCD编辑
    PixPin_2025-07-05_22-39-17.png
  3. 设置启动记录
    PixPin_2025-07-05_22-39-53.png

3. 参考

https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/boot-to-vhd--native-boot--add-a-virtual-hard-disk-to-the-boot-menu

https://winaero.com/mount-or-unmount-vhd-or-vhdx-file-in-windows-10/

NSSM - the Non-Sucking Service Manager
nssm也在scoop库里,可以通过scoop安装。
  1. 安装服务
    管理员cmd运行下面命令,出现配置窗口,填好信息,安装服务。

    nssm install

    PixPin_2025-06-14_00-04-01.png

  2. 管理服务
    常用管理命令

    To manage a service:
    
         nssm start <servicename>
    
         nssm stop <servicename>
    
         nssm restart <servicename>
    
         nssm status <servicename>
    
         nssm statuscode <servicename>
    
         nssm rotate <servicename>
    
         nssm processes <servicename>

    PixPin_2025-06-14_00-05-29.png