Commit Graph

426 Commits (5afd65b65c1f220dae0c718a9b7f127934ad592d)

Author SHA1 Message Date
Noah Hsu a181b56ea7 feat: optional forward direct link params (close #3123) 2023-02-07 16:39:14 +08:00
Noah Hsu a985b748e9 fix: allow_indexed check (close #3291) 2023-02-07 15:14:39 +08:00
Andy Hsu 44cb8aaafe feat: only log to std on debug/dev mode 2023-02-05 09:17:37 +08:00
Andy Hsu 3d0065bdcf feat!: allow disable user (close #3241)
From this commit, the guest user will be disabled by default
2023-02-04 11:44:17 +08:00
Noah Hsu 9b99e8ab70 fix(search): allow indexed check (close #3103) 2023-01-19 17:00:49 +08:00
Noah Hsu 98872a8fdb fix: cancel `EXCLUSIVE` mode on sqlite3
because it will result in failure to get admin's info
2023-01-19 16:49:43 +08:00
Noah Hsu ce4a295008 fix!: check https with `X-Forwarded-Proto`
not read old setting `api_url` and `base_path` from this commit
2023-01-19 12:16:42 +08:00
Noah Hsu d61242d85d feat: add `wma` to default audio types (close #3088) 2023-01-18 10:50:28 +08:00
Noah Hsu 99d7105357 fix: move virtual files to end (close #3052) 2023-01-18 10:23:54 +08:00
Noah Hsu 26fe0a7684 feat: customize index max depth
Because some driver's issue may cause infinite loop
2023-01-17 17:33:18 +08:00
Aoang 9c7e451c03
perf: optimize sqlite3 (#3074)
- use journal mode to WAL
- set locking mode to EXCLUSIVE
- set auto vacuum

ref:
 - https://www.sqlite.org/pragma.html#pragma_journal_mode
 - https://www.sqlite.org/pragma.html#pragma_locking_mode
 - https://www.sqlite.org/pragma.html#pragma_auto_vacuum
2023-01-17 17:06:11 +08:00
Noah Hsu 9d9377f65d fix(local): incorrect path of thumbnail (for 6453ae0) 2023-01-16 20:02:30 +08:00
Noah Hsu 8b523fab8b revert: add `Getter` interface back 2023-01-16 19:55:43 +08:00
Noah Hsu 6453ae0968 fix(search): empty parent where update (close #2810) 2023-01-16 17:33:24 +08:00
BoYanZh 8e2069c554
fix: db non full-text import error (#3055) 2023-01-15 23:49:23 +08:00
BoYanZh 0ad9e17196
feat: lazy index creation on searcher init (#2962) 2023-01-09 14:09:21 +08:00
foxxorcat 2f19d4a834
perf(lanzou): optimize the use of list cache (#2956)
* fix:local sort not cache

* perf(lanzou): Optimize the use of list cache
2023-01-08 21:31:35 +08:00
aimuz 99a186d01b
fix(139): upload failed (#2950)
fix: The file size is exceeded and cannot be uploaded
fix: File name has special characters, signature fails
improve: optimize memory usage
Signed-off-by: aimuz <mr.imuz@gmail.com>

Signed-off-by: aimuz <mr.imuz@gmail.com>
2023-01-08 16:31:00 +08:00
BoYanZh 7902b646ff
feat: add database non full text index (close #2916) 2023-01-07 01:40:49 +08:00
BoYanZh 1c453ae147
feat: add a switch to enable auto update index (close #2930) 2023-01-07 00:59:30 +08:00
AkashiCoin 14d4ddb752
fix(mysql): change mysql against mode (close #2903 close #2844 pr #2904) 2023-01-05 17:11:58 +08:00
BoYanZh 143e4cd077
fix: mysql FULLTEXT search (#2840) 2022-12-30 14:20:04 +08:00
Noah Hsu f777a2fab4 fix: version doesn't update 2022-12-30 01:24:37 +08:00
Noah Hsu e89489453d fix: cache nil value for meta 2022-12-28 17:44:34 +08:00
itsHenry 83fe17c6ec
feat: support github login (#2639)
* Support Github Login

* improve according to codefactor

* fix due to last updates

* optimization

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-27 22:11:22 +08:00
Noah Hsu e118f4a3b9 feat: update index by `req.Paths` 2022-12-24 20:23:04 +08:00
BoYanZh 3a41b929c9
fix: pgsql search [skip ci] (close #2761 pr #2774) 2022-12-21 19:19:37 +08:00
Noah Hsu b0255040c6 chore: fix typo 2022-12-20 20:07:19 +08:00
Noah Hsu f1e842e12a feat: customize settings layout (close #2765) 2022-12-20 20:04:37 +08:00
Noah Hsu d756cf3e9f fix(local): disable copying or moving to subfolders (close #2760) 2022-12-20 16:27:04 +08:00
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
Noah Hsu f551dc76d0 feat: add onedrive driver 2022-08-30 21:52:06 +08:00
Noah Hsu c95a7c2a04 chore: add `home_container` setting 2022-08-30 19:34:11 +08:00
Noah Hsu a6b9dbfbe4 fix: use `utils.Log` in some places 2022-08-30 16:13:01 +08:00
Noah Hsu 046bbb3a48 feat: use `lumberjack` for log rotate 2022-08-30 15:22:54 +08:00
Noah Hsu 59ec17a353 feat: add driver config in driver info 2022-08-30 14:39:10 +08:00
Noah Hsu 68a125491b chore: add refresh arg in list func 2022-08-29 19:15:52 +08:00
Noah Hsu 97d4114e38 fix: check err before check upload 2022-08-29 14:18:43 +08:00
Noah Hsu d267c43556 feat: static file router 2022-08-28 23:13:03 +08:00
Noah Hsu 74007a1d45 chore: add pagination settings 2022-08-27 23:07:48 +08:00
Noah Hsu fbcf082ca7 feat: auto generate settings lang 2022-08-27 18:35:05 +08:00
Noah Hsu 7425e001db feat: auto generate drivers language json 2022-08-26 15:08:31 +08:00
Noah Hsu d9ee174dd3 feat!: unity iframe preview 2022-08-23 16:50:54 +08:00
Noah Hsu 38db3508a5 chore: add external_previews setting 2022-08-18 11:34:02 +08:00
Noah Hsu 8cd05275f0 chore: change message type 2022-08-14 03:05:30 +08:00
Noah Hsu 05d8c27918 chore: rename `icon_color` to `main_color` 2022-08-13 15:11:46 +08:00
Noah Hsu 0f853c86da fix: do not operate storage in memory if disabled 2022-08-11 21:46:03 +08:00
Noah Hsu 0fdfd1f2c2 feat: load storages while starting 2022-08-11 21:32:33 +08:00
Noah Hsu 74f1154e5e feat: add disable option for storage (close #1476) 2022-08-11 21:08:50 +08:00
Noah Hsu af884010d1 feat: local storage image thumbnail 2022-08-11 20:32:17 +08:00
Noah Hsu 358212749b chore: add home_icon setting 2022-08-09 18:06:04 +08:00