windows

1 清理旧文件

删除没有权限的文件夹

  1. 文件夹属性 -> 安全 -> 高级 -> 更改所有者 -> 输入自己的用户名 -> 选择下面应用到子文件夹的勾 -> 确定所有对话框
  2. 文件夹属性 -> 安全 -> 高级 -> 权限添加 -> 主体为自己的用户名 -> 勾选下面的继承权限

2 搭建

  1. 安装 PE 环境到 U 盘,PE 环境尽量不更新,否则 DG 版本更新后之前的系统备份是否还能兼容
    • 用 Edgeless PE,写入 时选择预留分区,大小为 U 盘容量 - 1G,即给前面的 PE 留出 1G 空间
  2. PE 环境下加载 ISO 镜像(镜像选择专业版),运行 source 下的 setup
    • 对 Win11 用 Windows 安装器加载镜像安装,绕过 TPM 2.0
  3. 更新系统、自动装驱动
  4. 关闭更新
  5. 修改桌面、文档等路径
  6. 激活系统,HEU_KMS_Activator 激活 Office 和 Windows
  7. 安装字体,设置 npp、typora、obsidian、系统字体
  8. Win11
    • 让系统时钟显示秒数
    • 蓝牙丢失的情况,关机、断电源后,等一分钟,启动可恢复
    • 蓝牙音量无法调节,regedit 的 计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AVRCP\CT 中 DisableAbsoluteVolume 改为 1,参考
    • 修复引导后,在 msconfig 引导中删除旧引导
    • 导入 reg 目录下其它配置,如用图片查看器打开图片
    • 使用传统右键菜单命令 reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve,恢复 reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f

2.1 虚拟机安装精简版 Win10

  • VMware 创建一个虚拟机,分配空白的硬盘
  • 插入 PE U 盘,启动,将 U 盘连接到虚拟机,重启后会从 U 盘启动
    • 更改 vmvare BIOS 启动顺序,重启后直接按 ESC 选择 USB(连接到虚拟机),如不行再试下面的
    • 编辑虚拟机名称的 vmx 文件,添加 bios.bootdelay="5000",然后重启按 ESC
    • ESC: 调整启动顺序,F2: 进入BIOS Setup
    • 要还原回去添加 bios.forceSetupOnce = "FALSE" 再重启一次,参考
  • 从 uupdump.net 选择最新的 x64 Feature Update,参考参考2
  • 下载 AME Wizard 和 ReviOS Playbook,运行
  • 也可用 VMwareHorizonOSOptimizationTool,相关介绍

3 软件安装

  • 没必要储存的大安装文件,一律以 0 字节的 name.2big 占位

3.1 试用中

试用中 配置
BurpSuite
Fiddler
nodesCatch 节点测延迟和测速,双内核,用来选机场节点和过滤免费节点。必要时改测速下载文件,因为机场可能封锁某些常用下载文件
incontrol 锁定 windows 版本,不更新

3.2 必装

