INDEX/PINNED × 4/REAL SCREENSHOTS
门口只挂
四件东西。
置顶是我自己挑的,不是按星数排的。
主业币圈的技术支持与服务不在这个页面上——工作和作品,我分得很清。
剩下的 100+ 个仓库躺在 GitHub 上,大多是我在学的、在改的、和暂时没想明白的。
000
清点
四个仓库,两种来历
$ gh pinned --list --with-numbers
SrcBox 132★ C# · 原创 · Windows 播放器
channel-sentinel 74★ JS · 原创 · 信号检测
iptvnator 49★ TS · Fork · 跨平台播放器
headplaneCN 0★ TS · Fork · 自托管面板中文分支
—— 两个是我从零写的,两个是别人的项目,我改了它。
—— 数字每晚重新抓一次,不是写死在页面里的。
$ ls -1 ~/工作
(主业:币圈的技术支持与服务。工作不进作品页,这是我给自己定的规矩。)
$ gh repo list --limit 200 | wc -l
108 —— 其余 104 个都在角落里,我不打算把它们摆出来
$
一个工具真正的验收标准只有一个:
它今天有没有在我自己的机器上跑着。
所以这个页面不按「技术含量」排,也不按「完成度」排。它按我用它的频率排。
排在最前面的那个播放器,我几乎每天都在用。最后那个面板,我每次改完都会自己去点一遍。
001
四件东西
截图都是真的,不是渲染图
002
为什么只有四件
关于「不把仓库全弄上去」我的 GitHub 上有一百多个仓库。如果把它们全铺在这个页面上,你会看到一片灰色——因为我确实 fork 了很多东西:路由器固件、媒体库、面板、订阅转换、一堆我某天凌晨觉得「这个我得看看」的项目。
它们都是真的,也都对我有用。但它们不是我的作品。一本书架不该假装自己写的每一本书。
还要先说清一件事:主业是币圈的技术支持与服务,那不在这里。那些东西没有仓库、没有截图,也不该出现在一个个人作品页上。工作用来吃饭,作品用来证明我还没把自己整个交出去。
所以我做了个很粗暴的决定:只有置顶的才配出现在这个页面上。置顶是我自己在 GitHub 上点的,不是算法给的。我想挂四件,就只有四件。
如果你真的想看我都在折腾什么,直接去 GitHub 翻——那里是全部,包括那些半途而废的。这里只是门口。
NOTE / 关于截图的诚实声明
这个页面上的每一张图,都是我自己在这台机器上截的屏,没有一张是设计稿或渲染图。上面出现的频道名、台标、节目画面,是直播流当时真实在播的内容——它们每天都不一样,截图只是那一天的证据。
NO MOCKUPS · NO STOCK PHOTOS
003
我用什么做东西
清单,不是广告- 主业币圈相关的技术支持与服务不在这个页面上
- 桌面端C# · .NET 8 · WPF · ModernWpf · libmpv(P/Invoke 封装)SrcBox
- 服务端Node.js · Express · ffprobe · PM2 · Dockerchannel-sentinel
- 前端原生 JavaScript / TypeScript · 不引框架的中小型界面通用
- 流媒体UDP 组播 · RTP · HLS · mpegts.js · hls.js · XMLTV / EPG通用
- 自托管Headscale · Headplane · fnOS · NAS · 内网穿透 · WebDAVheadplaneCN
- 这个站手写 HTML / CSS / JS,零依赖,零构建,GitHub Pagesmtoo.vip
代码全在 GitHub 上,全部 MIT。
你可以拿去改,也可以拿去骂——但请先把它跑起来。
你可以拿去改,也可以拿去骂——但请先把它跑起来。