mrkeyoor.com_
Sat 17 Oct 13:33 UTC
Self-Hostedevaluationupdated 26 Aug 2026

OpenList review

OpenList is a self-hosted web interface that puts local folders and many cloud-storage accounts behind one searchable file browser. It can preview and move files, expose WebDAV, S3, FTP, and SFTP access, and proxy or redirect downloads without copying every remote file into one server.

+80stars / 7d
Verdict

Our OpenList build passed in 106 seconds, but 5 of 35 tested Go packages failed in the same sandbox, so it deserves a provider-specific trial rather than immediate trust with backups. Pick it when one web interface over many cloud drives is worth the token maintenance and occasional driver breakage. Use rclone or a filesystem-only browser when repeatable transfer semantics matter more than previews and link sharing.

We ran it

Lab card: what happened when we ran OpenListScreenshot of OpenList (doc.oplist.org)
Install✓ · 114s680 packages
Build✓ · 106s
Tests✗ · 47s30 passed · 5 failed of 35 (go test)
Repo861 files~137,940 lines of source · 4.1 MB · 10 CI workflows · Dockerfile

Answers from our run

Does OpenList build from source?

Dependencies installed in 114 seconds (680 packages), and the build succeeded in 106 seconds. We cloned commit 0b1e9d0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do OpenList's tests pass?

No. The project's own test command finished in 47 seconds and reported 30 passed, 5 failed (go test).

Who should not use OpenList?

Backup operators who need strict S3 compatibility without qualification: issue #2947 reports 302 redirects causing Restic unlock and initialization retries on a mounted provider.

What are the alternatives to OpenList?

rclone, File Browser, AList. Our OpenList build passed in 106 seconds, but 5 of 35 tested Go packages failed in the same sandbox, so it deserves a provider-specific trial rather than immediate trust with backups.

Setup3/5Build passed; deployment is easy until provider credentials enter
Docs4/5Multilingual README and docs cover many drivers and protocols
Community5/524,334 stars with same-day issues, pull requests, and pushes
Maturity3/5Active v4.2.5 fork, but 5 of 35 test packages failed

Who it’s for

Self-hosters who want one browser over several cloud drives and local storage.
Media users who need previews, gallery views, subtitles, and direct download links.
Operators comfortable maintaining provider tokens and retesting each driver when an upstream service changes.
Teams that accept AGPL-3.0 obligations for a modified network service.

Who it’s NOT for

Backup operators who need strict S3 compatibility without qualification: issue #2947 reports 302 redirects causing Restic unlock and initialization retries on a mounted provider.
Anyone expecting cloud-drive mounts to stay stable without attention: issue #2965 reports a PikPak captcha failure and says the documented refresh-token option was absent from the interface.
Teams that want vendor-backed storage guarantees: the README says OpenList is unaffiliated with the storage providers and warns about account bans and download limits.
Organizations unable to publish source for network-served modifications under AGPL-3.0.
Buyers seeking a storage system that owns durable copies: OpenList primarily presents and forwards data held by other services.

Setup reality

Our sandbox installed 680 Go packages in 114 seconds and built OpenList successfully in 106 seconds. Tests ended with exit 1 after 47 seconds: 30 packages passed and 5 failed out of 35. The supplied log tail shows successful server packages followed by FAIL, but does not identify the failing assertions.

A useful instance still needs an admin account, persistent configuration database, storage-provider credentials, and a public URL behind HTTPS. Each mounted service has its own tokens, cookies, OAuth flow, root identifiers, proxy choices, and rate limits. Docker and Compose files exist, while direct binaries are another deployment route.

The 4.1 MB checkout contained 861 files and about 137,940 source lines, with 10 CI workflows and a Dockerfile. OpenList can redirect or proxy traffic, so the operator must decide whether clients may contact storage providers directly and must protect its WebDAV, S3, FTP, and SFTP endpoints accordingly.

One browser fronts dozens of unrelated storage providers

OpenList mounts local folders, object stores, consumer cloud drives, and network protocols into one web file tree. The README lists providers ranging from OneDrive, Google Drive, S3, and Dropbox to several Chinese storage services. Users can preview documents and media, copy direct links, upload files, move data between mounts, or expose the collection through WebDAV, S3, FTP, and SFTP. The server can proxy bytes or send a client to the provider with an HTTP redirect.

That model is convenient because OpenList does not require a second complete copy of every drive. It is also why its reliability is tied to outside login flows and APIs. A provider can change a captcha, token response, download URL, or throttling rule without changing OpenList itself. The project warns that it has no official association with those services and that users bear risks such as account bans or speed limits.

