Aluminum-Depot/Tinf0il
GitHub: Aluminum-Depot/Tinf0il
基于 Scramjet 代理的私密上网门户,整合了网页代理、游戏目录、影视流媒体和体育直播等功能。
Stars: 45 | Forks: 254
# tinf0il
一个基于 [Scramjet](https://github.com/MercuryWorkshop/scramjet) 构建的整洁、快速的代理门户,并使用 libcurl 进行数据传输。支持私密地浏览、游戏、流媒体播放和办公。
## 功能
### 代理与隐私
- **Scramjet 代理** — 通过 service worker 实现完整的 URL 重写,使用 libcurl 进行数据传输
- **标签页伪装** — 伪装标签页标题、网站图标和地址栏域名;提供针对 Schoology、Canvas 和 Google Classroom 的预设;或从任意 URL 导入
- **隐身路由** — 在每次请求时剥离 referrer 和遥测数据
- **无日志** — 零遥测,无追踪
### 游戏与应用
- **游戏目录** — 通过 [3kh0 lite](https://github.com/3kh0/3kh0-lite) 提供数千款无限制游戏,支持按标签筛选
- **应用目录** — 精选的 Web 应用列表,一键启动
- **收藏夹** — 置顶游戏和应用以便快速访问
### tinf0il TV (`/tv`)
一个基于 Next.js 构建并嵌入到门户中的全功能流媒体界面。
**电影与电视剧**
- 搜索和浏览电影和电视剧(TMDB)
- 首页提供热门、流行和 top-rated 内容
- 每个片源提供多个流媒体服务器,支持即时切换
- 带有按季导航的剧集选择器
- 自动播放和自动播放下一集
- 柔和模式 — 播放器处于活动状态时会使页面变暗
- 观看历史 — 从您上次离开的地方继续观看
- 个人收藏 — 将片名保存到观看列表(需要账户)
- 评分、演员信息和流派元数据
- 每个片名的评论区
- 根据您正在观看的内容提供推荐
- 分享按钮 — 将直接链接复制到剪贴板
**体育直播**
- 直播和即将开始的体育赛事,每 60 秒自动刷新一次
- 按运动类型分组的赛事(MMA、拳击、摔跤、橄榄球、AFL、足球、篮球、棒球、冰球、板球、网球、高尔夫、赛车运动等)
- 通过实时状态检测直播与即将开始的赛事
- 每场赛事提供多个流媒体源,支持按编号切换流媒体
- 分享按钮 — 将直接链接复制到剪贴板
**目录**
- 同时搜索电影和电视剧
- 按类型(全部 / 电影 / 电视剧)筛选,以及成人内容开关
- 带有可收藏页面 URL(`/tv/catalog/2`)的分页结果
**通用**
- 深度链接 — 每个页面都有一个可共享的 URL(`/tv/sports`, `/tv/sports/watch/:id`, `/tv/watch/:id`)
- 在 TV 部分内导航时,URL 栏保持同步
- 通过直接 URL 访问可加载正确的页面,无需经过主页
### 个性化
- **主题** — midnight、daylight、acid、bubblegum
- **自定义光标** — 圆点、十字准线或关闭
- **设置同步** — 偏好设置通过 Firebase 绑定到您的账户
- **应急快捷键** — 瞬间切换标签页
## 技术栈
| 层级 | 技术 |
|---|---|
| 代理 | Scramjet |
| 传输 | Wisp + libcurl |
| 服务器 | Express 5 |
| 主 UI | React 18 (CDN, 无构建步骤) |
| TV UI | Next.js 16 App Router + Tailwind CSS |
| 认证与同步 | Firebase |
| 电影/电视数据 | TMDB API |
| 体育数据 | ntvs.cx |
| 运行时 | Node.js ≥ 20.11 |
## 开始使用
```
npm install
npm start
```
打开 `http://localhost:8787`。
### TV 部分(可选,自动启动)
TV 应用位于 `movieverse/` 目录下,并随主服务器自动启动。如果您想手动运行它:
```
cd movieverse
npm install
npm run dev # development
npm start # production (requires a build)
```
要从 3kh0 lite 刷新游戏目录:
```
npm run build:games
```
## 部署
服务器绑定到 `process.env.PORT`(默认为 `8787`)。如果首选端口被占用,它会自动向上寻找可用端口。在任何支持 Node 的主机上(Railway、Render、Heroku、VPS 等)均可开箱即用。
## 许可证
MIT
标签:MITM代理, Scramjet, Web代理, 小游戏, 标签伪装, 流媒体聚合, 网络安全, 自定义脚本, 隐私保护