Commit Graph

346 Commits (6aaec19c1ca5ac53d457ecd7ae2c3af43f8ba295)

Author SHA1 Message Date
EzraRT 146619134d
feat: customize proxy ignore headers (close #2763 pr #2766)
* clean referer when use proxy

* feat: customize proxy ignore headers

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-20 16:08:32 +08:00
foxxorcat 62a06fa0f9
feat: optimize file operation interface (#2757)
* feat: optimize file operation interface

* chore: fix typo

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-20 15:02:40 +08:00
BoYanZh e2bcca2fbd
feat: static files for embed viewers (#2739) 2022-12-19 13:34:06 +08:00
foxxorcat 6024e8d832
refactor: split the db package hook and cache to the op package (#2747)
* refactor:separate the setting method from the db package to the op package and add the cache

* refactor:separate the meta method from the db package to the op package

* fix:setting not load database data

* refactor:separate the user method from the db package to the op package

* refactor:remove user JoinPath error

* fix:op package user cache

* refactor:fs package list method

* fix:tile virtual paths (close #2743)

* Revert "refactor:remove user JoinPath error"

This reverts commit 4e20daaf9e.

* clean path directly may lead to unknown behavior

* fix: The path of the meta passed in must be prefix of reqPath

* chore: rename all virtualPath to mountPath

* fix: `getStoragesByPath` and `GetStorageVirtualFilesByPath`

is_sub_path:

/a/b isn't subpath of /a/bc

* fix: don't save setting if hook error

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-18 19:51:20 +08:00
foxxorcat fb64f00640
refactor: obj name mapping and internal path processing (#2733)
* refactor:Prepare to remove the get interface

* feat:add obj Unwarp interface

* refactor:obj name mapping and program internal path processing

* chore: fix typo

* feat: unwrap get

* fix: no use op.Get to get parent id

* fix: set the path uniformly

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-17 19:49:05 +08:00
BoYanZh b3be9ef428
feat(search): use `FULLTEXT` index (close #2716 pr #2726) 2022-12-16 16:51:36 +08:00
BoYanZh 5a6b600ace
feat: show gorm log on debug/dev mode (#2720) 2022-12-15 17:48:52 +08:00
BoYanZh 6f4b1ba4b3
feat: log to stdout & file (#2709) 2022-12-14 13:19:08 +08:00
BoYanZh cdc45630ae
fix: `whereInParent` when parent = "/" (#2706) 2022-12-14 10:37:09 +08:00
BoYanZh 7947ff1ae4
feat: limit max connection count (#2701) 2022-12-14 10:33:58 +08:00
foxxorcat 33bae52fa1
refactor: optimize driver initialization need to manually deserialize and assign values, and remove redundant driver registration parameters (#2691)
* refactor: optimize driver initialization need to manually deserialize and assign values, and remove redundant driver registration parameters

* fix typo

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-13 18:03:30 +08:00
BoYanZh 179d285564
feat: optimize database search (#2687)
* feat: remove index on `SearchNode.Name`

As we do not use s% on name column, index there does not work

* fix: init index after init data

Or on the first run, it will log 'init index error: readObjectStart: expect { or n, but found , error found in #0 byte of ...||..., bigger context ...||...'

* fix: match parent more precisely

It will match `/a/bc` if we search in `/a/b` originally.
But it is not backward compatible by adding a suffix `/`
to all the data in parent field
2022-12-12 20:20:01 +08:00
Noah Hsu 5043815d48 fix(search): don't delete virtual folder while update indexes (close #2677) 2022-12-11 14:59:58 +08:00
BoYanZh 1640f06e13
feat(search): multiple keywords split by space (#2669) 2022-12-10 19:28:34 +08:00
BoYanZh 62ea93837c
feat: alist v3 index permission (#2653)
* feat: alist v3 index permission

* fix allowIndexed check

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-10 19:03:09 +08:00
BoYanZh 6f1aeb47fd
feat: index enhancement (close #2632 pr #2636)
* feat: index paths as setting

* feat: clear index (#2632)

* feat: check indexMQ more frequently
2022-12-09 10:02:13 +08:00
BoYanZh 6e23c8b4c0
feat: partial update index (close #2593 close #2621 pr #2624) 2022-12-07 10:41:52 +08:00
BoYanZh 72aa63adce
fix: skip virtual driver on building index (close #2604 pr #2617) 2022-12-06 20:43:32 +08:00
BoYanZh 7aa4dfb240
feat: use natural sort in `SortFiles` (#2612) 2022-12-06 17:28:18 +08:00
Noah Hsu f1a9b68022 fix(index): update indexes in database 2022-12-05 20:23:37 +08:00
Noah Hsu dda1da4576 fix(index): nil pointer call 2022-12-05 20:22:35 +08:00
Noah Hsu 97f1efbb72 feat!: disable `--force-bin-dir` if `--data` is abs
related issues: #2580 #2542

after this commit, the `--force-bin-dir` would take no effect if `--data` is absolute path
2022-12-05 18:32:48 +08:00
Noah Hsu bf8b6f4c2c feat: customize ignore paths of indexes 2022-12-05 16:45:11 +08:00
Noah Hsu bd33c200dc feat: optimize index build 2022-12-05 16:07:36 +08:00
BoYanZh 8c0dfe2f3d
feat: Search enhancement (#2562)
* feat: ignore AList storage on indexing

* fix: remove unused err in `walkFn`

* chore(ci): fix auto_lang trigger and run it

* feat: batch index

* feat: quit index & init index

* feat: set DocType for bleve data

* fix: build index cleanup check origin err
2022-12-05 13:28:39 +08:00
Noah Hsu 4e1be9bee6 fix: async init aria2 to optimize start duration 2022-12-04 00:00:40 +08:00
BoYanZh 09f480318c
fix: unify settings string (#2555) 2022-12-02 17:42:42 +08:00
Noah Hsu ff0bcfef8a feat: optional sign all files 2022-11-30 22:10:07 +08:00
Noah Hsu 4980b71ba3 fix: add hide check to `canAccess` (close #2532) 2022-11-30 22:01:33 +08:00
Noah Hsu b5bf5f4325 fix: check if the req path is relative path (close #2531) 2022-11-30 21:38:00 +08:00
Noah Hsu 83644dab85 fix: mapping filename in `GetName`
some missed filename mapping
2022-11-30 20:46:54 +08:00
Noah Hsu e98561ceb1 fix: filename char mapping while build index 2022-11-28 21:08:11 +08:00
Noah Hsu 76f37373e0 fix: settings map read and write concurrently 2022-11-28 16:54:03 +08:00
Simon 61a06992c3
fix(aria2): directory missing (close #1856 pr #2504) 2022-11-28 14:05:28 +08:00
Noah Hsu ddcba93eea
feat: multiple search indexes (#2514)
* refactor: abstract search interface

* wip: ~

* fix cycle import

* objs update hook

* wip: ~

* Delete search/none

* auto update index while cache changed

* db searcher

TODO: bleve init issue

cannot open index, metadata missing

* fix size type

why float64??

* fix typo

* fix nil pointer using

* api adapt ui

* bleve: fix clear & change struct
2022-11-28 13:45:25 +08:00
BoYanZh 2383e851e2
fix: reset index before build new one (#2471) 2022-11-24 14:47:49 +08:00
BoYanZh 330a767fd7
feat: build index & search with bleve (close #1740 pr #2386)
* feat: build index & search with bleve (#1740)

* delete unused struct

Co-authored-by: Noah Hsu <i@nn.ci>
2022-11-24 11:46:47 +08:00
Noah Hsu c09800790b feat: custom filename char mapping
fixes #2447 #2446 #2440 #2409 #2006 #1979 #1507 #324 #691 #518 #430
2022-11-22 15:54:18 +08:00
Noah Hsu 4dcaa24758 fix: cache is modified while sorting (close #2340) 2022-11-15 14:38:23 +08:00
Noah Hsu 3b6d8987db chore: add id to resp of create storage 2022-11-13 20:17:10 +08:00
小傅Fox 46701a176d
feat(aria2): mark aria2 seeding as complete (#2223)
Currently if using aria2 to download a torrent file, it does not
consider seeding + active as completed, so the torrent download task
only completes as aria2 stops seeding.

This commit uses seeder property of TaskInfo, and mark tasks with active
status and true seeder as complete.
2022-11-06 16:20:09 +08:00
Noah Hsu 1c212f6c30 feat!: force to use the bin dir as the data dir (close #2108)
- move default log path to `data/log/log.log`
- replace `--conf` with `--data`
2022-11-01 19:16:23 +08:00
Noah Hsu 0019959eec fix: delete cache if files is empty 2022-10-25 16:42:06 +08:00
Noah Hsu a2c808c8ce fix: incorrect root path of initial storage for dev mode 2022-10-23 16:26:14 +08:00
缘生 4fef500795
feat(user): set default password of init user from env (#2058)
add init user default password

Signed-off-by: ysicing <i@ysicing.me>

Signed-off-by: ysicing <i@ysicing.me>
2022-10-19 20:06:06 +08:00
Noah Hsu b8cf02ca68 fix(aria2): retry 5 times for get status (close #1857) 2022-10-18 15:27:19 +08:00
Noah Hsu baebc2fbe9 fix: can't delete disabled storage (close #1942) 2022-10-09 22:20:48 +08:00
Noah Hsu 8c69260972 fix(webdav): set mime by ext if it's empty 2022-10-09 19:29:55 +08:00
Noah Hsu 451e418b18 perf: return cache before check obj to reduce recursion 2022-09-28 21:19:36 +08:00
Noah Hsu 9d9c79179b feat: custom token expires in 2022-09-27 14:05:00 +08:00
Noah Hsu 2fc0ccbfe0 fix: don't init aria2 in new goroutine (close #1752) 2022-09-26 15:11:08 +08:00
Noah Hsu f86ad1dce4 fix: create temp dir perm with `777` (close #1813) 2022-09-26 14:48:59 +08:00
Noah Hsu f0181d92cd fix: keep type of setting item is correct 2022-09-25 21:20:32 +08:00
Noah Hsu 7c32af4649 refactor!: move `api_url` and `base_path` to config file 2022-09-25 17:57:54 +08:00
Noah Hsu 03dbb3a403 chore: fix typo of env name 2022-09-25 17:41:04 +08:00
Noah Hsu a570e4c7a0 fix: some settings don't take effect at startup 2022-09-23 20:37:49 +08:00
Noah Hsu 539c47bd3b chore: change log if aria2 not ready 2022-09-23 20:04:47 +08:00
Noah Hsu b6d9018ebd fix: sorting by `modified` doesn't work (close #1756) 2022-09-23 12:30:32 +08:00
Noah Hsu b71ecc8e89 chore: add a default polyfill to head 2022-09-22 11:29:39 +08:00
Noah Hsu d8dc8d8623 fix: dir duplicate creation (close #1687) 2022-09-19 13:43:23 +08:00
Noah Hsu 24d58f278a fix: don't use cache if no objs 2022-09-18 18:38:47 +08:00
Noah Hsu 6c89c6c8ae fix: aria2 download magnet link (close #1665) 2022-09-18 16:07:32 +08:00
Noah Hsu bec3a327a7 fix: hide objs if only virtual files 2022-09-17 15:31:30 +08:00
Noah Hsu d329df70f3 fix: failed create record if use mysql (close #1690) 2022-09-16 22:21:43 +08:00
Noah Hsu d9f0603271 fix: copy folder between two storage (fix #1670) 2022-09-15 17:58:32 +08:00
Noah Hsu 86a625cb40 fix: set `CHARSET` to `utf8mb4` if use mysql 2022-09-15 17:14:03 +08:00
Noah Hsu 7ad3748a46 feat: update cache after remove instead of clear 2022-09-14 20:28:52 +08:00
Noah Hsu 9e5ef974a7 fix: send on closed channel 2022-09-14 15:13:02 +08:00
Noah Hsu 2de0da87fa fix: infinite loop if new multi-level folder (close #1661) 2022-09-13 18:34:04 +08:00
Noah Hsu 78e34f0d9f fix: log error if err != nil (close #1651) 2022-09-12 17:01:06 +08:00
Noah Hsu cd73e34ccc chore: optional `other` interface 2022-09-11 18:40:19 +08:00
Noah Hsu 107462e42e chore: change default pdf viewer address 2022-09-11 18:27:28 +08:00
Noah Hsu 969018db37 fix: is the root folder required (close #1633) 2022-09-11 16:23:46 +08:00
Noah Hsu fd99c2197b fix: remove relative path check 2022-09-11 14:05:13 +08:00
Noah Hsu f5c7a11da5 chore: add client ip to key of link cache 2022-09-10 14:12:57 +08:00
Noah Hsu 220cd4d6b8 fix: must update version if upgrade 2022-09-10 13:47:38 +08:00
Noah Hsu 4af9124162 fix: error if use abs temp path (close #1624) 2022-09-09 18:50:54 +08:00
Noah Hsu 63569be41d fix: wrong columnName index 2022-09-09 16:44:54 +08:00
Noah Hsu 7d3c3df207 ci: fix web release url 2022-09-09 13:34:22 +08:00
Noah Hsu 7a12f1bddd chore: add `audio_cover` setting 2022-09-07 19:18:19 +08:00
Noah Hsu 71d30b6819 chore: rename `index` to `order` of storage 2022-09-07 15:55:15 +08:00
Noah Hsu a24dfddc2a feat: add 189cloud driver 2022-09-06 14:39:21 +08:00
Noah Hsu 3dd4fbd76d feat: add webdav driver 2022-09-04 22:34:54 +08:00
Noah Hsu 9d20c887df fix: `webdav_policy` options 2022-09-04 14:48:21 +08:00
Noah Hsu a1c86b3350 chore!: change root folder 2022-09-04 13:22:42 +08:00
Noah Hsu ffba5e0aec feat: add sftp driver (close #1466) 2022-09-04 12:43:52 +08:00
Noah Hsu 8fd56ef9dd feat: check status before storage call 2022-09-03 22:32:09 +08:00
Noah Hsu 5d0668b00b feat: add google_drive driver 2022-09-03 20:34:06 +08:00
Noah Hsu 7da9e33c4d fix: hide access_token in error message of `baidu_netdisk` 2022-09-03 19:48:11 +08:00
Noah Hsu 611457c0e7 feat: add `baidu_netdisk` driver 2022-09-02 22:46:31 +08:00
Noah Hsu 0f2425ce53 feat: add teambition driver 2022-09-02 18:24:14 +08:00
Noah Hsu 284274b37e feat: add 123pan driver 2022-09-01 22:13:37 +08:00
Noah Hsu 7290f9b301 chore: remove `global_readme` setting 2022-09-01 14:17:58 +08:00
Noah Hsu 8e1ed4015b fix: store storage in map whether error or not 2022-08-31 22:27:04 +08:00
Noah Hsu d31faabc24 chore: fix typo 2022-08-31 22:08:12 +08:00
Noah Hsu 7ac1d14eeb style: shorten name `operations` to `op` 2022-08-31 21:01:15 +08:00
Noah Hsu 9ec6d5be7a chore: just use std errors in drivers 2022-08-31 20:58:57 +08:00
Noah Hsu 102384e170 feat: add pikpak driver 2022-08-31 17:32:57 +08:00
Noah Hsu 7d407de22e feat: add a driver template 2022-08-31 16:37:00 +08:00
Noah Hsu 41edac5826 fix: convert driver name while generate lang 2022-08-30 22:11:58 +08:00