From 50522dd1dc2f2e861d19067c97b57eedcc889139 Mon Sep 17 00:00:00 2001 From: juneix Date: Sat, 7 Mar 2026 17:20:39 +0800 Subject: [PATCH] v1.0 --- README.md | 110 ++++++++++++++++++++++++---------------- README_zh.md | 135 ++++++++++++++++++++++---------------------------- en/index.html | 71 ++++++++++++-------------- index.html | 21 -------- zh/index.html | 34 ++++++------- 5 files changed, 174 insertions(+), 197 deletions(-) delete mode 100644 index.html diff --git a/README.md b/README.md index d0d559a..a8ef40e 100644 --- a/README.md +++ b/README.md @@ -1,80 +1,89 @@ -# 📱 EmbyX Vertical Player `v1.1` +# 📱 EmbyX -[中文说明](./README_zh.md) | [English Documentation](./README.md) +[中文说明](./README_zh.md) -> A TikTok-style web interface for Emby / Jellyfin, designed for browsing and managing short videos in an immersive way. - ---- +A TikTok-style web player for Emby / Jellyfin. Experience your private media library in a whole new, immersive way. ## ✨ Features -- **Fluid Playback**: TikTok-style vertical scrolling, immersive full-screen experience. -- **Grid View**: Browse with cover walls, supports pagination and random refresh. -- **Direct Play**: Works natively on modern devices. Support for 8K, AV1, and HEVC without transcoding. -- **Library Sync**: One-tap to favorite/unfavorite videos, fully synced with Emby server. -- **Key & Mouse Support**: Complete keyboard shortcut mapping. Friendly for TV and PC browsers. -- **PWA Ready**: Install as a desktop or home screen app. -- **Privacy First**: All data is stored locally; nothing is uploaded to the cloud. +- **Fluid Playback**: TikTok-style vertical scrolling for an **immersive** experience. +- **Direct Play**: Up to **8K HEVC / AV1** on Android—no transcoding. +- **Poster Wall**: Elegant album view with pagination and **shuffle**. +- **Emby Sync**: Real-time sync for **libraries, playlists, and favorites**. +- **Desktop Friendly**: Optimized for **keyboard & mouse**, Perfect for TV and PC. +- **PWA Ready**: Install as a **standalone** app on your home screen or desktop. +- **Privacy First**: All data stays **on your device**, no cloud uploads. + + +## 💡 Get Started + +Try EmbyX instantly via the official web app: +- 🌐 **Main Site** - [embyx.5nav.eu.org](https://embyx.5nav.eu.org) +- ⚡ **Mirror Site** - [embyx.5nav.pp.ua](https://embyx.5nav.pp.ua) + +Prefer full control? You can **self-host** EmbyX on your own server. + + +## 📢 Spread the Word + +If EmbyX makes your digital life easier, please share it with your friends or on social media! As an independent developer, your word-of-mouth is the best way to help this project grow. + +> Love it? [Donations are welcome!](#❤️-support-the-project) ---- ## 🔮 Playback Performance | Device | HEVC Decode | AV1 Decode | |:---:|:---:|:---:| | Apple | A9 (2015) / M1 | A17 Pro (2023) / M3 | -| Android | Budget (2016) | Budget (2024) | -| PC | Intel Core 6-8th Gen (iGPU) | Intel Core 11th Gen+ (iGPU) | +| Android | Budget Phones (2016) | Budget Phones (2024) | +| PC | Intel 6-8th Gen iGPU | Intel 11th Gen+ iGPU | ---- ## ⌨️ Shortcuts Guide | Key | Function | |:---:|---| -| `W / S / ↑ / ↓` | Previous / Next Video | -| `A / D / ← / →` | Seek Back / Forward 15s | +| `W / S / ↑ / ↓` | Prev / Next Video | +| `A / D / ← / →` | Rewind / Forward 15s | | `Space / Click OK` | Pause / Play | | `U / Double Click OK` | Favorite Video | | `J / Menu Key` | Toggle Aspect Ratio | | `M` | Toggle Mute | -| `I` | Open Settings / Profile | -| `E` | Toggle View Mode (List/Grid) | -| `R` | Sequential / Random Mode | -| `F` | Fullscreen Mode | -| `G` | Toggle Libraries | -| `V` | Show File Info | +| `I` | Profile | +| `E` | Toggle View | +| `R` | Sequential / Random | +| `F` | Toggle Fullscreen | +| `G` | Select Libraries | +| `V` | Media Info | ---- ## 📁 Directory Structure ``` embyx/ ├── zh/ # Chinese Version -│ ├── index.html -│ ├── manifest.json -│ └── ... ├── en/ # English Version -│ ├── index.html -│ ├── manifest.json -│ └── ... -├── README.md # English (Default) -└── README_zh.md # Chinese +├── README.md # English Documentation (Default) +├── README_zh.md # Chinese Documentation +├── Dockerfile # Docker Image Build File +├── docker-compose.yml # Docker Compose Configuration +├── entrypoint.sh # Docker Entrypoint +└── nginx.conf # Nginx configuration ``` ---- ## 🚀 Deployment ### Option 1: Direct File Hosting (Recommended) -Simply put all files from either `zh/` or `en/` folder into your web server (Nginx, Apache, etc.). +Simply put all files from `en/` folder into your web server (Nginx, Apache, etc.) ### Option 2: Docker Deployment -One image, multiple languages. Controlled by environment variable. +If you don't want to mess with the web environment, you can use docker to deploy quickly. +#### Docker: ```bash docker run -d \ --name embyx \ @@ -83,17 +92,30 @@ docker run -d \ -e APP_PORT=8090 \ ghcr.io/juneix/embyx:latest ``` +#### Docker Compose: +```yaml +services: + embyx: + image: ghcr.io/juneix/embyx:latest + container_name: embyx + restart: unless-stopped + network_mode: host + environment: + - APP_LANG=en # English Version + - APP_PORT=8090 # Access Port +``` + +## ❤️ Support & Community + +If you find EmbyX useful, consider supporting its development or joining our community. Your word-of-mouth and support help this project grow! + +| Support | Community | +| :--- | :--- | +| [![Donate with PayPal](https://img.shields.io/badge/PayPal-Donate-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://paypal.me/juneixtse) | [![Telegram Channel](https://img.shields.io/badge/Telegram-Join%20Channel-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/juneix_en) | +| [![Buy Me a Coffee](https://img.shields.io/badge/Ko--fi-Support%20Me-FF5E5B?style=for-the-badge&logo=kofi&logoColor=white)](https://ko-fi.com/juneixtse) | [![X (Twitter)](https://img.shields.io/badge/X-Follow%20Me-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.com/juneix_tse) | -| Env | Description | Default | -|---|---|---| -| `APP_LANG` | `en` (English) / `zh` (Chinese) | `en` | -| `APP_PORT` | The port the container will listen on | `8090` | ---- ## 📝 License MIT License — Feel free to use, PRs and Issues are welcome. - -👨🏻‍💻 Author: [@Juneix](https://juneix.github.io) -🛜 Official Site: [June's Hub](https://5nav.eu.org) diff --git a/README_zh.md b/README_zh.md index c9d80bf..550c001 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1,20 +1,33 @@ -# 📱 EmbyX 竖屏播放器 `v1.1` +# 📱 EmbyX -> 这是一个技术小白借助 Antigravity 和 Emby API 制作的 Web 应用,仿抖音风格浏览、管理 Emby 的短视频。 - ---- +EmbyX 是一款专为 Emby / Jellyfin 打造的 Web 原生应用,完美复刻抖音·短视频沉浸式交互,让你的私人媒体库焕发全新的刷片体验。🎉 ## ✨ 功能特色 - **流式播放**:抖音风格上下滑动,沉浸式全屏体验 -- **格子视图**:封面墙浏览,支持分页与随机换一批 -- **直接播放**(Direct Play):安卓 AV1、8K 不转码 -- **收藏管理**:一键收藏 / 取消,同步 Emby 数据库 -- **键鼠适配**:完整键盘快捷键,电视/电脑浏览器友好 -- **PWA 支持**:可安装为桌面/主屏幕应用 -- **私有化部署**:数据本地存储,不上传云端 +- **直接播放**:安卓最高支持 8K HEVC / AV1 不转码 +- **相册视图**:封面墙浏览,支持分页、换一批 +- **Emby 同步**:支持媒体库、播放列表、收藏夹 +- **键鼠适配**:纯按键控制,电脑、电视轻松摸鱼 +- **PWA 支持**:添加到主屏幕 / 作为应用安装 +- **隐私第一**:数据本地存储,绝不上传云端 + + +## 💡 快速开始 + +推荐直接访问我的 EmbyX 官方网站,开箱即用: +- 🌐 **主站点** - [dy.5nav.eu.org](https://dy.5nav.eu.org) +- ⚡ **镜像站** - [dy.5nav.pp.ua](https://dy.5nav.pp.ua) + +喜欢完全控制?你也可以自托管 EmbyX 应用。 + + +## 📢 广而告之 + +如果 EmbyX 让你的数字生活变得更轻松,请分享给你的朋友或在社交媒体上推荐它!作为一名独立开发者,你的口碑是帮助这个项目成长最好的方式。 + +> 喜欢这个项目吗?[欢迎打赏支持!](#❤️-支持项目) ---- ## 🔮 播放性能 @@ -45,91 +58,48 @@ --- -## 🧩 使用技巧 - -- **原生全屏**:iOS 系统限制,不支持全屏按钮 -- **PWA 应用**:浏览器 📲 添加到主屏幕 / 作为应用安装 -- **键鼠适配**:电脑、电视浏览器也能快乐摸鱼 -- **媒体库建议**:单个媒体库建议不超过 **1000 个视频**,可建立多个媒体库分层管理 - ---- - -## 🛠️ 技术栈 - -| 层级 | 技术 | -|---|---| -| **结构** | HTML5 语义化标签 | -| **样式** | Tailwind CSS(CDN,JIT 按需) | -| **逻辑** | 原生 JavaScript(无框架) | -| **图标** | Lucide Icons(CDN) | -| **数据** | Emby REST API | -| **离线支持** | Service Worker(PWA) | -| **容器** | Nginx Alpine(Docker 部署时) | - ---- - ## 📁 文件目录 ``` embyx/ -├── index.html # 核心文件,包含所有逻辑与样式 -├── poster.webp # 自定义默认封面图(可替换) -├── manifest.json # PWA 配置文件 -├── sw.js # Service Worker(离线缓存) -├── icon.png # PWA 图标 +├── zh/ # 中文版资源 +├── en/ # 英文版资源 +├── README.md # 英文说明文档 (默认) +├── README_zh.md # 中文说明文档 ├── Dockerfile # Docker 镜像构建文件 -└── docker-compose.yml # 一键部署配置 +├── docker-compose.yml # Docker Compose 配置文件 +├── entrypoint.sh # Docker 启动脚本 +└── nginx.conf # Nginx 配置文件 ``` --- ## 🚀 部署方式 -### 方式一:直接部署(推荐个人用户) +### 方式一:直接托管(推荐) -将以下文件放入任意 Web 服务器(Nginx、Apache、NAS 静态服务等)根目录: +只需将 `zh/` 文件夹中的所有文件放入你的 Web 服务器(Nginx、Apache 等)根目录即可。 -``` -index.html -poster.webp -manifest.json -sw.js -icon.png -``` +### 方式二:飞牛应用 -> **尝鲜玩法**:手机可以直接双击 `index.html`(file:// 协议)本地使用,通过 HTTP 访问 Emby。 +EmbyX 即将上架飞牛商店(审核中),加入交流群可下载 fpk 文件手动安装。 ---- +### 方式三:Docker 部署 -### 方式二:Docker 部署 - -#### 使用 Docker +如果你不想折腾 Web 环境,可以使用 Docker 快速部署。 +#### 使用 Docker: ```bash -# 拉取最新镜像 -docker pull ghcr.io/juneix/embyx:latest - -# 运行容器(映射到本机 8080 端口) docker run -d \ --name embyx \ --network host \ -e APP_LANG=zh \ -e APP_PORT=8090 \ - --restart unless-stopped \ ghcr.io/juneix/embyx:latest ``` -访问 `http://your-server-ip:8080` 即可使用。 - -#### 使用 docker-compose(推荐) - -```bash -# 下载 docker-compose.yml 后执行 -docker compose up -d -``` - -或者直接复制到群晖、飞牛、Dockge 的 docker-compose 模板: -```bash +#### 使用 Docker Compose: +```yaml services: embyx: image: ghcr.io/juneix/embyx:latest @@ -137,14 +107,27 @@ services: restart: unless-stopped network_mode: host environment: - - APP_LANG=zh # zh (中文), en (英文) - - APP_PORT=8090 # 在 host 模式下,直接定义访问端口 + - APP_LANG=zh # 中文版 + - APP_PORT=8090 # 访问端口 ``` ---- + +## ❤️ 支持项目 + +- 打赏鼓励:支持我开发更多有趣应用 +- 互动群聊:加入 💬 [QQ 群](mqqapi://card/show_pslcard?src_type=internal&version=1&uin=646913307&card_type=group&source=qrcode)可在线催更 +- 更多内容:访问 ➡️ [谢週五の藏经阁](https://5nav.eu.org) + +
+
+ +
微信 +
+
+ +
支付宝 +
+
## 📝 开源协议 MIT License — 随意使用,欢迎 PR 和 Issue。 - -👨🏻‍💻 作者:[@谢週五](https://juneix.github.io) -🛜 官网:[谢週五の藏经阁](https://5nav.eu.org) diff --git a/en/index.html b/en/index.html index 6fb6e36..bf924c9 100644 --- a/en/index.html +++ b/en/index.html @@ -1,7 +1,7 @@ @@ -40,13 +40,10 @@