Total Pageviews

Showing posts with label windows. Show all posts
Showing posts with label windows. Show all posts

Sunday, 6 September 2026

如何把windows程序添加到PATH

 

通过图形界面添加.
  1. 打开设置:按下键盘上的 Win + R 键,输入 sysdm.cpl,然后按回车键打开系统属性
  2. 进入环境变量:点击上方的“高级”选项卡,然后点击右下角的“环境变量”按钮
  3. 编辑 Path:在下方的“系统变量”或上方的“用户变量”中,找到名为 Path 的变量,选中它并点击“编辑”
  4. 添加路径:
    • 点击“新建”,然后粘贴你程序所在的文件夹完整路径(注意:是程序所在的目录,而不是程序 .exe 文件本身)。
    • 点击“确定”

Tuesday, 1 September 2026

5 个非常实用的 Windows CMD 命令


🔹 systeminfo —— 快速查看系统和电脑基本信息 

🔹 winver —— 查看 Windows 版本和系统内部版本号 

🔹 tasklist —— 查看当前正在运行的进程 

🔹 whoami —— 查看当前账户和权限信息 

🔹 getmac —— 查看网络适配器MAC的地址 。

这些命令全部都是 Windows 自带功能,不需要额外安装第三方软件。 如果你平时经常使用 Windows,或者喜欢自己排查电脑问题,建议把这几个命令收藏起来。

Tuesday, 11 August 2026

再见格式工厂!小白零命令行完全掌握FFmpeg | 0广告 | 画质无损 | FFmpegFreeUI 保姆级教程

 

-----------------------

 

3FUI 是 ffmpeg 在 Windows 上的轻度专业交互外壳,收录大量参数,界面美观,交互友好。此项目面向国内使用环境,让普通人也能够轻松压制视频和转换格式。

 
 

FFmpegFreeUI v6 - 1st Anniversary!

FFmpegFreeUI(简称 3FUI)是在 Windows 上的 FFmpeg 的专业交互外壳。此,即为真理!这不是给纯小白的一键全自动软件,即便 6.0 已经大幅改善了普通人的体验,但 3FUI 仍旧面向懂基本参数的进阶编码人员,小白上手有门槛但上限无穷大,这不是一个普通的编码软件,而是一整套可扩展平台。

知乎终末诗的教程:https://zhuanlan.zhihu.com/p/1943079795341623993
v6 开发者官方宣传视频:https://www.bilibili.com/video/BV1rT7E6wEK4
来自 小in 的宣传视频:https://www.bilibili.com/video/BV1vZud6VEsn

  • 发布形式:所有数据存于当前目录的单文件
  • 系统要求:Windows 10 1609+ 仅限 x64 / arm64
  • 运行环境:.NET 10(不自带,需安装到系统,可由更新器自动下载安装)
  • 基底框架:WinForms
  • 交互呈现:LakeUI 自主维护的基于 DirectX 的渲染引擎
  • 硬件要求:渲染器需要支持 D3D11 的显卡
  • 收费情况:所有生产力功能免费 + 个性化功能收费

3FUI 是专为国内环境设计的,语言只有简体中文,不计划任何多语言功能,如有其他语言需求可自行开仓库维护所有字符串,并在 MIT 许可范围内行使所有权利。

LakeUI 控件集

3FUI 是 LakeUI 的招牌宣传作品,如果你也想在 WinForms 上制作这样的风格界面,欢迎试用 LakeUI,该产品像 .NET 原生控件一样简单易用,同时价格也非常亲民。也欢迎看看华丽的 LakeUI 官网

3FUI Agent 智能体

3FUI Agent 智能体现已可用!专属于 3FUI 的副驾驶!可接入任何兼容 OpenAI SDK 的端点来使用任何模型,其能力几乎相当于半个 Codex 或 CC,不仅可以控制整个参数面板和协助管理任务,还具备完整的联网能力、访问文件系统、读取文本文件和图片、使用 Windows PowerShell 终端。对话支持中途切换模型,数据完全存于本地,并与所有模型和端点共享。对话交互也同时具备主流 AI 软件的流式展现,支持基础 MarkDown 语法,同时占用极低,完全纯本地渲染,绝无半点 Web 套壳!

新图标征集活动

为了提高 3FUI 的辨识度,特此举办图标征集活动,即日起至二周年时刻,期限一年,最终结果由群内成员初审 + 开发者本人最终决定,最终被采纳者未采纳但优秀作品者 可直接获得 SP 支持者包和金钱奖励(不确定有多少,取决于我富裕程度),参与既表示同意此条款:创作者继续拥有作品的版权但无权撤回给 3FUI 的使用授权,图标还将被用于 3FUI 商业宣传用途以及其他所有人的非商业用途。

图标设计有以下两条赛道,虽然原则上只会采纳一个但如遇质量足够高会同时采纳:

  • 专业软件方向:像是 Adobe、各大 MC 启动器、WinUI 等风格
  • 二次元方向:像是各大二游的助手软件

设计要求如下:

  • 必须带透明通道,必须是正方形
  • 最终交付分辨率至少 64 像素边长的 PNG 或 SVG 矢量图
  • 在 Windows 100% 缩放的桌面图标尺寸下必须细节清晰

投稿方式:

  • 直接加主群发到群文件的【新图标征集】文件夹
  • 在B站发动态 @湖边的稻草

旧版交由社区维护

从 3FUI 6.0 开始,旧系统已不再兼容,且性能过低的电脑体验会很差,传统 GDI+ 路线的渲染版本现已交给所有开发者,可以自行开仓库继续维护 5.3 版本,该时期的源码可以直接去该标签处下载。但请注意,早期版本使用的 SunnyUI 也是付费授权的,如果不能购买该授权,必须撤掉所属 UI 组件或者撤掉 SP 功能。

如果你维护了旧版本可以直接提 PR 写在这里。

设计定位和特点

3FUI 与 HandBrakeShanaEncoder 同坐一桌,属于常规专业级压制转换软件,尽管被 终末诗 评价为比菠萝刹那更专业,但在我自己看来是同一桌。与菠萝刹那不同是,3FUI 只使用 ffmpeg 来执行任务,没有内置任何编解码器,需要用户手动放置 ffmpeg 或将其添加到环境变量中,这使得 3FUI 的性能始终保持在最新水平,同时也无需在参数上频繁更新。当 ffmpeg 更新的时候,你可以直接换上去使用,而不用等待任何事情。

  • 全自由转码,自由组合,任意自写参数
  • 专业调校的交互设计,主次分明,简洁高效
  • 完全无广告,所有生产力功能全部免费
  • 超高缩放支持,带手动微调校准
  • 底层逻辑基于预设,方便分享方案
  • 多数地方直接标出参数名,更易于上手和尝试新方案
  • 实时计算剩余时间、预估最终大小、可暂停任务
  • 专为批量处理而设计,无限制任务添加数量
  • 不会擅自向输出文件里写入软件信息
  • 不碰注册表、不乱扔垃圾、不会收集任何信息
  • 完整色彩管理选项
  • 为烧字幕提供大量选项
  • 为调用 AviSynth 和 VapourSynth 提供便捷
  • 附带简易混流和合并
  • 附带性能监控,戈门把任务管理器搬过来了?
  • 附带 ffprobe 和 ffplay 调用
  • 附带质量评测
  • 支持外部调用和远程调用
  • 支持插件

