<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>liubsyy (Liubsyy)</title>
    <link>https://beta.w2solo.com/liubsyy</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>基于 Rust 开发的 m3u8 下载器 M3U8Quicker：支持断点续传、边下边播</title>
      <description>&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;在访问 &lt;code&gt;M3U8&lt;/code&gt;类网站的视频时，有时我们想下载视频到本地。&lt;/p&gt;

&lt;p&gt;市面上有 Chrome 类插件或脚本支持 m3u8 下载，但是不能断点续传和边下边播，也不太方便查看和管理下载过的视频。
还有一些 m3u8 类下载软件，需要手动去找 m3u8 地址手填下载，不是很方便。&lt;/p&gt;

&lt;p&gt;于是我开发了 m3u8 播放器&lt;code&gt;M3U8 Quicker&lt;/code&gt;，将两者结合起来，非常方便灵活下载 m3u8 视频并转成 mp4，安装包仅 2M 左右（1.0.0 版本）。&lt;/p&gt;

&lt;p&gt;&lt;code&gt;M3U8 Quicker&lt;/code&gt; 基于 &lt;code&gt;Tauri + Rust + React + TypeScript&lt;/code&gt; 构建，支持 Windows、macOS 和 Linux。无论是日常保存课程视频、整理网络媒体资源，还是处理需要额外请求头的流媒体地址，它都能提供更直接、更稳定的使用体验。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/c97ce4db-88b4-449a-aa88-b211c455378a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="特性"&gt;特性&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;支持 &lt;code&gt;M3U8&lt;/code&gt; 视频下载与任务管理&lt;/li&gt;
&lt;li&gt;支持多线程下载，提升下载效率&lt;/li&gt;
&lt;li&gt;支持 &lt;code&gt;AES-128 / AES-192 / AES-256&lt;/code&gt; 加密流的密钥拉取与解密&lt;/li&gt;
&lt;li&gt;支持暂停、继续下载、失败分片重试&lt;/li&gt;
&lt;li&gt;支持边下边播，下载过程中也能直接打开播放器&lt;/li&gt;
&lt;li&gt;支持自动合并 &lt;code&gt;ts&lt;/code&gt; 并转成 &lt;code&gt;mp4&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;支持设置代理&lt;/li&gt;
&lt;li&gt;支持 Chrome 自动识别 m3u8 地址一键跳转新建下载任务&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;它不是一个只负责 “把文件拉下来” 的小工具，而是一个更完整的 &lt;code&gt;M3U8&lt;/code&gt; 媒体处理入口。&lt;/p&gt;
&lt;h2 id="从新建下载任务到播放，一条链路打通"&gt;从新建下载任务到播放，一条链路打通&lt;/h2&gt;
&lt;p&gt;使用 &lt;code&gt;M3U8 Quicker&lt;/code&gt; 的过程非常直接。打开应用后，点击 “新建下载”，输入 &lt;code&gt;M3U8&lt;/code&gt; 地址即可创建任务。如果资源依赖 &lt;code&gt;referer&lt;/code&gt;、&lt;code&gt;origin&lt;/code&gt; 等附加请求头，也可以在创建任务时一并补充。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/7229605b-4b97-4584-a858-da3ad60f781d.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;任务开始后，下载列表会持续展示当前状态、下载进度和下载速度。你可以随时暂停任务、恢复任务、重试失败分片。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/2ebffe75-df2d-4d96-adf4-1248cc10b16d.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;也可以在下载过程中直接打开播放器，边下载边观看，播放过程中跳转任务进度，系统会优先下载当前播放进度附近的分片&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/c6830ef2-7a2e-4b64-b86b-503455641c49.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="Chrome 扩展"&gt;Chrome 扩展&lt;/h2&gt;
&lt;p&gt;除了桌面端本身，项目还提供了一个可选的 Chrome 扩展。打开 M3U8 Quicker-&amp;gt;设置-&amp;gt;安装 Chrome 扩展，按引导可安装 Chrome 扩展。&lt;/p&gt;