The 106-second build passed, while 5 test packages failed

We cloned commit 0b1e9d0 into a fresh unprivileged Debian container with 3 CPUs and 8 GB of RAM. Installing 680 Go packages took 114 seconds. The build completed successfully in 106 seconds. The checkout itself was 4.1 MB with 861 files and about 137,940 source lines, a compact download hiding a broad collection of storage drivers and server protocols.

The repository has 10 CI workflows, a Dockerfile, and a Compose file. It has no top-level tests directory, which is normal for Go projects that keep test files beside packages. Our harness ran the available Go suite across 35 package results. Thirty passed and 5 failed. That result is good enough to justify investigation, but not good enough to call the checked commit clean.

What happened when we ran it

Our sandbox installed OpenList in 114 seconds and built it in 106 seconds. Tests ran for 47 seconds before exiting with code 1. The summary counted 30 passing and 5 failing package results out of 35. The supplied log tail shows several server packages passing or reporting no test files, then a final FAIL. It does not name the five failing packages or show their assertions.

We therefore cannot say whether those failures concern a storage driver, environment requirement, network access, or core server behavior. We can say that commit 0b1e9d0 did not pass the available Go test command in our stated environment. A production evaluation should rerun the suite with full logs and add live checks for the exact providers and protocols the deployment will use.

Provider credentials are the ongoing maintenance cost

The binary is only the beginning. Every mount can require a different mix of OAuth tokens, cookies, usernames, passwords, client identifiers, folder identifiers, and proxy settings. Those values unlock real storage accounts, so they belong in a protected configuration database with restricted backups. An internet-facing instance also needs HTTPS, a strong admin password, and access rules for any WebDAV, S3, FTP, or SFTP service it enables.

Open issue #2965 gives a concrete example of driver drift in v4.2.5. A PikPak user reports an expired captcha token during account refresh and says the refresh-method setting described by documentation was missing from the interface. The report does not establish whether every PikPak mount fails. It does show why operators should keep a disposable test account and verify reauthentication before an old token expires.

Redirect behavior can conflict with backup clients

OpenList advertises direct links and HTTP 302 redirects as useful ways to let clients fetch data from the source. That is attractive for large media because the OpenList host does not relay every byte. A direct URL can also expose the provider endpoint to clients, and some tools expect storage APIs to return data rather than redirect them. The proxy decision should be made per workload, not treated as a universal speed switch.

Issue #2947 reports that OpenList's S3 service returned 302 responses for key and data reads backed by a 139 storage mount. Restic treated those responses as API errors and repeatedly retried unlock and initialization. The reporter says reverting to behavior before pull request #2598 restored 200 responses and asks for a way to disable redirects. Until that path is fixed and verified, OpenList's S3 layer is a poor target for a Restic repository on that driver.

A busy fork still needs driver-by-driver acceptance tests

OpenList exists as a community-governed fork of AList and uses AGPL-3.0. Release v4.2.5 arrived on August 7, 2026 with a new GuangYaPan driver, multipart upload work, dependency updates, and fixes to several drivers. GitHub recorded a push on August 26, 24,334 stars, and 268 combined issues and pull requests. The same-day queue contains both user reports and automated dependency work, evidence of active maintenance rather than a quiet repository.

Activity does not make every connector dependable. OpenList spans dozens of independent services, so a green core build cannot certify their current authentication and transfer rules. Before adoption, mount only the providers you need, test listing, upload, rename, range reads, token renewal, and failure recovery, then repeat those checks after upgrades. For backup and synchronization jobs, rclone has a narrower command-oriented model. For local files, File Browser removes the cloud-driver layer entirely.

Alternatives

ProjectWhat it isPick it when
rclone gh↗A command-line tool and mount layer for copying, syncing, serving, and encrypting many cloud-storage backends.pick this instead when scheduled transfer, sync, encryption, or scripting matters more than a polished browser interface.
File BrowserA small web file manager centered on storage visible to the host filesystem.pick this instead when files are local or already mounted and provider-specific cloud drivers would add risk.
AList gh↗The original multi-provider file-listing project from which OpenList was forked.pick this instead only after assessing the governance history that caused the OpenList fork and comparing current driver support.

What people are saying

  1. [github-trending] OpenListTeam/OpenList

Sources

  1. OpenList README
  2. OpenList v4.2.5 release
  3. Restic redirect issue #2947
  4. PikPak captcha issue #2965

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →