Go to file
千石 4b288a08ef
fix: session invalid issue (#9301)
* feat(auth): Enhanced device login session management

- Upon login, obtain and verify `Client-Id` to ensure unique device sessions.
- If there are too many device sessions, clean up old ones according to the configured policy or return an error.
- If a device session is invalid, deregister the old token and return a 401 error.
- Added `EnsureActiveOnLogin` function to handle the creation and refresh of device sessions during login.

* feat(session): Modified session deletion logic to mark sessions as inactive.

- Changed session deletion logic to mark sessions as inactive using the `MarkInactive` method.
- Adjusted error handling to ensure an error is returned if marking fails.

* feat(session): Added device limits and eviction policies

- Added a device limit, controlling the maximum number of devices using the `MaxDevices` configuration option.
- If the number of devices exceeds the limit, the configured eviction policy is used.
- If the policy is `evict_oldest`, the oldest device is evicted.
- Otherwise, an error message indicating too many devices is returned.

* refactor(session): Filter for the user's oldest active session

- Renamed `GetOldestSession` to `GetOldestActiveSession` to more accurately reflect its functionality
- Updated the SQL query to add the `status = SessionActive` condition to retrieve only active sessions
- Replaced all callpoints and unified the new function name to ensure logical consistency
2025-08-29 21:20:29 +08:00
.github fix: resolve webdav decode issue (#9268) 2025-08-16 20:55:17 +08:00
cmd refactor(convert_role): Improve role conversion logic for legacy formats (#9219) 2025-07-26 15:20:08 +08:00
drivers fix(lanzou): correct comment parsing logic in lanzou driver (#9278) 2025-08-19 00:53:52 +08:00
internal fix: session invalid issue (#9301) 2025-08-29 21:20:29 +08:00
pkg feat: implement session management (#9286) 2025-08-25 19:46:38 +08:00
public fix: embed all files of dist 2024-02-03 19:44:50 +08:00
server fix: session invalid issue (#9301) 2025-08-29 21:20:29 +08:00
wrapper feat: add `windows/arm64` target (close #3308) 2023-02-09 19:52:40 +08:00
.air.toml feat: add doge driver (#6201) 2024-03-25 22:53:44 +08:00
.gitignore feat: add doge driver (#6201) 2024-03-25 22:53:44 +08:00
CODE_OF_CONDUCT.md docs: Create CODE_OF_CONDUCT.md [skip ci] 2022-09-10 22:23:05 +08:00
CONTRIBUTING.md docs: update go version 2023-07-27 18:32:33 +08:00
Dockerfile fix(docker_release): avoid duplicate occupation in docker image (#8393 close #8388) 2025-04-19 14:26:19 +08:00
Dockerfile.ci Update Dockerfile.ci (#9230) 2025-07-29 18:35:47 +08:00
LICENSE chore: add windows bin to gitignore 2022-04-18 18:31:10 +08:00
README.md fix(readme): remove outdated sponsor links from README files (#9300) 2025-08-29 14:56:54 +08:00
README_cn.md fix(readme): remove outdated sponsor links from README files (#9300) 2025-08-29 14:56:54 +08:00
README_ja.md fix(readme): remove outdated sponsor links from README files (#9300) 2025-08-29 14:56:54 +08:00
build.sh fix: dead link 2025-06-27 23:58:52 +08:00
docker-compose.yml feat!: listen to both http & https (#4536) 2023-06-11 18:17:37 +08:00
entrypoint.sh fix: shebang of entrypoint.sh (#8408) 2025-04-27 19:56:34 +08:00
go.mod chore(deps): Update 115driver dependency to v1.1.2 (#9294) 2025-08-27 17:46:34 +08:00
go.sum chore(deps): Update 115driver dependency to v1.1.2 (#9294) 2025-08-27 17:46:34 +08:00
main.go feat: use cobra and add some command 2022-08-07 13:09:59 +08:00
renovate.json fix(deps): update dependencies by renovate[bot] (#2344) 2022-11-17 08:49:15 +08:00

README.md

logo

🗂️A file list program that supports multiple storages, powered by Gin and Solidjs.


English | 中文 | 日本語 | Contributing | CODE_OF_CONDUCT

Features

Document

https://alistgo.com/

API Documentation (via Apifox):

https://alist-public.apifox.cn/

Demo

https://al.nn.ci

Discussion

Please go to our discussion forum for general questions, issues are for bug reports and feature requests only.

Sponsor

AList is an open-source software, if you happen to like this project and want me to keep going, please consider sponsoring me or providing a single donation! Thanks for all the love and support: https://alistgo.com/guide/sponsor.html

Special sponsors

  • VidHub - An elegant cloud video player within the Apple ecosystem. Support for iPhone, iPad, Mac, and Apple TV.

Contributors

Thanks goes to these wonderful people:

Contributors

License

The AList is open-source software licensed under the AGPL-3.0 license.

Disclaimer

  • This program is a free and open source project. It is designed to share files on the network disk, which is convenient for downloading and learning Golang. Please abide by relevant laws and regulations when using it, and do not abuse it;
  • This program is implemented by calling the official sdk/interface, without destroying the official interface behavior;
  • This program only does 302 redirect/traffic forwarding, and does not intercept, store, or tamper with any user data;
  • Before using this program, you should understand and bear the corresponding risks, including but not limited to account ban, download speed limit, etc., which is none of this program's business;
  • If there is any infringement, please contact me by email, and it will be dealt with in time.

@GitHub · @TelegramGroup · @Discord