必装 配置
驱动 使用联想驱动工具安装。驱动文件、主机编号、保修时间,见目录显卡驱动-IntelVideo、电源 ACPI-n2hku54w_x64、主板 intelchip-r0pch04w,两个蓝牙驱动
显示设置中缩放与布局设置为 125%,但偶尔会出现任务栏显示位置不正常的问题,通过设置分辨率为 1366X768 来放大显示
字体与主题
Clash.for.Windows - 设置开机启动,节点切换自动断开
- 手动调用 command.bat 里面的命令安装 service,及手动删除 service 解决“红色地球”问题,参见
- 可能对 clash 订阅的规则不满意,因此见下面 clash 自定义部分
所有平台客户端汇总
Firefox - 参考 这个方法 改变 default-release 那个 profile 位置,cache 位置就不用改了。还原 profile,还原 profile 时扩展需要关闭一下重开,账户可能要重新绑定
- 临时使用 AHK 脚本支持欧路双击取词
- 如果需要隐藏顶部标签栏、标题栏、侧栏标题,参照这个,但不要添加 windows 按钮那个 CSS
- about:config 设置 browser.urlbar.openintab 为 true,搜索结果新 tab 打开
- favicons 不更新,手动删除 favicons.sqlite
BANDZIP - 6.29 用 skin.data 覆盖,去掉启动的底部广告,关闭更新
PotPlayer - 设置文件类型关联
- 设置打开新文件时在当前进程,不新建进程
- 字幕缓冲量设为 0 避免弹幕抖动(仅新版需要)
- 最新版会有广告,关闭更新
- 下载的 ass 弹幕避免占满整个屏幕,可修改 PlayResY,如 1080 分辨率高度占 0.8 高度为 1080/0.8=1350
GoogleDrive 土区年付 100G,替换 Dropbox
两种用法
- 与 Dropbox 相同的用法。一般用云端硬盘,切换到“镜像文件”方式同步(非在线方式),点击“文件夹”,选择要同步的文件夹
- 与百度云相同的用法。即只想备份到云,不想与其它设备同步使用“我的计算机”同步
Cryptomator
Obsidian 笔记管理软件,typora 作为它的外部编辑器
typora - 打开主题文件夹放置 base.user.css 字体和界面宽度设置文件 ,见 typora 文件夹
- 其它偏好设置
- 目前两个 Bug,会在列表间加空行变成 lose list;被该用 tab 缩进,变成两个空格
第一个用 lint 插件解决,第二个用搜索替换 “(^\t*) “ 替换为 “$1 “
HEU_KMS_Activator office 和 windows 激活工具
激活时关闭实时扫描,排除 System32\kms-renewal.exe 和 SECOPatcher.dll
Chrome 第二浏览器
火绒 替换系统杀毒
傲梅轻松备份 一份安装版、一份 PE 版,尽量不升级
关机时备份需关闭 “快速启动”
—下面开始是免安装软件—
wiztree 显示磁盘空间占用
SumatraPDF 关联 PDF 格式
KeePass 为了安全设定自动锁定时间
npp 修改字体和字体大小
点 ?以管理员启动设置更新代理服务器,在插件中安装 compare
修改设置中的备份,简单备份改为冗余备份,设置自定义文件夹。每次保存都会在这里记录一份旧的
OneCommander clover 的替代品,防火墙禁止联网防止总提示更新
ContextMenuManager 右键菜单,官方下载。清理显卡,添加 MSYS2 到 目录和目录背景,其中命令为 D:\soft\msys64\msys2_shell.cmd -msys -where %v
Everything 空格表示与,| 表示或,”” 中是真的空格。限定搜索范围,支持简单正则
简单的 FTP、HTTP 服务器
calibre epub 等格式的电子阅读器
kindle 数据格式转换与管理。新版运行有问题,可能是多显示器的原因,总之维持旧版
KopiaUI 增量备份。额外添加 VSS 脚本和 kopiaignore 模板
alist 国内网盘转 webdav
rclone webdav/国外网盘 挂载、同步,给 KopiaUI 提供支持
JPEGView 看图软件

3.3 虚拟机安装

虚拟机安装 配置
TIM 查考这个删除 QQProtect
WeChat
百度网盘
阿里云盘
PikPak_By_Shimily
BitComet_v1.87_Stable_Mod

3.4 建议安装

