{"eid":"github-openlistteam","name":"中国电信魔盘 mopan","domain":"github.com","resolved_by":"platform","topics":["netdisk-pan","storage"],"n_records":2,"best_vorder":6,"review":null,"aliases":["AList / OpenList","AList / OpenList — the most-used multi-storage aggregator","AList / OpenList — the most-used multi-storage aggregator (50.3k / 25.2k stars)","OpenList (OpenListTeam/OpenList)","alist / OpenList — the layer that works around a missing provider client","github.com","中国电信魔盘 mopan","中国电信魔盘 mopan (mopan)"],"records":[{"rid":"storage/mopan","card":{"rid":"storage/mopan","eid":"github-openlistteam","topic":"storage","slug":"mopan","provider":"中国电信魔盘 mopan (mopan)","url":"https://github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/meta.go","domain":"github.com","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","self_hosted":0,"confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-05","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Has a dedicated OpenList driver (`mopan`, reverse-engineered, with an explicit provider warning 'This network disk may store your password in clear text'), s...","duplicate_of":null,"n_unknown":16,"free_unit":"none"},"record":{"topic":"storage","slug":"mopan","provider":"中国电信魔盘 mopan (mopan)","url":"https://github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/meta.go","category":"rejected-provider","free_tier":{"stated":"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…","unit":"none","metered_on":"none","source_url":"https://github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/meta.go","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/meta.go","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/meta.go","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"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…","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://github.com/OpenListTeam/OpenList/blob/main/drivers/mopan/meta.go","date":"2026-10-21","proved":"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…"},{"url":"https://eyun.baidu.com/content/169088/","date":"2026-10-21","proved":"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"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"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…","extras":{"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…","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":null},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.binding_note","boilerplate"],["$.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"]],"history":[],"drift":[]},{"rid":"netdisk-pan/openlist","card":{"rid":"netdisk-pan/openlist","eid":"github-openlistteam","topic":"netdisk-pan","slug":"openlist","provider":"OpenList (OpenListTeam/OpenList)","url":"https://github.com/OpenListTeam/OpenList","domain":"github.com","category":"bridge","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","self_hosted":1,"confidence":"documented","binding":"write-gated","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,webdav,s3,ftp,sftp","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-11-02T09:58:36.718Z","verified_basis":"live","checked_on":"2026-11-02","stale_on":"2026-11-24","n_evidence":9,"usd_month":null,"usd_per_tb_month":null,"summary":"free software, no allowance stated: https://github.com/OpenListTeam/OpenList is AGPL-3.0 software the user runs; it states there are no paid plans and prints...","duplicate_of":null,"n_unknown":0,"free_unit":"none"},"record":{"topic":"netdisk-pan","slug":"openlist","provider":"OpenList (OpenListTeam/OpenList)","url":"https://github.com/OpenListTeam/OpenList","category":"bridge","free_tier":{"stated":"free software, no allowance stated: https://github.com/OpenListTeam/OpenList is AGPL-3.0 software the user runs; it states there are no paid plans and prints no quota, unit or price","unit":"none","metered_on":"none","source_url":"https://github.com/OpenListTeam/OpenList","read_on":"2026-11-02"},"per_object_cap":{"stated":"no cap of its own; the cap is the mounted upstream's","source_url":"https://github.com/OpenListTeam/OpenList"},"retention":{"stated":"as long as the operator keeps the process and the upstream alive","days":null,"source_url":"https://github.com/OpenListTeam/OpenList"},"egress":{"terms":"unmetered by the software; the egress is whatever the upstream provider and any CDN in front charge","metered":false,"source_url":"https://github.com/OpenListTeam/OpenList"},"interface":["rest","webdav","s3","ftp","sftp"],"tooling":"a single Go binary; REST under /api/*, WebDAV at /dav, an S3-compatible gateway, FTP and SFTP; the rclone alist backend works against it","chaining":"the 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","limits":[{"kind":"write-gated","value":"the write gate is CanWriteContent (bit 3) OR a per-path meta override, evaluated in server/middlewares/fsup.go","source":"https://github.com/OpenListTeam/OpenList/blob/main/server/middlewares/fsup.go"}],"identity_cost":{"kind":"anonymous","detail":"the operator installs it; a reader needs no account on the bridge itself","country":null},"reliability_note":"A 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.","confidence":"documented","evidence":[{"url":"https://github.com/OpenListTeam/OpenList","date":"2026-10-22","proved":"the repository describes itself as 'A new AList Fork to Anti Trust Crisis', 25,183 stars, last push 2026-10-21"},{"url":"https://raw.githubusercontent.com/OpenListTeam/OpenList/main/server/middlewares/fsup.go","date":"2026-10-22","proved":"the write gate is: if !user.CanWriteContent() && !common.CanWriteContentBypassUserPerms(parentMeta, parentPath) then deny, then a second check common.CanWrite(user, parentMeta, parentPath)"},{"url":"https://raw.githubusercontent.com/OpenListTeam/OpenList/main/server/handles/fsread.go","date":"2026-10-22","proved":"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"},{"url":"https://raw.githubusercontent.com/OpenListTeam/OpenList/main/internal/model/user.go","date":"2026-10-22","proved":"the permission bitmask is documented in the struct comment: bit 3 is mkdir and upload, bit 8 is WebDAV read, bit 9 is WebDAV write"},{"url":"https://finance.sina.com.cn/tech/digi/2025-06-16/doc-infahqye9515437.shtml","date":"2026-10-22","proved":"the AList project was reported sold in June 2025 and OpenList was created as a replacement that removes the original developer's private API links"},{"url":"https://github.com/OpenListTeam/OpenList","date":"2026-10-30","proved":"OpenList has no paid plan and no metered allowance; the software is free to run","capture":"sha256:a3a61e1281c815782fe05a2c8c2d57687f09990055360a1c0db3fbfe9c780446","quote":"There are currently no paid plans or commercial deployments, and the use of existing features does not involve any costs."},{"url":"https://raw.githubusercontent.com/OpenListTeam/OpenList/main/server/middlewares/fsup.go","date":"2026-11-02","proved":"the upload middleware answers 403 permission denied unless the user holds the write-content permission or a per-path meta override applies, so a write gate stands in front of every upload","capture":"sha256:40be4bd2faba0f824529c234a82168630b454053b53c810779a797144f1dff3f","quote":"if !user.CanWriteContent() && !common.CanWriteContentBypassUserPerms(parentMeta, parentPath) { common.ErrorResp(c, errs.PermissionDenied, 403)"},{"url":"https://github.com/OpenListTeam/OpenList","date":"2026-11-02","proved":"the README states no paid plans and no cost for existing features; its text prints no quota, unit or price","capture":"sha256:a3a61e1281c815782fe05a2c8c2d57687f09990055360a1c0db3fbfe9c780446","quote":"There are currently no paid plans or commercial deployments, and the use of existing features does not involve any costs."},{"url":"https://raw.githubusercontent.com/OpenListTeam/OpenList/main/internal/model/user.go","date":"2026-11-02","proved":"bit 3 of the user permission bitmask is the right to mkdir and upload, the permission that the upload gate tests first","capture":"sha256:5bc44ed0d99484342dce21ffc09ef83e501fd0fb054a5780f7e5d98ef688c69b","quote":"//   3:  can mkdir and upload"}],"verdict":"qualifies-with-caveat","verified_at":"2026-11-02T09:58:36.718Z","binding":"write-gated","notes":"The one piece of this topic a user 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.","extras":{"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."},"binding_note":"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.","self_hosted":true},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[],"history":[],"drift":[]}]}