diff --git a/luci-app-easytier/luci-app-easytier/root/etc/init.d/easytier b/luci-app-easytier/luci-app-easytier/root/etc/init.d/easytier index 6bb6d5dd..819f765c 100644 --- a/luci-app-easytier/luci-app-easytier/root/etc/init.d/easytier +++ b/luci-app-easytier/luci-app-easytier/root/etc/init.d/easytier @@ -181,9 +181,11 @@ check_config() { LOG_SIZE=\$(ls -l /tmp/easytier.log | awk '{print int(\$5/1024)}') if [ \$LOG_SIZE -gt 5120 ]; then tail -n 500 /tmp/easytier.log > /tmp/easytier.log.tmp - mv /tmp/easytier.log.tmp /tmp/easytier.log + : > /tmp/easytier.log + cat /tmp/easytier.log.tmp >> /tmp/easytier.log + rm -f /tmp/easytier.log.tmp fi - sleep 300 + sleep 60 done } & LOG_MANAGEMENT_PID=\$! @@ -604,9 +606,11 @@ EOF LOG_SIZE=\$(ls -l /tmp/easytier.log | awk '{print int(\$5/1024)}') if [ \$LOG_SIZE -gt 5120 ]; then tail -n 500 /tmp/easytier.log > /tmp/easytier.log.tmp - mv /tmp/easytier.log.tmp /tmp/easytier.log + : > /tmp/easytier.log + cat /tmp/easytier.log.tmp >> /tmp/easytier.log + rm -f /tmp/easytier.log.tmp fi - sleep 300 + sleep 60 done } & LOG_MANAGEMENT_PID=\$! @@ -753,9 +757,11 @@ start_web() { LOG_SIZE=\$(ls -l /tmp/easytierweb.log | awk '{print int(\$5/1024)}') if [ \$LOG_SIZE -gt 5120 ]; then tail -n 500 /tmp/easytierweb.log > /tmp/easytierweb.log.tmp - mv /tmp/easytierweb.log.tmp /tmp/easytierweb.log + : > /tmp/easytierweb.log + cat /tmp/easytierweb.log.tmp >> /tmp/easytierweb.log + rm -f /tmp/easytierweb.log.tmp fi - sleep 300 + sleep 60 done } & LOG_MANAGEMENT_PID=\$! diff --git a/luci-app-openlist2/Makefile b/luci-app-openlist2/Makefile index 87520b95..7702ecc6 100644 --- a/luci-app-openlist2/Makefile +++ b/luci-app-openlist2/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-openlist2 -PKG_VERSION:=1.0.2 +PKG_VERSION:=1.0.3 PKG_RELEASE:=1 LUCI_TITLE:=LuCI support for openlist diff --git a/luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js b/luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js index 36453754..528bf2ca 100644 --- a/luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js +++ b/luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js @@ -113,6 +113,7 @@ return view.extend({ s.tab('s3', _('Object Storage')); s.tab('ftp', _('FTP')); s.tab('sftp', _('SFTP')); + s.tab('mcp', _('MCP')); // init o = s.taboption('basic', form.Flag, 'enabled', _('Enabled')); @@ -181,6 +182,28 @@ return view.extend({ o.default = true; o.rmempty = false; + o = s.taboption('global', form.Value, 'auto_memory_limit', _('Auto Memory Limit (GB)'), + _('Automatically set memory limit based on device memory size, in GB. 0 to disable.')); + o.datatype = 'uinteger'; + o.default = '4'; + o.rmempty = false; + + o = s.taboption('global', form.Value, 'min_free_memory', _('Min Free Memory (MB)'), + _('Minimum free memory to keep, in MB. The program will try to free memory when below this value.')); + o.datatype = 'uinteger'; + o.default = '0'; + o.rmempty = false; + + o = s.taboption('global', form.Value, 'max_block_limit', _('Max Block Limit'), + _('Maximum number of blocking goroutines. 0 is unlimited.')); + o.datatype = 'uinteger'; + o.default = '0'; + o.rmempty = false; + + o = s.taboption('global', form.Value, 'proxy_address', _('Proxy Address'), + _('HTTP proxy address for outgoing requests, e.g. http://127.0.0.1:7890')); + o.default = ''; + // Logs o = s.taboption('log', form.Flag, 'log', _('Enable Logs')); o.default = 1; @@ -273,6 +296,14 @@ return view.extend({ _('SSL key file path')); o.rmempty = false; o.depends('ssl', '1'); + o = s.taboption('scheme', form.Flag, 'enable_h3', _('Enable HTTP/3'), + _('Enable HTTP/3 (QUIC) protocol.')); + o.rmempty = false; + o.depends('ssl', '1'); + + o = s.taboption('scheme', form.Flag, 'enable_h2c', _('Enable H2C'), + _('Enable HTTP/2 over cleartext (h2c).')); + o.rmempty = false; // tasks o = s.taboption('tasks', form.Value, 'download_workers', _('Download Workers')); @@ -315,6 +346,40 @@ return view.extend({ o.default = '2'; o.rmempty = false; + o = s.taboption('tasks', form.Value, 'move_workers', _('Move Workers')); + o.datatype = 'uinteger'; + o.default = '5'; + o.rmempty = false; + + o = s.taboption('tasks', form.Value, 'move_max_retry', _('Move Max Retry')); + o.datatype = 'uinteger'; + o.default = '2'; + o.rmempty = false; + + o = s.taboption('tasks', form.Value, 'decompress_workers', _('Decompress Workers')); + o.datatype = 'uinteger'; + o.default = '5'; + o.rmempty = false; + + o = s.taboption('tasks', form.Value, 'decompress_max_retry', _('Decompress Max Retry')); + o.datatype = 'uinteger'; + o.default = '2'; + o.rmempty = false; + + o = s.taboption('tasks', form.Value, 'decompress_upload_workers', _('Decompress Upload Workers')); + o.datatype = 'uinteger'; + o.default = '5'; + o.rmempty = false; + + o = s.taboption('tasks', form.Value, 'decompress_upload_max_retry', _('Decompress Upload Max Retry')); + o.datatype = 'uinteger'; + o.default = '2'; + o.rmempty = false; + + o = s.taboption('tasks', form.Flag, 'allow_retry_canceled', _('Allow Retry Canceled Tasks'), + _('Allow retrying tasks that have been canceled.')); + o.rmempty = false; + // cors o = s.taboption('cors', form.Value, 'cors_allow_origins', _('Allow Origins')); o.default = '*'; @@ -364,7 +429,7 @@ return view.extend({ o = s.taboption('ftp', form.Value, 'connection_timeout', _('Connection timeout (seconds)')); o.datatype = 'uinteger'; - o.default = '900'; + o.default = '30'; o.rmempty = false; o = s.taboption('ftp', form.Flag, 'disable_active_mode', _('Disable active transfer mode')); @@ -388,6 +453,10 @@ return view.extend({ o.default = 5222; o.rmempty = false; + // mcp + o = s.taboption('mcp', form.Flag, 'mcp', _('Enabled MCP'), _('Enable MCP (Model Context Protocol) server.')); + o.rmempty = false; + return m.render(); } }); diff --git a/luci-app-openlist2/po/templates/openlist2.po b/luci-app-openlist2/po/templates/openlist2.po index 4f91cafd..725fa97a 100644 --- a/luci-app-openlist2/po/templates/openlist2.po +++ b/luci-app-openlist2/po/templates/openlist2.po @@ -1,13 +1,13 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:169 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:170 msgid "" "0 is unlimited, It is recommend to set a low number of concurrency (10-20) " "for poor performance device" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:175 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:176 msgid "" "0 is unlimited, Limit the maximum concurrency of local agents. The default " "value is 64" @@ -17,23 +17,41 @@ msgstr "" msgid "A file list program that supports multiple storage." msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:327 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:392 msgid "Allow Headers" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:323 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:388 msgid "Allow Methods" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:319 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:384 msgid "Allow Origins" msgstr "" +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:379 +msgid "Allow Retry Canceled Tasks" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:380 +msgid "Allow retrying tasks that have been canceled." +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:185 +msgid "Auto Memory Limit (GB)" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:186 +msgid "" +"Automatically set memory limit based on device memory size, in GB. 0 to " +"disable." +msgstr "" + #: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:106 msgid "Basic Settings" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:157 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:158 msgid "CDN URL" msgstr "" @@ -41,7 +59,7 @@ msgstr "" msgid "CORS Settings" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:138 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:139 msgid "Cache directory" msgstr "" @@ -49,15 +67,15 @@ msgstr "" msgid "Clear logs" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:376 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:441 msgid "Client IP check in active transfer mode" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:379 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:444 msgid "Client IP check in passive transfer mode" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:360 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:425 msgid "Client idle timeout (seconds)" msgstr "" @@ -65,19 +83,19 @@ msgstr "" msgid "Collecting data..." msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:365 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:430 msgid "Connection timeout (seconds)" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:313 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:344 msgid "Copy Max Retry" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:308 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:339 msgid "Copy Workers" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:135 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:136 msgid "Data directory" msgstr "" @@ -85,92 +103,132 @@ msgstr "" msgid "Database" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:255 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:278 msgid "Database DSN" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:224 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:247 msgid "Database Host" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:242 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:265 msgid "Database Name" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:238 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:261 msgid "Database Password" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:228 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:251 msgid "Database Port" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:251 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:274 msgid "Database SSL Mode" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:246 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:269 msgid "Database Table Prefix" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:218 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:241 msgid "Database Type" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:234 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:257 msgid "Database Username" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:127 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:364 +msgid "Decompress Max Retry" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:374 +msgid "Decompress Upload Max Retry" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:369 +msgid "Decompress Upload Workers" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:359 +msgid "Decompress Workers" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:128 msgid "Delayed Start (seconds)" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:180 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:181 msgid "Disable TLS Verify" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:370 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:435 msgid "Disable active transfer mode" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:283 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:314 msgid "Download Max Retry" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:278 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:309 msgid "Download Workers" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:185 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:304 +msgid "Enable H2C" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:305 +msgid "Enable HTTP/2 over cleartext (h2c)." +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:299 +msgid "Enable HTTP/3" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:300 +msgid "Enable HTTP/3 (QUIC) protocol." +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:208 msgid "Enable Logs" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:260 -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:340 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:457 +msgid "Enable MCP (Model Context Protocol) server." +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:283 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:405 msgid "Enable SSL" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:373 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:438 msgid "Enable binary transfer mode" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:357 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:422 msgid "Enable non-20 port for active transfer" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:118 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:119 msgid "Enabled" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:344 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:409 msgid "Enabled FTP" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:332 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:457 +msgid "Enabled MCP" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:397 msgid "Enabled S3" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:383 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:448 msgid "Enabled SFTP" msgstr "" @@ -178,19 +236,19 @@ msgstr "" msgid "FTP" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:347 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:412 msgid "FTP Port" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:263 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:286 msgid "Force HTTPS" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:149 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:150 msgid "Force read config" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:143 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:144 msgid "Generate a new random password." msgstr "" @@ -202,19 +260,23 @@ msgstr "" msgid "Grant UCI access for luci-app-openlist2" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:160 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:204 +msgid "HTTP proxy address for outgoing requests, e.g. http://127.0.0.1:7890" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:161 msgid "JWT Key" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:212 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:235 msgid "Log Compress" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:189 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:212 msgid "Log path" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:163 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:164 msgid "Login Validity Period (hours)" msgstr "" @@ -223,31 +285,61 @@ msgstr "" msgid "Logs" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:168 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:116 +msgid "MCP" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:197 +msgid "Max Block Limit" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:169 msgid "Max Connections" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:194 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:217 msgid "Max Size (MB)" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:206 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:229 msgid "Max age" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:200 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:223 msgid "Max backups" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:174 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:175 msgid "Max concurrency of local proxies" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:352 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:417 msgid "Max retries on port conflict during passive transfer" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:221 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:198 +msgid "Maximum number of blocking goroutines. 0 is unlimited." +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:191 +msgid "Min Free Memory (MB)" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:192 +msgid "" +"Minimum free memory to keep, in MB. The program will try to free memory when " +"below this value." +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:354 +msgid "Move Max Retry" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:349 +msgid "Move Workers" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:244 msgid "MySQL" msgstr "" @@ -275,7 +367,7 @@ msgstr "" msgid "Open Web Interface" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:132 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:133 msgid "Open firewall port" msgstr "" @@ -284,15 +376,19 @@ msgstr "" msgid "OpenList" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:122 -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:335 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:123 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:400 msgid "Port" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:222 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:245 msgid "PostgreSQL" msgstr "" +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:203 +msgid "Proxy Address" +msgstr "" + #: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:38 msgid "RUNNING" msgstr "" @@ -301,8 +397,8 @@ msgstr "" msgid "Refresh every %s seconds." msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:142 -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:144 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:143 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:145 msgid "Reset Password" msgstr "" @@ -310,27 +406,27 @@ msgstr "" msgid "SFTP" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:386 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:451 msgid "SFTP Port" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:220 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:243 msgid "SQLite" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:267 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:290 msgid "SSL cert" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:268 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:291 msgid "SSL certificate file path" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:272 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:295 msgid "SSL key" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:273 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:296 msgid "SSL key file path" msgstr "" @@ -338,13 +434,13 @@ msgstr "" msgid "Setting" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:150 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:151 msgid "" "Setting this to true will force the program to read the configuration file, " "ignoring environment variables." msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:154 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:155 msgid "Site URL" msgstr "" @@ -352,19 +448,19 @@ msgstr "" msgid "Task threads" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:293 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:324 msgid "Transfer Max Retry" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:288 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:319 msgid "Transfer Workers" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:303 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:334 msgid "Upload Max Retry" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:298 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:329 msgid "Upload Workers" msgstr "" @@ -376,7 +472,7 @@ msgstr "" msgid "Web Protocol" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:155 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:156 msgid "" "When the web is reverse proxied to a subdirectory, this option must be " "filled out to ensure proper functioning of the web. Do not include '/' at " diff --git a/luci-app-openlist2/po/zh_Hans/openlist2.po b/luci-app-openlist2/po/zh_Hans/openlist2.po index ff12fb6e..d08e0db9 100644 --- a/luci-app-openlist2/po/zh_Hans/openlist2.po +++ b/luci-app-openlist2/po/zh_Hans/openlist2.po @@ -8,13 +8,13 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:169 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:170 msgid "" "0 is unlimited, It is recommend to set a low number of concurrency (10-20) " "for poor performance device" msgstr "默认 0 不限制,低性能设备建议设置较低的并发数(10-20)" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:175 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:176 msgid "" "0 is unlimited, Limit the maximum concurrency of local agents. The default " "value is 64" @@ -24,23 +24,41 @@ msgstr "限制本地代理最大并发数,值为 0 表示不限制,默认值 msgid "A file list program that supports multiple storage." msgstr "一款支持多种存储的目录文件列表程序。" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:327 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:392 msgid "Allow Headers" msgstr "允许标头(Headers)" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:323 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:388 msgid "Allow Methods" msgstr "允许方法(Methods)" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:319 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:384 msgid "Allow Origins" msgstr "允许来源(Origins)" +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:379 +msgid "Allow Retry Canceled Tasks" +msgstr "允许重试已取消的任务" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:380 +msgid "Allow retrying tasks that have been canceled." +msgstr "允许重试已被取消的任务。" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:185 +msgid "Auto Memory Limit (GB)" +msgstr "自动内存限制(GB)" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:186 +msgid "" +"Automatically set memory limit based on device memory size, in GB. 0 to " +"disable." +msgstr "根据设备内存大小自动设置内存限制,单位为 GB。设为 0 表示禁用。" + #: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:106 msgid "Basic Settings" msgstr "基本设置" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:157 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:158 msgid "CDN URL" msgstr "CDN 地址" @@ -48,7 +66,7 @@ msgstr "CDN 地址" msgid "CORS Settings" msgstr "跨域设置" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:138 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:139 msgid "Cache directory" msgstr "缓存目录" @@ -56,15 +74,15 @@ msgstr "缓存目录" msgid "Clear logs" msgstr "清空日志" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:376 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:441 msgid "Client IP check in active transfer mode" msgstr "主动传输模式下对客户端进行 IP 检查" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:379 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:444 msgid "Client IP check in passive transfer mode" msgstr "被动传输模式下对客户端进行 IP 检查" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:360 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:425 msgid "Client idle timeout (seconds)" msgstr "客户端空闲超时(秒)" @@ -72,19 +90,19 @@ msgstr "客户端空闲超时(秒)" msgid "Collecting data..." msgstr "收集数据..." -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:365 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:430 msgid "Connection timeout (seconds)" msgstr "连接超时(秒)" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:313 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:344 msgid "Copy Max Retry" msgstr "复制任务重试次数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:308 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:339 msgid "Copy Workers" msgstr "复制任务线程数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:135 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:136 msgid "Data directory" msgstr "数据目录" @@ -92,92 +110,132 @@ msgstr "数据目录" msgid "Database" msgstr "数据库" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:255 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:278 msgid "Database DSN" msgstr "DSN" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:224 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:247 msgid "Database Host" msgstr "主机" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:242 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:265 msgid "Database Name" msgstr "数据库名" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:238 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:261 msgid "Database Password" msgstr "密码" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:228 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:251 msgid "Database Port" msgstr "端口" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:251 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:274 msgid "Database SSL Mode" msgstr "SSL模式" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:246 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:269 msgid "Database Table Prefix" msgstr "数据库表前缀" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:218 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:241 msgid "Database Type" msgstr "数据库类型" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:234 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:257 msgid "Database Username" msgstr "用户名" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:127 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:364 +msgid "Decompress Max Retry" +msgstr "解压任务重试次数" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:374 +msgid "Decompress Upload Max Retry" +msgstr "解压上传任务重试次数" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:369 +msgid "Decompress Upload Workers" +msgstr "解压上传任务线程数" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:359 +msgid "Decompress Workers" +msgstr "解压任务线程数" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:128 msgid "Delayed Start (seconds)" msgstr "开机延时启动(秒)" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:180 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:181 msgid "Disable TLS Verify" msgstr "禁用 TLS 验证" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:370 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:435 msgid "Disable active transfer mode" msgstr "禁用主动传输模式" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:283 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:314 msgid "Download Max Retry" msgstr "下载任务重试次数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:278 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:309 msgid "Download Workers" msgstr "下载任务线程数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:185 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:304 +msgid "Enable H2C" +msgstr "启用 H2C" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:305 +msgid "Enable HTTP/2 over cleartext (h2c)." +msgstr "启用明文 HTTP/2(h2c)协议。" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:299 +msgid "Enable HTTP/3" +msgstr "启用 HTTP/3" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:300 +msgid "Enable HTTP/3 (QUIC) protocol." +msgstr "启用 HTTP/3(QUIC)协议。" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:208 msgid "Enable Logs" msgstr "启用日志" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:260 -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:340 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:457 +msgid "Enable MCP (Model Context Protocol) server." +msgstr "启用 MCP(Model Context Protocol)服务器。" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:283 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:405 msgid "Enable SSL" msgstr "启用 SSL" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:373 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:438 msgid "Enable binary transfer mode" msgstr "启用二进制传输模式" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:357 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:422 msgid "Enable non-20 port for active transfer" msgstr "启用非 20 端口进行主动传输" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:118 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:119 msgid "Enabled" msgstr "启用" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:344 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:409 msgid "Enabled FTP" msgstr "启用 FTP" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:332 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:457 +msgid "Enabled MCP" +msgstr "启用 MCP" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:397 msgid "Enabled S3" msgstr "启用 S3" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:383 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:448 msgid "Enabled SFTP" msgstr "启用 SFTP" @@ -185,19 +243,19 @@ msgstr "启用 SFTP" msgid "FTP" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:347 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:412 msgid "FTP Port" msgstr "FTP 端口" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:263 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:286 msgid "Force HTTPS" msgstr "强制 HTTPS" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:149 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:150 msgid "Force read config" msgstr "强制读取配置" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:143 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:144 msgid "Generate a new random password." msgstr "随机生成一个新密码。" @@ -209,19 +267,23 @@ msgstr "全局设置" msgid "Grant UCI access for luci-app-openlist2" msgstr "授予 luci-app-openlist2 的 UCI 访问权限" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:160 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:204 +msgid "HTTP proxy address for outgoing requests, e.g. http://127.0.0.1:7890" +msgstr "用于发出请求的 HTTP 代理地址,例如 http://127.0.0.1:7890" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:161 msgid "JWT Key" msgstr "JWT 密钥" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:212 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:235 msgid "Log Compress" msgstr "日志压缩" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:189 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:212 msgid "Log path" msgstr "日志文件路径" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:163 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:164 msgid "Login Validity Period (hours)" msgstr "登录有效期(小时)" @@ -230,31 +292,61 @@ msgstr "登录有效期(小时)" msgid "Logs" msgstr "日志" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:168 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:116 +msgid "MCP" +msgstr "" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:197 +msgid "Max Block Limit" +msgstr "最大阻塞限制" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:169 msgid "Max Connections" msgstr "最大并发连接数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:194 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:217 msgid "Max Size (MB)" msgstr "日志文件大小(MB)" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:206 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:229 msgid "Max age" msgstr "日志保存天数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:200 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:223 msgid "Max backups" msgstr "日志备份数量" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:174 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:175 msgid "Max concurrency of local proxies" msgstr "本地代理最大并发数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:352 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:417 msgid "Max retries on port conflict during passive transfer" msgstr "被动传输端口冲突时最大重试次数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:221 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:198 +msgid "Maximum number of blocking goroutines. 0 is unlimited." +msgstr "最大阻塞 goroutine 数量,0 表示不限制。" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:191 +msgid "Min Free Memory (MB)" +msgstr "最小空闲内存(MB)" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:192 +msgid "" +"Minimum free memory to keep, in MB. The program will try to free memory when " +"below this value." +msgstr "保留的最小空闲内存,单位为 MB。低于此值时程序将尝试释放内存。" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:354 +msgid "Move Max Retry" +msgstr "移动任务重试次数" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:349 +msgid "Move Workers" +msgstr "移动任务线程数" + +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:244 msgid "MySQL" msgstr "" @@ -282,7 +374,7 @@ msgstr "对象存储" msgid "Open Web Interface" msgstr "打开 Web 界面" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:132 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:133 msgid "Open firewall port" msgstr "打开防火墙端口" @@ -291,15 +383,19 @@ msgstr "打开防火墙端口" msgid "OpenList" msgstr "OpenList" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:122 -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:335 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:123 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:400 msgid "Port" msgstr "端口" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:222 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:245 msgid "PostgreSQL" msgstr "" +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:203 +msgid "Proxy Address" +msgstr "代理地址" + #: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:38 msgid "RUNNING" msgstr "运行中" @@ -308,8 +404,8 @@ msgstr "运行中" msgid "Refresh every %s seconds." msgstr "每 %s 秒刷新。" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:142 -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:144 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:143 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:145 msgid "Reset Password" msgstr "重置密码" @@ -317,27 +413,27 @@ msgstr "重置密码" msgid "SFTP" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:386 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:451 msgid "SFTP Port" msgstr "SFTP 端口" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:220 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:243 msgid "SQLite" msgstr "" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:267 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:290 msgid "SSL cert" msgstr "SSL 证书" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:268 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:291 msgid "SSL certificate file path" msgstr "SSL 证书文件路径" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:272 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:295 msgid "SSL key" msgstr "SSL 密钥" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:273 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:296 msgid "SSL key file path" msgstr "SSL 密钥文件路径" @@ -345,13 +441,13 @@ msgstr "SSL 密钥文件路径" msgid "Setting" msgstr "设置" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:150 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:151 msgid "" "Setting this to true will force the program to read the configuration file, " "ignoring environment variables." msgstr "将此设置为 true 可以强制程序读取配置文件,而忽略环境变量" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:154 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:155 msgid "Site URL" msgstr "站点地址" @@ -359,19 +455,19 @@ msgstr "站点地址" msgid "Task threads" msgstr "任务线程" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:293 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:324 msgid "Transfer Max Retry" msgstr "中转任务下载重试次数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:288 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:319 msgid "Transfer Workers" msgstr "中转任务线程数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:303 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:334 msgid "Upload Max Retry" msgstr "上传任务重试次数" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:298 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:329 msgid "Upload Workers" msgstr "上传任务线程数" @@ -383,7 +479,7 @@ msgstr "用户名:" msgid "Web Protocol" msgstr "Web 协议" -#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:155 +#: luci-app-openlist2/htdocs/luci-static/resources/view/openlist2/basic.js:156 msgid "" "When the web is reverse proxied to a subdirectory, this option must be " "filled out to ensure proper functioning of the web. Do not include '/' at " diff --git a/openlist2/Makefile b/openlist2/Makefile index 387f0768..39d8ae76 100644 --- a/openlist2/Makefile +++ b/openlist2/Makefile @@ -73,14 +73,6 @@ ifeq ($(ARCH),arm) endif endif -# drop unused fuse -GO_PKG_EXCLUDES:=internal/fuse - -# fix build for 32-bit architecture -ifneq ($(CONFIG_ARCH_64BIT),y) - GO_PKG_EXCLUDES+=drivers/lark -endif - define Build/Prepare $(call Build/Prepare/Default) $(TAR) --strip-components=1 -C $(PKG_BUILD_DIR)/public/dist -xzf $(DL_DIR)/openlist-frontend-dist-lite-v$(PKG_WEB_VERSION).tar.gz diff --git a/openlist2/files/openlist2.config b/openlist2/files/openlist2.config index b5c73f1c..f23ba23f 100644 --- a/openlist2/files/openlist2.config +++ b/openlist2/files/openlist2.config @@ -7,7 +7,11 @@ config openlist2 option force '1' option token_expires_in '48' option max_connections '0' + option max_concurrency '64' option tls_insecure_skip_verify '1' + option auto_memory_limit '4' + option min_free_memory '0' + option max_block_limit '0' option data_dir '/etc/openlist2' option temp_dir '/tmp/openlist2' option log '1' @@ -25,8 +29,16 @@ config openlist2 option upload_max_retry '0' option copy_workers '5' option copy_max_retry '2' + option move_workers '5' + option move_max_retry '2' + option decompress_workers '5' + option decompress_max_retry '2' + option decompress_upload_workers '5' + option decompress_upload_max_retry '2' + option allow_retry_canceled '0' option cors_allow_origins '*' option cors_allow_methods '*' option cors_allow_headers '*' option s3 '0' + option mcp '0' diff --git a/openlist2/files/openlist2.init b/openlist2/files/openlist2.init index 8e444a7b..490527d1 100755 --- a/openlist2/files/openlist2.init +++ b/openlist2/files/openlist2.init @@ -22,6 +22,10 @@ get_config() { config_get max_connections $1 max_connections 0 config_get max_concurrency $1 max_concurrency 64 config_get tls_insecure_skip_verify $1 tls_insecure_skip_verify 1 + config_get auto_memory_limit $1 auto_memory_limit 4 + config_get min_free_memory $1 min_free_memory 0 + config_get max_block_limit $1 max_block_limit 0 + config_get proxy_address $1 proxy_address "" # log config_get log $1 log 1 @@ -36,6 +40,8 @@ get_config() { config_get force_https $1 force_https 0 config_get ssl_cert $1 ssl_cert "" config_get ssl_key $1 ssl_key "" + config_get enable_h2c $1 enable_h2c 0 + config_get enable_h3 $1 enable_h3 0 # database config_get database_type $1 database_type "sqlite3" @@ -57,6 +63,13 @@ get_config() { config_get upload_max_retry $1 upload_max_retry 0 config_get copy_workers $1 copy_workers 5 config_get copy_max_retry $1 copy_max_retry 2 + config_get move_workers $1 move_workers 5 + config_get move_max_retry $1 move_max_retry 2 + config_get decompress_workers $1 decompress_workers 5 + config_get decompress_max_retry $1 decompress_max_retry 2 + config_get decompress_upload_workers $1 decompress_upload_workers 5 + config_get decompress_upload_max_retry $1 decompress_upload_max_retry 2 + config_get allow_retry_canceled $1 allow_retry_canceled 0 # cors config_get cors_allow_origins $1 cors_allow_origins '*' @@ -84,6 +97,9 @@ get_config() { config_get sftp $1 sftp 0 config_get sftp_port $1 sftp_port 5222 + # mcp + config_get mcp $1 mcp 0 + # init jwt_secret [ -z "$jwt_secret" ] && jwt_secret=$(tr -cd "a-zA-Z0-9" < "/dev/urandom" | head -c16) uci -q set openlist2.@openlist2[0].jwt_secret="$jwt_secret" @@ -156,7 +172,7 @@ start_service() { json_add_object "meilisearch" json_add_string "host" "http://localhost:7700" json_add_string "api_key" "" - json_add_string "index_prefix" "" + json_add_string "index" "openlist" json_close_object # scheme @@ -169,6 +185,8 @@ start_service() { json_add_string "key_file" "$ssl_key" json_add_string "unix_file" "" json_add_string "unix_file_perm" "" + json_add_boolean "enable_h2c" "$enable_h2c" + json_add_boolean "enable_h3" "$enable_h3" json_close_object json_add_string "temp_dir" "$temp_dir" @@ -186,9 +204,13 @@ start_service() { json_close_object json_add_int "delayed_start" "$delayed_start" + json_add_int "auto_memory_limit" "$auto_memory_limit" + json_add_int "min_free_memory" "$min_free_memory" + json_add_int "max_block_limit" "$max_block_limit" json_add_int "max_connections" "$max_connections" json_add_int "max_concurrency" "$max_concurrency" json_add_boolean "tls_insecure_skip_verify" "$tls_insecure_skip_verify" + json_add_string "proxy_address" "$proxy_address" # tasks json_add_object "tasks" @@ -200,7 +222,7 @@ start_service() { json_add_int "workers" "$transfer_workers" json_add_int "max_retry" "$transfer_max_retry" json_close_object - json_add_object "upload" + json_add_object "upload" json_add_int "workers" "$upload_workers" json_add_int "max_retry" "$upload_max_retry" json_close_object @@ -208,6 +230,19 @@ start_service() { json_add_int "workers" "$copy_workers" json_add_int "max_retry" "$copy_max_retry" json_close_object + json_add_object "move" + json_add_int "workers" "$move_workers" + json_add_int "max_retry" "$move_max_retry" + json_close_object + json_add_object "decompress" + json_add_int "workers" "$decompress_workers" + json_add_int "max_retry" "$decompress_max_retry" + json_close_object + json_add_object "decompress_upload" + json_add_int "workers" "$decompress_upload_workers" + json_add_int "max_retry" "$decompress_upload_max_retry" + json_close_object + json_add_boolean "allow_retry_canceled" "$allow_retry_canceled" json_close_object # cors @@ -250,6 +285,11 @@ start_service() { json_add_string "listen" ":$sftp_port" json_close_object + # mcp + json_add_object "mcp" + json_add_boolean "enable" "$mcp" + json_close_object + json_dump > "$data_dir/config.json" procd_open_instance openlist2 diff --git a/tuic-client/Makefile b/tuic-client/Makefile index ccb05b36..0d8cdb6f 100644 --- a/tuic-client/Makefile +++ b/tuic-client/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tuic-client -PKG_VERSION:=1.8.11 +PKG_VERSION:=2.0.0-de PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/v2ray-geodata/Makefile b/v2ray-geodata/Makefile index 6abc7f16..ff47e975 100644 --- a/v2ray-geodata/Makefile +++ b/v2ray-geodata/Makefile @@ -21,13 +21,13 @@ define Download/geoip HASH:=b71d1999439dde2de2d2b6844a2befa50c50211ff739785c005ca7c230a17d6a endef -GEOSITE_VER:=20260728104113 +GEOSITE_VER:=20260729030225 GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER) define Download/geosite URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/ URL_FILE:=dlc.dat FILE:=$(GEOSITE_FILE) - HASH:=25542c39b7241bee0c9619df6caa4e3b2cd995a4ed5318f2839b3d7da73f93e0 + HASH:=b2f556efc19b06e0d37d612c34626b00a15db3650d7649932b7d392b9b5f7cb4 endef GEOSITE_IRAN_VER:=202607270122