建议安装 配置
欧路词典与配置 GoldenDict 和 欧路词典共用的词典
欧路词典 - 参考 环境-> 词典软件 设置。词典在“Dictionary在用”
- 用 AutoHotkey 脚本,设置划词快捷键 Ctrl + F10
SecureCRT 见 linux 文档 SecureCRT 配置问题。配置备份在 VanDyke_Config.zip ,可直接覆盖
vcxsrv 替代 xming(有 bug、新版本收费),新建快捷方式 “D:\soft\VcXsrv\vcxsrv.exe :0 -clipboard -multiwindow -dpi 108”
添加到 windows 启动中,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
指定 dpi -dpi 108 来增加文字大小
VMware-workstation ZF3R0-FHED2-M80TY-8QYGC-NPKYF 参考
- 安装时勾选自动安装 WHP(基于 Hyper-V)。解释见 Hyper-V 和 VMWare 终于可以无缝共存Windows 下各种虚拟化名词解释
- 创建虚拟机,不要勾选虚拟化引擎 Intel VT-x 这些,因为 Hyper-V 底层已经用到这些技术了
office 2021(Office LTSC 专业增强版 2021(SPLA)) 1. 先卸载旧的 office,再用 OTP 工具的激活选项卡清除旧的激活信息,重启
2. 用 OTP 通道: Office 2021 企业长期版,产品:Office LTSC 专业增强版 2021(SPLA)
3. 在 OTP 中设置 KMS 服务器激活,参考
Office Tool Plus 用来选择安装哪些组件和激活管理
pandoc 配合 typora 导入、导出各种格式文档
telegram
xmind 比起 mindmaster 没有节点数限制,xmind 8 绿色版,免费导出 svg,适合画调用关系图
xmind 2020 适合画大纲,导出 markdown,图不大时截图配在文章中
msys2 建议这个代替 git
Meld windows 版下载,用于 git 或其它比较
python
node 博客搭建使用
CLion
pycharm
ja-netfilter-all 参考 这篇文章 运行脚本激活,从这里 zhile 下载和激活码
7z 备用的解压缩软件,负责备份 firefox 时的命令行工具,提供 hash 右键菜单
Wireshark 抓包。更新到 3.2.3 安装 usbpcap 后可以识别 USB 网卡
spacedesk 平板做显示器,支持多台,无线连接
不要改安装路径,否则触摸屏不好用,
防火墙要放开 C:\Windows\System32\spacedeskService.exe
DeskPins 窗口置顶软件
逍遥模拟器 下载国际版,广告少一些
支持微信平板登陆,分辨率修改为 1600X900,dpi 修改为 240
雷电模拟器出现开启 AMD VT 后无法启动
虚拟机里跑模拟器,可以试试
喵喵机 喵喵机 PC 打印程序
IDM 破解版,用于下载 Youtube 视频
CP2102六合一 win 10 可用
MouseWithoutBorders 取消一些快捷键,避免冲突
如果改了 dns,可能需要设置 ip mapping
Microsoft.WindowsTerminal 可启用透明效果的 github 版本
wireguard
—下面开始是免安装软件—
WinSCP FTP、SFTP 等,在 session 的 高级设置中 UTF-8 encoding for filename 用来支持中文名
调试助手 串口调试助手/网络调试助手
ADB adb 工具和 usb 驱动
IntelliJ IDEA
jdk JDK、JDK Docs
VSCode 创建 data 文件夹,开启 portable mode
其它参照 IDE 文档配置
gtags
PDF处理工具 操作见“电子书处理”文档
DeDRM_tools DRM 移除插件,租借书籍 注释掉 rented 两行代码 后可以用,已经加入改后版本
cmake 只使用 gui 程序,命令行用 msys2 的
AutoHotkey 用于,推 gal 翻页笔映射脚本,欧路词典取词脚本
Bulk Rename Utility
哔哩下载姬 B 站视频、弹幕下载
ass 弹幕的 PlayResY 乘以 2 实现半屏弹幕播放
同时搭配 MPC-HC,避免 potplayer 引起的闪屏
Dism++ 下载,清理系统空间、引导修复
Hourglass 倒计时软件,官网帮助文档
硬盘 坏道检查、分区、硬盘信息查看,CrystalDiskInfo 原始值十进制显示
DiskGenius 官方论坛 有 PE 版,即单文件版
galgame 翻译器、全屏 Magpie、提取文字 MisakaHookFinder
Image-Anti-OCR-main 图片加干扰对抗百度贴吧 OCR
bilinovel2epub 哔哩轻小说转 epub
Umi-OCR 离线 OCR 软件
Simple-Web-Server 给 obsidian media extended 提供一个简易的 http 服务器
Snipaste 截图、贴图工具,配合 obsidian 使用
yt-dlp youtube 视频下载
PortableWinCDEmu 替代 DAEMON Tools Lite 挂载 galgame 常见的 mds、mdf 文件

3.5 不常安装