截图

  • 玻璃背景功能是 SP 特权,图中展示是内置图片
  • 浮动内容的毛玻璃向所有用户开放
  • 图中展示用字体是鸿蒙字体 + 矢量几何文字渲染模式

反馈渠道

  • 3FUI 没有针对酒吧的炒饭进行预防,非正常操作极易引发报错
  • 故意卡 bug 造成的任何损失均与我无关
  • 要反馈任何问题,请优先到Q群,已经在此文件的开头写了
  • 不要在 B站 汇报问题! 评论很容易被刷掉;私信也基本是让加群

不要算卦!

把错误信息发给技术人员!不要发给你的生活AI!说的就是豆包这样的!
ffmpeg 的输出并不是所有情况都有具体原因
尤其是说功能未支持、参数不正确的,这些情况没有命令行还是算卦
连 GPT 和 Claude 都不一定猜得准,更别提国内那些AI的训练数据了!

最好带上命令行,如果你不想让别人看到你的文件名,可以手动抹掉!
如果有条件,请提供输入文件的详细参数,很多播放器都可以查看!

请勿让 群友专业人士外行人士 进行包括但不限于这些行为:算卦、猜谜、托梦、占卜、人脑推理、强行传教、交流物理学、灵能飞升、虚空扰动、尝试进入量子隧道等等,如有以上行为或类似行为的,造成的全部后果由用户全责承担。

重要的事情再说三遍:不要算卦!尽快提供完整信息!
重要的事情再说三遍:不要算卦!尽快提供完整信息!
重要的事情再说三遍:不要算卦!尽快提供完整信息!

你说这种人是不是生活不能自理啊,他不是来求助的,是来求心理安慰的!

许可和引用

  • 3FUI 使用 MIT 开源许可,可以自由地使用和分发此软件
  • 仅在 GitHub 开源,在其他平台看到的源代码都不是本人!
引用程序集 许可证 作用
LakeUI MIT v6 界面主框架
WindowsAPICodePack 微软软件许可证 提供更舒适的文件夹选择对话框
LibreHardwareMonitorLib MPL-2.0 性能监控

是的,三方库就这么点,连 Json.NET 都没用,你就说够不够轻量吧

新手入门

如果是纯新手,对视频的技术参数没有任何了解,建议先学习以下内容

  • 极客湾 | 视频基础参数科普 | BV1nt411Q7S6
  • 极客湾 | 电影和游戏的帧数效果差别 | BV19x411L7fH
  • 影视飓风 | 视频的封装与编码 | BV1ws41157f8
  • 影视飓风 | 色深和色度采样 | BV1ds411T7F4
  • 影视飓风 | 帧率的旧事 | BV1hp4y1f7B5
  • 终末诗 | 适用于小白的视频压缩教学 | 知乎 此文章包含大量测试结果总结和设置教学
    新手把这篇文章看完能学会很多东西,继续往下看之前先把这个打开看!!
  • 终末诗 | 3FUI 入门教程 | 知乎

概念科普:封装格式和编码格式

这是大众的广泛误区。

既然你在用 3FUI,那就必须清楚这个最基本的概念,mp4 是封装格式,不是编码格式,没有 mp4 这种编码,x264 才是编码格式,mp4 只是外面的壳子,其内部可以塞 x264\x265\av1 等等主流编码。其余以此类推,而 mkv 所支持的编码最为广泛。

NVIDIA NVENC 规格

https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new

所以是的,3090 等于 3060,如果只是单任务,那 5090 也等于 5050。编解码核心只有代数和个数的差距,没有所谓的规模差距,老黄不至于抠成这样,所以如果你要买一张N卡只做编解码,那么直接买当代最低型号即可,例如50系买 RTX 5050 即可,而 ffmpeg 也没法在一个任务中正确调用多个编解码核心。另外老黄对游戏卡的同时调用数量做了限制,一般是8个,也就是差不多能同时启动 8 个调用N卡进行编码的 ffmpeg,但专业卡是没有这个限制的,这方面倒是专业卡高人一等。

要不还得是老黄上心呢,你看看另外两家的表格多寒颤。

INTEL QSV 规格

https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video

AMD AMF 规格

启动参数

3FUI 具有和 FFmpeg 一样的参数调用方式,你可以随便找个终端来使用或者在外部程序中启动时传递,也可以用快捷方式做个测试;这些功能在原理上是走的插件功能。(需要5.0及以上版本)

参数 作用 在情况下使用
-i [string] 输入媒体文件 首次或已启动软件
-3fui_file [string] 输入预设文件 首次或已启动软件
-ffmpeg [string]... 把后面的参数全部喂给 ffmpeg 首次或已启动软件
-test 测试用,会弹出“哔哔” 首次或已启动软件
fullscreen 全屏无边框模式 未启动软件
  • -i 和 -3fui_file 必须一起用,表示使用指定预设文件对指定媒体文件进行任务,预设文件可以直接指定在 Preset 文件夹也就是方案管理中的预设名称。
  • -ffmpeg 是纯命令模式,后面的所有内容全都会给 ffmpeg。可传入参数列表,也可传入以 ffmpeg、ffmpeg.exe 或其完整路径开头的完整 FFmpeg 命令行;程序会自动忽略其中的可执行文件部分。
  • 另外还有用于传递剪辑区间参数的 -3fuiVideoHelperInPointTime 和 -3fuiVideoHelperOutPointTime

远程调用

在设置中打开远程调用即可监听指定的端口,收到消息就会开始任务,消息数据内容与启动参数是一样的,这就意味着 3FUI 可以部署在一个巨大的局域网中,只要 3FUI 能够访问文件,那么你可以从这个局域网的任意电脑通过其他程序发任务给编码机上的 3FUI,只要有权限访问,远程访问也是理所当然的。

注意发起程序需要用 UDP 协议发送,默认端口 10591。

(需要5.0及以上版本)

插件开发

通过插件,你可以给 3FUI 添加各种功能来满足自己的需求,只需要像我那样把可视化摆上来然后生成对应的参数即可,还可以选择接入我的编码队列,而不用自己做进度显示。

