将Win10安装到移动硬盘

WinToGo 更换PC的时候将磁盘改装到新PC,如果驱动差异不大便可以无缝使用之前习惯的环境。那如果将系统直接安装到移动磁盘岂不是更容易享受这种方便? Windows官方是提供这种功能的,叫做 WinToGo,但仅限企业版。 Windows系统非企业版默认是不能安装到USB接入的驱动器的,本文介绍一种借助虚拟机将 Windows 10 系统安装到移动磁盘的方法。 可以直接用vmware使用物理硬盘装系统直接将系统装到移动硬盘上。 VMware需要以管理员身份运行。 在虚拟机界面像正常安装 Windows 10 那样装好系统。 主机所需驱动可以考虑在虚拟机界面直接装好,以免之后缺少驱动移动硬盘无法在物理机启动。 关闭虚拟机。 重启物理机通过USB直接启动装好的移动磁盘上的Win10即可。 在虚拟机的虚拟磁盘(至少20G)中安装好,再用磁盘克隆软件克隆到移动硬盘。 这样用VMware或VirtualBox都可以,也无需管理员权限。 系统及驱动安装过程同上,和一般安装没什么区别。 磁盘克隆可以用Linux系统比如Manjaro的Live镜像启动虚拟机,使用其自带的的dd命令将虚拟磁盘拷贝到主机共享文件夹中成为镜像文件。 dd if=/dev/sda of=/path/to/file.img 主机也可以使用DD软件将磁盘镜像原样拷贝到移动硬盘中。 dd if=/path/to/file.img of=\\.\PhysicalDriveX 处理引导异常 LTSC(仅2019版本)因为 wpprecorder.sys 的Bug从移动硬盘启动引导会出故障。 自行安装需要用其他Windows10的同名文件替换,或者在虚拟机装好后再把系统更新装了会修复这个文件的bug。 流程参考 https://zhuanlan.zhihu.com/p/59194720 引导修复 https://blog.csdn.net/NetMicrobe/article/details/109382083

2026/2/5
articleCard.readMore

配置数据科学研究环境

简介 数据科学研究环境主要是基于 conda 搭建便于数据科学和人工智能研究的计算机开发环境。 数据科学和人工智能主要是用 Python 程式语言,而 OS 的 python 包管理完全不能适应前沿研究的需要。 尽管 Python 本身就有灵活的包管理和虚拟环境功能,但数据科学研究所依赖的 scipy, cuda 等工具链安装非常容易出错。 这里主要介绍数据科学所涉及的开发环境配置注意事项。 主要包括 包管理工具 conda 集成开发环境 jupyter 远程终端管理 tmux。 conda conda是一个包管理器,主要为了管理数据科学所需要的 Python 包而设计。 早先是为了解决 pip 安装 numpy 和 scipy 时复杂的编译问题。 后来更广泛的支持了基于 Python 的数据科学和人工智能研究。 conda 不限于 Python 包管理,其能解决 scipy 等复杂的编译问题,是因为其顺便支持了相关 C\C++ 包的管理。 如果把 conda 比作 apt, 那么 anaconda 和 miniconda 就是发行版,pip 可以安装发行版以外的包。 conda 也有类似 main, contrib, non-free 之类的通道的概念,类似 Ubuntu 的 ppa。 优点 无需管理员权限,无需依赖,直接执行sh安装包即可安装到用户目录 多虚拟环境支持,可以创建不同的环境安装不同的包,尤其是不同版本的cuda,甚至是不同版本的Python 比较好的解决Python包的依赖问题 兼容用 pip 安装额外的包 安装 conda 通常选择 Anaconda 或 miniconda 之一进行安装。 Anaconda 预先包含常用的数据科学相关 Python 包,miniconda 如名字所示只包含精简环境。 Anaconda 有商业公司支持,miniconda 是衍生出来的发行版,其中的包都是一样的,只是初始内容的不同。 为了便于离线开箱即用,这里推荐 Anaconda。 安装默认位置是主目录,可以修改。 安装结束的时候问是否添加初始化,如果添加会在Linux服务器当前用户Home的 .bashrc 或 .zshrc 添加 conda 的初始化命令。 目前初始化主要是加载环境变量和激活默认环境,建议添加初始化。 功能 包操作 list install update remove -c 指定通道 也可以用pip安装包,包会被安装到当前环境,而不会污染系统或用户空间。 环境操作 config # 创建配置文件.condarc create -n 环境名称 包名=版本 # 创建包含所指定包的新环境 info # 显示信息 activate 环境名称 # 进入指定环境 deactivate # 退出当前环境 remove -n 环境名称 –all # 删除环境 配置 参考配置 1 2 3 channels: - defaults show_channel_urls: true 不同环境划分建议 base 主要安装 jupyter 等默认包和公共包 pytorch tensorflow 等包分别装到不同的子环境 不同项目考虑使用不同子环境 注意 用pip安装conda里没有的包,尽量用环境中的pip而不是系统的pip。 pip换源 pip config set global.index-url https://mirror.url.link/simple jupyter Jupyter Notebook (此前被称为 IPython notebook) 是一个交互式笔记本,支持运行 40 多种编程语言。后来又开发了 Jupyter Lab 成为更加集成,功能更加服务的交互工作环境。 部署 直接安装Anaconda就会附带它们。 miniconda或新环境需要手动安装conda install jupyter-lab。 Jupyter Lab比Jupyter Notebook更加集成和方便,主要是多了文件夹浏览侧边栏。 Jupyter套件的不同部分共享很多配置,通常设置命令采用notebook。 比如生成配置文件 jupyter notebook --generate-config 通过配置文件可以进行更多配置,所有jupyter系列共用配置文件。 主要配置端口、密码、监听地址等。 进入想启动 jupyter 服务的目录,通过 --ip 参数即可配置远程。其实不用 --ip 也是可以的,但是默认配置文件限制只能本地访问。 如果使用 Jupyter Notebook 输入: jupyter notebook --ip='*' 如果使用 Jupyter Lab 输入: jupyter-lab –ip='*'’ --ip 是指定服务要监听的ip,应当写服务器的某个ip地址(对于多网卡情况)。 指定*监听所有ip,会警告但自己用没什么事儿。 使用期间服务不能关,也就是ssh不能断或挂nohup,或者用Tmux来运行。 推荐使用Tmux,既可以避免意外中断连接没保存,也能查看控制台输出检查问题。 如果服务器安装了字符界面浏览器,执行命令后可能会弹出一个字符浏览器界面,按Q退出。 默认是8888端口,如果被占用了,会自动分配别的端口和地址。 不用理会这些,反正之后会给出一个web地址(如果是--ip=’*’要把 localhost 换成服务器IP),把地址复制到个人电脑的浏览器里就可以使用服务器的 Jupyter 了,用服务器的 GPU 和 Disk 就像用本机一样方便。 注意 在浏览器使用jupyter就像本机似的,可以删除东西,所以尽量在项目根目录启动服务,而不直接在系统根目录启动。 这样虽然是使用服务器的算力,但是浏览器加载还是在个人电脑,而jupyter的加载又很耗内存,所以本机加载不出来的ipynb文档用这个方法以然加载不出来。好处只是便于使用GPU等硬件资源。 Tmux 数据科学和人工智能的研究经常需要长时间的在服务器上训练模型,这就需要在断开连接后保持程序继续运行。 服务器安装的Linux类OS通常自带的nohup可以保持程序运行但是没有交互功能。 tmux和screen是两个持久终端软件,功能类似,这里推荐tmux。 配置 1 set -g mouse on # 启用鼠标滚动 命令参数 1 2 3 4 5 6 tmux # 打开一个默认命名的窗口 tmux new -s 窗口名称 # 新建一个持久终端窗口,exit即可推出 # attach可以简写为a tmux attach # 进入上一次的窗口 tmux attach -t 窗口名称 # 进入指定名称的窗口 tmux ls # 列出所有窗口 1 :set mouse on # 启用鼠标滚动 快捷键 Tmux的快捷键基于Ctrl+B,类似的screen的快捷键基于Ctrl+A。 用法是按住Ctrl,先按B再按另一个表示所需功能的字母。 C 窗口中创建新的标签页 D 返回外部环境但不结束窗口 W 进入窗口和标签页的导航 : 进入输入命令模式

2026/1/29
articleCard.readMore

下载网站 Logo 图标

最近给博客的文章和Links页面尽可能的配置了图示,以显得更美观一些。 下面分享给Links页面配网站图标时的经验。 直接下载 网站的logo通常是通过根目录的favicon.ico来实现的。只要访问 https://[域名]/favicon.ico 即可下载。 ⚠️注意: 有些喜欢追踪的网站每次得到的favicon.ico会变化,实现类似cookie的功能。 专门的下载站 如果遇到了不能直接访问下载的网站,或者想要更简单的下载方法,那么一些 favicon下载的网站是非常好的选择,这样的网站有很多,比如: https://favicongrabber.com/ 简洁易用 https://besticon-demo.herokuapp.com/ 可以抓取全尺寸logo API服务 还有网站提供API服务来得到你目标网站的logo,比如: https://www.google.com/s2/favicons?domain=[域名] https://besticon-demo.herokuapp.com/icon?url=[域名] 高级说明 https://github.com/mat/besticon

2025/12/21
articleCard.readMore

Windows 注册表使用指南

简介 注册表是Windows系统的管理机制,集中存储管理系统和应用软件的配置。 甚至对于Linux的兼容环境Wine的使用而言,甚至有人说用好注册表比懂Linux更有效。 结构 数据类型 注册表的数据类型主要有以下五种: 显示类型 数据类型 说明 REG_SZ 字符串 文本字串 REG_BINARY 二进制数 不定长度的二进制值,以十六进制显示 REG_DWORD 双字 一个 32 位的二进制值,显示为 8 位的十六进制值 REG_MULTI_SZ 多字符串 含有多个文本值的字符串,此名来源于字符串间用 nul 分隔、结尾两个 nul REG_EXPAND_SZ 可擴充字符串 含有环境变量的字符串 注册表还有其他的数据类型,但是均不常用: REG_DWORD_BIG_ENDIAN - DWORD 的大头版本 REG_DWORD_LITTLE_ENDIAN REG_FULL_RESOURCE_DESCRIPTOR REG_QWORD - DWORD 的四字(64 位)版本 REG_FILE_NAME 分支 注册表有五个一级分支: HKEY_CLASSES_ROOT 存储Windows可识别的文件类型的详细列表,以及相关联的程序。 HKEY_CURRENT_USER 存储当前用户设置的信息。 HKEY_LOCAL_MACHINE 包括安装在计算机上的硬件和软件的信息。 HKEY_USERS 包含使用计算机的用户的信息。 HKEY_CURRENT_CONFIG 这个分支包含计算机当前的硬件配置信息。 存储 XP及以后注册表配置文件存放在 C:\WINDOWS\SYSTEM32\CONFIG 名称 注册表分支 作用 DEFAULT HKEY_USERS.DEFAULT 缺省启动用户的信息 NTUSER.DAT HKEY_CURRENT_USER 存储用户参数选择的信息(此文件放置于用户个人目录,和其他注册表文件是分开的) SAM HKEY_LOCAL_MACHINE\SAM 用户及密码的数据库 SECURITY HKEY_LOCAL_MACHINE\SECURITY 安全性设置信息 SOFTWARE HKEY_LOCAL_MACHINE\SOFTWARE 安装的软件信息 SYSTEM HKEY_LOCAL_MACHINE\SYSTEM 存储计算机硬件和系统的信息 USERDIFF HKEY_USERS 管理员对用户强行进行的设置 操作 通常由系统自带的注册表编辑器操作注册表。 .reg文件编辑 注册表可以通过.reg的文件来实现批量导入修改。 .reg文件通常为如下格式,首先声明版本并空一行,其中@可指定默认值," \需要转义。 1 2 3 4 5 6 7 8 9 10 11 12 Windows Registry Editor Version 5.00 [KEY1] "ValueName1"={Value Type}:{data} "ValueName2"={Value Type}:{data} [KEY2] "ValueName1"={Value Type}:{data} [KEY3] @ = "default value name" [HKEY_LOCAL_MACHINE\key4\key5] "slashes\\in\\the\\name" = "slashes\\in\\the\\data" "quotes\"in\"the\"name" = "quotes\"in\"the\"data" 不同数据类型的书写格式 Value type Format REG_SZ “my string” REG_DWORD dword: NNNNN (hex number) REG_MULTI_SZ multi_sz: “my string”, “my string” REG_BINARY hex: xx,xx,xx,xx … HEX hex(xxxxxxxx): xx,xx,xx,xx The hex(xx) types should correspond to the remaining Microsoft® Win32® registry types. 甚至还可以使用条件语句 1 2 3 4 5 ;分号后面的是注释 IF environment variable [= value] [!] [KEY1] "ValueName1"={Value Type}:{data} ENDIF 可以用分号;为reg文件做注释,减号-表示删除操作。 1 2 3 4 [-KEY1] ;删去一个键 [KEy2] "ValueName1"=- 删去键中的一个值 常用配置reg文件参考 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\这里根据DriverDesc确定编号\NDI\params\NetworkAddress] "LimitText"="12" "optional"="1" "ParamDesc"="NetworkAddress" "type"="edit" "UpperCase"="1" ;无线网卡可手动指定地址,第二位只能是2,6,A,E之一 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations] ".bmp"="PhotoViewer.FileAssoc.Tiff" ".ico"="PhotoViewer.FileAssoc.Tiff" ".jpeg"="PhotoViewer.FileAssoc.Tiff" ".jpg"="PhotoViewer.FileAssoc.Tiff" ".png"="PhotoViewer.FileAssoc.Tiff" ;LTSC将图片关联到自带的图片查看器打开 [HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig] "BypassTPMCheck"=dword:00000001 "BypassRAMCheck"=dword:00000001 "BypassSecureBootCheck"=dword:00000001 ;win11跳过硬件安装检测 技巧 在其他系统中直接进入目标系统盘运行注册表编辑器修改的仍然是运行的系统的注册表,应该运行当前系统的注册表编辑器,然后任意选择一项,然后点击文件-加载配置单元-浏览目标盘C:\Windows\System32\Config选择SYSTEM文件用别名挂载然后修改其中的内容。完成后再卸载配置单元。

2025/12/18
articleCard.readMore

VSCode扩展离线安装包直链下载