不常安装 配置
Arm Keil MDK 包含 STM32F1 pack
Git 可用 msys2 里的 git 替代
kindle-for-pc DeDRM 推荐的版本
sshfs 先装 winfsp (Cryptomator 也装了 winfsp),然后装 sshfs 64位
Beyond Compare windows 防火墙高级设置,添加出站规则,禁止 BC 主程序联网防止过期
KindleMate kindle 单词与笔记管理
Proxifier 代替 netch,给 GoogleDrive 用
不要用 Portable 即 PE 版,功能不全,会导致 chrome 挂掉
5EZ8G-C3WL5-B56YG-SCXM9-6QZAP
先创建 Proxy Servers,然后创建 rule 匹配规则
为了保险,name resolution 中通过代理解析
VirtualBox
WIFI-FC-5 Blink USB 无线网卡驱动
BTSync 分布式同步软件,下载书籍
串口工具 SerialPortMonitor 串口通信数据监控
Virtual Serial Port Driver,串口转发工具
破解有14天时间限制,尝试 windows 虚拟机快照
串口桥接、虚拟串口、多虚一、一虚多
使用 Complex 模式,IN 和 OUT 各创建一个虚口用来监控和发送流量
最后 IN 和 OUT 各两个口。也可用 redirect 模式,然后用串口监听软件
device-monitoring-studio 串口通信数据监控
PL23XX_Prolific_DriverInstaller PL2303 串口驱动
CH341SER ch340 串口驱动
DualMonitorTools 多显示器设置不同壁纸
函数调用生成 doxygen graphviz htmlhelp,生成项目文档,生成函数调用图 call graph
vs_Community VisualStudio 2019 如何离线下载
下载
vs_Community.exe –layout d:\vslayout ^
–add Microsoft.VisualStudio.Workload.ManagedDesktop ^
–add Microsoft.VisualStudio.Workload.NativeCrossPlat ^
–add Microsoft.VisualStudio.Workload.NativeDesktop ^
–add Microsoft.VisualStudio.Workload.VisualStudioExtension –includeOptional ^
–add Component.GitHub.VisualStudio ^
–lang zh-CN –addProductLang en-US
下载命令添加 –fix 用于断点续传,有个 arm 包速度很慢挂代理
安装,进入前面指定的 layout 文件夹,输入前面的下载命令去掉 –layout 和 –lang 的部分。取消再选择可以节省空间,可以不全部选择。但要保留下载缓存文件夹,否则以后无法修改功能
get_iplayer BBC 下载,无 DRM,自动转 mp4、srt 字幕
C:\Users\user_name\.get_iplayer\options 中添加,只下载有字幕的视频,设置默认保存路径
output D:\Videos\BBC
subtitles 1
subsrequired 1
All Netflix Categories netflix 隐藏类别 chrome 插件,解压缩后安装
Thunderbird 用来替代 foxmail 的邮件客户端
备份与恢复与 firefox 一样,配置文件是 %userprofile%\appdata\roaming\thunderbird\profiles.ini
配置储存在 %userprofile%\appdata\roaming\thunderbird\profiles\XXXXXX.default-release
删除旧的用新的覆盖即可
TortoiseSVN
EaseUS BitWiper 擦除磁盘数据,500G 需 1h
K-Lite_Codec_Pack MPC-HC 播放 B 站视频弹幕不闪屏(不像 potplayer)
不要装 mediainfo 会有右键菜单,也可装后再次运行安装文件卸载掉
用来显示视频文件缩略图,可只勾选 Explorer Shell Extensions 里面的两个
字幕查找-生成-处理工具 查找在线字幕,繁简转换
autosub(包括讯飞的配置文件)、aegisub、剪映
W28Pro 苹果电池容量检测软件
—下面开始是免安装软件—
cover 字幕遮挡软件
tftpd
rufus 将系统镜像烧录到U盘
TextEditor
星号查看
硬件检测 cpu-z
thphn 内存颗粒检测
AIDA64,软硬件检测,可以定时生成日志
内存超频后的测试
ComHub 通过启用 telnet 共享本地 com 口
PacketSender 发包软件,偏上层,不关心构造包
xcap 发包软件,手动构造包
ostinato 发包软件,开源,支持协议多,linux 和 windows 都可用
GoldenDict 参考 环境-> 词典软件设置
Ditto 剪贴板管理和共享,使用介绍 https://www.playpcesor.com/2011/02/ditto.html
如果要局域网共享,去掉禁止接收选项,双方填入对方的计算机名和相同的网络密码,接收密码没有填,远程文件选择主机名方式,下面的发送列表添加对方主机名并选择发送全部
bLend 窗口透明化
Glass2k 窗口置顶与透明
WinHex 十六进制编辑器,正常已注册,user.txt 为注册信息
鼠大侠鼠标连点器
EV录屏 可以录制系统声音
Bandicam 另一个录屏软件
FastStone Capture 屏幕截图与录像
音频提取 怎样将视频中的音频提取出来?
mkvtoolnix / gMKVExtractGUI
Pazera_Free_Audio_Extractor 比 mkvtoolnix 支持的多一些
SQLiteSpy sqlite 查看工具
Folder2Iso 将文件夹制作成 ISO
PSTools PsExec,用来以 SYSTEM 用户执行命令
WinCryptHashers 给 7z 添加 hash 算法。解压到 7zip 目录,新建 Codecs 文件夹
用法,右键 CRC SHA 选择 * 或添加到压缩文件,选 hash 算法,参考
VeraCrypt 用在 U 盘上
foobar2000 音乐转换,如 wav + cue 转 flac 分轨
sdr-Cleaner_win
Quick_Any2Ico 提取程序图标 ICO、png
Scrcpy 手机控制,打开USB 调试、USB 调试(安全)、无线调试,重启手机,输入 IP,.\scrcpy.exe –stay-awake –prefer-text –tcpip=192.168.x.x
目前息屏 –turn-screen-off 和 stayawake 似乎不好用
gui-inspect-tool pywinauto 推荐的工具,也可配合 AHK 用
spyplusplus 可用来查看 windows message

