Oasis 是一個你自己架、自己用的個人謎片收藏中心與下載器:網頁介面是公開部署的 oasis.fusion-labs.cc,但實際的爬蟲、下載與資料庫都跑在你自己的電腦上——你的謎片清單、下載紀錄都留在你自己的硬碟裡,不會經過任何人的伺服器。
支援從多個謎片網站解析與下載(並持續擴充支援的網站),結合 Python 爬蟲後端與 Next.js 網頁前端,提供網址解析、自動翻譯、下載、手動新增、標籤與演員分類管理,到串流或本機播放器播放的一站式體驗。
English: Oasis is a self-hosted personal adult video (AV) collection manager & downloader. The web UI (oasis.fusion-labs.cc) is publicly hosted, but scraping, downloading, and your database all run on your own machine — nothing leaves your disk. Supports auto-parsing, translation, and one-click downloading from Jable, MissAV, SupJav, XVideos, and Anime1.
⚠️ 內容性質:本工具內建的站台 adapter 多數針對的是成人謎片網站(見下方〈支援的網站〉,其中 Anime1 為動畫網站)。若要使用成人網站的 adapter,請確認你已達所在地區法定成年年齡,且下載、觀看該類內容合法,再使用本工具。
不確定要選哪個?先選第一種——不用裝任何開發工具,最快能看到成果。
| 情境 | 建議 | 需要安裝 |
|---|---|---|
| 只想連 oasis.fusion-labs.cc,下載動作在自己電腦上跑(Windows / macOS 皆可) | 下載打包好的 oasis-backend |
不需要 git / Node.js / Python |
| 想要完整體驗、之後也想自己改程式碼 | git clone + 一鍵啟動腳本 |
Python、Node.js(腳本會引導安裝) |
不需要 git、Node.js 或 Python:到 Releases 下載對應作業系統的 oasis-backend-*.zip,解壓縮後:
- Windows:雙擊
oasis-backend.exe。oasis-backend.exe沒有數位簽章,第一次執行時 Windows SmartScreen 會顯示「Windows 已保護您的電腦」擋下執行:點「其他資訊」,再點「仍要執行」即可。之後同一個檔案不會再跳出這個警告。 - macOS:
oasis-backend沒有簽章,第一次執行前需要手動解除隔離標記,否則雙擊會被 Gatekeeper 擋下(顯示「無法確認開發者」):- 在解壓縮後的資料夾按右鍵 →「服務」→「於資料夾建立終端機頁籤」,開啟終端機。 (沒有這個選項的話:把整個資料夾拖到 Dock 上的「終端機」圖示,一樣能在該路徑開啟終端機。)
- 貼上
xattr -cr .,按 Enter。這行只需要跑一次,之後就不會再被擋。 - 雙擊
oasis-backend.command啟動後端。 (oasis-backend本體也能雙擊直接開,差別只是少了啟動前的 Chrome 偵測提示。)
後端啟動後,直接開啟 oasis.fusion-labs.cc 即可,它會自動連到你電腦上 http://localhost:8000 的後端。你的影片、資料庫都存在解壓縮出來的這個資料夾裡。
macOS & Linux:
chmod +x oasis-portal.sh
./oasis-portal.shWindows:建議直接雙擊執行 oasis-portal.bat —— 它會自動以 PowerShell 啟動整個流程,無需額外設定。
💡 直接雙擊
.ps1檔預設只會用記事本開啟(除非你已將.ps1的預設程式設為 PowerShell)。若偏好手動在 PowerShell 中執行:./oasis-portal.ps1
啟動腳本會自動完成:
- 檢測並引導安裝 Python、Node.js、FFmpeg、Google Chrome 等系統組件。
- 在
oasis/目錄建立 Python 虛擬環境並安裝 backend 依賴。 - 自動安裝 frontend npm 依賴套件。
- 初始化資料庫並建立
movies/儲存資料夾。 - 啟動並預載 FastAPI 後端服務(Port 8000)。
- 啟動 Next.js 開發伺服器(Port 3000)並自動開啟瀏覽器。
只想跑後端(例如你想自己架設給區網其他裝置連)可加參數:./oasis-portal.sh --backend-only。
想改程式碼、新增站台 adapter,或想了解架構怎麼運作?看 DEVELOPMENT.md。
- 🎨 現代化網頁介面:基於 Next.js 與 Tailwind CSS 打造的暗黑風格儀表板,支援響應式佈局。
- 🔍 智慧元數據爬取:輸入影片網址後,後端透過 Selenium Headless Chrome 自動提取番號、演員、標籤與封面,並自動將日文標題翻譯為繁體中文。
- 📂 在地化資料庫管理:所有解析或下載的影片皆儲存於本機 SQLite 資料庫 (
oasis.db),方便隨時檢索。 - ⚡ 序列化下載佇列與即時進度:獨立 OS 進程下載,不阻塞 Web 伺服器;佇列逐一執行並即時顯示進度;自動處理 m3u8 播放清單、TS 分段下載、合成 MP4 與轉檔。
- 🔁 重啟續存:下載佇列與進度會持久化,即使後端服務重啟也能還原未完成的工作,不必從頭來過。
- 🎬 靈活的播放方案:內建 Plyr 播放器線上串流,或一鍵呼叫電腦預設播放器(VLC、IINA、PotPlayer 等)並自動記錄播放次數與進度。
- 🎲 隨機挑片:一鍵從已下載的影片中隨機跳轉到一部。
- ☑️ 多選批次操作:在卡片上多選,一次批次匯出或刪除多部影片。
- 🔄 JSON 匯入 / 匯出:整份收藏庫或所選影片可匯出與匯入,方便備份與遷移。
- 📚 系列管理:把相關影片收成一個「系列」並排好集數。整季動畫解析時會自動建立系列並編好集數;也可以在片庫沙盒選取多部影片後按「加入系列」,自己建立系列並放進去。系列內一律依集數排序,點卡片上的系列晶片就只看那一季。
- ✍️ 手動新增:沒有 adapter 的網站也能收藏——自己填標題、番號、演員、標籤即可,不需要自動解析。
- 🕶️ Awake Mode(老闆鍵偽裝):
⌘+X(macOS)/Alt+X(Windows 等)一鍵將整個網站偽裝成 Google 首頁,狀態跨重新整理與分頁重開持久化保留。 - 🛠️ 一鍵啟動與環境建置:跨平台整合啟動腳本,自動安裝依賴、建立虛擬環境並同時啟動前後端。
若走「方式一:只要後端」,打包好的 .exe / .command 已內含所有需要的東西,不需要另外安裝。
若走「方式二:完整原始碼」,請確保系統已安裝:
- Python 3.10+(用於運行 FastAPI 後端與爬蟲下載器)
- Node.js 18+ & npm(用於運行 Next.js 前端)
- FFmpeg(用於影音片段合併與轉檔)
- Google Chrome / Chromium(Selenium 解析網頁所需)
💡 自動安裝支援:啟動腳本(macOS/Linux:
oasis-portal.sh,Windows:oasis-portal.ps1)在偵測到缺失FFmpeg或Chrome時,會嘗試透過系統套件管理器(如apt-get、brew、winget)進行自動安裝。
- 原始碼版:每次啟動
oasis-portal腳本都會自動拉取最新程式碼,不用手動操作。 - 打包版:到 設定頁 → 關於與更新 按「檢查更新」,有新版本的話按 「立即更新」 即可,後端會自己下載、更新並重新啟動。你的資料庫(
oasis.db)與影片(movies/)不會受影響,會完整保留。更新期間請避免有下載工作正在進行中。
更新機制的實作細節(helper 程序如何抽換檔案、light/full 更新差異)在 DEVELOPMENT.md 裡。
| 網站 | 網域 | 自動解析/下載 |
|---|---|---|
| Jable | jable.tv |
✅ |
| MissAV | missav.* |
✅ |
| SupJav | supjav.* |
✅ |
| XVideos | xvideos.* |
✅ |
| Anime1 | anime1.me |
✅ 支援整季批次 |
這些是隨版本內建的 adapter(backend/sites/*.json),可以直接貼網址自動解析番號、演員、標籤、封面並下載。
XVideos 的番號是自動編號:該站的影片標題由上傳者自由填寫,沒有可用的番號,因此收藏庫會依加入順序自動給號(XV-01、XV-02⋯)。同一支影片重新分析仍會沿用原本的號碼,不會重複新增一筆。
Anime1 支援整季批次:貼上單集網址就只加那一集;貼上該部動畫的分類頁(例如 anime1.me/category/<季度>/<動畫名>),會一次把整季每一集都加進收藏庫,按「分析並下載」則全部排入下載佇列,逐集依序下載,每集可各自取消。
其他網站也能收藏,只是不會自動解析/下載。 在網頁介面按「新增影片」→「手動新增」,自己填標題、番號、演員、標籤與封面圖,就能把任何網址記錄進收藏庫;要幫該網站做到跟上面一樣的自動解析/下載,需要自己寫一份 adapter,做法看 DEVELOPMENT.md。
開 GitHub Issue 之前,請先確認自己是用最新版本;回報時請附上:
- 你用的方式(打包後端 / 原始碼)、作業系統、版本號(設定頁「關於與更新」可查)。
- 觸發問題的操作步驟,以及預期結果 vs. 實際結果。
- 若後端主控台視窗有印出錯誤訊息,直接複製貼上。
不方便用 GitHub 的話,也可以填 問題回饋表單。
oasis.db、oasis.auth.json 或其他包含個資/連結的檔案內容。
本工具內建的站台 adapter 中,Jable、MissAV、SupJav、XVideos 為成人影片(A 片)網站,其相關功能僅供已達所在地區法定成年年齡、且該地區法律允許之使用者使用;Anime1 為動畫網站。使用者自行新增的站台 adapter 由使用者自己提供與維護。
使用者須自負其設定與使用行為,並遵守目標網站的服務條款與當地法律。
本專案依 LICENSE 授權;第三方元件授權見 THIRD-PARTY-LICENSES.txt。