&lt;p&gt;安装后，扩展会在网页中扫描 &lt;code&gt;.m3u8&lt;/code&gt; 链接和视频地址，右上角提供快捷入口，点击自动新建下载任务，自动带入常见请求信息，例如 &lt;code&gt;url&lt;/code&gt;、&lt;code&gt;referer&lt;/code&gt;、&lt;code&gt;origin&lt;/code&gt; 和 &lt;code&gt;user-agent&lt;/code&gt;，可以减少手动复制和整理参数的步骤。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/0267a64e-dacd-4e15-9e8c-20f3802714d7.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="技术栈"&gt;技术栈&lt;/h2&gt;
&lt;p&gt;前端：React 19、TypeScript、Vite 8、Ant Design 6
桌面端：Tauri 2
后端逻辑：Rust&lt;/p&gt;
&lt;h2 id="地址"&gt;地址&lt;/h2&gt;
&lt;p&gt;源码地址：&lt;a href="https://github.com/Liubsyy/M3U8Quicker" rel="nofollow" target="_blank"&gt;https://github.com/Liubsyy/M3U8Quicker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;可前往&lt;a href="https://github.com/Liubsyy/M3U8Quicker/releases" rel="nofollow" target="_blank" title=""&gt;Release&lt;/a&gt;页面下载安装包。&lt;/p&gt;</description>
      <author>liubsyy</author>
      <pubDate>Sun, 12 Apr 2026 14:37:42 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/7191</link>
      <guid>https://beta.w2solo.com/topics/7191</guid>
    </item>
    <item>
      <title>在 VS Code 里直接浏览和修改 JAR 插件</title>
      <description>&lt;p&gt;平时做 Java 开发时，很多人应该都遇到过这种情况：&lt;/p&gt;

&lt;p&gt;你拿到一个 JAR，只是想进去看一眼，或者改一个小地方试试，结果却要先解压、再找文件、再反编译、改完以后还得重新打包。&lt;/p&gt;

&lt;p&gt;事情不大，但步骤很多，用起来总觉得不顺手。&lt;/p&gt;

&lt;p&gt;所以我做了一个 VS Code 扩展，名字叫 &lt;code&gt;JarEditor&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;之前我做过一款 IDEA 插件，也叫 &lt;code&gt;JarEditor&lt;/code&gt;。这次是把这套能力带到了 VS Code 里，希望让 “查看、编辑、回写 JAR” 这件事更简单一点。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/bdf62666-3e50-4c90-8264-f62643e1fdff.gif?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="它能做什么"&gt;它能做什么&lt;/h2&gt;
&lt;p&gt;简单来说，&lt;code&gt;JarEditor&lt;/code&gt; 可以让你直接在 VS Code 里处理 JAR 文件。&lt;/p&gt;

&lt;p&gt;现在已经支持这些功能：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;在 Explorer 里直接浏览工作区中的 JAR&lt;/li&gt;
&lt;li&gt;查看 JAR 内部的目录和文件&lt;/li&gt;
&lt;li&gt;直接打开和编辑普通文本文件&lt;/li&gt;
&lt;li&gt;把 &lt;code&gt;.class&lt;/code&gt; 反编译成 Java 源码查看&lt;/li&gt;
&lt;li&gt;修改 &lt;code&gt;.class&lt;/code&gt; 后重新编译&lt;/li&gt;
&lt;li&gt;在 JAR 里新增文件、目录、类&lt;/li&gt;
&lt;li&gt;删除不需要的 entry&lt;/li&gt;
&lt;li&gt;把修改重新构建回原始 JAR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;也就是说，以前那种 “解压 -&amp;gt; 修改 -&amp;gt; 再打包” 的流程，现在很多时候可以直接在编辑器里做完。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/975c34d8-3ada-4531-9c18-c54fcaa594db.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="适合什么时候用"&gt;适合什么时候用&lt;/h2&gt;
&lt;p&gt;我觉得它比较适合下面这些场景：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;想快速看看第三方依赖包里到底有什么&lt;/li&gt;
&lt;li&gt;想确认某个配置文件、资源文件是不是你预期的内容&lt;/li&gt;
&lt;li&gt;想看某个 &lt;code&gt;.class&lt;/code&gt; 实际反编译出来是什么样&lt;/li&gt;
&lt;li&gt;想临时改一点内容做验证&lt;/li&gt;
&lt;li&gt;想快速处理历史包、补丁包或者线上包&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;如果你平时经常和 Java 产物打交道，这种方式会省掉不少折腾。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/25fd3565-4eb3-4c60-a973-bf21f13053e6.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="怎么安装"&gt;怎么安装&lt;/h2&gt;
&lt;p&gt;直接在 VS Code 扩展市场搜索 &lt;code&gt;JarEditor&lt;/code&gt; 安装即可。&lt;/p&gt;

&lt;p&gt;如果你需要编辑 &lt;code&gt;.class&lt;/code&gt; 并重新编译，机器上准备一个可用的 JDK 就可以了。&lt;/p&gt;
&lt;h2 id="项目地址"&gt;项目地址&lt;/h2&gt;
&lt;p&gt;GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Liubsyy/jar-editor-vscode" rel="nofollow" target="_blank"&gt;https://github.com/Liubsyy/jar-editor-vscode&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="最后"&gt;最后&lt;/h2&gt;
&lt;p&gt;从之前的 IDEA 版 &lt;code&gt;JarEditor&lt;/code&gt;，到现在这个 VS Code 版，我一直想做的其实都是同一件事：让操作 JAR 这件事别那么麻烦。&lt;/p&gt;