考虑到 ReadyToRun 生成的 exe 无法被添加引用,插件使用 反射 + 特性 + 动态调用 来实现,你在开发插件的时候不需要引用 3FUI,只需要按照我制定的接口标准写代码即可。目前总共只有 4 个接口功能,非常简单,通常情况下你只需要用其中 2 个,所以不要担心要硬啃代码。

首先你需要有与我开发 3FUI 相同的集成开发环境:

  1. 下载并安装 Visual Studio Community 2026
  2. 工作负载勾选:.NET 桌面开发
    • 可选组件看自己需求,可以能不要就都不要的
    • 但是我仍旧推荐这些组件:IntelliCode、.NET 可移植库目标包、.NET 分析工具
    • 按理说会强制安装 .NET 10 SDK,记得检查
  3. 完成 VS2026 的安装

然后就可以开始开发了,从新建工程开始:

  1. 使用 VB 或 C# 创建一个 Windows 窗体应用 项目

    • 如果你更擅长 WPF,也可以选择那个
    • 但我不会 WPF,后面的代码如果不是这么写的那你得自己想办法
    • 目标框架必须和 3FUI 一样,选 .NET 10
    • 我知道你会疑惑为什么开发插件要选窗体应用而不是类库,其实这是 VS 的限制,要做界面你必须选这个,否则就没有可视化什么事了
  2. 创建项目后把默认窗体 Form1 关掉,我们不需要它

    • 但是也不要删掉,否则你就没法生成了
    • 或者你可以用它来做测试,不然你没法调试自己的设计
    • 事实上我们并不需要“启动”这个项目
  3. 新建一个 Entry 类

  4. 在这个 Entry 类中写一个 Entry 方法,需要是共享\静态的

    • VB 语言如下:

      Public Shared Sub Entry()
      	'初始化的代码都写这里,在 3FUI 启动后执行
      End Sub
    • C# 语言如下:

      public static void Entry()
      {
      	// 初始化的代码都写这里,在 3FUI 启动后执行
      }

现在,你就完成了插件初始化的方法,确认一下:是名为 Entry 的 Class 里有名为 Entry 的方法。接下来就是接口来实现关键的功能,直接把下面的代码复制过去自己改就行了。

添加自定义 WinForm 界面

要向 3FUI 的插件扩展选项卡添加自己的界面,必须创建你自己的用户控件,将你的功能全部集成到这个控件里,然后将下列代码复制到你的 Entry 类中:

VB 语言:

Public Shared Property HostCall_AddCustomWinformPanel As Action(Of String, Control)
Public Shared Sub SetHost_AddCustomWinformPanel(action As Object)
	HostCall_AddCustomWinformPanel = CType(action, Action(Of String, Control))
End Sub

'调用
HostCall_AddCustomWinformPanel.Invoke("在下拉框中显示的名称", New 自定义控件)

C# 语言:

public static Action<string, Control> HostCall_AddCustomWinformPanel { get; set; }
public static void SetHost_AddCustomWinformPanel(object action)
{
	HostCall_AddCustomWinformPanel = (Action<string, Control>)action;
}

//调用
HostCall_AddCustomWinformPanel?.Invoke("在下拉框中显示的名称", new 自定义控件());
  • 不可以更改 HostCall 定义和 SetHost 方法,否则 3FUI 无法正确调用
  • 添加自定义界面的方法必须在 Entry 方法中调用,因为我不会在其他地方刷新那个下拉框
  • 以上内容后文不再赘述

通常情况下直接在这个过程中把界面 New 出来即可,如果你有更高级的需求,当然也可以在其他地方 New,只是千万记得添加到 3FUI 中必须在 Entry 方法里执行。

添加自定义 WPF 界面

如果你更擅长 WPF,则使用另一个接口。

VB 语言:

Public Shared Property HostCall_AddCustomWpfPanel As Action(Of String, UIElement)
Public Shared Sub SetHost_AddCustomWpfPanel(action As Object)
	HostCall_AddCustomWpfPanel = CType(action, Action(Of String, UIElement))
End Sub
    
'调用
HostCall_AddCustomWpfPanel.Invoke("在下拉框中显示的名称", New 自定义控件)

C# 语言:

public static Action<string, UIElement> HostCall_AddCustomWpfPanel { get; set; }
public static void SetHost_AddCustomWpfPanel(object action)
{
	HostCall_AddCustomWpfPanel = (Action<string, UIElement>)action;
}

//调用
HostCall_AddCustomWpfPanel?.Invoke("在下拉框中显示的名称", new 自定义控件());

将编码任务添加到队列中

同样简单的方式即可将你的编码任务添加到 3FUI 的编码队列中。从 2.0 版本开始有两种添加的方式,一个是用命令行添加,这样添加的任务不包含预设数据,无法使用重配置相关功能;另一个是用 3FUI 的预设文件来添加,这样添加的任务可以使用完整功能,但是注意每添加一个任务都会读取一遍预设文件,这个方法不是专门设计给批量添加需求的。

VB 语言:

'使用 FFmpeg 命令行添加
Public Shared Property HostCall_AddMissionToQueueWithArgs As Action(Of String, String, String, String)
Public Shared Sub SetHost_AddMissionToQueueWithArgs(action As Object)
	HostCall_AddMissionToQueueWithArgs = CType(action, Action(Of String, String, String, String))
End Sub

'调用
HostCall_AddMissionToQueueWithArgs.Invoke("给 ffmpeg 的参数,不要以 ffmpeg 开始", "在编码队列里显示的文件名,也可以用来显示其他信息", "输出文件的路径在哪,用于编码队列中的定位输出功能", "输入文件在哪,可以不写")
'使用 3FUI 预设文件添加
Public Shared Property HostCall_AddMissionToQueueWith3fuiFile As Action(Of String, String, String, String)
Public Shared Sub SetHost_AddMissionToQueueWith3fuiFile(action As Object)
	HostCall_AddMissionToQueueWith3fuiFile = CType(action, Action(Of String, String, String, String))
End Sub

'调用
HostCall_AddMissionToQueueWith3fuiFile.Invoke("3FUI 预设文件的路径", "在编码队列里显示的文件名,也可以用来显示其他信息", "输出文件的路径在哪,用于编码队列中的定位输出功能", "输入文件在哪,可以不写")

C# 语言:

//使用 FFmpeg 命令行添加
public static Action<string, string, string, string> HostCall_AddMissionToQueueWithArgs { get; set; }
public static void SetHost_AddMissionToQueueWithArgs(object action)
{
	HostCall_AddMissionToQueueWithArgs = (Action<string, string, string, string>)action;
}