VSCode官方扩展市场和VS家族是共用的。 扩展的安装包为vsix格式文件,可以通过VSCode内置的扩展界面搜索安装也可以直接根据版本要求下载vsix包离线导入。 微软毕竟是商业大公司,当VSCode生态蓬勃发展后,便开始限制扩展市场与VSCodium等开源替代品的联系。 首先是提供的插件历史版本只限制在不到10个,且不提示扩展的历史版本要求的VSCode版本,这对于离线使用老版本的VSCode/VSCodium的用户已经不友好了。 接着甚至直接取消了商店网页的下载按钮,为了保障离线本地使用VSCode/VSCodium的自由,本博主研究了一下其下载链接用以获得插件的离线安装包。 有stackoverflow回答提供了以下直链模板: https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage 其中${publisher}是发布者名称,${extension name}是扩展名称,${version}是版本号。 在早期直接从商店页面下载的离线安装包命名格式通常是${publisher}.${extension name}-${version}.vsix。 发布者名称和扩展名称很容易得到,商店页面或者其URL即可看出。 版本号目前还可以从商店查询最近几个,如果不确定${version}替换为latest即可。 但是这个链接有个问题,无法指定架构信息,即x86或arm之类的。 对于大多数扩展支持架构为Universal,架构信息可以省略,但有些如C/C++扩展就要指定架构信息,尤其是默认架构居然是win-arm32。 有不同架构区别的扩展离线安装包的命名也会多处指示架构的部分,如${publisher}.${extension name}-${version}@${target_platform}.vsix 后来有stackoverflow回答提供了更好的模板: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/${publisher}/vsextensions/${extension name}/${version}/vspackage?targetPlatform=${target_platform} 其中${target_platform}可选win-x64,linux-x64等,可以参考商店页面的介绍。 该模板不仅能指定架构信息,而且下载的离线安装包的名称和早期直接从商店页面下载的格式一样,都省的重命名了。 为了更好的享受本地优先的离线使用软件的自由,请使用VSCodium版本,结合此方法安装扩展。 作者在此当然希望社区替代市场 (https://open-vsx.org) 也能蓬勃发展,不过目前扩展的广泛程度和更新的及时性都不太好。

2025/12/11
articleCard.readMore

Github Flag Repeal by Online Free SMS Receive Service

TL;DR In 2025 GitHub flagged my account and prompted me to complete SMS verification before I could submit an appeal. I managed to receive the code by using a free online SMS receiving service that let me complete the verification with a Canadian share phone number, filed a support ticket, and ultimately had the flag lifted. Notably, the SMS I received did not state it came from GitHub. This whole process proves that GitHub still allows anonymous users to finish SMS verification and file appeals without the need to purchase a phone number or provide a personal device. The SMS play a role that simply routes the request to the appropriate regional team and limits the gross appeals. So Github permits shared phone numbers. Background The blogger is a privacy activist and heavy Tor user. Accessing GitHub is almost always via Tor, so the IP address changes constantly. The flagged account is the one used for this blog’s GitHub page. Like the blog’s name Local Freedom, I seeks to avoid dependence on large companies and enjoy an anonymous web experience. Although a novice, I’m a hacker who wants to share custom tools and practical experience on public platforms like GitHub, both to help others and to keep anonymous access at all times. I registered my static‑blog account through Tor. Unfortunately, the “many users abusing Tor” situation meant that when the account’s email was verified, the first login was met with a banner that the account was flagged. I responded by opening a ticket on the support page, wrote a short note, and the appeal succeeded. The support staff suggested that the flag was a consequence of a Tor exit IP and that it might happen again. When the flag appeared What seemed odd One day, while using a script I had written on the Github account, I was unexpectedly greeted with a 404 page. Let’s call that “day 0. I then visited the account’s profile page and the blog’s home page, both rendering 404 (perhaps I mistyped the URL). I returned to the login browser, used bookmarks and cookies to log into GitHub, and everything appeared normal. Copying that URL into the Tor browser still yielded 404. A foreboding feeling crept in my brain, since my account had being flagged once before. However, there was no banner, so I wasn’t sure whether the account was flagged. While logged in, I visited a repository page and, when I clicked into the blocg page, it returned 404 again. Maybe GitHub was temporarily down. Acknowledge flagged The next day, after logging in once more, everything worked normally. But when I visited the site without logging in, the blog and the profile still stayed stuck on 404. I saw no email from GitHub and my account dashboard appeared untouched.c I searched online and found a Reddit discussion. It explained that when a page is not visible while logged out but works for a logged‑in view, that usually means the account has been “flagged.” The comment also listed the support link for filing an appeal. Because I didn’t see a banner again, I wasn’t 100% sure an appeal was the best next step. So I opened a ticket at the [official support page]((https://support.github.com), hoping to get a clearer explanation. GitHub’s ticket system prompted me to enable 2‑factor authentication first. After adding 2‑FA, a notice popped up: Your account has been flagged and we need some additional information before we are able to direct your support query to the right place. Please supply your mobile number below so that we are able to verify you via text message I acknowledge my account flagged now. Completing SMS verification in a way that preserves my anonymity seemed nearly impossible. Retrospective When and Why was my Github account flagged? It can’t have been long ago. I occasionally access content in the account without logging in. I updated the blog on day -4 and two utility scripts on day -2. The Internet told me that flagged prevents repository actions from triggering. My last blog update had triggered an action, so the flag must have occurred in the past three days, perhaps due to a script anomaly. Recent large‑scale network attacking on GitHub could have also contributed. I was furious! GitHub seemed unkind to anonymous users. Ten days after the flag, I removed the GitHub link from the blog and confirmed that actions were indeed halted by the way. Multiple appeal attempts Because my account is anonymous, I couldn’t give the support team an actual phone number or use a personal device. I had to remain within the Tor tunnel. Looking online, there were many free online SMS receivers work out of the box when you’re in Tor. I tried several but never received a code. First try at an alternate channel(Failed) The first idea that came to mind was to email the support team directly. But the support page says those emails are handled by bots and nobody looks at them. Community posts confirm that only tickets generated through the official form would get a human response. I found an alternative contact link https://github.com/contact in the GitHub community, that lets you contact support without an account. But the tightened policy forces you to verify the flagged email address with SMS. As a seven‑day response window, a disposable E-mail simply won’t do it. Testing the appeal process with another account, legitimate GitHub account revealed a neat restriction: the ticket can only be filed from an account that is already linked to the E-mail. If you try to appeal from a different account and skip the SMS step, the appeal is usually rejected, and you may even risk hurting your own clean account. Creating a fresh “test” account for this is a hassle, I didn’t feel worth the effort. After all, I realized I’d need to go through the normal appeal form, which required a phone number for SMS verification anyway. Phone numbers are hard to keep anonymous, and they’re not always accepted Because GitHub throttles the number of tickets via SMS verification, the key to staying anonymous is the phone number you hand it. There are paid “receive‑code” services that claim they’ll reliably get your message and let you pay with cryptocurrency. A few comments, however, say even those services can’t guarantee receiving a GitHub code, so that level of restriction felt excessive to me. Being a complete beginner, I didn’t have any crypto on hand. My only option was to buy a prepaid number that promised a high level of anonymity. After purchasing, I didn’t immediately request the SMS verification. Instead, I first tried using the number to set up two‑factor authentication on another GitHub account, just to see if the code would even come through. If that didn’t work, there was no point tying the number to the account, because it would break the anonymity I was trying to preserve. Surprisingly, the real number didn’t caught the GitHub verification SMS, so I didn’t even need to consider a personal phone number after all.c I also ran into an odd quirk: the country selector on the SMS‑verification page doesn’t show every country, such as China and Malaysia are missing. I spent time and money trying to procure a Malaysian number, only to discover GitHub doesn’t support it. In my case I was in Europe, so some European numbers were rejected too. If you want to buy a number, please try to a +1 number directly. Try SMS receiving online services continuously First, a broad search on any search engine will surface dozens of “receive‑sms” services. Click on a service and you can check whether the particular number is still active in the last few hours. A good service should have a record of receiving messages within the past few hours. Some platforms immediately display whether the number is active, the number of messages it has accumulated, the time of the most recent receipt, etc., which is quite user‑friendly. If that information isn’t shown, you need to look for it yourself. What’s more, picking a handful of countries at a time, and optionally cross‑checking with another provider to confirm that the code truly arrives instead of being a fabricated random example. I found a few solid options and logged them here: https://www.sms-ol.com/en-US/phone/TW/0-928231013/ https://text-verification.net/number/76146182969 https://www.sms-ol.com/en-US/phone/PL/0-722823101/ –successfully received a Discord verification code Next, I turned to free, online “receive‑sms” services that specifically mention GitHub verification. Some services even list which sites’SMS have been successfully received, so you can jump straight to a number that’s already proven to work for GitHub that dramatically increases the odds. Search terms like: sms receive github free flagged Logged some good services: https://www.smsonline.cloud/zh/service/github –with google sms https://receivesmsfast.com/service/GI/US –with 3 specialized github number https://tempsmsonline.com/messages/github https://sms24.me/en/messages/GitHub/1 –with github 2fa records. From the related threads I read, it’s clear that U.S./Canadian numbers tend to have a higher success rate when receiving GitHub SMS. Repeated attempts eventually completed SMS verification It was said that after GitHub sends a one‑time code, you’re not allowed to try again for 24 hours if it fails. In practice, when I logged in via Tor, it was stable trigger that 24‑hour limit. By switching to a VPN, I could usually attempts two or three times in succession. During that window it was handy to draft the appeal email that I would later write in the ticket. When the SMS code finally arrived, I didn’t have high hopes. After all, I was dealing with a shared phone number that would likely be snapped up by someone else. I kept trying for a couple of days. Unexpectedly, as I sent code requests, I occasionally received the text on a shared number, but the code I entered was wrong. The pattern suggested that other people had claimed the same phone’s verification window before I could complete it. That experience also explained why US/Canada numbers have a higher success rate. GitHub is a U.S. company, so its support teams are primarily located in North America, meaning those regions receive more SMS‑verification traffic. Realizing this, I switched to a +1 mobile number. Because GitHub says the SMS is only for routing the appeal to the appropriate regional team, and not for persistent record. It seemed plausible that GitHub simply limits how many appeals can be submitted via SMS, without strictly banning shared numbers, and that the SMS doesn’t even need to label itself as “GitHub” like a 2‑FA code. Indeed, the final successful SMS didn’t mention GitHub at all. At the same time, the same number sent me a second four‑digit code. That strongly indicates GitHub outsourced the flag‑removal SMS verification to a third‑party service. Submitting the support ticket On day +35, I completed SMS verification and open a ticket immediately. After “Open Ticket”, it immediately asked if the problem was an account issue. The 2025 appeal form asked me to choose options, attach a few sentences if I wished, that explain to improve success. I clarified that I was a Tor user. Does your claim involve content on GitHub or npm.js? GitHub What is the username and repository or package name that was impacted? LocalFreedom Why are you requesting reinstatement? If you are requesting support for your account not related to moderation limits made on your account by GitHub please raise a support ticket instead. I can login, but my profile and contributions aren’t visible to others Have you previously contacted GitHub about this claim? No Would you like to provide any additional information or context that would be helpful for our review of your reinstatement request? I am writing to seek your help. My GitHub account has been flagged recently. I think it is because of logging in to GitHub using a TOR node. I would appreciate your help if you unlock the hidden profile as soon as possible. Thank you so much! I have reviewed and understand the GitHub Acceptable Use Policies and Community Guidelines. 36 days later – Flag removed The following day, after opening the ticket, I received an email from support team, confirming the flag had been removed and my account was restored. Support team explained that GitHub’s automated defense system occasionally flags a batch of accounts for manual review. My account had no violations, and it was simply flagged because of a shared Tor exit by other bad actors. Future work Expecting large companies to act purely for the common good is unrealistic. GDPR does not fully protect us, especially for the anonymous.c Network strengthening I began considering ProtonVPN as an alternative to Tor for sustained anonymity. I’m grateful for Proton’s services, which let me access Google‑style internet products anonymously, such as email, calendar, cloud drive, and VPN, which friendly to Tor users and privacy‑savvy individuals. Site consolidation A flagged GitHub account means my custom tools become inaccessible, and my personal creative influence is abruptly cut. I cannot survive multiple flags. Git was designed to be egalitarian and fully local. Each code repository is kept locally, and copies can be uploaded to platforms such as GitLab or Codeberg. Blogs were the most troublesome. Luckily, this blog is a static‑HTML generator that doesn’t rely on GitHub’s deployment service. I can upload a backup copy to another platform for personal use. Even so, the blog is my “child”, embodying my values and influence; it deserves a continuous reader experience. I’m contemplating moving the domain to Cloudflare Workers to keep the page online even if GitHub account gets flagged again. It was sadly that the gradual loss of the internet utopia and hacker culture I once knew.

2025/12/1
articleCard.readMore

记录一次Github被flag,通过免费SMS接码服务提交申诉成功恢复的经历

TL;DR 2025年Github账号flagged申诉需要SMS验证,这次是通过网上免费、免注册的SMS接收服务通过一个加拿大手机号成功收到验证码,向Github支持团队提交工单,申诉成功解除flag标记状态。 特殊的是,我收到SMS的6位验证码并没有标明来自Github。 这次的成功经历说明,Github至少目前还是可以不用自己的手机号,不用付费,就完成SMS验证并提交申诉的;Github的SMS验证主要是根据号码分配相应语言的支持团队,并适当限制申诉总量,对共享手机号是宽容的。 背景 博主是一位隐私主义者,Tor重度用户。 访问Github一般都是通过Tor进行,所以IP会不断发生变化。 这次被flag的账号就是本博客的 Github 的账号。 就像本博客的名字——局域自由,博主追求摆脱对大公司集中服务的依赖,享受匿名网络生活。 虽然菜鸟,但毕竟是一个黑客,所以想在github等共享平台分享自己开发的小工具和实践经验,一方面帮助有需要的人,另一方面便于自己随时匿名取用。 我写静态博客的账号就是通过Tor注册的,很不幸当时滥用Tor的人已经非常多了,所以验证邮箱后第一次登陆就横幅提示被标记flag。 当时直接前往支持页面提交ticket,写一段话就申诉回来了,当时支持团队的对接员工就提示我是被Tor出口IP连累的,并可能再次被标记。 Flag 发生 异常 有一天在Tor浏览器上取用自己开发的脚本的时候居然返回404页面,就记作第0天吧。 接着访问账号主页和博客page的首页都是404,可能记错URL了,抽空回到登陆的浏览器,用书签和cookie登陆github账号查看,一切正常。 复制URL到Tor浏览器访问仍然是404,开始有不祥的感觉,毕竟有过 flag 经验。 但是没有横幅提示,我也不确定到底是不是flag。 在登陆状态进入page仓库,点击进入博客页面也是404,也许是github暂时服务出现问题。 实锤 1天后,再次登陆账号仍然正常,但不登陆博客就是404的,账号主页也是404。 但邮箱没有收到任何github的邮件,账号也没有异常提示。 开始在网上搜索类似情况,通过一篇reddit帖子得知不登陆页面不可见大概是被flag限制了,帖子中提到了申诉地址,不过这次没有刚注册那次flag的横幅提示,我还是有些侥幸心理的。 我没有直接去申诉而是到支持页面想着先提交一个ticket问问。 Open Ticket 时提示需要开启 2FA 想到之前好像github有政策强推2FA也许是我一直没开启2FA给我一点提醒。 开启 2FA 后,在 Open Ticket 时明确提示 Your account has been flagged and we need some additional information before we are able to direct your support query to the right place. Please supply your mobile number below so that we are able to verify you via text message。 终于实锤,当时心里想这个匿名github账号估计废了,保持匿名几乎不可能完成SMS验证。 复盘 我的github是何时被flag的呢?又是为何被flag? 应该不会太久,毕竟我时不时会不登陆直接取用写脚本或经验。 第-4天更新了本博客,-2天更新了几个实用脚本。 在网上搜索得知被flag后博客commit的action就不会触发,而我上次更新博客是触发action的。 所以flag是近3天的事情,很可能是脚本有什么异常。 而近期github又遭遇大规模网络攻击,被连累也有可能。 气愤!github居然对匿名使用如此不友好,第+10天,我移除了本博客对github网站的推荐link,也通过这次更新确认flagged下确实不触发action。 八仙过海各种申诉 由于是匿名账号,所以我不应该用自己的手机号或通过实名的金融网络协助申诉,最好全程不离开tor网络的保护。 免费的线上SMS接收服务通常支持Tor,但找了几个试试当然是没有收到验证码。 SMS验证对匿名不友好,首先尝试找其他申诉渠道 首先想到的当然是直接邮件联系Github支援团队,回复是这些直接发送的邮件会被自动系统处理,员工不会看见,还强调在社区的发帖也不会加快申诉处理流程。 搜索到Github社区中有人给出了其他联系渠道 https://github.com/contact 这个链接可以非注册联系支持团队,但同样因为政策收紧,用注册过的邮箱联系会提示已有账号flagged并要求验证SMS。 以期望时长一周的响应时间,临时邮箱无法用于此场景。 用其他正常Github账号测试申诉流程,发现申诉账户只能从邮箱绑定的账号中选择,想替其他账号申诉而绕过SMS验证只能写在留言中。 这样很可能不被受理还连累正常账号,新注册小号也有些麻烦,不再继续尝试。 手机号难以匿名且不一定有效 既然Github全面通过SMS验证限制ticket总量,那么想保持匿名就要从SMS验证所需手机号入手。 网上有收费的接码服务,号称能保证接码效率,还能通过加密货币付款。 不过也有评论表示付费的接码服务也不一定能收到Github验证码,顿时心中凉凉,如果这样限制也太严格了。 由于本菜鸟实在太菜并没有加密货币储蓄,只好拿着现金购买匿名性高的预付费手机号。 买好手机号并不是直接去收被flag账号的SMS验证,先用其他Github账号的2FA之类的试试。 如果这都不成功,就没必要去关联破坏本Github账号匿名性了。 没想到居然真的没成功,真实购买的手机号居然没受到Github的SMS验证,那就完全不必考虑真手机号了。 这里也提醒一下,github的SMS验证页面选国家并不包含所有的国家,比如中国和马来西亚就没有。 期间我费劲费钱搞来一个匿名的马来西亚手机号,才发现github居然不支持马来西亚。 由于我自身在欧洲,所以测试的是欧洲的手机号,欧洲都不行,除非北美,其他地区就更不可能了。 接下来只好硬刚SMS验证 首先通过搜索引擎可以找到很多SMS接码服务,点开可以看看其中的号码是否近期仍然活跃,可用的服务应当近几小时也有收到SMS。 有些服务直接展示号码是否活跃,累计接收,最近收到时间等,就比较友好,不展示的就需要进去查看,挑选几个国家的看看,还可以用其他服务测试一下是真能收到还是伪装的随机样例。 找到了几个不错的记录一下: https://www.sms-ol.com/en-US/phone/TW/0-928231013/ https://text-verification.net/number/76146182969 https://www.sms-ol.com/en-US/phone/PL/0-722823101/ 测试成功收到Discord验证码 进一步针对Github验证找免费的在线SMS接收服务,还有一些SMS服务会列出成功收到哪些网站SMS的情况,直接找成功收到过Github验证码的号码成功率将大很多。 搜索关键词如: sms receive github free flagged 记录一下搜索结果: https://www.smsonline.cloud/zh/service/github 华人创办看起来不错,有Google记录,但Github无记录 https://receivesmsfast.com/service/GI/US 一共三个号码可接收Github不过目前都离线状态 https://tempsmsonline.com/messages/github https://sms24.me/en/messages/GitHub/1 有多个号码有成功收到Github验证码的记录,甚至还有绑定2FA的记录 在搜到的相关帖子中,得知用美国/加拿大的号码收到SMS成功率高一些。 不断尝试终于free完成SMS验证 据说Github发送一次验证码后如果不成功24小时内不能再次尝试,经测试tor出口稳定会有24小时的超限提示,如果用VPN出口可能可以连续尝试2-3次。 期间可以根据账号具体情况把申诉邮件准备一下。 我当时对成功收到SMS并不报什么希望,2-3天尝试一下。 居然碰到几次我发送验证码,共享手机号也受到SMS,但我输入就错误的情况,结合上下多条SMS,可能其他人就抢在同时比我先占用了这个号码的SMS验证机会。 同时我也理解为什么美国/加拿大的号码收到SMS成功率高一些。 原因正如Github页面提示,SMS只是为了把申诉转交到正确地区,而github是美国公司,当然是北美区的支援人员最多,分配的SMS接收机会也更多。 于是我也开始改用+1的手机号码。 既然github说SMS验证是为了分配地区而不是存储记录,那么我联想到也许github只是用SMS限制一下申诉量,可能并不严格封禁共享的手机号,而且可能不像2FA那样标明短信的用途。 果然最终成功完成验证的那条SMS,就没有标明Github,而且同时间还有来自同一个号码的另一个4位验证码,应该是Github把flag的SMS验证外包了。 提交工单 在第+35天完成SMS验证后,心情格外机动,Github也很友好的在 Open Ticket 后直接提示是否账户问题。 2025年flag申诉页面都是选择即可,可以附加几句话,也可以不附加,为了增加成功率,我还是解释了一下自己是tor用户。 Does your claim involve content on GitHub or npm.js? GitHub What is the username and repository or package name that was impacted? LocalFreedom Why are you requesting reinstatement? If you are requesting support for your account not related to moderation limits made on your account by GitHub please raise a support ticket instead. I can login, but my profile and contributions aren’t visible to others Have you previously contacted GitHub about this claim? No Would you like to provide any additional information or context that would be helpful for our review of your reinstatement request? I am writing to seek your help. My GitHub account has been flagged recently. I think it is because of logging in to GitHub using a TOR node. I would appreciate your help if you unlock the hidden profile as soon as possible. Thank you so much! I have reviewed and understand the GitHub Acceptable Use Policies and Community Guidelines. 历时36天解除flag Open Ticket 次日就受到邮件,支持团队已经解除了账户的flag,我的账户恢复正常。 Ticket和邮件中,支援团队表示Github的自动防御系统会时不时的标记一批用户由人工审核解封。 所以我的账户没有违规行为,只是被公用Tor出口的其他恶人连累了。 后续 看看Google的作为,指望大公司不作恶是不可能的,GDPR也不能很好的保护我们,尤其是对于匿名者。 网络强化 之后考虑使用Proton的VPN服务来代替Tor以实现更持续的匿名网络活动。 这里非常感谢Proton公司的服务,让我可以方便匿名的获得类似Google的互联网产品服务,邮箱-日历-云盘-VPN等产品都非常棒,最关键的是对匿名用户、Tor用户友好。 站点巩固 Github账号一旦被标记,自己开发的实用软件无法随时取用,个人创作的影响力直接中断,真的经不起几次flag的折磨。 号在git设计初衷就是平等的,本地完全数据的,局域自由的。 代码仓库、实用软件本地都有一份,再在Gitlab/Codeberg等平台上传一份即可。 比较麻烦的是博客,好在这个博客是直接生成html的,不依赖Github的部署服务,在其他平台上传一份自用足以。 但毕竟博客这份艺术作品就像自己的孩子,是自己价值观和影响力的传承,还是要让读者有更连续的体验。 博客考虑改用Cloudflare的域名和worker,以实现Github不幸被flag博客页面不中断,并能由其他平台接续。 不经感叹曾经的互联网乌托邦和黑客文化在渐渐逝去!

2025/11/30
articleCard.readMore

Ollama模型部署

Ollama是一个流行的LLM本地部署推理软件,从其Github仓库可以下载安装程式或直接运行其Docker映像。 本文介绍将HuggingFace上的模型导入离线环境中的Ollama部署推理的3种方法。 导入GGUF格式 创建一个modelfile文档,尽量和模型文档在同一个文档夹。 格式分为三部分: 模型权重文档路径,以FROM开头,多模态可以有多行。 对话模板,以TEMPLATE开头用引号包裹,配置提示词等。 参数,以PARAMETER开头每行1个,配置温度、停止词等。 模板和参数建议使用Ollama官方同名模型的配置,通常不同尺寸和量化精度的配置是一样的。 例如Google的Gemma3模型12b尺寸的配置文档: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 FROM gemma-3-12b-it-q4_0.gguf FROM mmproj-google_gemma-3-12b-it-qat-f16.gguf TEMPLATE "{{- range $i, $_ := .Messages }} {{- $last := eq (len (slice $.Messages $i)) 1 }} {{- if or (eq .Role "user") (eq .Role "system") }}<start_of_turn>user {{ .Content }}<end_of_turn> {{ if $last }}<start_of_turn>model {{ end }} {{- else if eq .Role "assistant" }}<start_of_turn>model {{ .Content }}{{ if not $last }}<end_of_turn> {{ end }} {{- end }} {{- end }} " PARAMETER stop <end_of_turn> PARAMETER temperature 1 PARAMETER top_k 64 PARAMETER top_p 0.95 执行命令 ollama create 模型名 -f 配置文档.modelfile ollama就会将GGUF格式的模型文档导入成内部数据。 迁移已有模型 Ollama存储模型分为配置索引和数据块两部分。 将已经下载部署好的模型迁移到新安装环境,只需要复制配置文档和数据块即可。 模型配置文档根据路径可以看出保存在 .ollama/models/manifests/registry.ollama.ai/library/模型名:参数 中,其中模型名如gemma3,参数如12b-it-qat,也就是run时冒号前后的部分。 打开配置文档是json格式,找到其中的sha256:xxx...就是对应的数据块,在 .ollama/models/blobs/ 中找到相应的文档便是该模型的数据块。 1 {"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","digest":"sha256:505f8883abf333a307ed4120ef5f3116f442e6c537e5c4332d9044492e2d637c","size":414},"layers":[{"mediaType":"application/vnd.ollama.image.model","digest":"sha256:1fb99eda86dc48a736567406253769fdc75f01e65cde7c65fa5563e4bdf156e0","size":8928674496,"from":"/Users/pdevine/.ollama/models/blobs/sha256-1fb99eda86dc48a736567406253769fdc75f01e65cde7c65fa5563e4bdf156e0"},{"mediaType":"application/vnd.ollama.image.template","digest":"sha256:5be6630b666f007a127a456fb3958da5fbd7cf547204188bc4690fedc837af0b","size":359},{"mediaType":"application/vnd.ollama.image.params","digest":"sha256:3116c52250752e00dd06b16382e952bd33c34fd79fc4fe3a5d2c77cf7de1b14b","size":77}]} 将配置文档和数据块复制到新安装环境即可正常使用之前下载好的模型。 数据块有大有小,大的就是下载的LLM参数文档,小的可以打开看,通常是模板和参数,所以复制后模板等配置也原封不动。 离线下载模型文档 有时候需要下载Ollama的官方模型,但并不便于安装一个Ollama,就需要直接通过URL下载模型配置和权重文档。 虽然目前官方没有在文档中说明下载链接格式,但是对于run时的 模型名:参数 可以根据规则推测其直链。 配置文档如 https://registry.ollama.ai/v2/library/模型名/manifests/参数。 权重数据块文档如 https://registry.ollama.ai/v2/library/模型名/blobs/sha256:配置文档中的数据块散列值。 Gholamreza Dar制作了提取Ollama直链的网页 下载好配置文档和权重数据块后,按照规律放到个人文档夹中 .ollama/models/ 相应位置即可被Ollama运行时调用。 配置文档如 .ollama/models/manifests/registry.ollama.ai/library/模型名:参数。 权重数据块文档如 .ollama/models/blobs/sha256:配置文档中的数据块散列值。

2025/10/4
articleCard.readMore

MSOffice 清除文件作者等

背景 微软Office是最流行最常用的电子办公套件,使用的时候会很自觉的将当前用户信息作为作者或编辑添加到所处理的资料中。 这是便于留下版权和痕迹追踪的默认操作,然而对于隐私,尤其是匿名编辑带来不必要的麻烦。 操作 对于Office2010及以上版本 打开编辑的Office文档 左上角点击 文件 左侧选择 信息 点击 检查问题 方块按钮展开下拉菜单 选择 检查文档 在弹出的 文档检查器 窗口当中把所有项目都勾选上 点击右下角 检查 文档属性和个人信息 一栏会提示附带的作者和编辑信息 点击栏目旁边的 全部删除 即可删去这些痕迹 推广 可见微软是在意隐私和匿名的需求的。 以后处理Office要注意 信息 中包含的后设数据,更需要通过 文档检查器 了解新兴的痕迹去除事项。 对于其他的办公软件,比如 LibreOffice 等也应注意相似问题。 既然默认是包含作者和编辑信息的,那么去除的太干净也是一种此地无银三百两。

2025/9/30
articleCard.readMore

LibreTranslate

简介 LibreTranslate 是一个轻量、开源的机器翻译服务,可以在本地部署或部署到云服务器,实现低延迟、无外部依赖的翻译系统。 LibreTranslate 自身是 Argos Translate 官方推荐的 WebUI,而 Argos Translate 则基于 OpenNMT 开源架构训练翻译模型。 相比于如今火爆的大语言模型LLM提供的翻译,LibreTranslate提供的传统的轻巧的翻译服务更加便捷,无需独立显卡,只占用少量内存,尤其便于在个人终端上配合LLM使用,比如生成图片的LLM通常基于英文提示词,且可能直接耗尽显存无力在笔电上再起其他LLM用于翻译,那么使用LibreTranslate即可方便的将中文想法转换为英文提示词。 LibreTranslate 官方提供Container部署方式,可以更加轻易的完成本地部署,本文聚焦使用Docker在个人设备部署可离线使用的轻便翻译服务。 Docker环境 下载并安装Docker可以参见前一篇博文。 LibreTranslate镜像 从v1.6.3版本开始LibreTranslate镜像的体积异常变大,不知道是打包过程出了什么bug。 本着轻量级可靠的原则,这里推荐v1.6.2和v1.7.2版本,寻求更新的版本建议先在 DockerHub 上看看镜像尺寸。 1 2 3 4 # 联网Pull镜像 docker pull docker.io/libretranslate/libretranslate:v1.6.2 # 导出镜像可迁往离线环境 docker save -o LibreTranslate.tar libretranslate:v1.6.2 下载翻译模型 LibreTranslate只是WebUI,Docker镜像中集成了 Argos Translate 翻译引擎,工作所需的翻译模型需要单独下载。 Argos官方列出了所有支持的语言翻译模型。从结构上可以看出此工具是通过英文过渡的方式实现不同语言之间的翻译的,选择自己需要的语言和英语之间的翻译包下载。 下载的 .argosmodel 格式翻译模型包存放到一个资料夹中,如 C:\Users\UserName\Downloads\MTpackages 启动服务 在个人设备上装好Docker打开命令行,我们需要将下载的翻译模型包通过卷的方式挂载到容器内,由于默认联网检查并下载所有翻译模型,所以需要通过 –load-only 限制只加载已下载好的翻译语言模型。 1 2 3 4 # 导入镜像(假设放在U盘Z:中) docker load -i Z:\LibreTranslate.tar # 从镜像启动容器 docker run -d -m 2g -p 5000:5000 -v C:\Users\UserName\Downloads\MTpackages:/home/libretranslate/.local/share/argos-translate/packages -w /app --name="LibreTranslate" libretranslate/libretranslate:v1.6.2 --load-only en,zh 打开浏览器,在地址栏输入 localhost:5000 即可访问WebUI,体验LibreTranslate的机器翻译服务。如果5000端口被其他程式占用了,修改 -p 参数的第一个5000为其他空闲端口号即可。 持久运行 首次启动后,LibreTranslate会将翻译包解压到同一个资料夹,之后再 -v 挂载可以加上 :ro 选项限制容器写入存储翻译模型包的资料夹。 从命令行启动服务后,即可在 DockerDesktop 的图形界面中停止/启动这一服务,之前的启动命令当然也可以在图形界面配置,但似乎图形界面的配置还不是很完善。 效果体验 毕竟轻量级,不是大语言模型,但对于配合其他LLM等重型应用,是非常充足的。 翻译结果可能有些机器味,结合个人理解润色一下即可,毕竟用LLM画图的你英文不会太差的。

2025/9/12
articleCard.readMore

Docker的安装与日常使用技巧

为什么在 Windows 上使用 Docker? 开发环境一致:将应用与依赖打包成容器,无论你在 Windows、Linux 还是 macOS 上都能得到一模一样的运行环境。 资源隔离:每个容器都是独立进程,避免了传统方式中“软件冲突”的麻烦,也限制了恶意软件的活动范围。 快速构建:通过 Dockerfile 只需几行指令即可定义完整的运行时,CI/CD 流水线也能一键部署。 用户友好:Docker Desktop 为 Windows 开发者提供了 GUI、WSL2 集成、图形化的容器管理和镜像管理等一站式体验。 前置条件:系统准备 系统版本 Windows10的1809版本及以上,或Windows11 Windows Server 2019 及以上 虚拟化 BIOS中开启硬件Intel或AMD的CPU虚拟化,新电脑通常默认已开启。 OS模块 Windows需要启用WSL2或Hyper-V,在控制面板-添加和删除应用-开启或关闭Windows功能中勾选。 Linux需要KVM,常见发行版所使用的内核都是带KVM的。 磁盘应有充足的空间,没有几十GiB空间很多有趣的Docker镜像就玩不成了。 下载安装 下载安装包 https://docs.docker.com/desktop/release-notes/ 安装 Windows https://docs.docker.com/desktop/setup/install/windows-install/ 可选WSL2或Hyper-V后端,推荐WSL2。 结束时可让DockerInstaller自动开始WSL2的初始化,可能需要重启系统。 Linux https://docs.docker.com/desktop/setup/install/linux/ 可以按照docker官方建议添加源,使用类似Windows的体验。 建议直接从发行版软件仓库安装使用命令行版本,通常如ubuntu包名是docker.io。 初始化 WSL2首次使用只能联网下载更新。 基本使用 在Windows双击桌面上的图表即可打开DockerDesktop,可以在界面左侧看到一排按钮。 镜像管理页面可以从DockerHub上下载镜像。 容器管理页面可以运行镜像成为容器,运行时可能需要选择映射的端口和档案。 镜像是一个基础,有了镜像便可以运行它得到,每次运行可以得到一个容器,就像每次运行软件打开一个窗口。 容器会提供一些服务,通常通过浏览器访问本地相应端口来使用。当结束容器,试用期间产生的数据和变化一并消除,就像浏览器的隐私模式,但比浏览器能提供的功能花样多多了。 DockerDesktop除了图形界面,也继承Docker的命令行程序,并且命令行有更全面的功能。 Windows安装的时候记得勾选添加命令到PATH。 具体命令格式在Windows/Linux/MacOS都是一致的。 从DockerHub上下载镜像可以用pull命令,如: 1 docker pull 镜像名:版本号(默认latest) 运行则是run命令,如: 1 2 3 docker run 镜像名 docker run [选项如-itd] 镜像名[:版本号默认latest] docker run [选项如-itd] [-n 容器名默认随即英文单词] 镜像名[:版本号默认latest] 由于Docker是来自Linux生态的技术,所以镜像通常都是Linux内核,即使在Windows也是通过WSL或Hyper-V使用虚拟的Linux内核。 当然对于运行的容器可以进入其中,使用其Linux命令行界面。 1 docker exec -it 容器名或ID 离线迁移 导出save/导入load 镜像 1 2 docker save -o 文件名.tar 镜像名1:版本号1 镜像名2:版本号2 ... docker load -i 文件名.tar 导出export/导入import 容器 1 2 docker export -o 文件名.tar 容器名或容器ID docker import 文件名.tar 参考镜像:版本号 导出/导入 卷 -v 参数挂载的卷就是一个本地文件夹,直接复制或打包复制即可。 1 2 -v 主机路径:容器路径:权限 -v D:\Data:/data:ro 镜像推荐 官方提供了集中分发镜像的平台 https://hub.docker.com ,其中有趋势排序推荐。 这里推荐一些博主认为好用有趣的镜像: docker.io/continuumio/anaconda3 ocker.io/library/nextcloud docker.io/ollama/ollama docker.io/jgraph/drawio docker.io/library/alpine 使用pull命令,或者在图形界面检索,即可拉取体验。 Docker 新世界的大门,快来下载打开它吧!

2025/8/30
articleCard.readMore

SSH远程登入神器的初步使用

简介 SSH是安全shell的缩写,提供加密传输访问远程服务器的功能。 SSH几乎是所有类似UNIX系统远程登入的方式,当前的Windows 10/11 已经集成了SSH客户端可选组件。 SSH同时支持者scp、git、https、vpn等很多应用。 用法 直接使用 ssh 用户名@目标主机:端口 用户名和当前用户名相同可省略 目标主机可以是ip或域名 端口默认22可不写 配置密钥访问 生成密钥对 ssh-keygen 拷贝公钥到目标主机 ssh-copy-id 配置使用的密钥对 端口转发 本地转发 LocalForward -L [本地主机:]本地主机端口:远程网络主机:远程网络主机端口 例如 ssh -L 0.0.0.0:30000:host2:8000 user@host1 这条命令将host2的8000端口映射到本地的30000端口前提是待登录主机host1上可以正常连接到host2的80端口 远程转发 RemoteForward -R [登录主机:]登录主机端口:本地网络主机:本地网络主机端口 例如 ssh -R 0.0.0.0:8080:host2:80 user@host1 这条命令将host2的80端口映射到待登录主机host1的8080端口前提是本地主机可以正常连接host2的80端口 动态转发 DynamicForward -D [本地主机:]本地主机端口 ssh -D 0.0.0.0:50000 user@host1 这条命令创建了一个SOCKS代理(默认127.0.0.1)通过该SOCKS代理发出的数据包将经过host1转发出去 专门复制文件 scp [-4/-6] [-r] [-P 端口号] 源地址 目的地 范例 scp -r 文件夹 user@1.2.3.4:~ scp -6 -P 22 文件 user@[I:P::v:6]:~ 配置文件 客户端 文件位置 默认在 ~/.ssh/config Windows/Linux/MacOS同样 有一些公共配置 HashKnownHosts 散列记住的主机信息,默认yes,建议no以便于手工维护known_hosts文件 每个服务器各是一段配置,常用配置项目如下 Host 服务器简称 User 登陆用户名,默认当前用户名 Hostname 服务器地址 Port 服务器端口,默认22 IdentityFile 需要使用的密钥,相对路径从执行命令的位置为基准 LocalForward 端口转发本地 RemoteForward 端口转发远端 ProxyCommand 应用代理额外命令 范例 1 2 3 4 5 6 7 Host my_server User root Hostname 10.11.12.13 Port 22 IdentityFile ~/.ssh/id_rsa LocalForward 30000 localhost:30000 RemoteForward 8000 localhost:8000 服务端 文件位置 类Unix系统通常在/etc/ssh/sshd_config Windows系统一般不使用SSH,而是RDP远程桌面。 配置项 文件中有详细的注释和范例 不建议修改服务端的配置 技巧 查看服务器公钥指纹 ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub 首次连接一台服务器的时候会询问是否接受公钥,显示的指纹可以通过这条命令查看。 核对指纹可以避免中间人攻击。 通过socks5代理 ssh -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' my_server 开启socks5代理并显示连接信息 ssh -v -D 1080 my_server

2025/6/13
articleCard.readMore

台湾和大陆IT术语对照表

虽然简化字和正体中文是一一对应的,但是中国大陆与台湾在翻译英语世界科技上形成了不同的习惯。 本文收集IT术语方便的差异,便于写作和阅读时避免歧义。 English 台湾 中国大陆 Abstract 摘要;抽象的 摘要;抽象的 Abstraction 抽象 抽象 Access 存取 (win);取用 (mac) 访问 Accessibility 无障碍;协助工具 (win);辅助功能 (mac) 无障碍;辅助功能 (win/mac) Activate, Activation 启用,启动 激活 Active 使用中的;现行的;有效的;启用的 使用中的;现用的;有效的;激活的 Adapter, Adaptor 界面卡,配接器 (win);转接器 (mac) 适配卡,适配器 Add 加入 添加 Address 位址,地址 位址,地址 Advanced 进阶的 高级的 Aggregation 聚合 聚合 AI (Artificial intelligence) 人工智能 人工智能 Algorithm 算法 算法 Allocate 配置 分配 Allocator 配置器 分配器 Annotation 注释 (win);注解 (mac);诠释 (web) 注释 (win);注解 (mac) App bundle 应用程序套件组合 (win);App 套件 (mac) 应用程序包 (win);App 捆绑包 (mac) Application 应用;应用程序 应用;应用程序 Apply 套用 应用 Architecture 架构;结构 架构;结构 Argument 引数 参数(也称为实际参数,实参) Arity 元数(所需算子的数量) 参数数量 Artifact 成品 (win/mac);产出物 (web) 项目 (win);成品 (mac) Array 阵列 数组 Assembly language 组合语言 汇编语言 Assert, Assertion 判断提示(win);宣告(win/mac);声明(mac) 断言(win);声明(win/mac);论断(mac) Assign, Assignment 指派;(程式设计)赋值 分配;(编程)赋值 Assignment operator 指派运算子 赋值运算符 Asynchronize 异步 异步 Asynchronous 异步的 异步的 Atomic 不可分割的 原子的 Attribute 属性 属性;特性 Audio 音讯;音效 音频 Authenticate, Authentication 验证,认证 验证,认证 Authorize, Authorization 授权 授权 Autoboxing 自动装箱 自动装箱 Background processes 背景程序,背景处理程序 后台进程 Bandwidth 带宽 带宽 Base class 基底类别 基类 Batch 批次(处理) 批(处理) Binary function 二元函式 二元函数 Binary operator 二元运算子 二元运算符 Binary search 二元搜寻法 二分查找 Binary tree 二元树 二叉树 Bind 系结 (win);绑定 (mac) 绑定 Bit 位元 位 Bitrate 位元率 码率 Block 封锁;阻挡 屏蔽;阻止 Block (程式码)区块 (代码)块 Blocker 封锁程式 (win);阻挡器 (mac) 阻止程序 (win);拦截器 (mac) Boolean 布林 布尔 Bounce 退回;弹跳 退回;弹跳 Breakpoint 中断点 断点 Build (verb) 建构 (mac);建置,组建 (win) 构建 Build (noun) 构件;版本(号) 构件;版本(号) Build-in 内建 内置 (win);内建 (mac) Bundle (noun) 组合包 (win);套件 (mac);套组 捆绑包 Bundle (verb) 整合 整合 Bus 总线 总线 Burn 烧录 刻录 Byte 字节 字节 Cache 快取记忆体,快取 高速缓存,缓存 Call 呼叫 调用 Callback 回呼 回调 Carriage-return 回车字元 回车符 Certificate 凭证 证书 Character 字元 字符 Check 查看 查看 Check box, Checkbox 核取方块 (win);注记框 (mac) 复选框 Class 类别 类 Point & Click (noun) 点按 点按 Click nan nan (vs. Tap) 点选 (win);按一下,点/选按 (mac) 点击 (win);点按 (mac) Tap nan nan (vs. Click) 轻触 (win);点一下 (mac) 触碰 (win);轻点 (mac) Client-side 用户端 客户端 Clipboard 剪贴簿 (win);剪贴板 (mac) 剪贴板 Clone 复制 克隆 Cloud computing 云端运算 云计算 Cohesion 内聚 内聚 Collaborate, Collaboration (协同)合作 协作 Combo box 组合方块;下拉式方块 (win) 组合框 Come with 随附 随附 Command 指令 命令 Command line 命令列 命令行 Comment 留言;注解,注释 评论;注释 (win),注解,批注 (mac) Commit 提交 提交 Communication 通讯 通信 Community 社群 社区 Compatibility 相容性 兼容性 Compatible 相容的 兼容的 Compile, Compilation 编译 编译 Compile time, Compile-time 编译期 编译期,编译时 Compiler 编译器 编译器 Component 组件;元件 组件 Composition 组合 组合 Compress 压缩 压缩 Concurrency 并行性,并行 并发性,并发 Concurrent 并行的;同时的 并发的;同时的 Configuration 配置;设定 (mac);组态 (win) 配置 Connect, Connection 连接;(网络、数据库)连线 连接 Constant 常数 常量 Constraint 约束;限制 约束;限制 Constructor 建构子,建构式,建构函式 构造函数 Container 容器 容器 Context 背景(关系);环境;上下文;内容 背景(关系);环境;上下文;内容 Continuous delivery 持续交付 持续交付 Continuous deployment 持续部署 持续部署 Continuous integration 持续整合 持续集成 Control 控制元件,控件 控件 Copy 复制 (win);拷贝 (mac) 复制 (win);拷贝 (mac) Coroutine 协程,协同程式 协程,协同程序 Coupling 耦合 耦合 Crash 当机 (win/mac);毁损 (win) 崩溃 (win/mac);故障 (win) Create 建立 创建 Cursor 游标 光标 Custom 自订 自定义 Data 资料 数据 Data link layer 资料连结层 数据链路层 Data structure 资料结构 数据结构 Database 数据库 数据库 Database schema 数据库纲要 (mac);数据库结构描述 (win) 数据库架构,数据库模式 Deadlock 死结;锁死 死锁 Debug 除错 (win/mac);侦错 (win) 调试 Debugger 除错器 调试器 Declare, Declaration 宣告,声明 声明 Default 预设 默认 Definition 定义;分辨率 定义;清晰度 Delegate, Delegation 委派 委托 Dependency 相依性;依赖关系 依赖 Derived class 衍生类别 派生类 Design pattern 设计模式 设计模式 Destructor 解构式,解构函式 析构函数 Detect, Detection 侦测 检测 Device 装置 设备 Dialog 对话方块 (win);对话框 (mac) 对话框 Digital 数位的;数字化 数字的;数字化 Digital signature 数位签章 数字签名 Digital certificate 数位凭证 数字证书 Directory 目录 目录 Disk 碟 盘 Disk image 磁盘映像档 磁盘映像 Dispatch 分派 分派;调度 Distributed 分散式 分布式 Distribute, Distribution 分发;分配;分散 分发;分配;分布 Distribution 发布/发行(版本);发行套件 发行(版本) Document 文件 文档;文稿 Domain 网域 域 Driver 驱动程式 驱动程序 Drop-down, Dropdown (noun) 下拉式选单 下拉菜单 Drop-down, Dropdown (verb) 下拉 下拉 Drop-down menu 下拉式功能表 (win);下拉式选单 (mac) 下拉菜单 (win/mac) Drop-down list 下拉式清单 下拉列表 Dynamic binding 动态系结,动态连结,动态绑定 动态绑定 Element 元素;元件 元素;元件 Email, E-mail 电子邮件 电子邮件 Enable 启用 启用 Encapsulation 封装 封装 Enter 确认;进入 回车键 Entity 实体 实体 Enumeration 列举 枚举 Equal 相等的 相等的 Equality 相等性,相等 相等性,相等 Escape code 跳脱码,逸出码,转义码 转义码 Event 事件 事件 Exception 例外 异常 Explicit 明确的 (win);显式 (mac) 显式 Export 汇出 导出 Expression 运算式 (win);表示式 (mac);表达式 表达式 Extension 扩充(程式、功能) 扩展(程序、功能) Extension 副档名 扩展名 Feature 特色,特点,特征 特色,特点 Feature nan nan (vs. Function) (特殊的)功能 (特殊的)功能 Feedback 回馈 反馈 Field 栏位;域 字段,栏位;域 File 档案 文件 File system 档案系统 文件系统 Filter 过滤器 过滤器 Find 寻找 查找 Firmware 固件 固件 Flag 旗标 标记 Flash memory 闪存 闪存 Flush 排清,清除 刷新 对齐,齐平 对齐,齐平 nan Folder 资料夹 (win);档案夹 (mac) 文件夹 Font 字型 (win);字体 (mac) 字体 Form 表单 表单 Format (noun) 格式 格式 Format (verb) 格式化 格式化 Forward 转发,转送,转寄 转发,转送,转寄 Fragment 片段 片段 Frame 影格,画面;框架 帧;框架 Frame rate nan nan FPS (frames per second) 影格率,画面更新率 帧率 Framework 框架 框架 Frozen (软件或影片)画面定格;冻结,锁定 冻结,锁定 Full screen, Fullscreen 全萤幕 全屏 Function 函式,函数 函数 Function nan nan (vs. Feature) (一般的)功能 (一般的)功能 Functionality 功能 功能 Game 游戏 游戏 Gateway 闸道器 网关 General 一般的 通用的 Generate 产生,生成 生成 Generic 通用的 通用的 Generics 泛型 泛型 Global 全域的;总体的,整体的,通用的 全局的 Group box 群组方块 分组框,群组框 Graph 图 图 Handle 控制代码 句柄 Handler 处理常式,处理程式,处理器 处理程序,处理器 Hardware 硬件 硬件 Hash 杂凑 哈希 Header file 标头档 头文件 Heap 堆积 堆 Help 使用说明;说明;帮助 帮助 Hierarchy 阶层 层次结构 High Definition 高分辨率,高清 高清晰度,高清 Host file 主机档案,host 档案 主机文件 Home folder 主资料夹 (win);个人专属档案夹 (mac) 主文件夹 (win);个人文件夹 (mac) Home page 首页,主页 主页 Icon 图示 (win);图像 (mac) 图标 IDE 整合式开发环境 集成开发环境 Identifier 识别字 标识符 Idle 闲置 闲置 Image 影像;图像,图片;映像档 影像;图像,图片;映像 Immutable 不可变的;无法更改的 不可变的;不可更改的 Implement 实作 实现 Implementation 实作(品) 实现 Implicit 隐含的 (win);隐式 (mac) 隐式 Import 汇入 导入 Indent 缩排 缩进 Info 资讯 简介 Information 资讯 信息 Inheritance 继承 继承 Initialization 初始化 初始化 Inline 行内;内嵌 内联 Instance 实体;实例 实例 Integrate 整合 集成 Integrated 整合式,整合的 集成的 Integrity 完整性 完整性 Interact, Interaction 互动 交互 Interface 界面 接口 Internal Storage 内部储存 内存 (仅手机等便携装置,民间称谓) Internationalization (I18N) 国际化 国际化 Internet 互联网 互联网 Interpreter 直译器 解释器 Invoke 呼叫(mac);执行,叫用(win) 调用 Iterate 迭代;反复(运算) 迭代;重复、循环(访问) Iteration 迭代 迭代 Iterator 迭代器 迭代器 Kernel 核心 内核 Key 金钥,密钥 密钥 Keybind 快速键 快捷键 Lag 延迟 延迟 Layout 布局,配置 布局,配置 Lazy loading 惰性载入;消极式载入;延迟载入;懒载入 延迟加载;懒加载 Lexer, Lexical analyzer 词法分析器 词法分析器 Lexical analysis 词法分析 词法分析 Library 程式库,函式库 程序库,函数库 Link 连结 链接 Link time 连结期 链接期 Linked list 连结串列 链表 Linker 连结器 链接器 List 清单;列表 列表 Listener 监听器 监听器 Literals 字面值,定数,常值 字面值,字面量 Literal constant 字面常数,字面常值 字面常量 Load 载入 加载 Load time 载入期 加载期 Loader 载入器 加载器 Local 区域的,本地的;本机 局部的,本地的;本地(主机) Localization (L10N) 在地化 本地化 Local variable 区域变数 局部变量 Lock 锁定 锁定 Log 记录 日志 Log in, Login 登入 登录 Log out, Logout 登出 退出;注销 Loop 循环;重复;循环 循环 Map, Mapping 对应;映射 映射 Match 配对;符合;配合;比对;匹配 匹配 Macro 巨集 宏 Memory 记忆体 内存 Menu 选单;功能表 菜单 Message 讯息 消息;信息 Metadata 中继资料(win);后设资料(mac);诠释资料 元数据 Middleware 中介层,中介软件 中间件,中间软件 Mobile 行动 移动 Moderate, Moderation 审核 审核 Modifier 修饰子,修饰词 修饰符 Module 模组 模块 Monomorphism 单型 单态 Motherboard 主板 主板 Mouse 鼠标 鼠标 Mouse pointer 鼠标指标 鼠标指针 Multitasking 多工(处理) 多任务(处理) Mutable 可变的 可变的 Mutex 互斥 互斥 Native 原生 原生 Navigate, Navigation 导览 导航 Navigator 导览器 导航器 Nested 巢状的 嵌套的 Network 网络 网络 New 新增 新建 Notarization 公证 公证 Object 物件 对象 Object code 目的码 目标代码 Object file 目的档,目的码档 目标文件 Object-oriented 物件导向 面向对象 Online 线上 在线 Operand 算子 操作数,运算元 Operating system 操作系统 操作系统 Operator 运算子 操作符,运算符 Optimize, Optimization 最佳化 优化 Option 选项 参数 Overflow 溢位(上限溢位) 溢出(上溢出) Overlay 嵌入界面 叠加面板 Overload 多载,覆载,重载 重载 Override 覆写,重写 覆盖,重写 Pack 封装,压缩 打包,压缩 Package (noun) 套件,软件包 (程序、软件)包 Package (verb) 封装 打包,封装 Pane 窗格(win);面板(mac) 窗格(win);面板(mac) Parallelism 平行性,平行 并行性,并行 Parameter 参数 参数(也称为形式参数,形参) Parse 分析;剖析;解析 解析 Parser 语法剖析器 语法分析器 Partition 分割;(硬盘)分割区 分割;(硬盘)分区 Paste 贴上 粘贴 Patch 更新档(win);修补程式(mac) 补丁(win);修补程序(mac) Pattern 模式;样式 模式;样式 Performance 效能 性能 Persistence 持续性 持久性 Photo 照片 照片 Physical layer 实体层 物理层 Picklist 挑选清单 (win);选取列表 (mac) 选择列表 Placeholder 占位符号;预留位置(win);暂存区(mac) 占位符 Pluggability 可拔插性 可插入性 Plugin 插件(win);外挂模组(mac) 插件 扩展 Pointer 指标 指针 Polymorphism 多型 多态 Port (连接)埠 端口 Power bank 行动电源 移动电源,充电宝 Presentation layer 表现层 表示层 Preset 预设 预设 Print 打印 打印 Printer 打印机,打印机 打印机 Procedure 程序 过程 Process 行程;程序 进程 Profile 设定档(win);描述档(mac) 配置文件(win);描述文件(mac) Profile 评测 评测 Profile (or Personal profile) 个人档案 个人资料 Profiler (效能)分析工具 (性能)分析器 Program 程式 程序 Project 专案 项目,工程 Protocol 协定 协议 Provision, Provisioning 布建 预配 Proxy (or Proxy server) 代理服务器 代理服务器 Pseudo code 虚拟码 伪代码 Pull-down list 下拉式清单 下拉列表 Quality 品质 质量 Queue 伫列 队列 Quit unexpectedly (App)闪退 意外退出 Radian 径度 弧度 Radio button 选项按钮(win);圆形按钮(mac) 单选按钮 RAM (Random Access Memory) 随机存取记忆体 随机存取存储器 Read 读取 读 Read-only 只读 只读 Recovery 复原,还原 还原 (win),恢复 (mac) Recursion 递回 递归 Redirect, Redirection 重新导向;转址 重定向 Reference 参照,参考 参考 Register 暂存器;注册 寄存器;注册 Regular expression 正规表示法;正规表达式;规则运算式 正则表达式 Release (发行、发布)版本 (发行、发布)版本 Remote 远端 远程 Render 算绘;渲染 渲染 Resolution 分辨率 分辨率 Response 回应 响应 Response body 回应本文 响应正文 Response header 回应标头 响应头 Restore 还原 (win),回复 (mac) 还原 (win),恢复 (mac) Return 回传,传回;恢复 返回;恢复 Revoke, Revocation 撤销 撤销 Rollback 复原 回滚,回退 Routine 常式 程序 Run 执行 运行 Runtime, Run-time 执行期;执行环境 运行期,运行时;运行环境 Runtime environment (RTE), 执行环境 运行环境 Runtime system 执行系统 运行系统 Save 储存 保存 Sampling 取样 取样 Scalar 纯量 标量 Schedule 排程 调度 Scheduler 排程器,排程程式 调度器,调度程序 Scope (作用、有效)范围,域 (作用、有效)范围,域 Scroll bar 卷轴 滚动条 Script 指令码(win);工序指令(mac) 脚本 SDK (Software Development Kit) 软件开发工具包;软件开发套件 软件开发工具包;软件开发套件 Search engine 搜索引擎 搜索引擎 Security 安全性 安全性 Segment 区段 段 Semaphore 号志 信号量 Server 服务器 服务器 Server-side 服务器端 服务器端,服务端 Session 工作阶段,作业阶段 会话 Session (电脑网络)对谈/话,会谈/话;连线阶段 会话 Session layer 会议层 会话层 Set up 设定 设置 Settings 设定 设置 Shortcut 捷径 快捷 Shortcut key 快速键 快捷键 Sign in, sign-in 登入 登录 Sign out, sign-out 登出 退出,注销 Silicon 硅 硅 Simulation 模拟 模拟 Signature 签章;签名 签名 Slider 滑杆 滑块 Smart 智慧 智能 Smartphone 智能手机 智能手机 SMS (Short Message Service) 简讯 短信 Snip 撷图 截图 Source code 源代码 源代码,源码 Stack 堆叠 栈 Star rating 星级评等(win);星号评等(mac) 星级评分 Statement 叙述,陈述(句) 语句 Status bar 状态列 状态栏 Stepper 步进器 步进器 Stream 串流;资料流 (数据)流 String 字串 字符串 String interpolation 字串插值 字符串插值 Stuttering (软件或影片的画面)断断续续 - Subclass 子类别 子类 Subroutine 副程式 子例程 Superclass 父类别 超类 Support 支援 支持 Suspend 暂停(权限) 暂停(权限) Synchronize 同步 同步 Synchronous 同步的 同步的 Syntactic analysis 语法分析;语法剖析 语法分析 Tab 索引标签,分页,标签(页) 标签(页) Tag 标记 标签 Task 工作 任务 Template 范本 模板 Text 文字 文本 Text box 文字框 文本框 Thread 执行绪 线程 Top-up 加值,储值 充值 Token 标记(win);代号(mac) 标记(win);令牌(mac) Traverse 走访 遍历 Tray (or System tray) 系统匣 系统托盘 Tree 树 树 Tuple 元组 元组 Tutorial 教学 教程 Type 型别,型态 类型 Universal 通用的 通用的 Variable 变数 变量 Video 影片;视讯 视频 View 检视;显示;视图 查看;显示;视图 Voice 语音 语音 Volume 磁盘区 (win);卷宗 (mac) 卷 (win);宗卷 (mac) Window 视窗 窗口 Widget 视窗元件;小工具 窗口部件;小部件 Wildcard 万用字元 通配符 Workspaces 工作区;工作空间 工作区 Write 写入 写

2025/6/11
articleCard.readMore

被博通收购后免费的 VMware Workstation Pro 下载方法

VMware是著名的个人桌面虚拟机软件,有友好的用户界面,强大的虚拟显卡能力。 尤其是用虚拟机运行3D游戏,几乎是便捷可行的唯一选择。 市面上一直流传着VMware产品的激活码,PC用这些激活码直接可以离线永久激活。 被收购后,博通索性直接将针对PC的虚拟机产品 VMware Workstation Pro / VMware Fusion Pro 针对个人免费,直接去掉了注册激活步骤。 然而,之前流传的下载直连链接不可用了,博通网站不仅强制登陆,而且下载位置特别难找,本文就介绍免费时代的VMware桌面虚拟机产品。 官方站点 VMware的官方首页想点出来VMwareFusion或VMwareWorkstation的产品页面着实不容易。 还是直接用搜索引擎搜索 VMware+Fusion 或 VMware+Workstation 直接来到产品页面。 点击醒目的 DOWNLOAD FUSION OR WORKSTATION 就会跳转到博通的登陆页面 如果没有博通账号需要注册,右上角的LOGIN按钮右边箭头可以下拉菜单,点击看似不能点的灰色REGISTER按钮即可进入注册流程。这配色设计简直… 注册账号 填写邮箱,可以考虑用临时邮箱以保护个人隐私。 填写邮箱收到的验证码 填写基本信息,包括姓名、国家、职业、密码,建议选择美国;创建账户后菜单会变长问一些附加服务,选择I'll do it later即可。 用刚才填写的邮箱和密码登陆。 定位下载 在右上角登陆用户名旁边的按钮下拉菜单选择 VMware Cloud Foundation 在左侧选择 All Products 在右侧产品列表上方的搜索框搜索相关产品,在搜索框中输入 ‘Fusion’ 搜索 MacOS 版本,输入 ‘Workstation’ 搜索 Windows 或 Linux 版本。 Fusion系列就是VMware Fusion Workstation系列选择VMware Workstation Pro功能最全,点击右侧Product Detail。 在详情页,在Release列选择想下载的版本点击即可进入下载页面 终于进入下载页面,下载按钮是灰色的,点击栏目左上方勾选I agree to theTerms and Conditions即可点击并开始下载。 免费产品下载页面 博通可能会直接提示免费产品的下载连接,还可以看看其他免费产品。 https://support.broadcom.com/group/ecx/free-downloads 17.6.3版本下载页面链接 Linux: https://support.broadcom.com/group/ecx/productfiles?subFamily=VMware%20Workstation%20Pro&displayGroup=VMware%20Workstation%20Pro%2017.0%20for%20Linux&release=17.6.3&os=&servicePk=&language=EN&freeDownloads=true Windows: https://support.broadcom.com/group/ecx/productfiles?subFamily=VMware%20Workstation%20Pro&displayGroup=VMware%20Workstation%20Pro%2017.0%20for%20Windows&release=17.6.3&os=&servicePk=&language=EN&freeDownloads=true 安装激活 VMware是非常用户友好的商业产品,安装类似其他软件: MacOS上拖拽 Windows双击后根据提示下一步即可 Linux用sudo运行后根据提示进行即可,如果有桌面和Windows一样,如果用字符界面,你还能看不懂提示? 附:校验信息** VMware Workstation Pro for Linux 16.2.5 Name: VMware-Workstation-Full-16.2.5-20904516.x86_64.bundle Release Date: 2022-12-13 Build Number: 20904516 MD5SUM: 0a69f5cff1f7c36d2d80f6393230effa SHA1SUM: b010b67e1bf79bd63bad4d2e2047bc89a51266fa SHA256SUM: 3ee36946b15e3093fd032115f5b6e5dabf4081f54756d5e795b4534473ea53e7 17.6.3 File Name: VMware-Workstation-Full-17.6.3-24583834.x86_64.bundle(335.21 MB) Build Number: 24583834 Release Date: Mar 04, 2025 Last Updated: Feb 27, 2025 SHA2: 79575917728ded4c6d0b89f4ab6a81be9a773c00eeb68d1d12ac0db125478ee0 MD5: 01559c427a4b47547e67026320c77738 VMware Workstation Pro for Windows 16.2.5 Name: VMware-workstation-full-16.2.5-20904516.exe Release Date: 2022-12-13 Build Number: 20904516 MD5SUM: b72276af0d1f093c146c6623c463218f SHA1SUM: 01ddbeb179444bb6bf9ee41e070de362c6134ce9 SHA256SUM: 380b0fa8a0f37ade496573cdc2ad922d3985bc83664f94431a9e513444b6c377 17.6.3 File Name: VMware-workstation-full-17.6.3-24583834.exe(401.43 MB) Build Number: 24583834 Release Date: Mar 04, 2025 Last Updated: Feb 24, 2025 SHA2: d7c04b4dd1e6bf551693897d4805e99c45198a830c6361d9af8267b40906857b MD5: de592b18a39513e3414f197ec1a4cb1c

2025/5/10
articleCard.readMore

操作系统选型

背景 从信息时代来到人工智能时代,掌握自己的信息系统越来越重要。 将自己的数据握在自己手中,摆脱大公司的监视干预是本站的价值观。 操作系统可以说是个人信息系统的重要基础,尤其是微软的Windows越来越绑定网络,将用户束缚在微软的服务中,探寻一下非大公司控制,可自己掌握支配的操作系统愈加必要。 今天咱就来聊聊操作系统选型,希望帮大伙找到适合自己的能够把握的操作系统。 概览 Windows应该是存在感最强的操作系统,伴随着PC的普及走进千家万户。 随着移动互联网发展Android和iOS也走进千家万户。 除了这些大公司运营的操作系统生态,其实还有Linux、BSD等系列操作系统,它们通常开源,将一切权力交给用户,有些用户体验已经打磨的不输商业操作系统,尤其是在服务器领域Linux更是占据霸主地位。 本文讨论的重点就是Linux操作系统。 各个系列的操作系统 Windows 微软公司开发的商业软件,简单易用普及。 Windows 98/XP/7/10/11 等面向PC的操作系统,包括家庭版、商业版等。 Windows Server 2008/2016/2019/2022 等面向服务器的操作系统。 Linux 源自芬兰大学生Linus,在GPL许可证约束下开放源代码。 debian/arch/gentoo/alpine 等依靠开源社区自发演进的。 RedHat/SUSE 等依靠商业公司运营服务。 BSD 老Unix操作系统的社区维护版本,源自Berkeley校区。 OpenBSD/FreeBSD 等。 MacOS 苹果公司运营的商业操作系统,大公司包办一切。 只有主线版本。 Android Google采用Linux内核为移动设备开发的操作系统,在GPL约束下开源。 各手机厂商基于开源部分定制自己的专属系统。 LineageOS/eOS 等社区开发的操作系统。 iOS 苹果公司移动设备的操作系统,极度封闭。 欧盟正在撼动其封闭生态。 Other 操作系统其实并不复杂,好好学习也可以写出自己的操作系统。 ChromeOS/FirefoxOS 就是厂商新推出的小众操作系统。 如何选择属于自己的操作系统 属于自己的操作系统最重要的是自己想用就可以用,最好想怎么用就怎么用。 过于依赖网络的操作系统,比如ChromeOS/iOS当然就要排除在外了。 即使大公司不作恶,也有可能停止服务。 属于自己的操作系统应当能够在硬件上自行安装,最好安装好就附带常用功能。 不得不说这方面Windows还是不错的,就像他们广告中说的,买了Windows同时拥有了计算器、日历、文本编辑器等等一系列软件功能。 PC和移动设备面对的情况大相径庭,即使都是Linux也是差异很大的分支。 针对不同类型的设备还是要用不同的标准来选型。 尤其是硬件驱动,在移动设备上比较难搞,而PC上Windows驱动必然都有,Linux通常也不缺什么。 本文主要针对PC设备,其他设备有空再详细介绍。 PC的操作系统也通常称为桌面端的操作系统,主要有Windows/Linux/BSD/MacOS四类。 BSD太过于小众,就暂不多介绍了。 MacOS几乎没得选,捆绑苹果设备,也没有分支。 接下来先简单回顾一下Windows,然后着重介绍Linux系列操作系统选型。 Windows Windows操作系统分为面向PC的版本和面向服务器的Server版本。 Server版本继承了很多服务器的功能,且有严格的重启和断电管理,但对于个人使用反而缺少很多功能,激活和安装软件也比较麻烦。 面向PC的版本分为家庭版、专业版、旗舰版、企业版、工作站版等,根据地域还有区分,比如中文定制版或欧盟的版本。 这些版本随着价格增加功能也越多,通常功能上: 家庭版<专业版<旗舰版~=企业版~=工作站版本。 欧盟的版本由于反垄断通常去掉了媒体播放器等一些自带软件。 中文定制版就不用理会了,没人会主动选择它的。 值得一提的是自Win10开始出现的LTSC——长期支持版。 这算是官方精简版,去掉了应用商店和各种奇奇怪怪的应用,原始风味的Windows体验,基础功能等同于企业版。 在Win7时代也有类似的Thin版本。 这里推荐MSDN,Itellyou,一个提供Windows官方镜像P2P链接的网站。 Linux 内核+发行版 所谓的“内核”,通俗地说就是操作系统最核心最关键的部件。 它负责一些最基本的工作,比如: 管理硬件驱动、管理内存、管理文件系统、管理进程等等。 这些东西只要少了任何一样,整个操作系统就不能正常运转。 Linux系列操作系统的内核一直是由 Linus 领导开发,采用GPLv2开源协议,任何人都可以随意获取、免费获取、参与开发。 同时所有基于Linux内核开发的操作系统也必须开源,允许大伙获得源代码。 Windows也有其NT内核,但Windows通常整体打包发布,所以其内核没有存在感。 操作系统在除了内核,通常还应当提供命令行、图形界面、运行库等。 由于Linux内核高质量且开放,有很多爱好者和商业公司基于Linux内核整合配套软件打包发布形成发行版。 选择Linux操作系统就是选择一个适合自己的发行版。 发行版的选择 首先推荐网站 https://distrowatch.com。 这是知名的操作系统排名网站,收录并列出各个操作系统的新闻,根据访客点击不同操作系统(发行版)的次数给出一个排名。 这个网站主要收录Unix/Linux及其衍生品,并不包含Windows和MacOS。 DistroWatch的搜索页面提供了很多选项用于筛选发行版,可以作为我们选择发行版时的首要参考。 OS Type 操作系统的派系,这里当然选Linux。 Distribution category 发行版类型或者说面向的需求,比如新手(Beginners)、桌面(Desktop)、瘦客户端(Thin Client)、游戏(Gaming)、移动设备(Mobile)等。 个人认为这个分类不够完善,很可能漏掉或冗余。 Country of origin 源自哪个国家,开源社区无国界开发者有国籍:) Based on 基于哪个发行版,发行版的衍生类似树状,如果偏爱哪个基础发行版,可以通过这个选项看看他的变种。 Not based on 不基于哪个发行版,同上,排除你从根上就不喜欢的发行版。 Desktop interface 桌面,或者说图形介面更完整。 Linux的多样化也体现在桌面环境,可以搭配完全不同的桌面,这可不是换换壁纸或者主题,类似从Windows桌面和MacOS桌面的那种区别。 其中的选项也不都是严格意义上的桌面,有些则是窗口管理器(可以简单的理解为没有任务栏的桌面)等桌面组件;因为Linux的自由,桌面不必都是完整的,可以自由搭配窗口管理器、登陆管理器、合成渲染、菜单栏、任务栏等。 这里列举三种主流桌面方案: KDE 模仿Windows,提供完善的图形化设置,附带很多高质量配套软件。 GNOME 越来越像MacOS,模仿Linux的发展方式,专注桌面核心组件,默认精简。 Xfce 相对轻量级的桌面环境,有点像WinXP的风格,低资源占用。 主流发行版通常都提供这三种桌面可选,如果从Windows迁移过来,推荐从KDE入手,复刻Windows的体验,默认配置通常也最完善好用。 Architecture 架构,通常都是 x86_64。 Package management 包管理方式,发行版的软件包基于哪种模式管理,也算是选择发行版的派系。 DEB由Debian发行版社区创建,也被Ubuntu等发行版继承,历史悠久,社区文化,配置文件可读友好。 RPM有红帽公司开发用于其RHEL发行版,Fedora/SUSE等也采用,配置方式大量采用二进制文件。 Pacman是Arch发行版的包管理方式,衍生至Manjaro等发行版,结构相对扁平简洁。 Release model 发行模式,是定期发布版本还是滚动更新,有没有长期支持LTS本 滚动更新提供最新版本的软件,但也意味着频繁的更新和更多的漏洞。 推荐有 LTS 支持的定期发布版本的发行版,LTS会在新的版本发布后仍然对老版本提供几年的安全补丁,运行也会更稳定。 就像Windows,面向企业的Linux发行版RHEL/SUSE等都是LTS模式。 Install media size 安装介质大小,通常都比Windows安装盘小,这个选项本身没什么意义。 Install method 安装方式,分为Local(本地安装),Net-Install(网络安装),OEM(出厂自带)。 当然选择本地安装喽,也可以看看OEM有哪些硬件厂家提供。 本地安装介质通常分为两种Installer和Live。 Installer安装镜像通常4GB,有一定的定制空间和额外软件包,就像Windows的安装盘。 Live安装镜像通常能提供不错的开箱即用的体验,是强化的PE系统。 Web安装镜像通常最小但如果没有网络可能无法完成最小化安装。 Multi-language support 多语言支持,主流发行版都支持中文,如果不支持中文可以pass掉。 Init software 初始化软件,这个选项是给资深有追求的用户准备的,暂且不管。 当前红帽公司主导的Systemd是最主流的选择。 Status 状态,当然要是活跃Active的发行版。 推荐部分发行版 Debian DEB包管理框架,大约每2年发布一个版本并提供5年的LTS支持,本地安装以Installer为主,最近也开始提供Live镜像,默认GNOME桌面,在Installer镜像中同时包含选择KDE和Xfce所需文件。 完全社区开发的发行版,自由分为浓厚,其软件源也着重区分包是否开源,到12版才官方集成非开源的驱动程序。 Debian是通用操作系统,能稳定的运行于服务器上,对PC也有友好的界面。 软件源相对保守,版本发布后只提供安全补丁,不引入新功能,安全稳定的同时可能略显陈旧,debian虽然有backports通道提供新版本软件包,但默认是不启用的,当然也可以自己用deb包安装软件或者添加第三方软件源。 在Linux内核选择上,使用版本发布当年的LTS内核并随内核社区一起提供长期支持。 Linux Mint DEB包管理框架,基于Debian/Ubuntu,随UbuntuLTS版本每两年发布,提供Live镜像,暂无Installer镜像,默认Cinnamon桌面从GNOME分支而来保留GNOME2风格。 社区为了摆脱Ubuntu背后商业公司的影响而分支的发行版,有着Ubuntu的友好,更加自由,曾登顶DistroWatch榜首;Ubuntu强推snap商店并把软件源中的包搬到商店的行为让我们选择LinuxMint。 在Ubuntu软件源基础上,将移动到snap商店的软件包恢复到deb源,还提供额外的驱动管理等用户友好组件。 LTS支持跟随Ubuntu,与Debian略有不同,会提供软件包的小版本更新,用于PC可以尝试较新的版本,内核版本与Ubuntu同步并不一定是LTS内核而是有Ubuntu提供内核的长期支持。 OpenSUSE RPM包管理框架,来自德国,随企业版SUSE发布,提供滚动更新的Tumbleweed版和定期更新的Leap版,本地安装以Installer为主,同时也提供Live镜像,默认KDE桌面,Installer中多种桌面可选,提供非常全面的开箱即用体验。 非常稳定精良的设计,尤其是其Yast可比Windows的控制面板,几乎可以平替Windows。 提供很多图形化的服务器管理功能,用于PC可能显得过于完善。 Manjaro Pacman包管理框架,基于Arch滚动更新,相对保守一些进行更多测试放慢节奏,提供Live镜像,默认KDE桌面,开箱即用。 官方号称给Arch的软件包增加额外的测试和缓冲器,只同步安全补丁。 在Arch基础上对商业软件更加友好,软件源中有discord等热门商业软件。 实现局域自由的关键路径 操作系统是自由使用计算机设备的基础,也算是实现局域自由的关键一环。 Linux以其开源自由的特点,广泛活跃的社区,可以作为操作系统的首选,尤其是提供LTS支持的发行版作为主力系统真是非常靠谱。 Windows虽然是封闭商业软件,但本地自由使用难度并不大,考虑其广泛的生态,尤其是游戏娱乐,值得收录镜像以备用。 未来有空再细谈Linux镜像源和Windows激活的话题。

2025/4/20
articleCard.readMore

Win10/11 不联网强制开启移动热点

背景 话说,现在个人电脑开启移动热点,大家通常是为了分享网路,但更重要的,其实是打造一个属于自己的无线局域网啊!Windows 提供的热点功能,一直以来都只能用来分享网路,没法直接用在局域网里。以前还能在连接 WiFi 或有线网络的时候开启热点并保持,但现在微软越来越严格,一旦上行连接断掉,移动热点就自动关掉,真是让人头大! Windows 电脑通常不当做局域网服务提供者,但现在 AI 这么火,像 LM Studio 这样的软件可以提供局域网服务,仅仅开启移动热点就能满足需求,这需求量可真大啊! 方法 1:利用底层命令,挑战微软的限制 这个方法就是利用无线网卡驱动提供的功能,通过命令行开启热点。不过,随着无线网卡更新,尤其是 Intel 网卡配合微软,这个功能经常被阉割掉。如果降级驱动还是不行,那就只能试试方法二了。 以管理员权限启动终端(也就是CMD或PowerShell) 确认系统支持本地热点功能 输入 netsh wlan show drivers 如果输出中 Hosted network supported(支持的承载网路) 的值为 Yes,就说明可以继续使用这个方法。如果为 No,那很遗憾,只能换方法了。 配置热点信息 netsh wlan set hostednetwork mode=allow ssid=%名称% key=%密码% keyUsage=persistent 如 netsh wlan set hostednetwork mode=allow ssid=HotPoint key=Strongest keyUsage=persistent 注意:密码至少要8位哦! (别想着用 123456 这种弱密码,会被干掉的!) 启动热点 netsh wlan start hostednetwork 启动成功后,就可以用手机等终端设备连接局域网啦! 主机IP通常默认为 192.168.137.1, 可以用 ipconfig 命令查看。 关闭热点 netsh wlan stop hostednetwork Use Windows 10 wifi hotspot with no internet connection 方法 2:用虚拟设备“欺骗”系统,开启离线热点 Windows 检测是否有活动的 WiFi 或有线连接,才能开启移动热点。我们可以用虚拟设备来“欺骗”它,让它以为是有网络连接。常规的虚拟机网卡是无法通过检测的,这里我们用一个老旧的虚拟测试设备。 添加虚拟测试设备 打开设备管理器 操作->添加过时硬件(如果菜单中只有帮助点击一下任一设备或类别就会刷新) 安装我手动从列表选择的硬件->显示所有的硬件 左侧厂商选择 Microsoft 右侧设备选择 Microsoft KM-TEST 回环适配器 重命名虚拟测试设备 控制面板->网络和Internet->网络和共享中心->更改适配器设置(左侧) 将KM-TEST设备重命名为Loopback(如果右键重命名无效那么选中按F2键入新名称) 重启电脑或其他方式传播网路名称。 开启热点 在cmd执行以下命令,或者直接用PowerShell执行引号中的部分。 1 powershell -ExecutionPolicy -ByPass "$profile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetConnectionProfiles() | where {$_.profilename -eq 'loopback'}; $tether = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::createFromConnectionProfile($profile); $tether.StartTetheringAsync()" WLAN也会同时开启。 保持热点 设备管理器->网络适配器->你的无线网卡(不是MK-TEST而是实际物理网卡) 【右键属性】 电源管理->允许计算机关闭此设备以节约电源 【解除勾选】 关闭热点 直接用任务栏上的操作按钮即可。 关闭热点是虚开的WLAN也会关闭。 win11如何才能无网络开启移动热点 吐槽一下 Windows 的离线工作体验 说实话,现在 Windows 对离线工作的支持越来越差了。每次想在没有网络的情况下用电脑,都要跟它死磕一下。这让我对 Linux 的兴趣越来越浓厚了。看来,是时候考虑换系统了,体验一下真正的自由了! 尤其是Win11即将进一步限制不联网安装,Windows 越来越云化,越来越限制用户,真的让人很无奈啊!

2025/4/10
articleCard.readMore

LM Studio

简介 LM Studio 是一个桌面应用程序,它允许你轻松下载、管理和运行各种GGUF格式的开源 LLM,无需连接互联网。 它提供了一个非常友好的配置界面,让你能够探索huggingface,快速体验不同模型的特性,并根据自己的需求进行调整。 在对各类新型模型的支持中,LM Studio 总是非常迅速完美的。 不过 LM Studio 是一个免费的专有软件,并不开放源代码。 安装 官网的下载页面提供Windows、Linux和MacOS的下载,除了x86还支持arm64架构的CPU。 安装包是离线的,包含需要的各类运行库,安装过程完全无需联网。 第一次运行的时候会提示选项级别,默认的 Power User 即可。 准备模型 LM Studio 支持从huggingface.co搜索并直接下载运行GGUF格式的 LLM,即量化压缩后的LLM。 但本文的重点是完全离线运行,当然应避免联网功能。 一个理所当然的方法是下载GGUF模型文件放置在 LM Studio 的模型文件夹 ~\.lmstudio\models\ 中,不过这样并不能直接被软件识别。 LM Studio 的解析方式是按照 Hugging Face 模型仓库的 URI 格式来识别模型文件,所以只要按照 ~\.lmstudio\models\作者\模型名\参数文件.gguf 的方式导入 LLM 文件即可。 作者和模型名可以自己命名,也可以就按照默认方式来,如从 https://huggingface.co/bartowski/mistralai_Mistral-Small-3.1-24B-Instruct-2503-GGUF/blob/main/mistralai_Mistral-Small-3.1-24B-Instruct-2503-Q4_K_M.gguf 下载的文件放在 ~\.lmstudio\models\bartowski\mistralai_Mistral-Small-3.1-24B-Instruct-2503-GGUF\mistralai_Mistral-Small-3.1-24B-Instruct-2503-Q4_K_M.gguf 将模型文件放置完成后,打开 LM Studio 点击左侧文件夹图表的 Models 标签页即可看到下载的文件。 列表中还会列出模型的各项参数和功能。 对话 在打开的初始界面,上方选择模型文件加载,可以配置一些参数,通常默认的就足够好了。 等待加载完成就可以在下方与 LLM 对话了。 目前支持上传图片和附件,只要LLM支持相关功能就可以使用。 提供服务 LM Studio 可以提供兼容 OpenAI v1 的API服务,可以作为局域网中便捷的LLM基础服务,与各种客户端应用程序配合使用。 点击左侧第二个按钮,进入开发者界面即可开启OpenAI兼容API服务。 默认其监听0.0.0.0的1234端口,图形界面提供复制的IP地址可能不合适。

2025/3/27
articleCard.readMore

Office Deployment Tool

背景 MS Office 是日常工作和生活的重要工具,离线部署激活当然必不可少。 微软越来越在线化Office业务,甚至从2016版本后不再提供官方ISO了。 为了实现局域的自由,当然不可随便整点盗版安装包来部署Office,本篇就介绍用官方的方式离线部署MS Office。 Office Deployment Tool 是微软官方推出的Office套件部署工具。 微软从Office2016后期开始推出C2R模式,不再维护离线文件替换式补丁,同时向企业系统管理员推广ODT工具用来部署Office。 用法 获取ODT 官网下载页面 下载的是一个exe可执行档,记得用管理员权限执行,会解压出 setup.exe 和样例配置文件。 准备配置文件 可以根据样例配置来修改自己的配置文件。 推荐在官方提供的配置创建页面 https://config.office.com 用视觉化的方式选择你需要的软体和语言。 由于配置中不是包含各组件,而是排除各组件,所以生成配置的时候关闭所有组件可以获得最好的模板效果。 这里以 Office LTSC 2021 为例。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 <Configuration> <Add OfficeClientEdition="64" Channel="PerpetualVL2021" Version="16.0.14332.20812"> <Product ID="ProPlus2021Volume" PIDKEY="FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH"> <Language ID="zh-cn" /> <ExcludeApp ID="Access" /> <ExcludeApp ID="Excel" /> <ExcludeApp ID="Lync" /> <ExcludeApp ID="OneDrive" /> <ExcludeApp ID="OneNote" /> <ExcludeApp ID="Outlook" /> <ExcludeApp ID="PowerPoint" /> <ExcludeApp ID="Publisher" /> <ExcludeApp ID="Word" /> </Product> <Product ID="VisioPro2021Volume" PIDKEY="KNH8D-FGHT4-T8RK3-CTDYJ-K2HT4"> <Language ID="zh-cn" /> <ExcludeApp ID="Access" /> <ExcludeApp ID="Excel" /> <ExcludeApp ID="Lync" /> <ExcludeApp ID="OneDrive" /> <ExcludeApp ID="OneNote" /> <ExcludeApp ID="Outlook" /> <ExcludeApp ID="PowerPoint" /> <ExcludeApp ID="Publisher" /> <ExcludeApp ID="Word" /> </Product> <Product ID="ProjectPro2021Volume" PIDKEY="FTNWT-C6WBT-8HMGF-K9PRX-QV9H8"> <Language ID="zh-cn" /> <ExcludeApp ID="Access" /> <ExcludeApp ID="Excel" /> <ExcludeApp ID="Lync" /> <ExcludeApp ID="OneDrive" /> <ExcludeApp ID="OneNote" /> <ExcludeApp ID="Outlook" /> <ExcludeApp ID="PowerPoint" /> <ExcludeApp ID="Publisher" /> <ExcludeApp ID="Word" /> </Product> </Add> <Property Name="SharedComputerLicensing" Value="0" /> <Property Name="FORCEAPPSHUTDOWN" Value="FALSE" /> <Property Name="DeviceBasedLicensing" Value="0" /> <Property Name="SCLCacheOverride" Value="0" /> <Property Name="AUTOACTIVATE" Value="1" /> <Updates Enabled="TRUE" /> <RemoveMSI /> </Configuration> 独立的Visio和Project会沿用主体的排除项,其实没有作用。 官方页面生成的配置文件开头有个ID,建议去掉以免追踪。 获取Office 新建一个用于存放office的资料夹并进入。 将XML配置文件(如config.xml)和ODT的setup.exe放在这个资料夹中。 打开命令提示字元(cmd or PowerShell),进去你的资料夹后,执行setup.exe /download config.xml。 命令提示字元中无提示,打开任务管理器可以看到流量,文件会下载到当前资料夹的Office\Data中。 PowerShell有时候会莫名卡住,所以下载中可以在命令提示字元里按按退格BackSpace等无影响的键。 (可选)制作ISO光碟映像档 你可以用一些脚本程式来自动化安装过程。 1 powershell Start-Process -Verb RunAs -FilePath setup.exe -ArgumentList """/configure config.xml""" 建议将ODT、下载的Office、安装配置文件和其他需要打包的放在同一个资料夹,然后用UltraISO等工具制作ISO光碟映像档。 部署Office 将ODT下载完成时的资料夹整体接入目标系统,主要保持 setup.exe, Office\Data, config.xml 在同一资料夹中。 进入命令提示字元到该资料夹,以管理员权限执行setup.exe /configure config.xml。 会显示安装进度和所包含组件,但这一过程不能中断或配置,只能看着。 等待完成就可以使用所安装的Office了。 评测 ODT工具是不断更新的,所以存档时的必要测试,以免收录bug版本。 样例配置文件和前一版是否有变化,增加或减少,内容修改。 setup.exe 是否支持了新版本的Office,比如LTSC2024之前的setup.exe无法下载。 setup.exe是否仍保留了对Office2021等老版本的支援。 setup.exe能否正常完成所需Office的安装。

2024/12/22
articleCard.readMore

加密货币

背景 一提到加密货币与挖矿,很多中国读者有着很深的误解与偏见,这实际上与中国政府及其控制的媒体、自媒体的宣传导向有关。 非常感谢自由之心社区的科普文章 定义 加密货币是一种使用密码学原理来确保交易安全及控制交易单位创造的交易介质。这种维基百科式的描述较难懂。我们尝试用更简单的语言进行描述。加密货币的鼻祖是比特币(BTC),其始发与 2009 年。在比特币的创世区块中,嵌入了一句话The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.。这对传统金融行业进行了讽刺,同时表明了创始人中本聪的立场。符合比特币理念的加密货币一般都有如下特点: 去中心化,货币的分布和决策不由中心化的组织,如政府,银行等任何集权形式的组织决定。参与挖矿,就能得到属于自己的一份收益。 在正确使用的前提下,一般都能很大程度的保护使用者的个人隐私。 货币本身真正由其拥有者所持有,真正实现了私有财产不可侵犯。货币的拥有者持有私钥,其他没有私钥的人无法扣押、冻结、没收其加密货币资产。 离线意义 金融之于社会,犹如血管之于人体。 金融和货币的最大特点就是流动和在线,经济情况也可以看作金融货币流通速度。 我们的大额金融资产都被掌控在中心化的银行手中,有效率上的好处,但也失去了对财产和储蓄的掌控。 银行可以冻结我们的金融财产,还可以滥发货币稀释大家的储蓄。 以比特币为代表的加密货币,给我们一种新的方式掌控自己的金融资产。 加密货币通常被设计为总量有限或增速有限,也就不会通货膨胀。 加密货币通过公钥和私钥将金融账户的"读写"权限分开,私钥能操作和支付,而公钥能查阅和收款。 只要销毁自己的私钥,任何人或组织都无法再夺走私钥保护的财产。 这也导致如果有钱人销毁私钥或死亡前没传承私钥,那么通货紧缩就难以避免。 这里佩服中本聪的伟大设计,比特币随着开采量增加而开采速度下降,既抑制了快速通胀,又避免了终极通缩。 加密货币最大的离线意义在于其基于区块链的分布式账本,用户可以完整的获取整个账本,不仅保存自己的财产,还能离线掌握整个系统的交易历史,离线作做各种有趣的事情。 同样加密货币的离线保存和携带,也因密码学而可靠和便捷。 区别于"数字货币" 有个概念数字货币和加密货币很像,尤其中国人民银行大肆鼓吹所谓"央行数字货币优于比特币等数字货币"。 当然这些概念确实还有争议,但中国的央行数字货币完全就是蹭热度的玩意儿。 数字货币通常局限于采用区块链等密码学技术的银行发行控制的货币,相比于比特币代表的正经加密货币,缺少了区中心化的关键特性,从而损害了用户的掌控能力。 中国的所谓"数字人民币",博主认为连数字货币也算不上,充气量就是个用电脑记账的电子货币。 尤其是数字人民币背道而驰,设计初衷就是为了奴役社会经济。 使用 基本概念 密语即助记词,约等于私钥,可以互相转化。 密语通过一定方式由私钥编码,一条密语通常由十几个单词组成,可对应多个私钥。 公钥和私钥是成对生成的,地址是公钥的散列。 地址不能反推出公钥。 收款只需要地址,付款才需要公开公钥,一个钱包只要消费一次公钥就公开 存储 如果要使用加密货币,首先要拥有一个钱包来存钱。 钱包是存储私钥的介质,分为热钱包(软件)和冷钱包(硬件)。 各个加密货币的节点软件就是全量热钱包,不仅能生成并记录自己的私钥,还保存账本,能参与挖矿。 为了方便一般使用可以采用只记录私钥,查看账目的软件,比如目前来说使用最广泛的浏览器钱包是Metamask。 冷钱包是类似USBkey的硬件,通常可以用U盘写入相应工具软件自行制作。 私钥本质上是很长很长的随机数,所以钱包使用必然是无需手机号或邮箱注册的。 甚至生成账户也是无需联网的。 获取 可以通过购买、交易、挖矿的方式获取加密货币。 购买即通过类似币安这样的平台用人民币等传统货币来购买加密货币。 这一过程会将自己的实名金融账户和加密货币账户关联起来,对于中国用户更是高风险。 交易是用已有的加密货币或商品通过市场兑换其他人手中的加密货币。 暗网中的黑市中加密货币流通规模日益增长,各类加密货币兑换平台也层出不穷,比如changenow。 挖矿是参与加密货币交易的确认过程,从机制中获得相应的回馈。 加密货币因为离线的特性,可以同时将一笔钱付给多人,只有优先算出结果的分支交易会被确认。 为了鼓励用户提供算力完成交易,参与交易确认(挖矿)的用户会获取一些手续费,而且越是小额的交易费率越高。 消费 加密货币目前主要适合购买数字产品,比如支持加密货币购买的VPS。 GOG等游戏平台也支持一些主流加密货币付款。 当然,还可以将加密货币换回自己的法币,实现类似炒股的效果。 典型加密货币 最后介绍三种各具特色的加密货币。 BTC Bitcoin https://bitcoin.org 比特币,加密货币的始祖,世界上首个加密货币,也是目前总市值最大的加密货币。 ETH Ethereum https://ethereum.org 以太坊,基于加密货币的平台,极大的扩展了加密货币的功能和社区。 各种智能合约、分布式游戏、数字藏品就来自于以太坊的开创性贡献。 XMR monero https://www.getmonero.org 门罗币,主打隐私的货币,通过环等技术混淆转账过程,让监控者难以在公开的账本上追踪账户。 同时,读取账户金额的过程也需要更大流量,有损便利性。 如果你需要匿名购买加密货币的渠道,可以考虑使用localmonero提供的购买门罗币的服务。在购买后门罗币地址间的互转是匿名的,对外部不可见的。 当然也不绝对,追求匿名的用户还是应该尽量避免金融操作。

2023/12/18
articleCard.readMore

GOG 游戏库

简介 想要离线自由怎么能少了娱乐呢? 固然可以收集各种盗版单击游戏,但现在有了正版的提供完全可离线的游戏的平台,在享受离线自由的同时还能用自己的购买为游戏投票和赞助,这就是本文要推荐的GOG。 GOG.com是一家提供电子游戏等数位商品发行平台,它由GOG公司运营,母公司为CD Projekt(波兰蠢驴),总部位于波兰华沙。GOG.com通过无数字版权管理(DRM-free)的方式提供适用于Windows、OS X和Linux平台的电子游戏。在早期,GOG只發行年代較久的遊戲,自2012年3月,它开始售卖较为新款的游戏。 2017年6月22日,GOG.com加入了简体中文支持以及人民币结算,包括支付宝、银联、微信支付等方式。 DRM-free意味着从GOG.com购买的电子游戏可以直接获得离线安装包,没有任何安装次数或设备的限制。当然正规平台也没有版权风险或被捆绑恶意软体的风险。也便于充分实现单机游戏的匿名游玩,你完全可以注册账号购买游戏,用钱行使赞助的权利,然后从任意渠道获得的安装包进行游戏。 离线用法 从GOG.com的网页就可以直接下载游戏安装包,购买游戏后在库里选择下载,避开醒目提示的Galaxy客户端提示,选择下载离线安装文件即可。 也可以通过BT等手段从其他地方获取安装文件,Windows版本的可以通过数字签名来确认是否来自官网。 GOG官方还特别良心的提供了安装前校验功能,并将安装包拆分为安装器和多个数据文件。如果官网速度不佳,可以只下载安装器然后校验其他方式得到的数据文件并安装即可。 这里的安装包都是无需联网验证和激活的,即免DRM。 只要在任意满足基本要求的电脑上运行安装包即可游玩儿。 当然离线游玩是没有成就之类的在线功能的。 通常离线安装包会携带必要的依赖库,但自己储备一些常用的以来库对于离线娱乐等也是很必要的,考虑有空另写一篇博文将将离线库文件的收集整理。 游戏推荐 自家作品 创建GOG的公司CDProjekt自身就出品很多高质量游戏,最近对简体中文支持越来越好,即使不玩游戏也建议去视频网站上体验一下普通话配音效果。 巫师系列 The Witcher: Enhanced Edition The Witcher 2: Assassins of Kings Enhanced Edition The Witcher 3: Wild Hunt - Complete Edition 赛博朋克系列 Cyberpunk 2077: Ultimate Edition 经典上架 也有很多经典游戏在GOG上架。 上古卷轴系列 The Elder Scrolls IV: Oblivion - Game of the Year Edition Deluxe The Elder Scrolls V: Skyrim Anniversary Edition 骑马与砍杀 Mount & Blade: Warband 博德之门系列 Baldur’s Gate 3 值得期待 也有很多游戏被大众期待,GOG上有个愿望汇总列表。暗黑破坏神、侠盗猎车手、全面战争等都在榜上。 吐槽一句,玩儿了赛博朋克,博主已经决定侠盗猎车手不上架GOG绝不买。

2023/12/9
articleCard.readMore

kiwix

离线知识库工具 kiwix是一个离线查看维基百科的自由软件,采用zim格式压缩维基百科数据以供离线使用。 当然,任何网页文档如果压缩成zim格式都可以用kiwix查看,社区也制作了各种软件、服务等的文档。 可以说kiwix是实现自由的离线生活的重要基础设施。 关键kiwix还集成实现了全文检索功能。 kiwix支持Windows、MacOS/iOS、GNU/Linux、Android等,可以说是完全跨平台软件,也有很好的国际化多语言支持。 软件很小巧值得收藏。 kiwix还有Firefox插件版本可以体验。 博主测试浏览器插件使用效果目前还不太稳定。 离线知识库 资源网址 https://library.kiwix.org 列出了官方背书的知识库,可以筛选查找。 https://download.kiwix.org/zim/ 这里可以下载官方的资源。 各种版本 维基百科是分语言的,可以选择只下载自己常用的语言和英语版本。 每种语言有完全版本(all)和精选版本(top)。 网站还区分了最大版(maxi)、无图片版本(nopic)和精简版(mini)。 比如 https://download.kiwix.org/zim/wikipedia/wikipedia_zh_all_nopic_2023-10.zim 就是维基百科-中文-完全-无图片版本。 其他各种资源基本都有语言的区分,但通常没有维基的那么大,也就不分有无图片了。 目前官网已经收录了超过1000种百科文档,比如各种Linux发行版的wiki、mooc、问答社区等。 下载方式 直接下载,从网页直接点击下载。 BT下载,在zim下载连接后面加上.torrent即可下载种子文件,然后用喜欢的BT工具下载即可。 镜像下载,很多镜像站会镜像整个数据网站也可以去那里下载。 zim文件不必及时更新,反正就是离线查看。但每次更新一定要检查打开后图片展示、连接跳转等是否正常。如果发现新版本zim体积减小也要留意,毕竟知识库这种东西一般应该是单调递增的,减小了不免怀疑是否有删减。 kiwix的意义 kiwix可以让我们不依赖网络而高效的查阅知识,实现离线的自由。 既然离线使用,当然避免了各种广告、追踪等,是ungoogle的隐私主义者的利器。 离线资源的传播可以让真理走向世界的每一个角落,启蒙缺乏互联网的难民儿童,当然还有天朝的愚民。

2023/12/3
articleCard.readMore

LaTeX 环境搭建

LaTeX介绍 LaTeX(LATEX,音译“拉泰赫”)是一种基于ΤeΧ的排版系统。区别于MSOfficeWord这类的所见即所得形式的编辑,LaTeX是一种代码式的排版工具,善于用命令精确规范文档的格式。 可以把LaTeX和TeX的关系比作STL和C++的关系。这里配置的环境当然也是包括TEX的。 LaTeX的写作环境就像编程,分为编译引擎和编辑工具。 编译引擎现在通常选择TexLive发行版。 编辑工具可以使用任意文本编辑器,如notepad,vim,emacs,gedit,vscode等。 有一些专门用于LaTeX的编辑软件,按alternativeto的排序如LyX,TexMaker,TeXstudio,MiKTeX,Kile,Gummi,TeXworks,Latexila等。 安装LaTeX(TexLive) 下载 LaTeX官网 并不直接提供下载,而是像Linux一样选择发行版。 这里推荐最跨平台的TexLive版本,网页很朴素可以看到如下获取选项: Ways to acquire TeX Live: download, on DVD, an ISO image or via torrent, other methods. 完全安装大约有7G,联网安装很慢容易断,所以不要直接点download,而是选择an ISO image or via torrent。 接下来随便怎么下载,下好后用页面上提供的sha256或其他checksum检验一下就好。 如此伟大的软件当然应该把其签名公钥纳入自己的GPG。这里就不详谈密码学和公钥信任体系了。 下载好ISO文件并用sha256检验完整后,用虚拟光驱打开光盘。现在Ubuntu和Win10等系统应该都是自带虚拟光驱功能的。 安装 进入光盘根目录。 Linux/MacOS上执行install-tl,Windows执行install-tl-windows.bat。 Linux如果安装了perl-tk包的话可以加上-gui参数开启图形界面,不过字符界面安装已经足够好用了。 Installing TeX Live 2023 from: ... Platform: x86_64-linux => ’GNU/Linux on x86_64’ Distribution: inst (compressed) Directory for temporary files: /tmp ... Detected platform: GNU/Linux on Intel x86_64 <B> binary platforms: 1 out of 16 <S> set installation scheme: scheme-full <C> customizing installation collections 40 collections out of 41, disk space required: 7620 MB (free: 138718 MB) <D> directories: TEXDIR (the main TeX directory): /usr/local/texlive/2023 ... <O> options: [ ] use letter size instead of A4 by default ... <V> set up for portable installation Actions: <I> start installation to hard disk <P> save installation profile to ’texlive.profile’ and exit <H> help <Q> quit 看说明可选择V进行可移动安装,这个看个人习惯,后续步骤一样。 大写字母D设置安装路径。 然后再输入大写字母I就可以安装到磁盘。 注意P选项,暂存配置但下次打开运行安装程序并不会自动读取,最好一气呵成,反正也没几个设置的。 这一套装完几乎会用到的宏包(依赖)就都齐全了,而且包括CTEX中文套件。 注意 安装结束的时候会有提示将路径加入环境变量$PATH。 Linux也可以考虑从发行版仓库里安装texlive-full。 建议不要精简安装,中文涉及的依赖很复杂。 编辑器VSCode 选择理由 轻量,占用资源少。 用户多,文档和资料多,便于调试。 免费,微软开源软件,官方有移动版,还有更自由的替代品VSCodium。 有很好的插件latex-workshop,便于对中文特殊情况做灵活的配置,而且在VSCodium也默认可用。 安装 VSCode或VSCodium 官网下载 推荐非管理员权限的安装方式。 官方Linuxdesktop文件 latex插件 点开左侧的EXTENSION按钮 搜索latex,选择latex-workshop安装。 fonts字体 通常作品的编译需要adobe字体,Linux下可能需要Windows字体 Linux下建议用字体管理器安装到用户目录 Linux下可能出现字体文件名大小写的问题 adobe的opentype字体可以考虑复制到C:\texlive\2023\texmf-dist\fonts\opentype\adobe 配置 vscode File->Preferences->Settings 搜索tele,禁用远程遥测 搜索auto,禁用自动更新 latex-workshop 左侧插件菜单点击设置,搜索recipes,或在全局设置搜索latex-workshop.latex.recipes 点击Edit in settings.json 设置包含recipes和tools两部分,如果没看见tools再搜索结果里找一下点击。 recipes对应左侧扩展操作面板里的BUILD方法 recipes里每一项的内容为依次调用tools里的定义 name 面板中显示的名称 tools 依次调用的项目(tools定义)数组 如 1 2 3 4 5 6 7 8 9 "tools": [ "xelatex", "bibtex", "bibtex-jrnl.aux", "bibtex-conf.aux", "bibtex-patent.aux", "makeindex", "xelatex", ] tools name 项目名称 command 命令名称,即一个tools项目是一条命令行,这里填命令名 args 参数数组,命令行中的空格都改成逗号分隔 部分编译组件的用途 xelatex 编译包含中文的正文 bibtex 编译参考文献 makeindex 生成图表索引及目录 后记 装好编译引擎(TexLive)和编辑工具(VSCode)后就可以尝试LaTeX写作了,也许教程学习曲线比较陡峭,但相信各位读者尤其是程序员读者会逐渐感受到这一工具的魅力。 记笔记写博客常用的markdown 可以看作LaTeX的简化版,其中包括嵌入LaTeX数学公式,可见其表达能力是非常强的。 LaTeX有各种各样的宏包,有机会再写博文深入介绍各类宏包资源与使用。

2023/11/28
articleCard.readMore

中国身份证校验

号码组合含义 目前中国使用的18位身份证号由6位地址码+8位生日+3位顺序码+1位校验码组成。 地址码指的是公民出生地所在县(市、镇、区)的行政区划代码,如310110是上海市杨浦区。但港澳臺地區居民的身份號碼只精確到省級。 出生日期码表示公民出生的公历年(4位)、月(2位)、日(2位)。 顺序码是给同地址码同出生日期码的人编定的顺序号,其中奇数分配给男性,偶数分配给女性。 最后一位是校验码,这里采用的是ISO 7064:1983, MOD 11-2校验码系统。校验码为一位数,但如果最后采用校验码系统计算的校验码是“10”,碍于身份证号码为18位的规定,则以“X”代替校验码“10”。 校验码计算方法 将身份证号码从左至右标记为 a1, a2, ⋯, a18,a_{18}即为校验码; 计算权重系数 $W_i = 2^{18 − i} \mod 11$ i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 W 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1 计算 $S = \sum\limits_{i=1}^{17} a_i * W_i$ $a_{18} = (12 - (S \mod 11)) \mod 11$ 1 2 3 4 5 6 7 8 def check_china_id(id_num:str) -> bool: assert len(id_num) == 18 S = 0 for i in range(17): S += int(id_num[i]) * 2 ** (17 - i) % 11 checksum = (12 - (S % 11)) % 11 checkchar = str(checksum) if checksum < 10 else 'X' return checkchar == id_num[17] 一些奇怪的用处 首先当然是基本查验接触到的中国身份证号是否正确。 中国网络实行普遍的实名制,尤其电子游戏需要绑定身份信息,而游戏公司是不能也不应该实时接入公安数据库的,那么就可以按照这一规则生成一个假的身份证通过验证。 金融领域也可以这样申请一些账户,但由于金融行业和公安数据对接更紧密,会定期对比身份信息,随机生成的身份证号很快会露出破绽。

2023/11/24
articleCard.readMore

GPT4ALL

简介 GPT4All是一个本地软件,用于将大语言模型(LargeLanguageModel)通过浮点优化等方法在本地离线提供服务。 在ChatGPT大火之后,很多厂商模仿推出了开源或专有的大语言对话模型,但这些模型要么以web服务方式提供要么过于需要计算资源而难以本地使用。 随着facebook的llama的泄漏,一个不错的离线替代品出现,同时llama.cpp项目通过浮点计算优化让笔记本也能勉强运行起大模型来。 GPT4All项目将相关技术和资源整合制作了QT桌面软件,让用户能方便的本地离线运行公开的大语言模型,当然它也提供OpenAI的接口以同时使用线上服务。 安装 官网会提供Windows、MacOS、Linux的安装包,但每次安装还是会联网检索信息,无法离线安装,只要官网能访问就可以简单的“下一步”安装完成。 也可以从源代码编译。 下载模型 官方会预配置一些模型可供直接使用,由于网络的封锁这一步可以离线进行。 模型列表来自官网,下载时会跳转到一个github地址 https://gpt4all.io/models/models.json 可以手动下载后放到 ~/AppData/Roaming/nomic.ai/models.json 之后点击界面左侧的 Download 按钮就可以看到可选模型列表了。 由于huggingface被彻底封锁,只能手动科学下载。 在官网首页下来可以看到模型介绍,选择想下载的模型,点击下方卡片的箭头按钮就可以下载。 下载后放到~/AppData/Local/nomic.ai/GPT4ALL/里就能被软件自动识别到。 对话 从上方的菜单选择已经下载好被识别的模型,即可像ChatGPT一样对话。 这些模型通常要求16G的内存即可。 对话效果差强人意,而且基本只支持英文输出。

2023/11/21
articleCard.readMore

火狐浏览器离线使用扩展推荐

火狐(Firefox)是著名的浏览器,也是现今最重要最符合自由精神的浏览器。 浏览器通常是用来浏览上网的,但也具备越来越多的离线功能。 这里推荐一些可以完全离线使用的火狐浏览器扩展,以在离线环境中使用火狐。 本文会优先选择Mozilla官方推荐的扩展。 这篇博文算是首篇非常符合本博客名号的文章了。 建议在Firefox中新建一个Profile体验这些扩展。 EPUBReader https://addons.mozilla.org/en-US/firefox/addon/epubreader/ 非常不错的EPUB电子书格式阅读器。 不用担心服务商统计自己看了哪些书。 Offline QR code https://addons.mozilla.org/en-US/firefox/addon/offline-qr-code-generator 输入文本生成二维码,简单易用。 离线环境下避免二维码相关信息泄漏。 Emoji https://addons.mozilla.org/en-US/firefox/addon/emoji-sav 提供大量表情。 离线编写带表情的文章时可以通过Emoji快捷查找输入表情符号。 Kiwix https://addons.mozilla.org/en-US/firefox/addon/kiwix-offline Kiwix提供的用以阅读zim文件的插件。 经测试目前不如桌面版kiwix好用,但可以省去安装软件。 Joplin Web Clipper https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper Joplin提供的网页剪辑插件,用来将网页转换为适合Joplin的markdown格式笔记。 可以用于将SingleFile或各种方式缓存的离线网页转换成Joplin笔记。

2023/11/18
articleCard.readMore

RAR 妙用

简介 RAR是最知名、使用最为广泛的压缩软件之一。 官网是 https://www.rarlab.com 获取旧版本 虽然官网只有最新release和beta版本的下载连接,但官方也提供了FTP可以下载以前的版本。 ftp://ftp.rarlab.com/rar 鉴于当前主流浏览器不再支持ftp可能需要filezilla等软件来获取旧版本安装包。 6.10开始不再支持XP,XPsp3只能使用32位版本。 比较特殊的是5.91版本,这是5系列最后一版本,同时也是Win7SP1可以直接识别数字签名的版本,非常时候收藏以离线安装使用。 但是当年RAR的数字签名除了问题,ftp上提供的是重新签名后的版本,并不能被Win7SP1识别。 作者在这里放上当年从官网下载的winrar-x64-591.exe的SHA256值1c30d74f20ea721d63061d2a06ac00a9270fc7823004ff4f572d354990d4c1ae。 激活 RAR是专有收费软件,尽管很多人都没有意识到。 RAR作者也非常良心,只要忍受每次开起的广告就可以一直试用。 购买正版对于很多国家可能并不简单,不过激活还是很容易做到的。 在RAR安装目录C:\Program Files\WinRAR下新建rarreg.key,输入纯文本注册信息即可激活。 注册信息就麻烦读者自行检索吧。 防乱码 使用最广泛的开源的ZIP格式,没有在压缩包中包含字符编码的说明。 对于中文用户,从WinXP或Win7打包的文件可能在MacOS或Linux上文件名目录乱码。 而RAR格式是包含字符编码信息的,便于在其他语言或默认字符编码的系统中正确识别文件名和目录的字符编码。

2023/11/15
articleCard.readMore

Windows 驱动备份

前言 如果想重装系统后离线使用,除了系统安装盘,通常还需要准备驱动。 计算机制造商通常会提供驱动,但这可能不全面或已经过时。 导出当前正常运行状态的驱动,并在重装系统后再次导入,能期望获得最完美的硬件连续使用体验。 就像制造商网站提供的驱动区分系统版本,这一方法在前后系统大版本不一致时很可能出现兼容性问题。 导出当前驱动 有很多工具软件可以实现这一功能。 既然Windows系统自带了这一功能,从信任链和攻击面的角度当然尽可能使用自带功能。 用管理员权限运行cmd或powershell,执行下列命令即可导出当前系统的驱动。 1 dism /online /export-driver /destination:E:\MyDrivers 其中E:\MyDrivers是你想导出的位置目录。 导出的文件原位置在C:\Windows\System32\DriverStore\FileRepository,也可以尝试手动复制。 [Optional]去掉旧版本驱动 如果驱动在计算机使用过程中更新了,那么所有使用过的驱动版本都会被保留一并导出。 为了节省存储空间,可以考虑删掉旧版本的驱动。 进入导出驱动的目录,每个驱动会存放在一个名为[驱动名].inf_amd64_[编译号]的文件夹。 驱动名相同,编译号不同的文件夹即是同一驱动的不同版本。 编译号字典序并不表示先后关系,需要进入文件夹对比[驱动名].inf文件中的日期和版本号。 也可以借助驱动管理软件来快捷分析,如Sanppy Driver Installer Origin。 博主编写了一个自动化python脚本来抽取所有驱动的最新版本复制到一个新的文件夹,并提示异常如版本号和日期顺序不一致等。 在新系统中重新安装驱动 有些驱动如果被系统安装过程依赖,要提前并入安装介质,如硬盘驱动! 安装好新系统后将导出驱动的文件夹拷贝,依次进入每个文件夹[驱动名].inf_amd64_[编译号],右键[驱动名].inf选择安装即可安装每个驱动,恢复之前的硬件驱动状态。 也可以在设备管理器中针对每个未知设备搜索驱动,选择从本地存放导出驱动的文件夹搜索即可。 这样可以省略一些不那么关键的驱动,同时很多优化更新类的驱动容易被忽略,因为这类设备不会被标记为未知设备。 [Optional]备份存储优化 这样导出的驱动是不压缩的,手动压缩可能比例也不高。 其中占用空间较大的通常是显卡驱动,可以考虑显卡驱动采用Intel或Nvidia等厂商的官方安装包,可节省存储空间。 而且显卡驱动的厂商安装包通常支持多个大版本的系统,可以在不同驱动备份中复用。

2023/11/14
articleCard.readMore

Windows 11 使用技巧

跳过联网 Windows从11版本开始,强化在线功能。 家庭版安装时强制建立在线微软账户,专业版才有Win10那样隐蔽离线帐号功能。 家庭版安装时的强制联网目前可以用bug跳过,进入离线账户的步骤。 在要求联网的界面,按Shift+F10打开命令行。 执行 taskmgr 开启任务管理器。 在详细信息中结束进程 OOBENetworkConnectionFlow.exe。 22h2进一步限制,专业版也要求联网,上面方法失效。 可以在要求联网的界面按Shift+F10打开命令行,执行oobe\bypassnro,重启后可跳过。 虚拟机安装 Win11由于对TPM的要求导致虚拟机安装出现困难,在等待虚拟机软件厂商支持的过程中有一些技巧可以实现虚拟机安装。 VMware 从16.2版本开始官方加入了TPM支持,可以直接安装。 但是TPM支持需要配置加密比较麻烦可以通过如下方法免配置加密开启TPM支持。 .vmx中加入managedvm.autoAddVTPM="software" Virtualbox 从7.0版本开始Virtualbox继承了TPM组件,可直接安装。 Win11 硬件限制跳过 此方法在Win11v1测试可用,更新后不可用。 跳过密钥后按Shift+F10打开终端。 输入regedit进入注册表编辑器。 在HKEY_LOCAL_MACHINE\SYSTEM\Setup新建项LabConfig。 在LabConfig中新建三个DWORD(32-bit)值。 BypassTPMCheck = 1 BypassRAMCheck = 1 BypassSecureBootCheck = 1 退回到安装界面即可继续。 移动硬盘插上没反应 Win11似乎有不自动分配盘符的bug,需要在设备管理器-磁盘管理中手动分配盘符。 随机Mac地址 可以在连上的Wifi中设置随机mac地址每日更换。 该功能需要网卡驱动配合支持。

2023/11/12
articleCard.readMore

Hello World

Hello World 一直想分享自己在信息技术和隐私方面折腾的经验。 隐私向的创作分享,当然应当有比较可靠而持久的匿名方式。 终于发现github上的静态博客是一个比较均衡的方式, 支持匿名,平台稳定,无费用,用户多,聚集了目标读者。 经历了一系列大大小小的变故,不知道意外和明天哪一个先到来,终于在双十一开启了博客。 希望这个博客能让读者有所收获。 写作目的 传播数字权利意识,普及隐私保护技术,塑造匿名生活方式。 内容规划 初步考虑以技术笔记分享为主: 折腾各种自由软件和开源软件的一些技巧 数字工具栈的参考配置流程 匿名化生活的方式方法 收集的一些有趣的资源 发展趋势、管理、社区建设、八卦等

2023/11/11
articleCard.readMore

Archives

2022/3/6
articleCard.readMore

Links

2001/1/1
articleCard.readMore

Search

2001/1/1
articleCard.readMore