如果您在多個雲端硬碟、FTP 伺服器和 S3 儲存桶之間管理檔案,您就會知道在不同介面之間切換、記住不同 URL 以及調和不同權限模型的痛苦。AList 用一個直接的方案解決了這個問題:一個統管一切的網頁介面。
AList 用 Go(Gin 後端)編寫,搭配現代的 Solidjs 前端,已成長為最受歡迎的自架檔案管理平台之一,累積超過 48,000 個 GitHub 星。它透過一個乾淨、響應式的網頁介面,在幾乎任何儲存後端上提供統一的檔案列表和管理體驗,並具有完整的 WebDAV 支援。
該專案源於一個實際需求:開發者需要跨多個雲端儲存供應商管理檔案,並希望有一個單一的管理介面。最初只是一個簡單的檔案列表,現在已演變為一個功能完整的平台,支援離線下載、跨儲存複製檔案、多執行緒串流和豐富的媒體預覽——同時保持輕量級佔用空間,可在適中的硬體上執行。
AList 支援哪些儲存後端?
AList 的基於驅動程式的架構支援廣泛且持續增長的儲存後端列表。該系統設計為可擴充,社群定期為新的供應商貢獻驅動程式。
| 儲存類別 | 支援的後端 | 存取協定 |
|---|---|---|
| 本地 | 本地檔案系統、掛載卷 | 直接檔案 I/O |
| 雲端硬碟 | 百度網盤、115 雲端、阿里雲端硬碟、Google Drive、OneDrive | OAuth / API 金鑰 |
| 物件儲存 | S3、MinIO、Cloudflare R2、Backblaze B2 | S3 相容 API |
| 基於協定 | FTP、SFTP、WebDAV、SMB/CIFS | 標準協定 |
| 特殊用途 | MediaFire、189 雲端、TeraBox、Yandex Disk | 供應商 API |
每個驅動程式實作一個標準介面,這意味著可以在不修改核心 AList 程式碼的情況下添加新的後端。跨儲存檔案複製功能尤其強大——它允許直接在後端之間複製檔案(例如,從 Google Drive 到 S3),而無需透過本地機器下載和重新上傳。
AList 的架構如何運作?
AList 的架構將後端(Go/Gin API 伺服器)與前端(Solidjs SPA)分離,透過 RESTful API 進行通訊。後端處理驗證、儲存驅動程式管理、檔案操作和媒體轉碼,而前端提供使用者介面。
graph TD
A[瀏覽器 / WebDAV 用戶端] --> B[AList 網頁伺服器<br>Gin 框架]
B --> C[驗證層]
C --> D[儲存驅動程式管理器]
D --> E[驅動程式:本地檔案系統]
D --> F[驅動程式:百度網盤]
D --> G[驅動程式:S3]
D --> H[驅動程式:FTP/SFTP]
D --> I[驅動程式:遠端 WebDAV]
E --> J[實體儲存]
F --> K[百度 API]
G --> L[S3 API]
H --> M[FTP 伺服器]
I --> N[遠端 WebDAV]
B --> O[WebDAV 協定<br>端點]
O --> D這個架構使 AList 同時成為網頁檔案管理器和 WebDAV 伺服器。您可以將 AList 作為 WebDAV 磁碟掛載在 Windows 檔案總管、macOS Finder 或 Linux 檔案管理器中,從而對所有連接的儲存後端進行原生的作業系統層級存取。
如何部署 AList?
AList 提供多種部署路徑以適應不同的環境,所有方法都在專案官方網站上有文件記錄。
| 方法 | 命令 / 步驟 | 使用案例 |
|---|---|---|
| Docker | docker run -d -p 5244:5244 xhofe/alist:latest | 快速、隔離的部署 |
| 二進位檔 | 下載您作業系統的預先建置二進位檔 | 無需 Docker 依賴 |
| 原始碼 | git clone && go build | 自訂建置 |
| 桌面版 | 預先建置的桌面應用程式安裝程式 | 個人使用,無需終端機 |
預設連接埠為 5244,初始管理員密碼在首次啟動時產生並輸出到日誌中。AList 支援 HTTPS、自訂網域設定和資料庫後端(預設為 SQLite,生產部署可選用 MySQL 和 PostgreSQL)。
AList 提供哪些檔案預覽和功能?
除了基本的檔案列表外,AList 還提供一組豐富的功能,使其適用於個人媒體伺服器和企業文件管理。
| 功能 | 詳細資訊 |
|---|---|
| 媒體串流 | 影片和音訊,支援字幕/歌詞 |
| 文件預覽 | PDF、Office 格式、Markdown、程式碼 |
| 圖片庫 | 帶縮圖的網格/瀏覽器檢視 |
| 離線下載 | 將檔案直接下載到連接的儲存 |
| 打包下載 | 將目錄下載為 ZIP 壓縮檔 |
| 檔案永久連結 | 用於分享的直接下載連結 |
| 深色模式 | 內建深色主題 |
| 多國語言 | 多語言介面 |
AList 還包括帶有角色型存取控制的使用者管理,允許管理員對某些路徑授予唯讀存取權限,同時保留對其他路徑的寫入權限。該平台支援目錄的密碼保護、速率限制和下載代理設定,以實現安全檔案散佈。
常見問題
什麼是 AList? AList 是一個用 Go 編寫的開源檔案列表和 WebDAV 程式,可將多個儲存後端整合到單一統一的網頁介面中。它支援雲端硬碟(百度網盤、阿里雲盤、115 雲端)、標準協定(FTP、S3、WebDAV)和本地檔案系統,在所有連接的儲存來源上提供一致的檔案管理體驗。
AList 支援哪些儲存後端? AList 支援廣泛的儲存後端,包括本地儲存、雲端硬碟(百度網盤、115 雲端、阿里雲端硬碟、Google Drive、OneDrive)、物件儲存(S3、MinIO)、基於協定的儲存(FTP、SFTP、WebDAV、SMB),以及透過其可擴充驅動程式系統由社群貢獻的許多驅動程式。
如何部署 AList? AList 支援多種部署方法。推薦的方法是 Docker:docker run -d -p 5244:5244 xhofe/alist:latest。也可以透過 Linux、Windows 和 macOS 的預先建置二進位檔部署,或使用 Go 從原始碼建置。為了方便,也提供桌面版本。
AList 提供哪些檔案預覽功能? AList 提供豐富的檔案預覽功能,包括 PDF 渲染、Markdown 渲染、程式碼語法高亮、圖片庫檢視、帶字幕支援的影片和音訊播放、Office 文件預覽(DOCX、PPTX、XLSX),以及用於目錄說明的 README.md 渲染。
AList 使用什麼授權? AList 採用 AGPL-3.0 授權,確保軟體保持自由和開源。AGPL 授權要求在網路上部署的任何修改版本都必須向使用者提供其原始碼。
延伸閱讀
- AList GitHub 儲存庫 – 原始碼、驅動程式和社群貢獻
- AList 官方文件 – 部署指南、驅動程式設定和設定參考
- AList 發行版 – 最新發行版和更新日誌
- AList 桌面發行版 – 跨平台桌面應用程式