fshy

fshy / Netdisk and pan / Storage

中国电信魔盘 mopan

github.com · Netdisk and pan, Storage · 2 records · JSON

OpenList (OpenListTeam/OpenList) Netdisk and pan

★ qualifiesanonymousno cardDwrite-gated

github.com/OpenListTeam/OpenList · bridge · netdisk-pan/openlist · JSON · compare

Free tierthe software is free and self-hosted; the cost is a VPS and whatever upstream accounts it mounts
unit none; metered on none
Pricenone stated
Per-object capno cap of its own; the cap is the mounted upstream's
Retentionas long as the operator keeps the process and the upstream alive
Egressunmetered by the software; the egress is whatever the upstream provider and any CDN in front charge
Identityanonymous the operator installs it; a reader needs no account on the bridge itself
Limits
  • write-gated the write gate is CanWriteContent (bit 3) OR a per-path meta override, evaluated in server/middlewares/fsup.go source
Bindingwrite-gated The bridge itself is not the constraint; what it can do is entirely set by which upstream it mounts and whether that upstream grants a write.
Interfacerest, webdav, s3, ftp, sftp
Toolinga single Go binary; REST under /api/*, WebDAV at /dav, an S3-compatible gateway, FTP and SFTP; the rclone alist backend works against it
Composes withthe bridge layer of the whole topic: mount a pooled tenant or a pan account, serve it over REST and WebDAV, put a CDN in front
ReliabilityA community fork of AList, created in June 2025 after the AList project was sold and its ownership, docs and community were rewritten. The fork is the maintained one; AList v3 builds still run on many public instances and still work.
NotesThe one piece of this topic the client can own outright. The source is explicit that fs/list's write field is CanWrite, a per-user exclusion-list negation, while the upload gate is CanWriteContent(bit 3) OR a per-path meta; that distinction is why a host can report write:true and refuse every PUT, and why the one writable instance in the population reports write_content_bypass:true and permission 256 with no bit 3.
Evidence rungdocumented
Checked2026-10-23 (live); stale on 2026-11-13
Evidence (5)
datesourcewhat it proved
2026-10-22github.com/OpenListTeam/OpenListthe repository describes itself as 'A new AList Fork to Anti Trust Crisis', 25,183 stars, last push 2026-10-21
2026-10-22raw.githubusercontent.com/OpenListTeam/OpenList/main/server/the write gate is: if !user.CanWriteContent() && !common.CanWriteContentBypassUserPerms(parentMeta, parentPath) then deny, then a second check common.CanWrite(user, parentMeta, parentPath)
2026-10-22raw.githubusercontent.com/OpenListTeam/OpenList/main/server/the fs/list response carries Write: common.CanWrite(user, meta, reqPath) and WriteContentBypass: common.CanWriteContentBypassUserPerms(meta, reqPath); these are two different predicates and only the second mirrors the upload gate
2026-10-22raw.githubusercontent.com/OpenListTeam/OpenList/main/internathe permission bitmask is documented in the struct comment: bit 3 is mkdir and upload, bit 8 is WebDAV read, bit 9 is WebDAV write
2026-10-22finance.sina.com.cn/tech/digi/2025-06-16/doc-infahqye9515437the AList project was reported sold in June 2025 and OpenList was created as a replacement that removes the original developer's private API links
More fields (7)
{
 "access_mode": "self-hosted-bridge",
 "language": "Go",
 "license": "AGPL-3.0",
 "stars": 25183,
 "last_push": "2026-10-21T17:00:56Z",
 "aliases": [
  "AList / OpenList — the most-used multi-storage aggregator (50.3k / 25.2k stars)",
  "alist / OpenList — the layer that works around a missing provider client",
  "AList / OpenList",
  "AList / OpenList — the most-used multi-storage aggregator"
 ],
 "aggregator_note": "This record is the single home for both spellings of the aggregator, so the name the completeness audit called unindexed resolves here. the first appears in no index and is carried as an alias so a future pass searching for it finds this record."
}

中国电信魔盘 mopan (mopan) Storage

fails: quotaemail?card?R

github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/met · rejected-provider · storage/mopan · JSON · compare

Free tierHas a dedicated OpenList driver (mopan, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), so it is technically mountable — b
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityHas a dedicated OpenList driver (mopan, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), so it is technically mountable — b
NotesHas a dedicated OpenList driver (mopan, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), so it is technically mountable — b
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/metHas a dedicated OpenList driver (mopan, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), so it is technically mountable — b
2026-10-21eyun.baidu.com/content/169088/cited as the basis of the rejection: Has a dedicated OpenList driver (mopan, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), so it is technically mountable — b
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "Has a dedicated OpenList driver (`mopan`, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), so it is technically mountable — b",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded