Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
438 commits
Select commit Hold shift + click to select a range
29447a4
revert(db)!: replace SQLite Driver with glebarez/sqlite to avoid CGO …
jyxjjj Mar 26, 2026
7bea29c
refactor(db): migrate sqlite to pure-go and add mips compatibility sw…
Suyunmeng Apr 2, 2026
9fdba3a
feat(drivers/123_open): support 123 official app api (#2293)
PIKACHUIM Apr 3, 2026
9e49adc
fix(drivers/openlist): pass through frontend refresh flag (#2307)
sevxn007 Apr 3, 2026
12c9bdb
fix(offline_download): prevent infinite retry on status update failur…
sdvcrx Apr 3, 2026
e11b8a8
fix(drivers/cloudreve_v4): remove token check for share (#2274)
xrgzs Apr 4, 2026
da26e72
fix(op): invalidate new path cache on meta path update (#2322)
Lanfei Apr 9, 2026
8d39d63
fix(build): lock musl outputs to fully static linking in build script…
Suyunmeng Apr 9, 2026
b31ae9c
ci(actions): upgrade actions/checkout to v6 (#2338)
jyxjjj Apr 10, 2026
331f575
fix(drivers/139): check cdnSwitch before returning cdnUrl in personal…
xrgzs Apr 19, 2026
a5ba6a0
refactor(settings)!: move FilterReadMeScripts to frontend (#2346)
xrgzs Apr 20, 2026
ece1518
fix(drivers): add headers in Link methods (#2401)
xrgzs Apr 26, 2026
29ec90e
refactor(drivers/wps): remove resolveCache (#2411)
xrgzs Apr 27, 2026
3766389
fix(drivers/wps): implement driver.GetRooter interface (#2414)
xrgzs Apr 27, 2026
2d2d9ae
fix(drivers/wps): correct account relevant handling (#2415)
xrgzs Apr 27, 2026
201a206
fix(about): fix large logo on about page (#2418)
jyxjjj Apr 28, 2026
07506b0
feat(115_open): implement Getter interface (#1811)
sevxn007 Apr 29, 2026
9033b55
feat(s3): implement Getter interface (#1790)
ZRHann Apr 29, 2026
e28406f
feat(webdav): implement Getter interface (#2421)
ZRHann Apr 30, 2026
7e37c40
feat(sharing): allow custom share IDs (#2353)
MuelNova May 3, 2026
bfda719
fix(qbittorrent): handle non-200 response during login to prevent lon…
airium May 3, 2026
e87e028
fix(internal/fs): add ObjectAlreadyExists error check (#2019)
mkitsdts May 3, 2026
d3a6b06
perf: replace strings.Split with strings.SplitSeq (#2441)
j2rong4cn May 4, 2026
c7c0cfa
fix(fsmanage): improve path validation (#2437)
j2rong4cn May 6, 2026
7feec2b
fix(driver): fix 189 & 189pc fastcopy form local storage (#2471)
PIKACHUIM May 12, 2026
0726d16
feat(189pc): implement AccessToken login (#2245)
zypluckyphoenix May 12, 2026
b6db83e
refactor: unify stream caching via HybridCache (#2460)
j2rong4cn May 14, 2026
ea19bed
fix(setting): handle delete of setting item with empty key (#2131)
j2rong4cn May 14, 2026
219564b
refactor(func): replace GinWithValue with GinAppendValues (#2475)
j2rong4cn May 15, 2026
daad21e
fix(driver/139): remove RFC-incompatible request header (#2478)
Copilot May 17, 2026
9eae625
refactor(cache)!: extract hybrid_cache package (#2477)
j2rong4cn May 18, 2026
31b41f9
fix(offline_download): fix login failure caused by qBittorrent 5.2.0 …
yuanczx May 18, 2026
7cfb255
fix(drivers/local): capture ENOTTY in reflink to allow fallback (#2492)
elysia-best May 21, 2026
c3df8da
chore(README): fix-sites (#2501)
jyxjjj May 24, 2026
948e871
docs(community): update contribution guidelines and templates (#2507)
jyxjjj May 25, 2026
1d071c0
feat(func): support ed2k & magnet & torrent offline download (#2452)
PIKACHUIM May 25, 2026
ffbbc1c
fix(115): fix capacity display and CDN 403 errors (#2510)
SheltonZhu May 25, 2026
b28208b
fix(189pc): handle numeric res_code in RenameResp to fix JSON unmarsh…
PIKACHUIM May 25, 2026
3b1760e
fix(offline_download): restore SimpleHttp fallback for http links (#2…
Suyunmeng May 26, 2026
4c77b9c
fix(fs): clear skipped names before copy and move tasks (#2520)
Suyunmeng May 27, 2026
98c32d3
fix(doubao_new): remove temp file after cross-storage put (#2530)
Suyunmeng May 27, 2026
9cc5dd9
fix(offline_download): block SimpleHttp temp file path traversal via …
Suyunmeng May 27, 2026
ba6f96c
fix(driver): json: cannot unmarshal number into Go struct field Renam…
PIKACHUIM May 30, 2026
cd6643a
fix(chaoxing): support multiple uploadDate formats (#2545)
yuxiaoyu8192 May 31, 2026
ac80fe1
feat(drivers): add emby driver (#2270)
Akizon77 May 31, 2026
9282e8e
fix(cache,mem): replace finalizers with runtime.AddCleanup (#2535)
j2rong4cn May 31, 2026
9b587ee
fix(archive): prefer utf-8 for non-EFS zip names (#2557)
Lanfei May 31, 2026
054db9f
fix(op): use oldName variable for cache updates in Rename function (#…
j2rong4cn Jun 3, 2026
9737006
feat(onedrive_sharelink): support direct download redirects (#2591)
syscc Jun 8, 2026
0893151
feat(onedrive_sharelink): support upload and folder sizes (#2595)
syscc Jun 10, 2026
bd6cf5b
fix(teldrive): avoid index out of range panic when listing an empty d…
SAY-5 Jun 11, 2026
726bbf4
fix(115-open): map SDK not found errors (#2596)
syscc Jun 11, 2026
5a92dc2
chore(workflows): update workflow deps and rm 3rd-party actions (#2600)
elysia-best Jun 11, 2026
88d256d
feat(s3): support direct transfer redirects (#2598)
syscc Jun 12, 2026
64d3911
chore(doc): add sponsors (#2531)
PIKACHUIM Jun 12, 2026
d7c332c
fix(s3): only skip direct redirect for true sub-resource queries (#2604)
syscc Jun 12, 2026
b7f9e8e
fix(sftp): add connection timeout (#2626)
jyxjjj Jun 16, 2026
e7bccc6
docs(agents): add agent workflow instructions (#2629)
jyxjjj Jun 16, 2026
7e55f11
fix(index/meilisearch): refresh progress after update (#2628)
jyxjjj Jun 16, 2026
ffe3f3c
fix(local): remove thumbnail cache on delete (#2627)
jyxjjj Jun 16, 2026
b05a51a
feat(archive): support livp as zip archive (#2624)
jyxjjj Jun 16, 2026
da84a80
feat(baidu): support link cache lasting one hour (#2033)
Jun 16, 2026
eadf03a
fix(upload): respect overwrite for direct uploads (#2625)
jyxjjj Jun 16, 2026
ace7482
fix(offline-download): block cloud metadata endpoints (#2487)
jyxjjj Jun 18, 2026
d349765
fix(drivers/thunder): handle missing token errors (#2623)
jyxjjj Jun 18, 2026
dcfefce
fix(webauthn): enable discoverable keys (#2451)
EzraRT Jun 18, 2026
f454733
fix(drivers/webdav): normalize missing path error (#2611)
fwerkor Jun 18, 2026
a42e367
fix(drivers/github_releases): skip broken repos instead of returning …
xrgzs Jun 18, 2026
3b017c2
feat(mcp): add mcp endpoint for whole openlist (#2485)
jyxjjj Jun 18, 2026
3abdf79
fix(drivers/ftp): add cwd_list option and filter path-separated entri…
sorubedo Jun 19, 2026
d403f75
fix: prevent panic in unaligned 64-bit atomic (#2637)
yunxuanhao Jun 22, 2026
aa534a9
feat(drivers/alidoc): add DingTalk Docs driver (#2543)
zjhcx Jun 22, 2026
b86d10f
fix(drivers/115_open): simplify Move and Copy methods to return error…
tide-wait Jun 22, 2026
5a12c8d
fix(ilanzou): fix redirect (#2649)
ucscynsqfhnlmntznkaeporoc Jun 23, 2026
6ed7db1
fix(drivers/189pc): pass pointer to RenameResp in Rename method (#2647)
Ovear Jun 23, 2026
c8e7f35
docs(readme): expand localized readmes (#2645)
jyxjjj Jun 24, 2026
a0f001c
fix(drivers/chunk): handle missing chunk part zero (#2619)
jyxjjj Jun 24, 2026
e960035
refactor(drivers/139): adapt new capacity calculation (#2651)
xrgzs Jun 24, 2026
f869afc
docs(contributing): define policy for fully automated contributions (…
jyxjjj Jun 25, 2026
9e55a01
feat(actions): add workflow to clean up untagged Docker images (#2657)
elysia-best Jun 29, 2026
d4aa8b6
fix(driver): 123pan url www.123pan.com -> yun.123pan.com (#2678)
PIKACHUIM Jun 30, 2026
e9ea991
fix(clean_docker): only fetch up to 10 pages of image versions (#2680)
elysia-best Jun 30, 2026
009d834
fix(deps): update module github.com/antchfx/htmlquery to v1.3.6 (#2601)
renovate[bot] Jun 30, 2026
aea77c5
fix(deps): update module github.com/aws/aws-sdk-go to v1.55.8 (#2574)
renovate[bot] Jun 30, 2026
6eedff8
feat(drivers): add Cloudflare Image Bed support (#2427)
ZZ0YY Jun 30, 2026
40b3900
fix(deps): update github.com/t3rm1n4l/go-mega digest to 6845944 (#2088)
renovate[bot] Jul 1, 2026
866793f
fix(go.mod): update Go version to 1.25 (#2692)
elysia-best Jul 1, 2026
bfbc441
fix(drivers/189pc): sync .torrent file when copy/move/rename/upload (…
PIKACHUIM Jul 1, 2026
759adfc
fix(deps): update module github.com/charmbracelet/bubbles to v0.21.1 …
renovate[bot] Jul 1, 2026
30922b6
fix(deps): update module github.com/pkg/sftp to v1.13.10 (#2694)
renovate[bot] Jul 1, 2026
31810f5
fix(deps): update module github.com/sirupsen/logrus to v1.9.4 (#2695)
renovate[bot] Jul 1, 2026
1be7477
fix(deps): update module github.com/ncw/swift/v2 to v2.0.5 (#2691)
renovate[bot] Jul 1, 2026
33015ee
fix(deps): update module github.com/mholt/archives to v0.1.5 (#2690)
renovate[bot] Jul 1, 2026
925a242
chore(deps): update github.com/openlistteam/reflink digest to 78760ea…
renovate[bot] Jul 1, 2026
cc3d8a0
fix(deps): update module github.com/bodgit/sevenzip to v1.6.4 (#2682)
renovate[bot] Jul 1, 2026
5273a77
fix(deps): update module github.com/gin-contrib/cors to v1.7.7 (#2688)
renovate[bot] Jul 1, 2026
c830625
chore(deps): update go toolchain directive to v1.26.4 (#2697)
renovate[bot] Jul 1, 2026
d85980d
fix(deps): update github.com/cloudsoda/go-smb2 digest to d8c5600 (#2298)
renovate[bot] Jul 1, 2026
f63a5e1
fix(deps): update module github.com/stangelandcl/ppmd v0.1.1 (#2698)
PIKACHUIM Jul 1, 2026
fcae009
fix(workflow): using github-script (#2701)
elysia-best Jul 1, 2026
a92d59d
fix(build.sh): remove `rm -rf .git/` (#2703)
elysia-best Jul 1, 2026
94eac2e
fix(deps): update github.com/t3rm1n4l/go-mega digest to 4de2f12 (#2710)
renovate[bot] Jul 1, 2026
744021d
chore(wps/driver): remove CompanyID check (#2727)
zjhcx Jul 6, 2026
bb3bc31
chore(workflows): upgrade actions (#2728)
xrgzs Jul 6, 2026
a283f2b
feat(azure_blob): preserve content type and md5 (#2734)
NewFuture Jul 8, 2026
7ded6df
chore(config): migrate Renovate config (#2735)
renovate[bot] Jul 8, 2026
757f9d3
fix(deps): update module github.com/dlclark/regexp2 to v1.12.0 (#2713)
renovate[bot] Jul 8, 2026
59bd343
fix(sharing): enforce base path boundaries
jyxjjj Jul 9, 2026
a81f544
fix(deps): update module gorm.io/driver/sqlite to v1.6.0 (#2757)
renovate[bot] Jul 9, 2026
daaba0d
fix(deps): update module gorm.io/driver/postgres to v1.6.0 (#2756)
renovate[bot] Jul 9, 2026
8930e19
fix(deps): update module google.golang.org/grpc to v1.82.0 (#2754)
renovate[bot] Jul 9, 2026
e670322
fix(deps): update module github.com/maruel/natural to v1.3.0 (#2739)
renovate[bot] Jul 9, 2026
f3e74fb
fix(deps): update module github.com/quic-go/quic-go to v0.60.0 (#2743)
renovate[bot] Jul 9, 2026
eb48671
fix(drivers/s3): custom user agent and method fixes (#2780)
xrgzs Jul 11, 2026
82ea8d0
chore(deps): update actions/cache action to v6 (#2759)
renovate[bot] Jul 14, 2026
a632356
chore(deps): update benjlevesque/short-sha action to v4 (#2760)
renovate[bot] Jul 14, 2026
7c54b0e
chore(deps): update docker/build-push-action action to v7 (#2761)
renovate[bot] Jul 14, 2026
74af297
chore(deps): update docker/login-action action to v4 (#2762)
renovate[bot] Jul 14, 2026
caed356
chore(deps): update docker/metadata-action action to v6 (#2763)
renovate[bot] Jul 14, 2026
061c1e2
chore(deps): update docker/setup-buildx-action action to v4 (#2764)
renovate[bot] Jul 14, 2026
5a5d8d6
refactor(drivers/github_releases): remove internal caching and add pa…
xrgzs Jul 15, 2026
651da18
fix(handles): add src_name validation in FsBatchRename
jyxjjj Jul 15, 2026
5aeaf7a
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.26.6 (#2…
renovate[bot] Jul 15, 2026
651b5ce
fix(deps): update module github.com/protonmail/gopenpgp/v2 to v2.10.0…
renovate[bot] Jul 15, 2026
b1d298d
fix(deps): update module github.com/go-resty/resty/v2 to v2.17.2 (#2718)
renovate[bot] Jul 15, 2026
0527dc4
fix(deps): update module github.com/deckarep/golang-set/v2 to v2.9.0 …
renovate[bot] Jul 15, 2026
5961289
fix(deps): update module github.com/nwaples/rardecode/v2 to v2.2.5 (#…
renovate[bot] Jul 15, 2026
e469693
fix(deps): update module github.com/bodgit/sevenzip to v1.6.5 (#2789)
renovate[bot] Jul 15, 2026
78db0f7
chore(deps): update docker/setup-qemu-action action to v4 (#2765)
renovate[bot] Jul 15, 2026
6b702af
fix(deps): update module gorm.io/gorm to v1.31.2 (#2758)
renovate[bot] Jul 15, 2026
24332e3
fix(115,115share): update github.com/SheltonZhu/115driver to v1.3.4 (…
SheltonZhu Jul 16, 2026
36168c8
fix(deps): update module github.com/rclone/rclone to v1.74.4 (#2744)
renovate[bot] Jul 16, 2026
7aea393
fix(drivers/115_open): populate file size when resolving paths (#2797)
sevxn007 Jul 16, 2026
ff3cb8b
chore(deps): update actions/setup-go action to v7 (#2798)
renovate[bot] Jul 16, 2026
e1ded83
fix(drivers/115_open): recover transient path metadata (#2816)
Suyunmeng Jul 22, 2026
bacd087
refactor(drivers/139): update path handling, put for family/group (#2…
xrgzs Jul 22, 2026
a21bc8b
fix(115_open): clean parent path before lookup (#2820)
syscc Jul 22, 2026
0a9e71a
feat(drivers/139): merge multiple share roots (#2783)
syscc Jul 23, 2026
28cea1f
fix(proxy): preserve proxied download filenames (#2824)
jyxjjj Jul 23, 2026
791a27e
feat(drivers): add Bunny Storage driver (#2472)
demogest Jul 23, 2026
e83835d
fix(buffer): wait for active I/O before closing (#2825)
jyxjjj Jul 23, 2026
fe56ca4
fix(drivers/s3): support multipart object copy (#2826)
jyxjjj Jul 23, 2026
8495470
fix(search): serialize index updates by parent (#2827)
jyxjjj Jul 23, 2026
2deb16b
fix(deps): update github.com/t3rm1n4l/go-mega digest to c6acd6a (#2829)
renovate[bot] Jul 23, 2026
84ecda3
fix(search): apply access filtering before paginating results
jyxjjj Jul 23, 2026
6b92cbd
fix(ci): allow pr check to run by default (#2856)
elysia-best Jul 27, 2026
78f2f0b
chore(deps): remove unimplemented FUSE mount functionality and depend…
jjm2473 Jul 27, 2026
be70829
chore: fix up .gitignore (#2857)
ILoveScratch2 Jul 27, 2026
cf931d4
chore: fix typos (#2859)
ILoveScratch2 Jul 28, 2026
f2f7ee4
fix(ci): change missed pull_request to pull_request_target (#2873)
elysia-best Jul 29, 2026
940b69f
fix(drivers/lanzou): handle acw_sc__v2 challenge in Login function (#…
zf1234d Jul 31, 2026
6f80df2
feat(drivers): add GuangYaPan driver with offline download support (#…
PIKACHUIM Aug 4, 2026
f68f3e9
fix(drivers/guangyapan): remove default value (#2894)
xrgzs Aug 4, 2026
a4ae2ac
fix(deps): update module github.com/sheltonzhu/115driver to v1.3.5 (#…
renovate[bot] Aug 4, 2026
cca773f
feat(fs): add pipelined multipart upload (#2723)
thetapilla Aug 6, 2026
c971732
fix(deps): update module github.com/nwaples/rardecode/v2 to v2.3.0 (#…
renovate[bot] Aug 7, 2026
ec1f968
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.26.7 (#2…
renovate[bot] Aug 7, 2026
194f941
fix(deps): update module golang.org/x/sys to v0.47.0 (#2751)
renovate[bot] Aug 7, 2026
2e27852
fix(deps): update azure-sdk-for-go monorepo (#2700)
renovate[bot] Aug 7, 2026
d8ad28f
fix(deps): update module github.com/ipfs/go-cid to v0.6.2 (#2738)
renovate[bot] Aug 7, 2026
6d4ad58
fix(deps): update module golang.org/x/net to v0.57.0 (#2748)
renovate[bot] Aug 7, 2026
7e9082f
fix(stream): allow seeking beyond file size per Go convention (#2667)
Ovear Aug 7, 2026
cc87e88
fix(deps): update module gorm.io/driver/mysql to v1.6.0 (#819)
renovate[bot] Aug 7, 2026
89077c3
feat(setting): add move transfer threads option (#2907)
UVJkiNTQ Aug 8, 2026
e80ee00
fix(drivers/189): support updated 189 time format (#2919)
shelken Aug 14, 2026
150a90f
feat(strm): add file size filtering for STRM generation (#2911)
kanoshiou Aug 14, 2026
18823a2
fix(drivers/emby): allow username‑only login (#2949)
quan-ge Aug 19, 2026
0b1e9d0
fix(deps): update module github.com/blevesearch/bleve/v2 to v2.6.0 (#…
renovate[bot] Aug 19, 2026
1a6cabf
fix(drivers/lanzou): fix file download (#2960)
zf1234d Aug 24, 2026
376cada
fix(drivers/139): optimize login flow with cookie reuse and robust fa…
UcnacDx2 Aug 28, 2026
4619aa2
fix(deps): update module github.com/nwaples/rardecode/v2 to v2.4.1 (#…
renovate[bot] Aug 28, 2026
ab51cd6
fix(deps): update module github.com/quic-go/quic-go to v0.61.0 (#2899)
renovate[bot] Aug 28, 2026
edbf428
fix(deps): update module github.com/blevesearch/bleve/v2 to v2.6.1 (#…
renovate[bot] Aug 28, 2026
c2b3666
fix(deps): update module gorm.io/driver/postgres to v1.6.2 (#2981)
renovate[bot] Aug 28, 2026
80795b8
fix(deps): update module github.com/sirupsen/logrus to v1.10.2 (#2982)
renovate[bot] Aug 28, 2026
fd7fb04
fix(deps): update module github.com/rclone/rclone to v1.75.0 (#2900)
renovate[bot] Aug 28, 2026
b86e4cb
fix(deps): update module github.com/pkg/sftp to v1.13.11 (#2980)
renovate[bot] Aug 28, 2026
9dc6cb2
chore(deps): update docker/login-action digest to dbcb813 (#2974)
renovate[bot] Aug 28, 2026
f6557f3
chore(deps): update docker/setup-buildx-action digest to 37fe631 (#2975)
renovate[bot] Aug 28, 2026
b1cc7c6
fix(deps): update module github.com/jlaffaye/ftp to v0.2.4 (#2979)
renovate[bot] Aug 28, 2026
3943180
fix(deps): update module github.com/antchfx/xpath to v1.3.8 (#2977)
renovate[bot] Aug 28, 2026
31ae0f5
fix(drivers/onedrive_sharelink): reuse shared HTTP clients (#2961)
jyxjjj Aug 28, 2026
39fcaf4
feat(ilanzou): modernize console API session and copy (#2962)
devLythen Aug 28, 2026
e0e4de5
fix(server/s3): paginate recursive object listings (#2968)
Aug 28, 2026
0d277b8
fix(drivers/strm): respect deployment umask for local directories (#2…
StromKuo Aug 28, 2026
c066569
fix(offline): expose native 115 tools for ED2K downloads (#2920)
AmPlace Aug 28, 2026
eea8fee
fix(drivers): stop the upload retry loop when the context is canceled…
beardthelion Aug 28, 2026
4c611ef
fix(deps): update github.com/cloudsoda/go-smb2 digest to 0b399b9 (#2976)
renovate[bot] Aug 28, 2026
d12bd4c
feat(drivers/github): add optional accurate modified time (#2388)
jiwangyihao Aug 28, 2026
d220b8b
fix(drivers/189pc)!: normalize escaped apostrophes in names (#2792)
qbisi Aug 28, 2026
819fdbd
fix(drivers/189pc,drivers/189tv): fix extra requests when viewing fil…
wzdc Aug 28, 2026
394bb8f
chore(deps): update go toolchain directive to v1.26.5 (#2733)
renovate[bot] Aug 30, 2026
8f9a09d
fix(drivers/guangyapan): report multipart upload progress to copy tas…
hugcabbage Sep 1, 2026
666b1a0
fix(deps): update module golang.org/x/crypto to v0.55.0 (#2993)
renovate[bot] Sep 1, 2026
9b34ca5
fix(deps): update module github.com/coreos/go-oidc to v2.5.0+incompat…
renovate[bot] Sep 1, 2026
4031b31
fix(deps): update module github.com/azure/azure-sdk-for-go/sdk/azcore…
renovate[bot] Sep 1, 2026
ce87b45
fix(cmd/start): use absolute executable path for child process (#2125)
abcqqoo Sep 1, 2026
f244adf
fix(meta): enforce case-insensitive access controls
jyxjjj Sep 1, 2026
bba3516
fix(upload): authorize direct upload destinations
jyxjjj Sep 1, 2026
523af85
fix(auth): secure SSO account binding
jyxjjj Sep 1, 2026
8869874
fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.10.0 …
renovate[bot] Sep 1, 2026
cc11f35
fix(deps): update module github.com/go-webauthn/webauthn to v0.18.0 (…
renovate[bot] Sep 1, 2026
3ea9984
fix(deps): update module golang.org/x/image to v0.45.0 (#2994)
renovate[bot] Sep 1, 2026
fc23f4e
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.26.8 (#3…
renovate[bot] Sep 1, 2026
f8ebaec
fix(deps): update module google.golang.org/grpc to v1.85.0-dev (#3015)
renovate[bot] Sep 1, 2026
2bdf16d
chore(deps): pin dependencies (#2736)
renovate[bot] Sep 1, 2026
c3d3da9
fix(drivers/189): decode JSON strings before parsing timestamps (#3033)
jyxjjj Sep 4, 2026
d90d849
fix(drivers/139): improve mail login credential renewal (#3029)
UcnacDx2 Sep 5, 2026
6ad4460
feat(drivers/guangyapan): add md5-based instant upload support (#3034)
PIKACHUIM Sep 5, 2026
93dac16
chore(deps): update go toolchain directive to v1.27.1 (#3024)
renovate[bot] Sep 5, 2026
6b55a82
chore(deps): update docker/setup-qemu-action digest to 1f40c72 (#3021)
renovate[bot] Sep 5, 2026
eee910b
fix(deps): update module github.com/rclone/rclone to v1.75.1 (#3035)
renovate[bot] Sep 5, 2026
6247cf7
feat(server/s3): support multipart upload (#2813)
xrgzs Sep 5, 2026
55530ff
fix(release): fetch frontend assets from edge (#3052)
jyxjjj Sep 7, 2026
d9d8aa2
fix(s3): default upload content types and return partial content (#3053)
jyxjjj Sep 7, 2026
2d51c9a
feat!(init): add initialization wizard (#3041)
PIKACHUIM Sep 7, 2026
0463da4
chore(ci): enforce AI disclosures and lock invalid issues (#3059)
jyxjjj Sep 8, 2026
d6109a7
feat(task): persist task timestamps across restarts (#2914)
fryeggs Sep 10, 2026
f18b4ac
feat(local): add PDF thumbnails on macOS (#3017)
flyingrtx2333 Sep 10, 2026
5447ecb
fix(s3): encode multipart fixture paths (#3074)
Sep 14, 2026
4580c4d
fix(alist_v3): set child paths so nested directories resolve (#3019)
Elity Sep 15, 2026
084c008
chore(build): replace uncontrolled email domain (#3103)
jyxjjj Sep 20, 2026
d894a39
fix(115_open): refresh expired OSS credentials during upload (#3063)
xqmmcqs Sep 21, 2026
56064d1
fix(op): enforce link cache lifecycle policy (#3101)
Sep 21, 2026
3a31b43
refactor(offline): centralize native tool setup (#3096)
Sep 21, 2026
40f4f65
fix(ftp): handle EOF and detect content type from read bytes (#3125)
awaae001 Sep 23, 2026
f286862
refactor(stream): index parked readers by offset instead of full scan…
ILoveScratch2 Sep 23, 2026
b51d1c8
fix(s3): close ranged response bodies (#3095)
Sep 23, 2026
6c60091
fix(fs): return FOLDER type for directories in fs/get responses (#3114)
ZRHann Sep 23, 2026
e73a80c
feat(drivers/pikpak): auto re-login with username/password when token…
wray-lee Sep 23, 2026
9de3f69
fix(fs): only list parent dir for related objs when file is video (#3…
ZRHann Sep 23, 2026
cadbf87
fix(teldrive): use a valid root path for listings (#3108)
spark-328 Sep 23, 2026
1462d63
fix(net): preserve cancellation errors during partitioned downloads (…
Sep 23, 2026
90acfa1
refactor(context): centralize request origin access (#3100)
Sep 23, 2026
893457c
fix(aliyundrive): limit callback concurrency (#3071)
Sep 24, 2026
c16701b
fix(build): update cgo-actions version to v1.3.0 and fallback FreeBSD…
elysia-best Sep 24, 2026
54ae9d7
fix(internal/db/searchnode): fix index update path (#3128)
ILoveScratch2 Sep 24, 2026
ea10624
fix: harden request handling for files, search, proxy and SSO
ILoveScratch2 Sep 29, 2026
e1d88b0
fix(drivers/lanzou): support new /fn download page structure (#3157)
rzsgsfm Oct 3, 2026
4c39bbe
fix(drivers/189pc): align login with the official PC client (#3105)
naiyQAQ Oct 3, 2026
61e535c
fix(drivers/189pc): preserve file extension during family transfer (#…
qcnhy Oct 10, 2026
f27748d
fix(s3): end common prefixes with a slash (#3174)
zeroornull Oct 10, 2026
8cfe906
fix(webdav): honor conditional PUT requests (#3066)
jyxjjj Oct 10, 2026
3d3d10a
feat(drivers/139): support uploading large files up to 500 GB (#3115)
glsname Oct 10, 2026
4f70daa
fix(storage|drivers/onedrive): refresh root folder after storage upda…
nova1751 Oct 10, 2026
6bb4c88
fix(drivers/s3): sign content-type for direct uploads (#3152)
mumingluan Oct 10, 2026
482464c
fix(net): handle gzip reader error on error response decoding (#3179)
awaae001 Oct 10, 2026
4217f35
chore(merge): 重接官方祖先——v4.2.5 内容已随 #31 squash 进 main,此处仅记录祖先使后续合并以 v4.…
power721 Oct 10, 2026
8223cc7
chore(merge): 合并官方 OpenList v4.2.5 之后的全部提交 (v4.2.6 及 main 至 482464c2)
power721 Oct 10, 2026
201459e
夸克/UC __puus 轮换不回写实际账号致播放一天后 412(#1082):免转存 requestAt/speedup 下载域响应轮换…
power721 Oct 19, 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
16 changes: 12 additions & 4 deletions .github/ISSUE_TEMPLATE/00-bug_report_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,17 @@ body:
label: 复现链接(可选)
description: |
请提供能复现此问题的链接。
- type: textarea
- type: checkboxes
id: aigenerated
attributes:
label: AI生成内容(可选)
description: |
如果此问题是由AI辅助您发现的,请提供全部聊天记录,包括使用的模型信息。
label: AI生成内容
description: 必须且只能勾选一项,请勿删除或修改声明文字。
options:
- label: 我使用了AI工具生成此内容
- label: 我没有使用AI工具生成此内容
- type: input
id: ai-model
attributes:
label: AI模型是
description: 如果使用了AI工具,请填写模型名称;未使用则留空。
placeholder: xxx
16 changes: 12 additions & 4 deletions .github/ISSUE_TEMPLATE/01-bug_report_en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,17 @@ body:
label: Reproduction Link (optional)
description: |
Please provide a link to a repo or page that can reproduce this issue.
- type: textarea
- type: checkboxes
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.
label: AI Generated Content
description: Select exactly one option. Do not delete or modify the disclosure text.
options:
- label: I used AI tools to generate this content
- label: I did not use AI tools to generate this content
- type: input
id: ai-model
attributes:
label: AI model used
description: If you used AI tools, enter the model name; otherwise leave this blank.
placeholder: xxx
16 changes: 12 additions & 4 deletions .github/ISSUE_TEMPLATE/02-feature_request_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,17 @@ body:
label: 附加信息
description: |
相关的任何其他上下文或截图,或者你觉得有帮助的信息
- type: textarea
- type: checkboxes
id: aigenerated
attributes:
label: AI生成内容(可选)
description: |
如果此请求是由AI辅助您提交的,请提供全部聊天记录,包括使用的模型信息。
label: AI生成内容
description: 必须且只能勾选一项,请勿删除或修改声明文字。
options:
- label: 我使用了AI工具生成此内容
- label: 我没有使用AI工具生成此内容
- type: input
id: ai-model
attributes:
label: AI模型是
description: 如果使用了AI工具,请填写模型名称;未使用则留空。
placeholder: xxx
16 changes: 12 additions & 4 deletions .github/ISSUE_TEMPLATE/03-feature_request_en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,17 @@ body:
label: Additional Information
description: |
Any other context or screenshots related to this feature request, or information you find helpful.
- type: textarea
- type: checkboxes
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.
label: AI Generated Content
description: Select exactly one option. Do not delete or modify the disclosure text.
options:
- label: I used AI tools to generate this content
- label: I did not use AI tools to generate this content
- type: input
id: ai-model
attributes:
label: AI model used
description: If you used AI tools, enter the model name; otherwise leave this blank.
placeholder: xxx
10 changes: 5 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- uses: benjlevesque/short-sha@dbe07338b37c456ce06d23409b35a56a7815eef4 # v4.0
id: short-sha

- name: Setup Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version: "1.26.4"
go-version: "1.27.1"

- name: Setup web
run: bash build.sh dev web
Expand All @@ -37,7 +37,7 @@ jobs:
FRONTEND_REPO: ${{ vars.FRONTEND_REPO }}

- name: Build
uses: OpenListTeam/cgo-actions@v1.2.5
uses: OpenListTeam/cgo-actions@d760a8ec1a6be1f8ec181229e11cb2671797f9e0 # v1.3.0
with:
targets: ${{ matrix.target }}
flags: ${{ contains(matrix.target, '-musl') && '-ldflags=-linkmode external -extldflags ''-static -fpic''' || '-ldflags=' }}
Expand All @@ -47,7 +47,7 @@ jobs:
out-dir: build
x-flags: |
github.com/OpenListTeam/OpenList/v4/internal/conf.BuiltAt=$built_at
github.com/OpenListTeam/OpenList/v4/internal/conf.GitAuthor=The OpenList Projects Contributors <noreply@openlist.team>
github.com/OpenListTeam/OpenList/v4/internal/conf.GitAuthor=The OpenList Projects Contributors <noreply@oplist.org>
github.com/OpenListTeam/OpenList/v4/internal/conf.GitCommit=$git_commit
github.com/OpenListTeam/OpenList/v4/internal/conf.Version=$tag
github.com/OpenListTeam/OpenList/v4/internal/conf.WebVersion=rolling
Expand All @@ -64,7 +64,7 @@ jobs:
fi

- name: Upload artifact
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: openlist_${{ steps.short-sha.outputs.sha }}_${{ matrix.target }}
path: build/*
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0

Expand Down
75 changes: 75 additions & 0 deletions .github/workflows/issue_comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Issue Auto Reply

on:
issues:
types: [opened]

permissions:
issues: write

jobs:
auto-reply:
runs-on: ubuntu-latest
steps:
- name: Check issue for unchecked tasks and reply
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
with:
script: |
if (context.payload.issue.title.startsWith('[Announcements]')) return;
const titleNotEdited = /(请修改标题|Please modify the title)/i.test(context.payload.issue.title);
const issueBody = context.payload.issue.body || "";
const aiSection = issueBody.match(/^### (AI生成内容|AI Generated Content)\r?\n([\s\S]*?)(?=^### |$(?![\s\S]))/m);
const aiOptionsPattern = aiSection?.[1] === 'AI生成内容'
? /^\s*- \[([ xX])\] 我使用了AI工具生成此内容\r?\n- \[([ xX])\] 我没有使用AI工具生成此内容\s*$/
: /^\s*- \[([ xX])\] I used AI tools to generate this content\r?\n- \[([ xX])\] I did not use AI tools to generate this content\s*$/;
const aiOptions = (aiSection?.[2] || '').match(aiOptionsPattern);
const validAiDisclosure = aiOptions !== null && (aiOptions[1] !== ' ') !== (aiOptions[2] !== ' ');
const aiModelSection = issueBody.match(/^### (AI模型是|AI model used)\r?\n([\s\S]*?)(?=^### |$(?![\s\S]))/m);
const aiModel = (aiModelSection?.[2] || '').trim();
const missingAiModel = validAiDisclosure && aiOptions[1] !== ' ' && (aiModel === '' || aiModel === '_No response_');
const confirmNotRead = /- \[[xX]\] (?:我没有阅读这个清单|I have not read these checkboxes)/.test(issueBody);
const closeIssue = titleNotEdited || confirmNotRead || !validAiDisclosure || missingAiModel;
let comment;
if (titleNotEdited) {
comment = `⚠️ 请修改标题以更好地描述您的问题或需求,并删除示例提示。当前 Issue 将被自动关闭并锁定。如需继续提交,请创建新的 Issue。
⚠️ Please modify the title to better describe your issue or request, and remove the example prompt. This issue will be automatically closed and locked. If you wish to proceed, please create a new issue.
`;
} else if (confirmNotRead || !validAiDisclosure || missingAiModel) {
comment = `⚠️ 你的 Issue 不符合提交规则。请先阅读相关规范后再重新提交。当前 Issue 将被自动关闭并锁定。如需继续提交,请确认已了解规则后创建新的 Issue。
⚠️ Your issue does not comply with the submission rules. Please read the guidelines before submitting again. This issue will be automatically closed and locked. If you wish to proceed, please confirm that you have reviewed the rules before creating a new issue.
`;
} else if (/- \[ \] (?!我没有阅读这个清单|I have not read these checkboxes)/.test(issueBody.replace(aiSection[0], ''))) {
comment = `感谢您联系OpenList。我们会尽快回复您。
Thanks for contacting OpenList. We will reply to you as soon as possible.

由于您提出的 Issue 中包含部分未确认的项目,为了更好地管理项目,在人工审核后可能会直接关闭此问题。
如果您能确认并补充相关未确认项目的信息,欢迎随时重新提交。我们会及时关注并处理。感谢您的理解与支持!
Since your issue contains some unchecked tasks, it may be closed after manual review.
If you can confirm and provide information for the unchecked tasks, feel free to resubmit.
We will pay attention and handle it in a timely manner.

感谢您的理解与支持!
Thank you for your understanding and support!
`;
} else {
return;
}

await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: comment
});
if (closeIssue) {
await github.rest.issues.update({
...context.repo,
issue_number: context.issue.number,
state: 'closed',
state_reason: 'not_planned',
labels: ['invalid']
});
await github.rest.issues.lock({
...context.repo,
issue_number: context.issue.number
});
}
34 changes: 34 additions & 0 deletions .github/workflows/pr_title_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: PR Title Check

on:
pull_request_target:
types: [opened]

permissions:
pull-requests: write

jobs:
pr-title-check:
runs-on: ubuntu-latest
steps:
- name: Check PR title for required prefix and comment
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
with:
script: |
const title = context.payload.pull_request.title;
if (/^(feat|docs|fix|style|refactor|chore)\(.+?\)!?: /i.test(title)) return;
const comment = `⚠️ PR 标题需以 \`feat(): \`, \`docs(): \`, \`fix(): \`, \`style(): \`, \`refactor(): \`, \`chore(): \` 其中之一开头,例如:\`feat(component): 新增功能\`。
⚠️ The PR title must start with \`feat(): \`, \`docs(): \`, \`fix(): \`, \`style(): \`, or \`refactor(): \`, \`chore(): \`. For example: \`feat(component): add new feature\`.

如果跨多个组件,请使用主要组件作为前缀,并在标题中枚举、描述中说明。
If it spans multiple components, use the main component as the prefix and enumerate in the title, describe in the body.

如果是破坏性变更,请在类型后添加 \`!\`,例如 \`feat(component)!: 破坏性变更\`。
For breaking changes, add \`!\` after the type, e.g., \`feat(component)!: breaking change\`.

`;
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: comment
});
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Prerelease
uses: irongut/EditRelease@v1.2.0
uses: irongut/EditRelease@ccf529ad26dddf9996e7dd0f24ca5da4ea507cc2 # v1.2.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
id: ${{ github.event.release.id }}
Expand All @@ -33,7 +33,7 @@ jobs:

- name: Free Disk Space (Ubuntu)
if: matrix.target-platform == ''
uses: jlumbroso/free-disk-space@main
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main
with:
tool-cache: false
android: true
Expand All @@ -46,10 +46,10 @@ jobs:
- name: Setup Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version: '1.26.4'
go-version: '1.27.1'

- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 1
fetch-tags: true
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release_docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:

- name: Cache Musl
id: cache-musl
uses: actions/cache@v6
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: build/musl-libs
key: docker-musl-libs-v2
Expand All @@ -61,7 +61,7 @@ jobs:
run: bash build.sh release docker-multiplatform

- name: Upload artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ${{ env.ARTIFACT_NAME }}
overwrite: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/trigger-makefile-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Trigger Makefile hash update
uses: actions/github-script@v9
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
with:
github-token: ${{ secrets.EXTERNAL_REPO_TOKEN_LUCI_APP_OPENLIST }}
script: |
Expand Down
8 changes: 5 additions & 3 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
set -e
appName="alist"
builtAt="$(date +'%F %T %z')"

gitAuthor="power721"

gitCommit=$(git log --pretty=format:"%h" -1)

# Set frontend repository, default to OpenListTeam/OpenList-Frontend
Expand Down Expand Up @@ -98,7 +100,7 @@ AssertStaticBinary() {
return 0
}
FetchWebRolling() {
pre_release_json=$(eval "curl -fsSL --max-time 2 $githubAuthArgs -H \"Accept: application/vnd.github.v3+json\" \"https://api.github.com/repos/$frontendRepo/releases/tags/rolling\"")
pre_release_json=$(eval "curl -fsSL --max-time 2 $githubAuthArgs -H \"Accept: application/vnd.github.v3+json\" \"https://api.github.com/repos/$frontendRepo/releases/tags/edge\"")
pre_release_assets=$(echo "$pre_release_json" | jq -r '.assets[].browser_download_url')

# There is no lite for rolling
Expand Down Expand Up @@ -536,8 +538,8 @@ BuildReleaseFreeBSD() {
sed 's/\.0$//')

if [ -z "$freebsd_version" ]; then
echo "Failed to get FreeBSD version, falling back to 14.3"
freebsd_version="14.3"
echo "Failed to get FreeBSD version, falling back to 14.4"
freebsd_version="14.4"
fi

echo "Using FreeBSD version: $freebsd_version"
Expand Down
24 changes: 17 additions & 7 deletions cmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"os/exec"
"path/filepath"
"strconv"
"strings"

log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
Expand All @@ -31,14 +32,23 @@ func start() {
return
}
}
args := os.Args
args[1] = "server"
args = append(args, "--force-bin-dir")
cmd := &exec.Cmd{
Path: args[0],
Args: args,
Env: os.Environ(),
exe, err := os.Executable()
if err != nil {
log.Fatal("failed to resolve executable path: ", err)
}
childArgs := append([]string{"server"}, os.Args[2:]...)
hasForceBinDir := false
for _, arg := range childArgs {
if arg == "--force-bin-dir" || strings.HasPrefix(arg, "--force-bin-dir=") {
hasForceBinDir = true
break
}
}
if !hasForceBinDir {
childArgs = append(childArgs, "--force-bin-dir")
}
cmd := exec.Command(exe, childArgs...)
cmd.Env = os.Environ()
stdout, err := os.OpenFile(filepath.Join(filepath.Dir(pidFile), "start.log"), os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)
if err != nil {
log.Fatal(os.Getpid(), ": failed to open start log file:", err)
Expand Down
6 changes: 4 additions & 2 deletions drivers/115/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -393,9 +393,11 @@ func (d *Pan115) UploadByMultipart(ctx context.Context, params *driver115.Upload
for chunk := range chunksCh {
var part oss.UploadPart // 出现错误就继续尝试,共尝试3次
for retry := 0; retry < 3; retry++ {
select {
case <-ctx.Done():
if utils.IsCanceled(ctx) {
err = ctx.Err()
break
}
select {
case <-ticker.C:
if ossToken, err = d.client.GetOSSToken(); err != nil { // 到时重新获取ossToken
errCh <- errors.Wrap(err, "刷新token时出现错误")
Expand Down
Loading
Loading