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。
你可以拿去改,也可以拿去骂——但请先把它跑起来。
GitHub @CGG888 ↗ 请我喝杯咖啡 →