&lt;p&gt;如果你平时会在 VS Code 里处理 Java 项目，或者经常需要查看、修改 JAR，欢迎试试这个项目，也欢迎反馈意见。&lt;/p&gt;</description>
      <author>liubsyy</author>
      <pubDate>Fri, 27 Mar 2026 14:02:57 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/7129</link>
      <guid>https://beta.w2solo.com/topics/7129</guid>
    </item>
    <item>
      <title>轻松上手 Java 字节码编辑：IDEA 插件 VisualClassBytes 问世</title>
      <description>&lt;p&gt;市面上的 Java 字节码工具虽然不少，但是都不够完善，要么只支持查看，要么只有部分功能，还有的工具多年不更新了，传统且稳定的修改 class 的方式还是反编译再修改再编译，但是有时我们需要直接修改字节码还需要用字节码库，比如 ASM 和 javassist 等。&lt;/p&gt;

&lt;p&gt;我花了三周时间写了一款 IDEA 插件，可以直接修改字节码。&lt;/p&gt;
&lt;h2 id="功能介绍"&gt;功能介绍&lt;/h2&gt;
&lt;p&gt;首先在插件市场安装 VisualClassBytes&lt;/p&gt;

&lt;p&gt;然后在 class 文件（jar 内 class 亦可）上右键-&amp;gt;VisualClassBytes，就能打开 class 编辑器了&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/1ff8a665-58fa-4ede-bda7-4cb9d8c830f9.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;可修改类信息，字段信息，内部类信息和方法的基本信息、字节码、本地变量表、异常表等。&lt;/p&gt;

&lt;p&gt;源码地址：&lt;a href="https://github.com/Liubsyy/VisualClassBytes" rel="nofollow" target="_blank" title=""&gt;https://github.com/Liubsyy/VisualClassBytes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;欢迎交流！&lt;/p&gt;</description>
      <author>liubsyy</author>
      <pubDate>Thu, 14 Nov 2024 23:28:48 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/5238</link>
      <guid>https://beta.w2solo.com/topics/5238</guid>
    </item>
    <item>
      <title>可直接编辑 jar 包的 IDEA 插件-JarEditor</title>
      <description>&lt;p&gt;在开发中我们有时会遇到这样的场景，需要修改 jar 包内某个 class，常见的方法就是先解压缩，然后反编译这个 class，新建 java 修改再编译，最后再打包，整个过程是非常耗时的。&lt;/p&gt;

&lt;p&gt;这里向大家介绍一款 IDEA 插件：JarEditor，可以一键修改 JAR 包内文件，无需解压。&lt;/p&gt;
&lt;h2 id="使用介绍"&gt;使用介绍&lt;/h2&gt;
&lt;p&gt;首先从市场安装插件 JarEditor，IDEA 版本 &amp;gt;= &lt;strong&gt;2020.3&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/89014973-594b-48e6-b4a2-bd6a0796a185.png?imageView2/2/w/1920/q/100" width="800" height="606"&gt;&lt;/p&gt;

&lt;p&gt;在插件市场安装插件 JarEditor 后，可以在.class 反编译文件中看到一个切换到 Jar Editor 的 tab 页&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/514f5a7e-5299-414f-9f8e-354a8fbe31f7.png?imageView2/2/w/1920/q/100" width="800" height="506"&gt;&lt;/p&gt;

&lt;p&gt;修改完成后，点击 Save（Compile），编译并保存当前修改的 java 内容，最后点击 Build Jar，将编译保存的类文件写入 Jar 包中。
修改 jar 包中的资源文件也是支持的。&lt;/p&gt;

&lt;p&gt;另外在 jar 包的项目视图中，右键可以看到 JarEditor-&amp;gt;New/Delete 等操作，可以在 jar 内添加/删除/重命名/复制/粘贴文件。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/liubsyy/3a17770c-fb0f-4f94-b607-dd4e6e770df7.png?imageView2/2/w/1920/q/100" width="600" height="560"&gt;&lt;/p&gt;
&lt;h2 id="源码交流"&gt;源码交流&lt;/h2&gt;
&lt;p&gt;原理和实现细节以及后续更新详见源码：&lt;a href="https://github.com/Liubsyy/JarEditor" rel="nofollow" target="_blank" title=""&gt;https://github.com/Liubsyy/JarEditor&lt;/a&gt;&lt;/p&gt;</description>
      <author>liubsyy</author>
      <pubDate>Tue, 16 Jul 2024 12:05:28 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/4774</link>
      <guid>https://beta.w2solo.com/topics/4774</guid>
    </item>
  </channel>
</rss>
