alist/server/middlewares
BaiYi 112363031a
feat: add fine-grained control for link signing (#3924)
* Determine whether the URL requires Sign

* Add File and Mem based KV

NOT TESTED: TokenKV Function

* Change Token KV func to common func.

Add File based KV func

* Remove KV, Remove Token

I found that the original Sign function is enough to complete the link signature, and only need to add simple configuration items to meet the requirements.

* Add IsStorageSigned func to judge if Signing is enabled in the storage settings.

It should be working now.

* Add a SIGN button to the management panel.

* Add enable_sign to the basic storage struct.

Can enable sign for every driver now.

Bug: When sign enabled, in download page, Copy link doesn't contain a sign.

(Not done yet)

* Fix a bug from commit 8f6c25f.

Response of fsread function does not contain sign.

* Optimize code and follow advices.

- Add back public/dist/README.md

- Enable sign when DownProxyUrl is enabled

- Merge needSign() to isEncrypt() in fsread.go

* simplify code

---------

Co-authored-by: Andy Hsu <i@nn.ci>
2023-03-24 22:44:33 +08:00
..
auth.go fix(security): compare auth token in constant time (#3740 close #3739) 2023-03-06 23:41:06 +08:00
check.go feat: static files for embed viewers (#2739) 2022-12-19 13:34:06 +08:00
down.go feat: add fine-grained control for link signing (#3924) 2023-03-24 22:44:33 +08:00
fsup.go fix: upload check if disable sub folder (close #3741) 2023-03-07 14:13:39 +08:00
limit.go feat: limit max connection count (#2701) 2022-12-14 10:33:58 +08:00
search.go feat: multiple search indexes (#2514) 2022-11-28 13:45:25 +08:00