3.6 淘汰备份

淘汰备份 淘汰原因
迅雷 X 来源 阿虚储物间,用 IDM
迅雷 5.8
HEVC 视频扩展(windows store) 目前这样设置后会卡,先不用
看 Netflix 4k
显示设置,3840×2160,60HZ
edge://gpu 搜索 HEVC,以下为 true
HEVC installed/HEVC activable/HDCP 2.2 support/HEVC - 4K support
SyncFolders U 盘与电脑同步软件。同步方式选择 PC 到 U 盘的 备份方式
AllDRMRemoval 移除 DRM,不支持租借书籍
NetLimiter 破解
设置最小化和关闭到托盘,关闭更新
手心输入法
Shadowsocks
ShadowsocksR
sourceinsight 需要破解
Sublime Text 需要使用 patch 破解
Wub Windows Update Blocker,关闭 windows 更新 服务,同时也可用于关闭其它服务,并阻止其它软件开启,设置步骤见官网
如果要使用系统更新,可以开启 SSR 全局代理,加快下载
翻墙工具备份 对常用翻墙工具的备份

4 网络

4.1 windows store

对于 windows store 设置代理,先设置 ie 代理,然后

1
2
3
4
# 导入 ie 代理
netsh winhttp import proxy source=ie
# 取消代理
netsh winhttp reset proxy

对于 windows store 无法联网,错误代码 0x80072F7D。打开IE浏览器工具(注意不是Edge)—— 点击”Internet选项“ —— 选择“高级”选项卡 —— 在“使用TLS1.2”前面打上勾

4.2 命令行

1
2
3
4
5
6
# http 代理。只对当前 cmd 生效
set http_proxy=http://127.0.0.1:8118
set https_proxy=http://127.0.0.1:8118
# socks 代理。使用 setx 可以添加到 高级系统设置 - 环境变量当中,删除变量只能通过图形界面删除
setx http_proxy socks5://127.0.0.1:10800
setx https_proxy socks5://127.0.0.1:10800

4.3 添加环回网卡

  • 运行 hdwwiz.exe 手动选择硬件 网络适配器 – Microsoft – Microsoft KM-TEST环回适配器

4.4 Clash 自定义

  • Clash 修改 profile 路径为其它盘

  • Clash 的 基本介绍官方配置参考参考一参考二

  • 关于 Clash for Windows 的 DNS,关于 DNS 见

  • 为防止 DNS 泄露

    • 组策略,禁用 智能多宿主名称解析
    • firefox 设置 socks5 代理,并开启 socks5 DNS 解析
    • clash 不添加匹配 IP 的规则,牺牲一些性能
  • Break When Proxy Change 改成 chain,来切代理时自动断连接

  • 用 proxy-provider + rule-provider 的方法,参考 视频这个

    • 最终采用白名单模式,将直连域名、IP 排除,其它一律走代理,配置文件备份到 asset 文件夹
    • 参考 分流原则,重要直连分流规则 > 去广告规则 > 小分流 > 国内外大分流 > 补充规则
    • 用到的在线 规则一(用于决定国内 IP)、规则二(用于细化应用流量)
    • 以后有新要求可以添加在线或自定义规则
  • 另一种方法是,在 profiles 的 parsers 中可加入自定义内容修改原订阅

    • 可参考 这个官方配置文件写法,更全的 这个这个

    • 调试可用 console.log 打印到文件,下面的代码给 anycast 节点增加 skip-cert-verify 配置

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      parsers: # array
      - reg: xxx.com/.+$ # 正则匹配域名
      code: |
      module.exports.parse = async (raw, { axios, yaml, notify, console }, { name, url, interval, selected }) => {
      const obj = yaml.parse(raw);
      // 注意 code 部分使用 JS 注释语法
      // anycast 跳过证书验证
      obj.proxies.forEach((e) => {
      if (e.name.startsWith('Anycast')) {
      e['skip-cert-verify'] = true;
      }
      return e;
      });
      return yaml.stringify(obj);
      }
  • 题外话,clash 正则 不支持 lookarounds,但如果支持,正常用正则排除掉一组词,应该这样写 ^(?!.*(dollar|euro|pound)).*,匹配不包含 (dollar|euro|pound) 的词,参考

  • 开启 TUN,用 script 模式,默认程序走 DIRECT 直连

    • 选中的程序进行流量规则匹配,但对于手动跳过某条匹配规则的情况,如 chrome 浏览器需要临时转给流量分析程序,暂时用接入 clash 的方式区分
    • HTTP/Socks5 进行流量匹配,TUN 则手动选择代理,见 asset 中 clash_rule.yml
    • 此时配合 SwitchyOmega 开启快速切换,在 HTTP 和 直连(即 TUN 接入)间切换
  • 如果需要开启多个监听端口可用 clash core

    • 在终端中启动 clash-win64.exe -f 配置文件路径

    • 配置文件设置控制端口,如 9090,然后 https://clash.razord.top/#/proxies?host=127.0.0.1&port=9090&secret= 来控制和切换

      1
      2
      3
      4
      5
      6
      mixed-port: 17891
      mode: global
      log-level: debug
      external-controller: 127.0.0.1:9090
      proxies:
      # 代理服务器节点
  • clash 的 api 也可实现一些自定义功能,如 这个

  • 选机场

    • 测速,自己用 stairspeed 注册临时账号买便宜套餐晚高峰测
    • 经历,经营时间、过去评价、目前跑路风险
    • 审计,哪些端口被封,或只允许哪些端口,哪些网站被封