//调用
HostCall_AddMissionToQueueWithArgs?.Invoke("给 ffmpeg 的参数,不要以 ffmpeg 开始", "在编码队列里显示的文件名,也可以用来显示其他信息", "输出文件的路径在哪,用于编码队列中的定位输出功能", "输入文件在哪,可以不写");
//使用 3FUI 预设文件添加
public static Action<string, string, string, string> HostCall_AddMissionToQueueWith3fuiFile { get; set; }
public static void SetHost_AddMissionToQueueWith3fuiFile(object action)
{
	HostCall_AddMissionToQueueWith3fuiFile = (Action<string, string, string, string>)action;
}

//调用
HostCall_AddMissionToQueueWith3fuiFile?.Invoke("3FUI 预设文件的路径", "在编码队列里显示的文件名,也可以用来显示其他信息", "输出文件的路径在哪,用于编码队列中的定位输出功能", "输入文件在哪,可以不写");

媒体流可视化选择器

从 5.1 版本开始,新增了一个可视化的媒体流选择器,得益于优秀的设计逻辑,这个功能不仅完美接入 3FUI 的现有功能,还可以通过插件调用来为你自己的功能服务。不过从长远角度来讲,不太建议插件去使用这个功能,因为它的参数太多了,而这种调用方式也无法自定义参数的顺序,会显得很乱。

VB 语言:

Public Shared Property HostCall_MediaStreamVisualSelector As Action(Of String, Object, Object, Object, String, String, String, String)
Public Shared Sub SetHost_MediaStreamVisualSelector(action As Object)
	HostCall_AddMissionToQueueWithArgs = CType(action, Action(Of String, Object, Object, Object, String, String, String, String))
End Sub

'调用,注意所有参数都是可选,如果不需要指定,直接给nothing即可
HostCall_MediaStreamVisualSelector.Invoke(
        "FilePath", '字符串,指定要让 ffprobe 读取的文件,如果文件存在那么窗口打开后将自动启动
        VideoStreamTargetObject, 'Object对象,但必须有Text属性,指定要将视频流的选择结果输出到什么对象上
        AudioStreamTargetObject, '同上,指定要将音频流的选择结果输出到什么对象上
        SubtitleStreamTargetObject, '同上,指定要将字幕流的选择结果输出到什么对象上
        "InputFileIndex", '字符串,选择器只能对一个文件的流进行选择,如果你希望输出附带文件索引,可以直接填写这是哪个索引的文件,会像这样输出:0:v:0,0:v:1 如果不设置则仅输出逗号分隔的数字:0,1,2
        "VideoStreamSelected", '字符串,如果用户已经选择了指定的视频流,可以设置此属性来让对应流直接勾选,格式必须是逗号分隔的直接索引:0,1,2 不能带其他字符
        "AudioStreamSelected", '同上,是指定的音频流
        "SubtitleStreamSelected", '同上,是指定的字幕流
        )

C# 的版本懒得写了,太长了,让AI直接翻译吧。

安装并发布你的插件

当你完成开发和测试后,点击生成即可在输出目录得到你的插件。前面我们选择了窗体应用,所以是生成的 exe 文件,但从 .NET 5 开始这个 exe 是纯二进制文件,同名的 dll 文件才是代码。此时将这个同名的 dll 单独复制出来,将其后缀从 .dll 改为 .3fui.dll,这样这个文件就是你要发布的插件了,而那个 exe 是完全不需要的。

安装方法:在 3FUI 程序目录下新建 Plugin 文件夹,将插件文件放置其中然后重启软件。

如果你引用了其他三方组件,需要将那些文件一并发布,当然那些文件就不要改后缀了,3FUI 就是用这个后缀来识别哪些是要加载的插件的。

由于你并没有引用 3FUI,相关许可证条款对你不生效,因此你可以选择闭源甚至出售(虽然这并不能保护你的代码,.NET 程序非常容易反编译)。

from  https://github.com/Lake1059/FFmpegFreeUI

(下载地址:

 https://github.com/Lake1059/FFmpegFreeUI/releases/download/6.1.27/FFmpegFreeUI.x64.exe)

Sunday, 2 August 2026

禁用windows的休眠功能,可以释放10 gb的硬盘空间

  Hibernation is useful, but it comes at a cost.
The price is your storage becomes smaller.

Hibernation feels like the ideal option for anyone who uses their PC daily and doesn't want to lose their open apps and files. You close the lid, Windows saves everything, uses almost no power, and picks up right where you left off when you’re back. It kind of gives you the quick resume of Sleep mode and the power saving of a full shutdown. But there’s a catch that most people miss.

Hibernation relies on a dedicated file named hiberfil.sys. Every time you hibernate your PC, Windows writes whatever data is in your memory to that file — and it’s not small. On my machine, it was close to 10GB. For you, that number can be higher or lower because Windows sizes it based on your PC’s total RAM, typically between 40% to 75%. So if you’ve got 16GB of RAM, expect the hibernation file to eat up anywhere from 6 to 12GB on your drive.

Of course, this won’t matter to everyone. On a 1TB HDD, that number is barely a rounding error. But on a budget laptop with only 256GB SSD, giving up that kind of storage can hurt — because that’s space you can’t use for anything else.

The worst part is that this hibernation file doesn’t actually shrink if you stop using the feature tomorrow. It just sits there, doing nothing until you actually hibernate. And the problem is, most people don’t realize it exists until they go digging for why their storage is disappearing.
Disabling hibernation gave me 10 GB of storage
It felt like finding free storage

The hiberfil.sys file lives at the root of your C: drive. You won’t see it by default though, since it’s a hidden system file. To find it, click View > Show > Hidden items. If you still don’t see it, open File Explorer Options, switch to the View tab, and uncheck Hide protected operating system files. But don’t bother trying to delete it from there. You’ll get some sort of error or Windows will simply recreate the file.

The right way to get rid of the hiberfil.sys file and free up storage is to disable the hibernation feature entirely. For that, open Command Prompt with administrative privileges and run the following command:

powercfg /hibernate off


To confirm it worked, head back to the C: drive in File Explorer and the file should be gone. You’ll also get the storage back instantly.

Friday, 31 July 2026

在当前文件夹打开命令提示符:地址栏输入 CMD



对于需要使用命令提示符的进阶用户,无需繁琐地切换目录。直接在文件夹的地址栏里输入

CMD 并回车,就能立刻在当前路径下打开命令提示符窗口,非常方便 。

恢复意外关闭的浏览器标签页:Ctrl + Shift + T


手滑,不小心关闭了重要的浏览器标签页?无需去历史记录里翻找。只需在浏览器中按下

Ctrl + Shift + T,刚才关闭的页面就会立刻恢复,可以多次使用以恢复多个页面 。

强制刷新网页:Ctrl + F5



网页加载不出来或显示异常时,普通的刷新(F5)可能无效,因为它会读取缓存。这时按下

Ctrl + F5 可以强制浏览器重新从服务器加载所有内容,解决多数显示问题 。

Thursday, 16 July 2026

如何有效的一起使用智能手机和计算机

 

I am going to discuss some of the ways you can share data from your phone to your PC and vice versa. Not only that, you can also use these devices as one ecosystem like what Apple has their own.

  1. Transfer Files
    There is no perfect working files sharing feature between Android and Windows. Some rumours suggest that Chrome browser in Windows 10 will feature nearby share. This feature is available on Android for some time now and it will be useful to have it on PC. Here are some steps and software/apps which will ease the process of sharing files.

    1. Bluetooth
      This might sound pretty old but it can be helpful if you don't want to download extra apps on your PC and mobile. As the speeds are slow it is useless for larger files. You can quickly share some photos and audio files.

    2. AirDroid
      AirDroid is one of the most popular apps to share files. Apart from this it can send and receive SMS from your phone and show you your device's notification on your PC. It's free and you have to pay to the subscription to use all its services.
      Free|Subscription: $1.99 per month.

    3. Resilio Sync
      Resilio Sync works like a cloud storage but data is stored locally on your PC. You can sync/transfer as much data as you want. This app is free for limited use. You can pay one time to unlock all its features and services.
      Free|One-time purchase $75

    4. Google Drive
      Drive is a cloud-based storage service. You can upload files and backup your mobile data. You can create link and send large files to others. The free version only provides 15 GB of storage. You need to pay to the subscription to get more storage.
      Free|Subscription at $1.99 for 100 GB per month

    5. Smash
      As Google Drive gives you 15 GB of storage, Smash gives you unlimited storage. You can send unlimited files of unlimited sizes to any system and anyone without even signup. Smash keeps your files for only 14 days which is not bad.
      Free

    Not to forget our old school USB cables. They can transfer files at the highest speeds :)


  2. Sync browser tabs and open link seamlessly
    Many times, we need to open links from phone to our computers. You may have used WhatsApp Web to send link cross platform. Instead use backup and sync on Chrome. Here's how to do that:
    • First login to your same Google account on Chrome on both the devices.
    • Then go to settings --> Sync and Google services --> Turn Sync your Chrome data on.
    • When you click share button on Chrome there's an option named Send to your devices. Click it and select your device. The link will instantly pop up on your other device. Chrome also backups your saved passwords and logins for websites. It has wide variety of Extensions.

    If you are privacy-focussed then try Mozilla Firefox or Brave browser. These browsers provide similar features. The main advantage is that they block tracking of websites so you can browse without concerning about your privacy.

