Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0175012
fix(drivers/139): check cdnSwitch before returning cdnUrl in personal…
xrgzs Apr 19, 2026
92af999
refactor(settings)!: move FilterReadMeScripts to frontend (#2346)
xrgzs Apr 20, 2026
622e2aa
fix(drivers): add headers in Link methods (#2401)
xrgzs Apr 26, 2026
27b1792
refactor(drivers/wps): remove resolveCache (#2411)
xrgzs Apr 27, 2026
27f4459
fix(drivers/wps): implement driver.GetRooter interface (#2414)
xrgzs Apr 27, 2026
5a9dc89
fix(drivers/wps): correct account relevant handling (#2415)
xrgzs Apr 27, 2026
a0015c8
fix(about): fix large logo on about page (#2418)
jyxjjj Apr 28, 2026
9fd6ba3
feat(115_open): implement Getter interface (#1811)
sevxn007 Apr 29, 2026
1622168
feat(s3): implement Getter interface (#1790)
ZRHann Apr 29, 2026
0d355f6
feat(webdav): implement Getter interface (#2421)
ZRHann Apr 30, 2026
cd16e22
feat(sharing): allow custom share IDs (#2353)
MuelNova May 3, 2026
439414b
fix(qbittorrent): handle non-200 response during login to prevent lon…
airium May 3, 2026
31494db
fix(internal/fs): add ObjectAlreadyExists error check (#2019)
mkitsdts May 3, 2026
b9123d2
perf: replace strings.Split with strings.SplitSeq (#2441)
j2rong4cn May 4, 2026
8e9e5d1
fix(fsmanage): improve path validation (#2437)
j2rong4cn May 6, 2026
03870d4
fix(driver): fix 189 & 189pc fastcopy form local storage (#2471)
PIKACHUIM May 12, 2026
90aefb9
fix(setting): handle delete of setting item with empty key (#2131)
j2rong4cn May 14, 2026
434d57f
refactor(func): replace GinWithValue with GinAppendValues (#2475)
j2rong4cn May 15, 2026
a8e8438
fix(driver/139): remove RFC-incompatible request header (#2478)
Copilot May 17, 2026
2be1d78
fix(offline_download): fix login failure caused by qBittorrent 5.2.0 …
yuanczx May 18, 2026
2d876a2
fix(drivers/local): capture ENOTTY in reflink to allow fallback (#2492)
elysia-best May 21, 2026
449317b
chore(README): fix-sites (#2501)
jyxjjj May 24, 2026
1ac780c
docs(community): update contribution guidelines and templates (#2507)
jyxjjj May 25, 2026
8288a37
feat(func): support ed2k & magnet & torrent offline download (#2452)
PIKACHUIM May 25, 2026
6b881fb
fix(115): fix capacity display and CDN 403 errors (#2510)
SheltonZhu May 25, 2026
bde9def
fix(189pc): handle numeric res_code in RenameResp to fix JSON unmarsh…
PIKACHUIM May 25, 2026
94672f1
fix(offline_download): restore SimpleHttp fallback for http links (#2…
Suyunmeng May 26, 2026
79b7d6c
update web version
power721 Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/00-bug_report_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,9 @@ body:
label: 复现链接(可选)
description: |
请提供能复现此问题的链接。
- type: textarea
id: aigenerated
attributes:
label: AI生成内容(可选)
description: |
如果此问题是由AI辅助您发现的,请提供全部聊天记录,包括使用的模型信息。
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/01-bug_report_en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,9 @@ body:
label: Reproduction Link (optional)
description: |
Please provide a link to a repo or page that can reproduce this issue.
- type: textarea
id: aigenerated
attributes:
label: AI Generated Content (optional)
description: |
If this issue was identified with the assistance of AI, please provide the complete chat log, including information about the model used.
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/02-feature_request_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,9 @@ body:
label: 附加信息
description: |
相关的任何其他上下文或截图,或者你觉得有帮助的信息
- type: textarea
id: aigenerated
attributes:
label: AI生成内容(可选)
description: |
如果此请求是由AI辅助您提交的,请提供全部聊天记录,包括使用的模型信息。
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/03-feature_request_en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,9 @@ body:
label: Additional Information
description: |
Any other context or screenshots related to this feature request, or information you find helpful.
- type: textarea
id: aigenerated
attributes:
label: AI Generated Content (optional)
description: |
If this request was submitted with the assistance of an AI, please provide the complete chat log, including information about the model used.
8 changes: 4 additions & 4 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
Expand All @@ -116,13 +116,13 @@ the community.

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
<https://www.contributor-covenant.org/faq>. Translations are available at
<https://www.contributor-covenant.org/translations>.
37 changes: 30 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Prerequisites:

- [git](https://git-scm.com)
- [Go 1.24+](https://golang.org/doc/install)
- [Go](https://golang.org/doc/install) version declared in [`go.mod`](./go.mod)
- [gcc](https://gcc.gnu.org/)
- [nodejs](https://nodejs.org/)

Expand All @@ -16,43 +16,53 @@ Prerequisites:
Fork and clone `OpenList` and `OpenList-Frontend` anywhere:

```shell
$ git clone https://github.com/<your-username>/OpenList.git
$ git clone --recurse-submodules https://github.com/<your-username>/OpenList-Frontend.git
git clone https://github.com/<your-username>/OpenList.git
git clone --recurse-submodules https://github.com/<your-username>/OpenList-Frontend.git
```

## Creating a branch

Create a new branch from the `main` branch, with an appropriate name.

```shell
$ git checkout -b <branch-name>
git checkout -b <branch-name>
```

## Preview your change

### backend

```shell
$ go run main.go
go run main.go
```

### frontend

```shell
$ pnpm dev
pnpm dev
```

## Add a new driver

Copy `drivers/template` folder and rename it, and follow the comments in it.

## Community and policies

By contributing, you agree to follow the repository's code of conduct and license terms.

- Code of conduct: [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
- License: [LICENSE](./LICENSE)
- Security issues: please report privately according to [SECURITY.md](./SECURITY.md)

If your contribution includes substantial AI-assisted content, disclose the tools used and the scope of assistance in the pull request.

## Create a commit

Commit messages should be well formatted, and to make that "standardized".

Submit your pull request. For PR titles, follow [Conventional Commits](https://www.conventionalcommits.org).

https://github.com/OpenListTeam/OpenList/issues/376
<https://github.com/OpenListTeam/OpenList/issues/376>

It's suggested to sign your commits. See: [How to sign commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits)

Expand All @@ -72,6 +82,19 @@ At least 1 approving review is required by reviewers with write access. You can

(Optional) After your pull request is merged, you can delete your branch.

## AI Disclosure

If your pull request includes substantial AI-assisted content, disclose it in the PR description.

Please include:

- Tools used, such as ChatGPT, GitHub Copilot, Claude, Cursor, or other AI tools.
- Usage scope, such as code generation, refactoring, documentation, tests, translation, or review assistance.
- Confirmation that you have reviewed and validated all AI-assisted content before submission.
- Confirmation that the submitted content complies with this repository's license and contribution policies.

Minor AI assistance, such as typo fixes, autocomplete, formatting suggestions, or wording polish, does not need to be disclosed.

---

Thank you for your contribution! Let's make OpenList better together!
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<img style="width: 128px; height: 128px;" src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" alt="logo" />
<img src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" width="128" height="128" alt="logo" />

<p><em>OpenList is a resilient, long-term governance, community-driven fork of AList — built to defend open source against trust-based attacks.</em></p>

Expand Down Expand Up @@ -116,9 +116,10 @@ Thank you for your support and understanding of the OpenList project.

## Document

- 📘 [Global Site](https://doc.oplist.org)
- 📚 [Backup Site](https://doc.openlist.team)
- 🌏 [CN Site](https://doc.oplist.org.cn)
- 📘 [Docs](https://doc.oplist.org)
- 🌏 [CN Mirror](https://doc.oplist.org.cn)
- ⚖️ [Terms of Use](https://doc.oplist.org/terms)
- 🔒 [Privacy Policy](https://doc.oplist.org/privacy)

## Demo

Expand Down
15 changes: 8 additions & 7 deletions README_cn.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<img style="width: 128px; height: 128px;" src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" alt="logo" />
<img src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" width="128" height="128" alt="logo" />

<p><em>OpenList 是一个有韧性、长期治理、社区驱动的 AList 分支,旨在防御基于信任的开源攻击。</em></p>

Expand Down Expand Up @@ -116,14 +116,15 @@ OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3

## 文档

- 🌏 [国内站点](https://doc.oplist.org.cn)
- 📘 [海外站点](https://doc.oplist.org)
- 📚 [备用站点](https://doc.openlist.team)
- 📘 [文档](https://doc.oplist.org)
- 🌏 [中国镜像](https://doc.oplist.org.cn)
- ⚖️ [使用条款](https://doc.oplist.org/terms)
- 🔒 [隐私政策](https://doc.oplist.org/privacy)

## 演示
## Demo

- 🇨🇳 [国内演示站](https://demo.oplist.org.cn)
- 🌎 [海外演示站](https://demo.oplist.org)
- 🌎 [全球 Demo](https://demo.oplist.org)
- 🇨🇳 [中国 Demo](https://demo.oplist.org.cn)

## 讨论

Expand Down
15 changes: 8 additions & 7 deletions README_ja.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<img style="width: 128px; height: 128px;" src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" alt="logo" />
<img src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" width="128" height="128" alt="logo" />

<p><em>OpenList は、信頼ベースの攻撃からオープンソースを守るために構築された、レジリエントで長期ガバナンス、コミュニティ主導の AList フォークです。</em></p>

Expand Down Expand Up @@ -116,14 +116,15 @@ OpenListプロジェクトへのご支援とご理解をありがとうござい

## ドキュメント

- 📘 [グローバルサイト](https://doc.oplist.org)
- 📚 [バックアップサイト](https://doc.openlist.team)
- 🌏 [CNサイト](https://doc.oplist.org.cn)
- 📘 [ドキュメント](https://doc.oplist.org)
- 🌏 [中国ミラー](https://doc.oplist.org.cn)
- ⚖️ [利用規約](https://doc.oplist.org/terms)
- 🔒 [プライバシーポリシー](https://doc.oplist.org/privacy)

## デモ
## Demo

- 🌎 [グローバルデモ](https://demo.oplist.org)
- 🇨🇳 [CNデモ](https://demo.oplist.org.cn)
- 🌎 [グローバル Demo](https://demo.oplist.org)
- 🇨🇳 [中国 Demo](https://demo.oplist.org.cn)

## ディスカッション

Expand Down
9 changes: 5 additions & 4 deletions README_nl.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<img style="width: 128px; height: 128px;" src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" alt="logo" />
<img src="https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg" width="128" height="128" alt="logo" />

<p><em>OpenList is een veerkrachtige, langetermijn, door de gemeenschap geleide fork van AList — gebouwd om open source te beschermen tegen op vertrouwen gebaseerde aanvallen.</em></p>

Expand Down Expand Up @@ -116,9 +116,10 @@ Dank u voor uw ondersteuning en begrip

## Documentatie

- 📘 [Global Site](https://doc.oplist.org)
- 📚 [Backup Site](https://doc.openlist.team)
- 🌏 [CN Site](https://doc.oplist.org.cn)
- 📘 [Documentatie](https://doc.oplist.org)
- 🌏 [CN Mirror](https://doc.oplist.org.cn)
- ⚖️ [Gebruiksvoorwaarden](https://doc.oplist.org/terms)
- 🔒 [Privacybeleid](https://doc.oplist.org/privacy)

## Demo

Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ else
# webVersion=$(eval "curl -fsSL --max-time 2 $githubAuthArgs \"https://api.github.com/repos/$frontendRepo/releases/latest\"" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
fi

webVersion=4.2.1
webVersion=4.2.2

echo "backend version: $version"
echo "frontend version: $webVersion"
Expand Down
47 changes: 45 additions & 2 deletions drivers/115_open/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"context"
"fmt"
"net/http"
stdpath "path"
"slices"
"strconv"
"strings"
"time"
Expand All @@ -25,8 +27,9 @@ import (
type Open115 struct {
model.Storage
Addition
client *sdk.Client
limiter *rate.Limiter
client *sdk.Client
limiter *rate.Limiter
parentPath string
}

func (d *Open115) Config() driver.Config {
Expand Down Expand Up @@ -62,6 +65,28 @@ func (d *Open115) Init(ctx context.Context) error {
d.PageSize = 1150
}

// add parent path
d.parentPath = "/"
if d.GetRootId() != d.Config().DefaultRoot {
folderInfo, err := d.client.GetFolderInfo(ctx, d.GetRootId())
if err != nil {
return err
}

if folderInfo.FileID != d.Config().DefaultRoot {
d.parentPath = stdpath.Join(d.parentPath, folderInfo.FileName)
}

parentPaths := folderInfo.Paths
slices.Reverse(parentPaths)
for _, parentPathInfo := range parentPaths {
if parentPathInfo.FileID == d.Config().DefaultRoot {
d.parentPath = stdpath.Join("/", d.parentPath)
} else {
d.parentPath = stdpath.Join("/", parentPathInfo.FileName, d.parentPath)
}
}
}
return nil
}

Expand Down Expand Up @@ -144,6 +169,24 @@ func (d *Open115) Link(ctx context.Context, file model.Obj, args model.LinkArgs)
}, nil
}

func (d *Open115) Get(ctx context.Context, path string) (model.Obj, error) {
if err := d.WaitLimit(ctx); err != nil {
return nil, err
}
path = stdpath.Join(d.parentPath, path)
resp, err := d.client.GetFolderInfoByPath(ctx, path)
if err != nil {
return nil, err
}
return &Obj{
Fid: resp.FileID,
Fn: resp.FileName,
Fc: resp.FileCategory,
Sha1: resp.Sha1,
Pc: resp.PickCode,
}, nil
}

func (d *Open115) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) (model.Obj, error) {
if err := d.WaitLimit(ctx); err != nil {
return nil, err
Expand Down
5 changes: 4 additions & 1 deletion drivers/115_share/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"errors"
"fmt"
"net/http"
_115 "github.com/OpenListTeam/OpenList/v4/drivers/115"
"github.com/OpenListTeam/OpenList/v4/internal/conf"
"github.com/OpenListTeam/OpenList/v4/internal/op"
Expand Down Expand Up @@ -133,12 +134,14 @@ func (d *Pan115Share) link(ctx context.Context, file model.Obj, args model.LinkA
if err != nil {
return nil, err
}

go delayDelete115(pan115, sha1)
exp := 4 * time.Hour
header := http.Header{}
header.Set("User-Agent", conf.UA115Browser)
return &model.Link{
URL: downloadInfo.URL.URL + fmt.Sprintf("#storageId=%d", pan115.ID),
Expiration: &exp,
Header: header,
Concurrency: pan115.Concurrency,
PartSize: pan115.ChunkSize * utils.KB,
}, nil
Expand Down
9 changes: 5 additions & 4 deletions drivers/139/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -658,10 +658,12 @@ func (d *Yun139) personalGetLink(fileId string) (string, error) {
}
cdnUrl := jsoniter.Get(res, "data", "cdnUrl").ToString()
if cdnUrl != "" {
return cdnUrl, nil
} else {
return jsoniter.Get(res, "data", "url").ToString(), nil
cdnSwitch := jsoniter.Get(res, "data", "cdnSwitch").ToBool()
if cdnSwitch {
return cdnUrl, nil
}
}
return jsoniter.Get(res, "data", "url").ToString(), nil
}

func (d *Yun139) getAuthorization() string {
Expand Down Expand Up @@ -1181,7 +1183,6 @@ func (d *Yun139) step3_third_party_login(dycpwd string) (string, error) {
"x-DeviceInfo": "4|127.0.0.1|5|1.2.6|Xiaomi|23116PN5BC||02-00-00-00-00-00|android 15|1440x3200|android|||",
"Content-Type": "text/plain;charset=UTF-8",
"Host": "user-njs.yun.139.com",
"Connection": "Keep-Alive",
"Accept-Encoding": "gzip",
"User-Agent": "okhttp/3.12.2",
}
Expand Down
Loading
Loading