4.5 VPN 转 代理

  • VPN 为全局,在某些场景下不够灵活,因此需要转成代理 Socks5/HTTP
  • 例子:Google one vpn,连接前先进行地区校验,然后才开始连接,每隔一段时间还要再次校验,详情参考
    • 所以要
      • 将校验流量走代理
      • 由于 VPN 是全局的,不方便使用,要将其转换为 socks/http 代理,集成到 clash 分流管理中
      • 只有安卓使用了没有被封 UDP 2153 端口,而其它平台用了被封的 443,因此只有安卓可以不套代理直连,其它平台还要再套一层转发 UDP 比较快的代理(这样做仅是为了获得纯净的落地 IP,要消耗机场流量)
    • 方法
      • 方法1:将 android 手机设置代理走 Windows clash,代理校验流量,再将手机 VPN 共享出来。以后试试 光速 虚拟机
        • widows clash 开启 Allow LAN,设置检测流量的国家。匹配规则 meta['host'].endswith('cloud.cupronickel.goog') or meta['host'].endswith('googleapis.com')
        • 手机
          • 设置 wifi 代理为 windows clash 的端口
          • 开启 VPN
          • 开启 Every Proxy 共享
        • windows clash 分流给共享出的端口
      • 方法2:不借助手机、软路由,只用 Windows 作为主设备的使用方式。思路可以,但实际不能用,可能是节点不支持 UDP?
        • 参考 局域网共享网络视频,能代理 VPN 底层流量,只能是网关共享或路由共享(配置系统 socks/http 代理取决于 VPN 软件是否遵守,有可能可以),由于 Windows Clash 不支持网关共享,因此只能路由共享
        • 由于只用一台设备,那么运行 VPN 客户端的要是虚拟的 android/windows 设备,虚拟 android(像下面一样桥接到环回网卡)类似方法 1,下面考虑虚拟 windows
        • 新建环回网卡,将 windows 虚拟机桥接到该网卡,宿主机共享 clash 网卡流量给环回网卡,网卡右键 – 属性 – Internet 连接共享(好像每次系统重启要重新配置一下共享),而且可能要设置虚拟机中网卡的 DNS 1.1.1.1、8.8.8.8
        • 宿主机 clash 配置分流策略,代理校验流量,还要代理 UDP 2153 流量
        • 虚拟机连接 VPN,同时装 clash 开启局域网共享,不开 TUN,策略 DIRECT,仅将 clash 作为 socks/http 服务器把网络共享出去,给宿主机 clash 或局域网设备使用
  • 题外话:多个网卡都配置网关,根据跃点数,选择路由,可以这样改
    • 网卡 IPv4 属性 – 高级 – 取消自动跃点,要是固定 IP 有两处配置,一处网关,一处接口,最终跃点看起来是两者相加,跃点越低优先级越高,通过 route print 查看