Monday, 13 July 2026

BiglyBT,Feature-filled Bittorrent client

 

based on the Azureus open source project。


Source for BiglyBT, a feature filled, open source, ad-free, bittorrent client. BiglyBT is forked from the original project and is being maintained by two of the original developers as well as members of the community. With over 20 years of development, there's a good chance we have the features you are looking for.

 

Setting up Dev Environment

Getting the basics to compile from source is pretty straightforward:

  1. Clone the repo into your favorite IDE
  2. Mark core/src and uis/src as project roots (source modules)
  3. To the uis module, add core/lib/* and one of the swt.jars at /uis/lib/:
    swt-win64.jar on Windows
    swt-cocoa-64.jar on OSX
    swt-linux-64.jar on Linux (GTK)
  4. To the core module, add core/lib/*
  5. Make uis module depend on core. Core should not depend on uis

IntelliJ IDEA will do all these steps for you with its wizard.

External Annotations

If you wish IntelliJ IDEA to show MessageBundle strings instead of keys, as well as reduce the number of NPE warnings, you can attach the external annotations either by:

  • Project Settings->Modules->Paths->External Annotations
  • in <module>/<module>.iml add to component:
    <annotation-paths>
      <root url="file://$MODULE_DIR$/../external-annotations" />
    </annotation-paths>
    

External Annotations definitions are a WIP and not complete list of definitions.

Running in Dev Environment

Running is only few more steps:

  • Main class is com.biglybt.ui.Main in module uis

  • Working Directory should be a new folder, since the app will write things to it. Put the aereg.dll or libOSXAccess.jnilib in there.

    When a normal user is running the app, the working directory is where the jar, executable, and libraries (dll, so, jnilib) are.

  • If you want a separate config dir from the default one, use VM Option -Dazureus.config.path=<some config path>

  • Run it

Release Installer Notes

We build our installers using Install4j, multi-platform installer builder

Install4j Logo

Our binaries and installers up to and including v3.4 are signed with a digital signature of "Bigly Software". Releases after v3.4 will use an individual signing certificate and will bear the name "Arron Mogge (Open Source Developer)" denoting the identity of our team member responsible for signing.

from  https://github.com/BiglySoftware/BiglyBT

(下载地址: https://github.com/BiglySoftware/BiglyBT/releases)

Sunday, 12 July 2026

一款专为高速、大规模媒体下载而设计的批量视频下载器 Meget Pro

 

为什么选择 Meget Pro 而不是 Hitomi Downloader?

  • 批量下载功能 :与 Hitomi Downloader 不同,Meget Pro 旨在高效地同时下载多个视频和图像。
  • 广泛的网站兼容性 :支持10,000多个视频和图像托管网站。
  • 更快的下载速度 :使用多线程技术,快速下载。
  • 内置媒体转换 :立即将下载的文件转换为各种格式。
  • 用户友好界面 :提供更直观、更易于使用的体验。
  • 可靠的客户支持 :与开源替代品不同,Meget Pro 提供专门的支持。
  • 定期更新 :确保与不断变化的网站结构的兼容性。

如何使用 Meget Pro 批量下载视频和图像:

步骤 1:单击下面的下载,为您的 Windows 或 Mac 下载 Meget Pro,然后在您的计算机上安装并启动该软件。

免费下载: https://file.meget.io/meget-pro.exe

第 2 步:在 Meget Pro 的内置浏览器中访问包含您想要下载的视频或图像的网站.

 凭借卓越的批量下载功能、更快的速度、更广泛的网站支持和内置媒体转换功能,Meget Pro 是经常大量下载视频和图像的人的理想选择。

 https://zh-cn.meget.io/meget-pro/

(我亲测,确实可用Meget Pro下载youtube video)

----------------------

相关帖子: 

https://briteming.blogspot.com/2022/07/twitterpornhubyoutubebinstagramhitomi.html

一些Android/Linux/MacOS/Windows程序的下载地址


 https://file.cnxiaobai.com/Android/

 https://file.cnxiaobai.com/Linux/

 https://file.cnxiaobai.com/MacOS/

 https://file.cnxiaobai.com/Windows/

from   https://file.cnxiaobai.com

LKY_OfficeTools

一键自动化 下载、安装、激活 Office 的利器。 

 LKY_OfficeTools。

一键自动化 下载、安装、激活 Office 的利器。绿色、开源、安全、无毒。

目前包含的功能:

  • 一键快速下载、安装、激活最新版 Microsoft Office 软件。
  • 用户可在安装 Word、PPT、Excel 的同时,根据软件提示,自助安装其它组件,包括: Outlook、OneNote、Access、Visio、Project、Publisher、Teams、OneDrive、Lync/Skype。
  • 工具可自动识别不同的操作系统架构,自动下载适配版本的 Office。
  • 本工具激活 Office 的方式为正版激活模式,不会篡改任何系统文件。
  • 当系统中存在多个冗余 Office 版本时,本工具在用户同意的情况下,可实现自动升级。

使用方法

运行环境

  • 为保证安装、激活可以最大限度成功,请您尽可能在新装系统后(或从未安装过 Microsoft Office 软件的系统中)运行本工具。
  • 目前已经在 Windows 10(1703) 及以上版本进行了测试,均可在其 x86、x64 完美安装正版 Office 并激活。
  • 应 Office 官方要求,系统中只能部署唯一架构类型,故本工具部署时,会征求用户同意,由其自行决定是否卸载其它架构。
  • 2016年7月及其之前发布的 Windows 系统(即:Windows 10(1703) 之前的系统),因其架构过于陈旧,其已经不再支持安装最新的正版 Office。

from  https://github.com/OdysseusYuan/LKY_OfficeTools/

下载地址:

 https://github.com/OdysseusYuan/LKY_OfficeTools/releases/download/v1.3.0/LKY_OfficeTools_v1.3.0.223.zip

Tuesday, 30 June 2026

winpodx, Embed Windows Apps into Linux Desktop.

 Tools to Embed Windows Apps into Linux Desktop.This is an open-source tool that runs Windows apps on Linux without entering the full Windows desktop. It runs a Windows system in a container in the background and uses FreeRDP to turn each Windows app into an independent native Linux window, supporting pinning to the taskbar, Alt-Tab switching, file associations, and USB devices.

 ------------------------------

Windows pod system for Linux

 
 
WinPodX

Click an app. Word opens. That's it.

Native Linux windows for every Windows app — real icons, real WM_CLASS,
pin-to-taskbar. FreeRDP RemoteApp + dockur/windows. Zero config.

# Latest stable release (default)
curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash

# Latest main HEAD (development; may be unstable)
curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash -s -- --main

# Uninstall (keeps Windows VM data; pass --purge to wipe everything)
curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/uninstall.sh | bash -s -- --confirm
WinPodX in action — Windows apps as native Linux windows on KDE

Windows About / Task Manager / PowerShell each in their own Linux window, alongside the WinPodX Dashboard (live Pod / RAM / CPU gauges, workspace tiles).

Beta Latest

license python tests CI stars downloads

Works on

openSUSE Fedora Fedora Atomic Desktops Debian Ubuntu RHEL family Arch NixOS AppImage

English  ·  한국어  ·  Install  ·  Usage  ·  Features  ·  Architecture  ·  Comparison


Status: Beta

WinPodX is in active development (v0.8.0). v0.7.0 introduced the bare-metal disguise (#246, opt-in / off by default): with pod.disguise_level balanced | max the Windows guest reads like a physical machine to VM-detection software (Nvidia GPU-passthrough "code 43", launch-gate VM checks, VM-hostile installers) — verified against al-khaser 0.82 — and the default guest username became WPX-User. v0.7.1 is a UX + integration release: discovered Windows apps now register automatic file associations so they appear in your file manager's "Open with" menu (#545, on by default, only added — never set as the default handler); the GUI gains app management — reset-to-detected, a custom-icon picker, multi-select bulk hide/remove, and a restore list for deleted apps (#530); a quick app launcher (winpodx launch, #561) gives a Start-menu-style picker bindable to a DE hotkey; winpodx gui no longer blocks the terminal (#549); winpodx doctor warns on an old FreeRDP with broken RemoteApp windows (#546); and install.sh --main is now honoured on Atomic Fedora (#548). v0.7.2 is a bug-fix release: it fixes a GUI crash on Refresh Apps (#567) and the tray Terminate Session / USB Devices submenus (#573) on KDE/Plasma, discovers apps with Chinese/Japanese/Korean names (#553), keeps the container across pod stop (no more recreate-on-update), and gives a clear error when Windows credentials are missing (#569). v0.7.3 adds reverse-open of files on the Windows VM itself — not just your shared Home, the guest C: is shared over SMB and mounted with kio-fuse so a host app opens the real guest file and edits save back (#616, KDE) — an opt-in idle auto-stop that frees the VM's RAM (#622), and a +multitouch flag for touchscreen / stylus / pen passthrough (#623); it also fixes winpodx app refresh timing out on a slow guest (#619), the Dashboard RAM / Disk gauges sticking on "n/a" (#634), and removes the USB drive-letter auto-mapper that was destabilizing installs (#613, #638). v0.7.4 lets you choose where the Windows VM lives (install.sh --storage-dir, #646) and install from a local Windows ISO to skip the download (--win-iso, #647), defaults a 24 GB+ host to 8 GB VM RAM (#630); plus fixes — opening a second document in an already-running app, Open with on stripped-PATH desktops like Deepin, a clear error on a missing RDP password (#569), the GUI Logs buttons honouring the Docker backend, the .deb pulling in podman-compose (#644), and the maintenance dialog size (#550). v0.8.0 makes app discovery Start-Menu-only by default — only the apps your Windows Start Menu actually shows, grouped into nested folder sub-groups, with a desktop.full_app_scan opt-in for the old scan-everything behaviour (#581); passes your [pod] keyboard to FreeRDP as the session layout (#660); stages --win-iso before compose-up so dockur installs from it instead of downloading (#647); self-heals the reverse-open listener; bumps bundled rdprrap to 0.3.0; and fixes several GUI crashes — the Refresh Apps SIGSEGV, an off-thread display-scale SIGABRT, the Debloat task dialog not auto-closing (#550), and a layout-recursion SIGSEGV with long / CJK app names (#553). The AppImage is Thin (~110 MB) — only FreeRDP + Python + Qt + winpodx — and uses the host's podman / docker. The CLI surface settled in 0.6.0 stands: winpodx guest (guest-side ops), winpodx install (install / disk ops), and winpodx doctor (diagnostics with --json / --quick / --fix); the post-create chain is the single winpodx provision. First install still takes ~5–10 minutes (Windows VM ISO download + Sysprep + OEM apply); winpodx pod wait-ready --logs shows live progress. Please file issues at https://github.com/kernalix7/winpodx/issues if something breaks.

No full-screen RDP. Each Windows app becomes its own Linux window with its real icon — pinnable, alt-tabbable, file-associated, both directions. Drop into a full Windows desktop only when you actually want one (winpodx app run desktop).

WinPodX runs a Windows container (via dockur/windows) in the background and presents Windows apps as native Linux applications through FreeRDP RemoteApp, while a bearer-authed HTTP agent inside the guest handles the host→guest command channel without flashing a PowerShell window. The reverse direction — Linux apps surfaced in the Windows "Open with…" menu — is handled by a host-side listener that consumes JSON requests written by per-slug Rust shims inside the guest. Near-zero external Python dependencies (stdlib only on Python 3.11+; one pure-Python tomli fallback on 3.9/3.10).

Minimum requirements

Before installing, make sure your machine actually supports virtualisation. WinPodX runs Windows in a KVM-backed container; without these three, the install will run to completion but Windows will never boot.

Requirement How to check Fix
Intel VT-x or AMD-V enabled in BIOS / UEFI lscpu | grep -i virtualization shows VT-x or AMD-V Reboot → firmware setup → enable "Intel Virtualization Technology" / "SVM Mode" / "VT-x". OFF by default on many laptops.
kvm kernel module loaded lsmod | grep kvm lists kvm_intel or kvm_amd sudo modprobe kvm_intel (Intel) or sudo modprobe kvm_amd (AMD). Auto-loads on next boot once BIOS allows it.
Your user is in the kvm group id -nG | tr ' ' '\n' | grep kvm returns kvm sudo usermod -aG kvm $USER, then log out + back in.

Hardware: x86_64 or aarch64 CPU with virtualisation extensions, 8 GB+ RAM (12 GB+ recommended), ~30 GB free disk for the Windows image. install.sh aborts with the same diagnostic if /dev/kvm is missing after the package install step — most "install ran fine but Windows never boots" bug reports trace back to one of the rows above.

Quick install

One-liner (any supported Linux distro):

curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash

Or via a native package manager:

# openSUSE Tumbleweed / Leap / Slowroll
sudo zypper addrepo https://download.opensuse.org/repositories/home:/Kernalix7/openSUSE_Tumbleweed/home:Kernalix7.repo
sudo zypper install winpodx

# Fedora 42 / 43 / 44 (dnf5 — Fedora 41+)
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/Kernalix7/Fedora_43/home:Kernalix7.repo
sudo dnf install winpodx

# Debian / Ubuntu — grab the matching .deb from the latest release
sudo apt install ./winpodx_<version>_all_debian13.deb

# AlmaLinux / Rocky / RHEL 9 / 10 — grab the matching .rpm
sudo dnf install ./winpodx-<version>-0.noarch.el10.rpm

# Arch
yay -S winpodx

# Nix
nix run github:kernalix7/winpodx

# AppImage (distro-agnostic, single file)
# Download winpodx-<version>-x86_64.AppImage from the latest GitHub release
chmod +x winpodx-*-x86_64.AppImage
./winpodx-*-x86_64.AppImage setup

After a package-manager / AppImage install: run winpodx setup once to generate ~/.config/winpodx/winpodx.toml + compose.yaml. The curl one-liner does this for you (and waits ~5–10 min for the Windows first boot); package installs ship the binary only so apt install / dnf install / yay -S / first AppImage launch don't trigger a 10-minute Windows ISO download out of the blue. After setup, just launching an app (winpodx app run desktop) auto-provisions the pod the first time.

The Thin AppImage (0.6.0) bundles Python + Qt + winpodx + FreeRDP only — the container runtime lives on the host (podman ≥ 4 recommended, docker also supported) so the AppImage no longer fights a host stack you already have (#357, #363). Pre-0.6.0 fat AppImages bundled the whole podman stack and shadowed the host's. Host-side requirements left: a container runtime via your package manager, /dev/kvm, kvm group membership, and /etc/subuid / /etc/subgid for rootless Podman. winpodx setup-host fixes the kvm / subuid bits via a single pkexec prompt; winpodx doctor surfaces anything still missing.

See docs/INSTALL.md for offline / air-gapped builds, source installs, version pinning, and uninstall.

First-time setup

If you used the curl install.sh one-liner, setup already ran and the Windows VM is booting -- skip to Launch. For every other install path (package managers, AppImage, source, pip) run setup once before the first app launch:

# Auto setup -- host-detected defaults, no prompts
winpodx setup

# Interactive wizard -- pick backend, cores, RAM, edition, language, timezone, debloat preset
winpodx setup --customize

Setup writes ~/.config/winpodx/winpodx.toml + compose.yaml, registers the GUI launcher, and confirms the host has FreeRDP + Podman / Docker + KVM. If any of those are missing, the output ends with a per-distro install command (e.g. sudo apt install xfreerdp3 podman podman-compose on Debian / Ubuntu, sudo dnf install ... on Fedora) -- run it and re-run winpodx setup.

The first app launch then provisions the pod, pulls the dockur image, runs the Windows ISO download + Sysprep + OEM apply, and reaches a usable RDP session in ~5-10 min. winpodx pod wait-ready --logs tails container progress live so you can watch each phase:

winpodx app run desktop          # First launch -- ~5-10 min, subsequent launches near-instant
winpodx pod wait-ready --logs    # Optional: watch first-boot progress live

Run winpodx doctor any time afterwards to re-check host state and surface the next fix command if something drifts:

winpodx doctor                   # Read-only -- prints what would need fixing
winpodx guest apply-fixes        # Re-applies guest-side runtime fixes (RDP timeouts, NIC power-save, etc.)

Launch

winpodx app run word              # Launch Word
winpodx app run word ~/doc.docx   # Open a file
winpodx app run desktop           # Full Windows desktop
winpodx launch                    # Quick app launcher (Start-menu style picker)

Or just click an app icon in your application menu. winpodx launch opens a searchable picker of your Windows apps — bind it to a desktop-environment custom shortcut (KDE: System Settings → Shortcuts → Custom; GNOME: Settings → Keyboard → Custom Shortcuts) for a system-wide hotkey. See docs/USAGE.md for the full CLI, the Qt6 GUI, health checks, and configuration.

Key features

Bare-metal disguise (VM-detection avoidance) — new in 0.7.0 · opt-in, off by default

  • Makes the Windows guest read as a physical machine to software that refuses to run under a detected hypervisor — Nvidia GPU-passthrough "code 43", launch-gate VM checks, VM-hostile installers
  • pod.disguise_level balanced | max: balanced hides the CPUID hypervisor bit + KVM signature and mirrors the host's real SMBIOS/DMI; max ("Hardened") adds a locally-built patched-QEMU image (winpodx disguise build-image) that rewrites the ACPI / disk / sensor / USB fingerprints and drops the virtio + Red-Hat PCI tells (keeps USB3)
  • Host-derived strings stay in the local image only (never committed to git); serial / UUID / asset-tag are never read
  • al-khaser 0.82-verified — enable with winpodx config set pod.disguise_level max or the GUI Settings "Bare-metal" selector
  • Details →

Reverse-open

  • Linux apps appear in the Windows guest's right-click "Open with…" menu by default
  • Correct per-app icons in both the short menu and the long "Choose another app" dialog
  • Selecting one round-trips the file open to host xdg-open
  • Auto-discovers host-side Linux apps + their MIME associations from freedesktop standards
  • Manage via winpodx host-open CLI or the GUI Settings panel
  • Details →

Seamless app windows

  • RemoteApp (RAIL) renders each Windows app as a native Linux window — no full desktop
  • Per-app taskbar icons via WM_CLASS matching (/wm-class:<stem> + StartupWMClass)
  • Bidirectional file associations: double-click .docx in your file manager → Word opens
  • Multi-session RDP: bundled rdprrap auto-enables up to 10 independent sessions
  • Multi-monitor RAIL (0.6.0): a remote-app window keeps working input when dragged onto a second monitor — on by default (cfg.rdp.multimon, default span)
  • RAIL prerequisites set automatically during unattended install

Zero-config launch

  • First app click auto-provisions everything: config, container, desktop entries
  • Auto-discovery on first boot scans the running Windows guest and registers every installed app with its real icon (Registry App Paths, Start Menu, UWP/MSIX, Chocolatey, Scoop)
  • Manual rescan any time via winpodx app refresh or the GUI Refresh button
  • Multi-backend: Podman (default), Docker, manual RDP (the libvirt backend was dropped in 0.6.0 — stay on ≤0.5.x or use the manual backend for your own libvirt domain)

Peripherals & sharing

  • Clipboard: bidirectional copy-paste (text + images) — on by default
  • Sound: RDP audio streaming (/sound:sys:alsa) — on by default
  • Printer: Linux printers shared to Windows — on by default
  • Home directory: shared as \\tsclient\home
  • USB drives: auto-mapped to drive letters (E:, F:, …) via FileSystemWatcher; subfolders work for drives plugged in after session start; the USB desktop shortcut (\\tsclient\media) always resolves, opening an empty folder when nothing is mounted instead of erroring
  • Host USB / PCI device passthrough (0.6.0): pass real host devices into the Windows guest — winpodx device list / attach <id> / detach <id>, a GUI "Devices" tab (two-column host↔guest mover), and a system-tray USB switcher. USB hot-plugs live (cfg.pod.usb_live, default on); PCI is boot-added and needs a guest restart plus a --force / dialog confirmation

Automation & security

  • Auto suspend / resume: container pauses when idle, resumes on next launch
  • Pod auto-start on login (v0.5.9, opt-in): winpodx autostart on installs a tray autostart entry so the pod starts/resumes at login — off by default (autostart off|status, or a GUI Settings checkbox)
  • UNRESPONSIVE → recover (v0.5.5): stalled RDP guest is detected on RUNNING → UNRESPONSIVE and self-healed via in-guest TermService cycle, no pod restart needed
  • Host-adaptive Windows-on-KVM tuning profile (v0.5.5): +invtsc, platform_tick and more, gated by host capability — tuning_profile = auto|safe|off
  • Password auto-rotation: 20-char cryptographic password, 7-day cycle with atomic rollback
  • Smart DPI scaling: auto-detects from GNOME, KDE, Sway, Hyprland, Cinnamon, xrdb
  • Windows debloat: telemetry, ads, Cortana, search indexing disabled by default
  • FreeRDP extra_flags allowlist (regex-validated) as the user-input safety boundary
  • Time sync: force Windows clock resync after host sleep/wake

Operations & resilience

  • Multilingual UI (v0.5.9): tray / GUI / CLI fully translated to 7 languages (en / ko / zh / ja / de / fr / it), auto-detected from $LANG — override with winpodx language <code> or GUI Settings → "WinPodX UI language"
  • Windows disk auto-grow (v0.5.9): C: grows itself when it fills past a threshold while idle, bounded by host free space — or grow on demand (winpodx install grow-disk [SIZE], winpodx install disk-usage, GUI Tools → Grow Disk)
  • Guest sync (v0.5.9): push updated agent / urlacl / rdprrap / fixes into a running guest after a host upgrade — automatic once per pod start, or winpodx guest sync [--force]
  • Offline / air-gapped install (--source + --image-tar)
  • One-line uninstall (keeps Windows VM data unless --purge)
  • Health checks via winpodx doctor (deps / pod / RDP / agent / disk / round-trip / password age; --json for machine-readable, --quick for cheap subset, --fix for idempotent auto-remediation of common findings)
  • Redesigned Qt6 GUI (0.6.0): a left Start-menu-style navigation sidebar + a new Dashboard home with live Pod / RAM / CPU ring gauges, disk usage, an auto-recovery status card, pinned/recent workspace tiles, and a reverse-open toggle; the app launcher is now the "All apps" page, alongside Devices / Settings / Tools / Terminal / Info — plus a lighter system tray. In-house SVG icon set, responsive reflow, and a hero search that doubles as a command bar
  • Stdlib-leaning Python (no pip-deps on 3.11+; one tomli fallback on 3.9 / 3.10)

See docs/FEATURES.md for deep dives, including multi-session RDP internals, app profile schema, and the reverse-open architecture.

Documentation

Document What's inside
INSTALL.md Every install path — one-liner, package managers, AppImage, offline, Nix, source
USAGE.md CLI reference, Qt6 GUI tour, health checks, configuration file
FEATURES.md Reverse-open, multi-session RDP, peripherals, app profiles, auto-discovery
ARCHITECTURE.md How it works (diagram), tech stack, source tree, data flows
COMPARISON.md WinPodX vs winapps / LinOffice / winboat, and WinPodX vs Wine
CHANGELOG.md Full version history
CONTRIBUTING.md Development setup and workflow
SECURITY.md Security disclosure process

Supported distros

Distro Package manager Status
openSUSE Tumbleweed / Leap 15.6 / Leap 16.0 / Slowroll zypper Tested
Fedora 42 / 43 / 44 / Rawhide dnf Supported
Fedora Silverblue / Kinoite / Sericea / Bluefin / Bazzite (42 / 43 / 44) rpm-ostree (OBS, --apply-live) Supported
Debian 12 / 13, Ubuntu 24.04 / 25.04 / 25.10 / 26.04 apt Supported
AlmaLinux / Rocky / RHEL 9 / 10 dnf Supported
Arch / Manjaro pacman + yay -S winpodx Supported
NixOS (and Nix on any distro) nix flake Supported

Each tag push (v*.*.*) publishes to all channels automatically — see packaging/ for maintainer details.

Testing

# From repo root (no install needed)
export PYTHONPATH="$PWD/src"
python3 -m pytest tests/    # 1800+ tests
ruff check src/ tests/      # Lint
ruff format --check src/ tests/
from  https://github.com/kernalix7/winpodx