4.6 多重代理

  • 链式代理:通过不断添加前置代理,如报文按 A –> B –> C 转发,C 配前置代理为 B,B 配前置代理为 A,报文封装与转发顺序相反,为 CBA。以下几种前置代理方法,按灵活性递减列出
    • 软件内设置,或设置系统代理/环境变量(并被软件使用),如 Tor、浏览器
    • 代理软件内,设置命中转发规则后使用链式代理,如 clash relay、v2ray proxySettings、Proxifier/ProxyChains 中的链式代理
    • TUN 模式/VPN,成为上层软件的前置代理。用于不支持设置代理或不使用系统代理的软件
    • 宿主机,作为虚拟机的前置代理,网关共享/路由共享/设置系统代理三种模式。好处是网关共享/路由共享时,不会漏掉没代理的流量
    • 路由器作网关,成为局域网设备的前置代理。万能但笨重,可以一直叠加上级路由器作为前置代理
    • 限制:clash 不支持 UDP relay(可用 meta core 的 UoT),代理节点不允许国外 IP 入站,不允许不常用端口出站
  • 典型应用:住宅 IP
    • vmess + socks5 链式代理,测试 clash relay 无法用 http,只能用 socks5,并且配置时要 tls: false, skip-cert-verify: true
      • 有些网站用直连住宅代理可以,但像 Google 就无法直连,必须链式
    • 如只提供 http 代理
      • 不好用的方法
        • 不能用 vmess + http 链式,clash 不通,v2ray 没找到配置的地方,怀疑与 http 代理无法处理 dns (udp) 报文有关
        • 不能用 clash tun + 浏览器代理
      • 临时用 SSH 作 socks5 服务器,clash 配置 socks5 + 住宅 http 链式来用
      • 用 wireguard + 设置系统代理 或 firefox 自带代理设置(HTTP 的用户密码会在访问时弹出提示),wireguard + firefox 也适用于 linux
    • 测试:curl -x socks5://USER:PASS@IP:PORT ipinfo.io
    • socks5 UDP 支持测试 ./brook_linux_amd64 testsocks5 -s="127.0.0.1:17890" -u="XXX" -p="XXX"
    • 测试网站

5 命令行

5.1 msys2

  • 为了使用最新的 gcc,安装一套编译工具。安装时卡在 66% “Updating trust database” ,一定用任务管理器杀掉进程,重新再运行一遍安装

  • 打开 MSYS 命令行

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 更新软件数据库和已安装软件
    pacman -Syu
    # 安装 mingw-w64 GCC
    pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
    # 前一条命令会装 python,这里装 pip,似乎只装 mingw 的 pip 就行
    pacman -S python3-pip
    pacman -S mingw-w64-x86_64-python-pip
    pacman -S vim git
    # 用 windows 下的 meld 安装包,不用下面的,太大了
    # windows 下的 meld 只能在 MSYS2 下启动,不能在 mingw64,不清楚原因
    # pacman -S mingw-w64-x86_64-meld3
  • 编辑 bash.bashrc

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 参考 ANSI Escape Sequences https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797
    PS1='\[\033]0;\W\007\]' # set window title
    PS1="$PS1"'\[\033[32m\]' # change to green
    PS1="$PS1"'[\! \A \w] '
    PS1="$PS1"'\[\033[0m\]' # change color
    export PS1
    # 为了使用 Python 包
    export PYTHONPATH="D:\soft\msys64\usr\lib\python3.9\site-packages"
    # 右键启动时使用默认配色,SecureCRT 使用 dircolors.256dark
    if [ "$TERM_PROGRAM" != "mintty" ]; then
    eval "$(dircolors -b /etc/dircolors.256dark)"
    fi
    alias ls='ls --color=auto'
    alias ll='ls --color=auto -alF'
    alias vi=vim
    alias grep="/bin/grep --color"
  • 设置右键菜单,reg 已放到资源目录 右键菜单Bash.reg

  • cmake-gui 要装 Qt5,太大了,直接用官网的包中的 cmake-gui 替换掉 D:\soft\msys64\mingw64\bin 中的

  • 以下几条针对 SecureCRT,添加到 login 执行中

    1
    2
    3
    export MSYS2_PATH_TYPE=inherit
    export MSYSTEM=MINGW64
    source /etc/profile
  • 设置为 True Color

  • 允许输入中文,\msys64\home\username\.inputrcAllow 8-bit input/output 下面 4 行去掉注释,即 set meta-flag on 到 set output-meta on

1
2
3
4
5
6
7
8
9
10
11
12
pacman -S package_name  #安装软件包
pacman -R package_name #删除软件包
pacman -Rs package_name #顺便删除软件包相关依赖
pacman -Syu #升级系统中的所有包
pacman -Ss package #查询软件包
pacman -Qs package #查询已安装的包
pacman -Qi package #显示查找的包的信息
pacman -Ql package #显示你要找的包的文件都安装的位置
pacman -Sw package #下载但不安装包
pacman -U /path/package.pkg.tar.gz #安装本地包
pacman -Scc #清理包缓存,下载的包会在/var/cache 这个目录
pacman -Sf pacman #重新安装包

5.2 git bash

openssh 方式不论用 cmd 还是 powershell 都没法正确显示长命令,两个办法,git bash (mintty) 或 SecureCRT 的 local shell。不考虑 windows 商店中的 terminal

  • 字体、透明度、主题 dracula

  • 修改 PS1,D:\MySoftware\Git\etc\profile.d\git-prompt.sh,与 msys2 的配置相同

  • 查找之前输出 Alt + F3,Shift + Enter / Enter 上一个和下一个匹配

  • Python 代码中设置标准输出编码,否则为 GBK

    1
    2
    import sys
    sys.stdout.reconfigure(encoding='utf-8')
  • python -u 运行脚本,以便立刻输出到命令行。进入 python -i ,退出 exit()

  • 对于 SecureCRT 集成 git bash,选择 D:\soft\Git\bin\bash.exe 而非 \user\bin\bash.exe。进入后 source /etc/profile 来设置 locale 的中文和 TERM 变量

  • 如有 SecureCRT,修改 PS1 同上,字体可指定 Jetbrains 的,颜色为 24 位

  • 如有 SecureCRT,配置文件夹颜色,来自 dircolors-solarized 中的 dircolors.256dark,改 /etc/bash.bashrc 靠近文档最后的地方为 eval "$(dircolors -b /etc/dircolors.256dark)"

5.3 shell

  • 使用 powershell,输入 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 允许执行脚本
  • F:\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 中添加,自定义颜色
1
2
3
4
5
# https://superuser.com/questions/1259900/how-to-colorize-the-powershell-prompt
function prompt() {
$ESC = [char]27
"$ESC[35m$(Get-Date -Format "HH:mm") $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1))$ESC[0m "
}
  • 对于 cmd,添加系统变量 PROMPT 值为 $T$H$H$H$H$H$H$S$P$G$S

5.4 openssh

参照 Installing SFTP/SSH Server on Windows using OpenSSH,1803 之后用系统直接安装,之前版本步骤如下

  1. 下载 OpenSSH for Windows binaries OpenSSH-Win64.zip 解压到 C:\Program Files\OpenSSH
  2. 管理员权限 powershell powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
  3. 开启防火墙,管理员权限 powershell New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\Program Files\OpenSSH\sshd.exe
  4. services.msc 开启 OpenSSH SSH Server 服务
  5. 对于 Administrators 用户组用户,将生成的公钥存到 C:\ProgramData\ssh\administrators_authorized_keys 中(原理是 SSH 客户端保存私钥,服务器端放公钥)
    - 文章中用的 PuTTYgen 来生成公私密钥对,这里用的 SecureCRT 方式 生成,生成格式选的 OpenSSH Key format (new),将 Identity.pub 的内容放入 administrators_authorized_keys
    - 这种方式的 Key 用到 WinSCP 上也可以,但会提示转换,新生成 Identity.ppk 进行 SFTP 连接
  • 对于 ssh 客户端,把 key 放到 C:\Users\用户名\.ssh 下,即可连接

6 系统问题

6.1 端口占用

  • cmd 管理员运行,netstat -ano |findstr "PORT"
  • 查看排除端口范围,netsh int ip show excludedportrange protocol=tcp
    • 释放占用范围 net stop winnat && net start winnat
    • 参考

7 其它

7.1 mbr 转 gpt

  1. 用 diskgenius 转换分区表
  2. 在系统盘前面分出 500MB 空余空间,用 diskgenius 建立 ESP 和 MBR 分区
  3. 使用 PE 工具修复引导

7.2 Google

  • Google 搜索可在设置中指定地区,避免结果随 IP 而变化;也可通过 在 URL 指定的方式
    • 如 US,https://www.google.com/search?q=%s&pws=0&gl=us&gws_rd=cr

8 备份与还原

  • 见备份策略文档

9 U 盘系统

  • 使用移动硬盘盒 + 固态硬盘的方案,而非固态 U 盘,因为
    • 固态硬盘以后可以给 PC 用
    • 移动硬盘盒 USB type A 和 type C 只要换线就可支持不同接口,作为 U 盘或随身系统
  • 装系统软件使用 WTG(win to go) 辅助工具,默认选项增加分区配置即可,方法参考 教大家制作 “随身携带” 的 Windows 11 系统萝卜头IT论坛。傲梅也有 WinToGo 工具,可以试试 口袋系统WinToGo。另外按照这个教程,Rufus 也可以