update 2022-09-16 09:05:55

This commit is contained in:
github-actions[bot] 2022-09-16 09:05:56 +08:00
parent cf71662d1d
commit e119e4c1e4
19 changed files with 325 additions and 157 deletions

View File

@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=alist
PKG_VERSION:=2.6.4
PKG_WEB_VERSION:=2.6.4
PKG_VERSION:=3.0.0-rc.0
PKG_WEB_VERSION:=3.0.0-rc.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/alist-org/alist/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=3860f5cec5d809159c55498874c472386cd6142a932a5e7bbfb3b0f569e3e12b
PKG_HASH:=659ddabc87ceca834a09320c6dd87ab24b16247b992d297b12d9ea4771bed9bf
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILE:=LICENSE
@ -22,8 +22,8 @@ PKG_MAINTAINER:=sbwml <admin@cooluc.com>
define Download/$(PKG_NAME)-web
FILE:=$(PKG_NAME)-web-$(PKG_WEB_VERSION).tar.gz
URL_FILE:=dist.tar.gz
URL:=https://github.com/alist-org/web-v2/releases/download/$(PKG_WEB_VERSION)/
HASH:=4189ce3c523e6b8f6bba55faefabc926f6ef793c8755c5c2a2d3f75532fb2243
URL:=https://github.com/alist-org/alist-web/releases/download/$(PKG_WEB_VERSION)/
HASH:=55ad8bf4e39e48ff1a0a503783c4e6922e102810cae6dcdf99cec91263c79414
endef
PKG_CONFIG_DEPENDS:=CONFIG_ALIST_COMPRESS_UPX
@ -32,10 +32,12 @@ PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
GO_PKG:=github.com/Xhofe/alist
ALIST_PKG:=github.com/Xhofe/alist/conf
PKG_ALIST:=github.com/alist-org/alist/v3/internal/conf
GO_PKG:=github.com/alist-org/alist
GO_PKG_LDFLAGS:=-w -s
GO_PKG_LDFLAGS_X:=$(ALIST_PKG).GitTag=v$(PKG_VERSION)-$(ARCH)
GO_PKG_LDFLAGS_X:= \
$(PKG_ALIST).Version=v$(PKG_VERSION)-$(ARCH) \
$(PKG_ALIST).WebVersion=$(PKG_WEB_VERSION)
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
@ -66,8 +68,8 @@ endef
define Build/Prepare
$(call Build/Prepare/Default)
$(eval $(call Download,$(PKG_NAME)-web))
$(TAR) --strip-components=1 -C $(PKG_BUILD_DIR)/public -xzf $(DL_DIR)/$(PKG_NAME)-web-$(PKG_WEB_VERSION).tar.gz
$(CP) ./files/assets/. $(PKG_BUILD_DIR)/public/assets/
$(TAR) --strip-components=1 -C $(PKG_BUILD_DIR)/public/dist -xzf $(DL_DIR)/$(PKG_NAME)-web-$(PKG_WEB_VERSION).tar.gz
$(CP) ./files/assets/. $(PKG_BUILD_DIR)/public/dist/assets/
endef
define Build/Compile

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="640pt" height="640pt" viewBox="0 0 640 640" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="#75c4beff">
<path fill="#75c4be" opacity="1.00" d=" M 326.33 53.46 C 332.73 52.13 339.80 52.94 345.24 56.78 C 351.10 60.95 355.42 66.87 359.18 72.91 C 413.13 162.45 466.15 252.54 519.63 342.37 C 533.77 366.22 548.04 389.99 561.98 413.97 C 565.57 420.47 569.65 426.80 572.11 433.85 C 574.71 442.80 575.26 452.42 573.40 461.58 C 571.16 471.91 563.67 480.51 554.58 485.59 C 547.15 489.94 538.61 492.34 529.99 492.34 C 471.66 492.39 413.33 492.32 355.00 492.38 C 347.28 492.31 339.07 491.06 332.84 486.14 C 328.67 482.79 324.78 478.42 323.87 472.98 C 322.65 465.12 324.45 457.05 328.13 450.06 C 332.44 441.85 337.43 434.01 341.95 425.92 C 350.12 411.30 359.31 397.29 367.87 382.90 C 373.02 374.40 381.07 366.99 391.06 365.01 C 405.38 363.19 421.45 374.82 420.76 390.02 C 420.53 403.34 411.28 413.77 406.46 425.58 C 405.37 428.57 403.57 432.32 405.76 435.24 C 409.97 437.89 415.19 437.95 420.00 438.17 C 444.00 438.20 467.99 438.13 491.99 438.21 C 496.40 438.12 501.06 438.21 505.15 436.27 C 506.87 435.57 507.96 433.81 507.89 431.96 C 507.85 428.01 505.68 424.52 503.79 421.19 C 495.41 407.20 487.36 393.02 479.03 379.00 C 435.55 304.25 391.71 229.71 347.81 155.20 C 344.09 149.60 341.53 143.14 336.78 138.28 C 334.65 135.85 330.80 136.63 329.07 139.11 C 324.76 144.59 321.32 150.70 317.65 156.62 C 258.22 256.83 198.68 356.97 139.09 457.08 C 134.67 465.40 129.90 473.61 124.01 480.99 C 118.33 487.59 110.05 492.53 101.18 492.56 C 92.76 491.73 84.50 487.48 79.39 480.65 C 75.14 474.46 74.64 466.37 76.43 459.25 C 78.16 451.11 82.97 444.19 87.22 437.20 C 128.26 367.34 169.88 297.83 211.19 228.13 C 234.01 189.69 256.88 151.28 279.84 112.92 C 287.23 99.22 295.72 86.17 303.81 72.89 C 309.02 64.44 316.29 55.89 326.33 53.46 Z" />
</g>
<g id="#2c9fd6ff">
<path fill="#2c9fd6" opacity="1.00" d=" M 329.35 261.14 C 337.95 260.38 347.26 263.39 353.07 269.98 C 357.77 275.75 360.69 283.43 358.96 290.91 C 357.79 299.89 351.32 306.64 347.61 314.57 C 342.19 323.76 336.45 332.76 331.05 341.96 C 324.62 354.04 316.79 365.31 310.38 377.39 C 305.41 384.56 301.54 392.40 296.78 399.71 C 290.29 410.33 284.30 421.24 277.99 431.97 C 267.62 447.21 259.73 463.97 249.08 479.02 C 244.35 485.33 237.50 490.71 229.49 491.80 C 223.07 492.98 216.60 490.64 210.88 487.89 C 205.68 484.07 200.75 478.79 200.12 472.05 C 199.38 464.91 199.56 456.96 203.97 450.94 C 209.04 444.01 211.63 435.67 216.66 428.72 C 221.89 421.34 225.45 412.96 230.56 405.50 C 236.11 397.24 240.85 388.50 245.75 379.85 C 257.24 361.25 268.04 342.23 279.39 323.55 C 283.37 315.67 288.11 308.22 292.72 300.71 C 299.71 290.30 305.20 278.88 313.07 269.07 C 316.98 264.08 323.33 262.12 329.35 261.14 Z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,10 +0,0 @@
<svg width="722" height="722" xmlns="http://www.w3.org/2000/svg" version="1.1">
<g>
<g id="#70c6beff">
<path id="svg_2" d="m372.33,100.27c8.44,-1.08 16.61,3.14 22.53,8.87c6.71,6.94 11.39,15.47 16.32,23.68c62.43,104.06 124.07,208.59 186.17,312.85c14.6,24.75 29.53,49.31 43.56,74.4c6.59,11.45 9.1,25.23 6.54,38.23c-1.67,11.63 -8.97,22.12 -18.86,28.31c-7.78,4.86 -16.58,8.22 -25.73,9.17c-4.61,0.42 -9.24,0.19 -13.86,0.22c-63.67,0 -127.35,-0.01 -191.02,0c-8.07,-0.1 -16.22,-2.41 -22.78,-7.2c-7.16,-4.99 -11.59,-14.05 -10.32,-22.79c0.89,-9.17 4.85,-17.68 9.63,-25.44c10.82,-18.77 21.65,-37.53 33.15,-55.9c5.16,-8.03 9.38,-16.95 16.59,-23.43c4.87,-4.16 10.6,-7.63 16.96,-8.82c9.04,-1.12 18.19,2.51 24.97,8.39c6.95,6.16 9.53,16.17 7.88,25.14c-2.58,14.52 -13.13,25.82 -17.34,39.74c-0.92,2.35 -0.44,5.39 2.07,6.53c4.99,2.51 10.75,2.65 16.22,2.79c27.67,-0.02 55.34,-0.02 83.02,0.01c5.04,-0.14 10.92,-0.42 14.59,-4.38c1.7,-5.94 -2.55,-11.22 -5.1,-16.2c-59.46,-101.8 -118.86,-203.63 -178.93,-305.08c-2.61,-4.29 -4.77,-8.97 -8.31,-12.62c-2.33,-2.69 -7,-2.37 -8.92,0.63c-5.67,7.2 -10.1,15.27 -14.86,23.07c-65.86,110.83 -131.72,221.65 -197.58,332.48c-6.29,10.31 -11.48,21.4 -19.35,30.66c-6.28,7.48 -15.75,12.4 -25.6,12.35c-5.38,0.01 -10.4,-2.27 -15.04,-4.77c-6.95,-3.74 -12.3,-10.62 -13.5,-18.5c-1.49,-9.66 1.55,-19.46 6.41,-27.75c56.45,-95.79 113.47,-191.24 170.19,-286.88c21.72,-36.61 43.75,-73.05 65.19,-109.84c5.5,-9.12 11.24,-18.1 16.77,-27.21c6.13,-10.19 16.01,-19.5 28.34,-20.71z" fill="#70c6be"/>
</g>
<g id="#1ba0d8ff">
<path id="svg_3" d="m368.33,335.39c9.54,-1.82 19.84,0.73 27.41,6.83c5.57,5 9.37,12.21 9.55,19.78c0.61,9.39 -3.76,18.08 -8.42,25.92c-36.12,60.55 -72.06,121.21 -108.18,181.76c-5.34,8.95 -11.1,18.53 -21,23.02c-15,8.41 -36.64,-0.5 -41.29,-17.06c-1.72,-7.86 -1.04,-16.4 2.63,-23.63c7.02,-14.54 15.98,-28.02 23.94,-42.05c31.09,-52.53 62.14,-105.09 93.63,-157.38c4.97,-7.94 12.06,-15.57 21.73,-17.19z" fill="#1ba0d8"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,38 +0,0 @@
From fdcb81f6ba8b8d7546a6742e9566487e12815499 Mon Sep 17 00:00:00 2001
From: sbwml <admin@cooluc.com>
Date: Thu, 28 Apr 2022 11:10:53 +0800
Subject: [PATCH] Revert "feat: clear temp file while start"
This reverts commit 24d031d57875d3c6a9624fa7334c6eac1c9111fb.
---
bootstrap/conf.go | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/bootstrap/conf.go b/bootstrap/conf.go
index 5c9a1b3..f4d87d4 100644
--- a/bootstrap/conf.go
+++ b/bootstrap/conf.go
@@ -7,7 +7,6 @@ import (
log "github.com/sirupsen/logrus"
"io/ioutil"
"os"
- "path/filepath"
)
// InitConf init config
@@ -47,11 +46,7 @@ func InitConf() {
if !conf.Conf.Force {
confFromEnv()
}
- err := os.RemoveAll(filepath.Join(conf.Conf.TempDir))
- if err != nil {
- log.Errorln("failed delete temp file:", err)
- }
- err = os.MkdirAll(conf.Conf.TempDir, 0700)
+ err := os.MkdirAll(conf.Conf.TempDir, 0700)
if err != nil {
log.Fatalf("create temp dir error: %s", err.Error())
}
--
2.34.1

View File

@ -0,0 +1,15 @@
--- a/internal/bootstrap/config.go
+++ b/internal/bootstrap/config.go
@@ -55,11 +55,7 @@ func InitConfig() {
}
conf.Conf.TempDir = absPath
}
- err := os.RemoveAll(filepath.Join(conf.Conf.TempDir))
- if err != nil {
- log.Errorln("failed delete temp file:", err)
- }
- err = os.MkdirAll(conf.Conf.TempDir, 0700)
+ err := os.MkdirAll(conf.Conf.TempDir, 0700)
if err != nil {
log.Fatalf("create temp dir error: %+v", err)
}

View File

@ -10,11 +10,11 @@ include $(TOPDIR)/rules.mk
PKG_ARCH_LINKEASE:=$(ARCH)
PKG_NAME:=linkease
PKG_VERSION:=0.9.7
PKG_VERSION:=0.9.8
PKG_RELEASE:=$(PKG_ARCH_LINKEASE)-1
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://fw.koolcenter.com/binary/LinkEase/LinuxStorage/
PKG_HASH:=a3accdfe3ef293fb96f153e84ea91da7911f240d1ea13a2cc1bf4bb923682f87
PKG_HASH:=a349bc5dc8f1546498213ce6f224b1951540917358f01013dd45e4d3e9ee84c2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-binary-$(PKG_VERSION)

View File

@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-alist
PKG_VERSION:=1.0.4
PKG_VERSION:=1.0.5
PKG_RELEASE:=1
LUCI_TITLE:=LuCI support for alist

View File

@ -5,9 +5,17 @@ function index()
return
end
local page = entry({"admin", "nas", "alist"}, alias("admin", "nas", "alist", "basic"), _("Alist"), 20)
page.dependent = true
page.acl_depends = { "luci-app-alist" }
entry({"admin", "nas"}, firstchild(), "NAS", 44).dependent = false
entry({"admin", "nas", "alist"}, cbi("alist"), _("Alist"), 20).dependent = true
entry({"admin", "nas", "alist_status"}, call("alist_status"))
entry({"admin", "nas", "alist", "basic"}, cbi("alist/basic"), _("Basic Setting"), 1).leaf = true
entry({"admin", "nas", "alist", "log"}, cbi("alist/log"), _("Logs"), 2).leaf = true
entry({"admin", "nas", "alist", "alist_status"}, call("alist_status")).leaf = true
entry({"admin", "nas", "alist", "get_log"}, call("get_log")).leaf = true
entry({"admin", "nas", "alist", "clear_log"}, call("clear_log")).leaf = true
entry({"admin", "nas", "alist", "admin_info"}, call("admin_info")).leaf = true
end
function alist_status()
@ -23,3 +31,19 @@ function alist_status()
luci.http.prepare_content("application/json")
luci.http.write_json(status)
end
function get_log()
luci.http.write(luci.sys.exec("cat $(uci -q get alist.@alist[0].temp_dir)/alist.log"))
end
function clear_log()
luci.sys.call("cat /dev/null > $(uci -q get alist.@alist[0].temp_dir)/alist.log")
end
function admin_info()
local username = luci.sys.exec("/usr/bin/alist --conf /etc/alist/config.json password 2>&1 | tail -2 | awk 'NR==1 {print $2}'")
local password = luci.sys.exec("/usr/bin/alist --conf /etc/alist/config.json password 2>&1 | tail -2 | awk 'NR==2 {print $2}'")
luci.http.prepare_content("application/json")
luci.http.write_json({username = username, password = password})
end

View File

@ -1,53 +0,0 @@
local m, s
local sys = require "luci.sys"
if sys.call("pidof alist >/dev/null") == 0 then
local password = sys.exec("/usr/bin/alist --conf /etc/alist/config.json -password | awk '{print $3}'")
m = Map("alist", translate("Alist"), translate("A file list program that supports multiple storage.") .. " " .. translate("manage password:") .. "<font color=\"green\">" .. password .. "</font>" .. "<br/>" .. [[<a href="https://alist-doc.nn.ci/docs/driver/native" target="_blank">]] .. translate("User Manual") .. [[</a>]])
else
m = Map("alist", translate("Alist"), translate("A file list program that supports multiple storage.") .. "<br/>" .. [[<a href="https://alist-doc.nn.ci/docs/driver/native" target="_blank">]] .. translate("User Manual") .. [[</a>]])
end
m:section(SimpleSection).template = "alist_status"
s = m:section(TypedSection, "alist", translate("Global settings"))
s.addremove = false
s.anonymous = true
o = s:option(Flag, "enabled", translate("Enable"))
o.rmempty = false
o = s:option(Value, "port", translate("Port"))
o.datatype = "and(port,min(1))"
o.rmempty = false
o = s:option(Flag, "ssl", translate("Enable SSL"))
o.rmempty=false
o = s:option(Value,"ssl_cert", translate("SSL cert"), translate("SSL certificate file path"))
o:depends("ssl", "1")
o.datatype = "string"
o.rmempty = true
o = s:option(Value,"ssl_key", translate("SSL key"), translate("SSL key file path"))
o:depends("ssl", "1")
o.datatype = "string"
o.rmempty = true
s = m:section(TypedSection, "alist", translate("Cache settings"))
s.addremove = false
s.anonymous = true
o = s:option(Value, "expiration", translate("Cache invalidation time (unit: minutes)"))
o.datatype = "and(uinteger,min(1))"
o.rmempty = false
o = s:option(Value, "cleanup_interval", translate("Clear the invalidation cache interval (unit: minutes)"))
o.datatype = "and(uinteger,min(1))"
o.rmempty = false
o = s:option(Value, "temp_dir", translate("Cache directory"))
o.datatype = "string"
o.rmempty = false
return m

View File

@ -0,0 +1,45 @@
local m, s
m = Map("alist", translate("Alist"), translate("A file list program that supports multiple storage.") .. "<br/>" .. [[<a href="https://alist.nn.ci/zh/guide/drivers/local.html" target="_blank">]] .. translate("User Manual") .. [[</a>]])
m:section(SimpleSection).template = "alist/alist_status"
s = m:section(TypedSection, "alist")
s.addremove = false
s.anonymous = true
o = s:option(Flag, "enabled", translate("Enable"))
o.rmempty = false
o = s:option(Value, "port", translate("Port"))
o.datatype = "and(port,min(1))"
o.rmempty = false
o = s:option(Flag, "log", translate("Enable Logs"))
o.default = 1
o.rmempty = false
o = s:option(Flag, "ssl", translate("Enable SSL"))
o.rmempty=false
o = s:option(Value,"ssl_cert", translate("SSL cert"), translate("SSL certificate file path"))
o.datatype = "file"
o:depends("ssl", "1")
o = s:option(Value,"ssl_key", translate("SSL key"), translate("SSL key file path"))
o.datatype = "file"
o:depends("ssl", "1")
o = s:option(Flag, "allow_wan", translate("Allow Access From Internet"))
o.rmempty = false
o = s:option(Value, "temp_dir", translate("Cache directory"))
o.datatype = "string"
o.default = "/tmp/alist"
o.rmempty = false
o = s:option(Button, "admin_info", translate("View Password"))
o.rawhtml = true
o.template = "alist/admin_info"
return m

View File

@ -0,0 +1,5 @@
m = Map("alist")
m:append(Template("alist/alist_log"))
return m

View File

@ -0,0 +1,26 @@
<%+cbi/valueheader%>
<script type="text/javascript">//<![CDATA[
function admin_info(btn)
{
btn.disabled = true;
btn.value = '<%:Reading...%>';
XHR.get('<%=luci.dispatcher.build_url("admin", "nas", "alist", "admin_info")%>',
null,
function(x,rv)
{
var tb = document.getElementById('<%=self.option%>-status');
if (tb)
{
tb.innerHTML = "<%:Username:%>" + "<font color='green'>" + rv.username + "</font>";
tb.innerHTML += "<%:Password:%>" + "<font color='green'>" + rv.password + "</font>";
}
btn.disabled = false;
btn.value = '<%:Read%>';
}
);
return false;
}
//]]></script>
<input type="button" class="btn cbi-button cbi-button-apply" value="<%:Read%>" onclick="return admin_info(this)" />
<span id="<%=self.option%>-status"><em><%=self.value%></em></span>
<%+cbi/valuefooter%>

View File

@ -0,0 +1,29 @@
<script type="text/javascript">
//<![CDATA[
function clear_log(btn) {
XHR.get('<%=url([[admin]], [[nas]], [[alist]], [[clear_log]])%>', null,
function(x, data) {
if(x && x.status == 200) {
var log_textarea = document.getElementById('log_textarea');
log_textarea.innerHTML = "";
log_textarea.scrollTop = log_textarea.scrollHeight;
}
location.reload();
}
);
}
XHR.poll(2, '<%=url([[admin]], [[nas]], [[alist]], [[get_log]])%>', null,
function(x, data) {
if(x && x.status == 200) {
var log_textarea = document.getElementById('log_textarea');
log_textarea.innerHTML = x.responseText;
log_textarea.scrollTop = log_textarea.scrollHeight;
}
}
);
//]]>
</script>
<fieldset class="cbi-section" id="_log_fieldset">
<input class="cbi-button cbi-input-remove" type="button" onclick="clear_log()" value="<%:Clear logs%>" style="margin-left: 10px; margin-top: 10px;">
<textarea id="log_textarea" class="cbi-input-textarea" style="width: calc(100% - 20px); height: 500px; margin: 10px;" data-update="change" rows="5" wrap="off" readonly="readonly"></textarea>
</fieldset>

View File

@ -9,7 +9,7 @@
%>
<script type="text/javascript">//<![CDATA[
XHR.poll(5, '<%=url("admin/nas/alist_status")%>', null,
XHR.poll(5, '<%=url("admin/nas/alist/alist_status")%>', null,
function(x, st)
{
var tb = document.getElementById('alist_status');
@ -17,11 +17,11 @@
{
if (st.running)
{
tb.innerHTML = '<em style=\"color:green\"><b><%:The Alist service is running.%></b></em>' + "<input class=\"cbi-button-reload mar-10\" type=\"button\" value=\" <%:Click to open Alist%> \" onclick=\"window.open('<%=protocol%>" + window.location.hostname + ":" + st.port + "/')\"/>";
tb.innerHTML = '<em style=\"color:green\"><b>Alist <%:RUNNING%></b></em>' + "<input class=\"cbi-button-reload mar-10\" type=\"button\" value=\" <%:Open Web Interface%> \" onclick=\"window.open('<%=protocol%>" + window.location.hostname + ":" + st.port + "/')\"/>";
}
else
{
tb.innerHTML = '<em style=\"color:red\"><b><%:The Alist service is not running.%></b></em>';
tb.innerHTML = '<em style=\"color:red\"><b>Alist <%:NOT RUNNING%></b></em>';
}
}
}

View File

@ -4,17 +4,14 @@ msgstr "Alist 文件列表"
msgid "Running state"
msgstr "运行状态"
msgid "Click to open Alist"
msgstr "点击打开 Alist"
msgid "Open Web Interface"
msgstr "打开 Web 界面"
msgid "A file list program that supports multiple storage."
msgstr "一款支持多种存储的目录文件列表程序。"
msgid "manage password:"
msgstr "管理密码:"
msgid "Global settings"
msgstr "全局设置"
msgid "Basic Setting"
msgstr "基本设置"
msgid "Port"
msgstr "端口"
@ -34,23 +31,14 @@ msgstr "SSL 密钥"
msgid "SSL key file path"
msgstr "SSL 密钥文件路径"
msgid "Cache settings"
msgstr "缓存设置"
msgid "Cache invalidation time (unit: minutes)"
msgstr "缓存失效时间(分钟)"
msgid "Clear the invalidation cache interval (unit: minutes)"
msgstr "清理失效缓存间隔(分钟)"
msgid "Cache directory"
msgstr "缓存目录"
msgid "The Alist service is running."
msgstr "Alist 服务已启动"
msgid "RUNNING"
msgstr "运行中"
msgid "The Alist service is not running."
msgstr "Alist 服务未启动"
msgid "NOT RUNNING"
msgstr "未运行"
msgid "Collecting data..."
msgstr "收集数据..."
@ -60,3 +48,27 @@ msgstr "网络存储"
msgid "User Manual"
msgstr "用户手册"
msgid "Allow Access From Internet"
msgstr "允许从外网访问"
msgid "Enable Logs"
msgstr "启用日志"
msgid "Clear logs"
msgstr "清空日志"
msgid "View Password"
msgstr "查看密码"
msgid "Username:"
msgstr "用户名:"
msgid "Password:"
msgstr "密码:"
msgid "Reading..."
msgstr "读取中..."
msgid "Read"
msgstr "读取"

View File

@ -1,7 +1,5 @@
config alist
option 'enabled' '0'
option 'port' '5244'
option 'expiration' '60'
option 'cleanup_interval' '120'
option 'temp_dir' '/tmp'
option 'temp_dir' '/tmp/alist'
option 'ssl' '0'

View File

@ -8,12 +8,33 @@ CONFIG=/etc/alist/config.json
get_config() {
config_get_bool enabled $1 enabled 1
config_get port $1 port 5244
config_get expiration $1 expiration 60
config_get cleanup_interval $1 cleanup_interval 120
config_get temp_dir $1 temp_dir "/tmp"
config_get log $1 log 1
config_get temp_dir $1 temp_dir "/tmp/alist"
config_get ssl $1 ssl 0
config_get ssl_cert $1 ssl_cert ""
config_get ssl_key $1 ssl_key ""
config_get allow_wan $1 allow_wan 0
config_load network
config_get lan_addr lan ipaddr "0.0.0.0"
}
set_firewall() {
if [ "$external_access" = "allow" ]; then
uci -q delete firewall.alist
uci set firewall.alist=rule
uci set firewall.alist.name="alist"
uci set firewall.alist.target="ACCEPT"
uci set firewall.alist.src="wan"
uci set firewall.alist.proto="tcp"
uci set firewall.alist.dest_port="$port"
uci set firewall.alist.enabled="1"
uci commit firewall
/etc/init.d/firewall reload >/dev/null 2>&1
elif [ "$external_access" = "deny" ]; then
uci -q delete firewall.alist
uci commit firewall
/etc/init.d/firewall reload >/dev/null 2>&1
fi
}
start_service() {
@ -26,12 +47,26 @@ start_service() {
else
SSL=false
fi
if [ "$log" -eq 1 ];then
LOG=true
else
LOG=false
fi
if [ "$allow_wan" -eq "1" ]; then
listen_addr="0.0.0.0"
external_access="allow"
else
listen_addr=$lan_addr
external_access="deny"
fi
set_firewall
cat /dev/null > $temp_dir/alist.log
cat > $CONFIG <<EOF
{"address":"0.0.0.0","port":$port,"assets":"/","database":{"type":"sqlite3","user":"","password":"","host":"","port":0,"name":"","table_prefix":"x_","db_file":"/etc/alist/data.db","ssl_mode":"disable"},"scheme":{"https":$SSL,"cert_file":"$ssl_cert","key_file":"$ssl_key"},"cache":{"expiration":$expiration,"cleanup_interval":$cleanup_interval},"temp_dir":"$temp_dir"}
{"force":false,"address":"$listen_addr","port":$port,"jwt_secret":"","cdn":"","database":{"type":"sqlite3","host":"","port":0,"user":"","password":"","name":"","db_file":"/etc/alist/data.db","table_prefix":"x_","ssl_mode":""},"scheme":{"https":$SSL,"cert_file":"$ssl_cert","key_file":"$ssl_key"},"temp_dir":"$temp_dir","log":{"enable":$LOG,"name":"$temp_dir/alist.log","max_size":10,"max_backups":5,"max_age":28,"compress":false}}
EOF
procd_open_instance alist
procd_set_param command $PROG
procd_append_param command --conf $CONFIG
procd_append_param command server --conf $CONFIG
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
@ -42,6 +77,11 @@ service_triggers() {
procd_add_reload_trigger "alist"
}
stop_service() {
external_access="deny"
set_firewall
}
reload_service() {
stop
start

View File

@ -7587,6 +7587,7 @@ ad.adcash.com
ad.adfurikun.jp
ad.adhouyi.cn
ad.adinc.kr
ad.admitad.com
ad.adnetwork.net
ad.adnmore.co.kr
ad.adorika.com
@ -7843,6 +7844,7 @@ ad.mi.com
ad.mnt123.com
ad.mo.doubleclick.net
ad.mobile.youku.com
ad.mobiuspace.net
ad.molitv.cn
ad.monetate.net
ad.mox.tv
@ -8148,6 +8150,7 @@ adaog.com
adaos-ads.net
adap.tv
adapac.cmcm.com
adapace.gotrackier.com
adapd.com
adapex.io
adapi.flipboard.com
@ -8786,6 +8789,7 @@ adityasolsurf.in
adizio.com
adj.st
adjal.com
adjar.gotrackier.com
adjb.5nd.com
adjector.com
adjesty.com
@ -10043,6 +10047,7 @@ ads.mcafee.com
ads.medienhaus.de
ads.mefeedia.com
ads.megaproxy.com
ads.memob.com
ads.metblogs.com
ads.metrofamilymagazine.com
ads.metropolis.co.jp
@ -10448,6 +10453,7 @@ adsapi.adsymptotic.com
adsapi.chartbeat.com
adsapi.manhuaren.com
adsapi.snapchat.com
adsapp.gotrackier.com
adsassets.waze.com
adsatt.abcnews.starwave.com
adsatt.disney.starwave.com
@ -11031,6 +11037,7 @@ adsmart.com
adsmart.hk
adsmart.net
adsmart.yicha.cn
adsmax.ru
adsmeda.com
adsmetadata.mobileadexchange.net
adsmetadata.startappk8s.com
@ -11118,6 +11125,7 @@ adssl02.adtech.us
adsstat.com
adsstatic.vivo.com.cn
adstaces.ero-advertising.com
adstacks.gotrackier.com
adstage.sigmob.cn
adstarget.net
adstargeting.com
@ -11142,6 +11150,7 @@ adstopc.com
adstor360.com
adstore-1252524079.file.myqcloud.com
adstore-index-1252524079.file.myqcloud.com
adstory.gotrackier.com
adstracker.appsgeyser.com
adstract.com
adstrategy.biz.weibo.com
@ -11758,6 +11767,7 @@ adxxx.me
adxxx.org
adxzju.penti.com
adyapper.com
adyogis.gotrackier.com
adyoulike.com
adysis.com
adyun.com
@ -12017,6 +12027,7 @@ affilimate.io
affilired.com
affiliserve.com
affilizr.com
affilsoft.gotrackier.com
affimg.pop6.com
affinesystems.com
affinitad.com
@ -12258,6 +12269,7 @@ agregadorcode.com
agricolaplc.ydns.eu
agriculta.top
agriculturalproshereby.com
agriculturealso.com
agridept.nc.gov.lk
agrigh.com
agriturismoilcascinone.com
@ -13016,6 +13028,7 @@ allthingsreclaimed.com
allthingstravel.co.uk
alltracked.com
alltradesindustrial.855alltrades.com
alludedgrinbanquet.com
allure-ng.net
allureencourage.com
allusionpressed.com
@ -15023,6 +15036,7 @@ api-2-0.spot.im
api-a.op-mobile.opera.com
api-access.pangolin-sdk-toutiao-b.com
api-access.pangolin-sdk-toutiao.com
api-ad-callback.mobiuspace.net
api-ad.kajicam.com
api-ads.qutaovip.com
api-ads.tiantianqutao.com
@ -15103,6 +15117,7 @@ api.accengage.net
api.ad-locus.com
api.ad-stir.com
api.ad.intl.xiaomi.com
api.ad.mobiuspace.net
api.ad.smaato.net
api.ad.snaptube.app
api.ad.xiaomi.com
@ -16093,6 +16108,7 @@ applaudliteratureconsultant.com
apple.speedera.net
apple.tt.omtrdc.net
apple.www.letv.com
appleads-trk.com
applebarq.com
appleinfoway.com
appleleaveit.co
@ -16134,6 +16150,7 @@ applytics.nordvpn.com
appmetrica.yandex.com
appmetrics.sprint.com
appmm.zapr.in
appmontize.gotrackier.com
appn.center
appnext-a.akamaihd.net
appnext.com
@ -16197,6 +16214,7 @@ apps.supfast.net
apps.uc.cn
apps.wholefoodsmarket.com
appsanalytics.appideas.it
appsclicks.g2afse.com
appsdk.tanv.com
appsdt.com
appsecurezomation.carte-gr.total.fr
@ -17129,6 +17147,7 @@ ateliermachurey.fr
ateliermue.info
atemda.com
aterroppop.com
aterru.g2afse.com
atevaccination.com
atexceede.com
atgafl.com
@ -17329,6 +17348,7 @@ auchoons.net
aucked.com
aucklandcarpetcleaning.org.nz
aucqdk.autodoc.es
auctera.gotrackier.com
auction-banner.unityads.unity3d.com
auction-load.unityads.unity3d.com
auction.unityads.unity3d.com
@ -17389,6 +17409,7 @@ audio4-ak.spotify.com.edgesuite.net
audio4-akp.spotify.com.edgesuite.net
audioadx.com
audioarctic.com
audioexaminationearl.com
audioknigi.club
audionews.fm
audiosech.xyz
@ -21149,6 +21170,7 @@ bleachfamouszinc.com
bleandworld.xyz
bledjooiso.com
bleinu.com
blendai.gotrackier.com
blender3d.fr
blendorbraker.com
blenkbenched.casa
@ -21762,6 +21784,7 @@ booksgiver.com
bookshelfcomplaint.com
bookstaircasenaval.com
bookwormapricotconcealment.com
bookwormtiger.com
boolevool.com
boom-boom-vroom.com
boomads.com
@ -23954,6 +23977,7 @@ captiongodfather.com
captivate.ai
captivatecustomergentlemen.com
captivatepestilentstormy.com
captiveatmospheric.com
captiveimpossibleimport.com
captivias.site
captora.com
@ -24651,6 +24675,7 @@ cdn.adlook.me
cdn.adm.myhayo.com
cdn.admatic.com.tr
cdn.admitad-connect.com
cdn.admitad.com
cdn.admixer.net
cdn.adnxs.com
cdn.adplxmd.com
@ -26872,6 +26897,7 @@ click2.email.ticketmaster.com
click2.hd.sohu.com
click2ckick.icu
click2click.xyz
click2commission.gotrackier.com
click2forhz.adsmogo.com
click2me.club
click360.io
@ -27403,6 +27429,7 @@ clue6load.com
cluejuicepenthouse.com
cluethydash.com
cluffsilas.com
cluitluw.com
clumsinesseventuallysearching.com
clumsyrock.com
clungwarehouseoral.com
@ -28677,6 +28704,7 @@ comcastonline2.speedera.net
comclick.com
comeadvertisewithus.com
comecebem.com
comedianbrown.com
comedianconvictionchosen.com
comedianthirteenth.com
comedyshiver.com
@ -29179,6 +29207,7 @@ consciouschairs.com
consciouscheese.com
consciousdirt.com
consciousremembrancetoad.com
consciousslice.com
conseil-coaching-jardinage.fr
conseildentaire.fr
consensu.org
@ -29462,6 +29491,7 @@ controlswim.com
controltiger.com
controversialseen.com
conumal.com
conup.gotrackier.com
conurs.com
conv.adengage.com
conv.tubemogul.com
@ -29787,6 +29817,7 @@ costranchill.com
costshandbag.com
costsholiday.com
costtrack.biz
cosydrbrewing.com
cosyroom.biz
cotads.adscale.de
cotchaug.com
@ -30475,6 +30506,7 @@ creatingkegtogether.com
creation.conversation-memory.com
creationaleprose.com
creationskateboards.com
creative-accelerate.ad.mobiuspace.net
creative-analytics.crossinstall.io
creative-assets.quantcount.com
creative-cdn.appgrowth.com
@ -30509,6 +30541,7 @@ creativeme.co.th
creativemuraldesigns.com
creatives-cdn-stg.appsflyer.com
creatives-cdn.appsflyer.com
creatives.ads.memob.com
creatives.cliphunter.com
creatives.crossinstall.com
creatives.doubleclick.net
@ -30584,6 +30617,7 @@ crhagihr.com
crhconsultores.co.mz
criantsleck.com
cribbolts.com
cribut.com
cricket.mobileposse.com
cricketunbutton.com
cridiqrtf.com
@ -31767,6 +31801,7 @@ d18t35yyry2k49.cloudfront.net
d191y0yd6d0jy4.cloudfront.net
d192r5l88wrng7.cloudfront.net
d196fri2z18sm.cloudfront.net
d19gkl2iaav80x.cloudfront.net
d1a3jb5hjny5s4.cloudfront.net
d1ac2du043ydir.cloudfront.net
d1ad.com
@ -40059,6 +40094,7 @@ eu.dspmulti.com
eu.event.cmp.advertising.com
eu.groupondata.com
eu.h-bid.com
eu.inmobi.koneomobiledsp.com
eu.postsupport.net
eu.pushmeup.art
eu.spgo.io
@ -41337,6 +41373,7 @@ farmergoldfish.com
farmerhorsehatred.com
farmius.org
farms.cl
farriersprouthygienic.com
farrivederev.pro
farschid.de
farshake.com
@ -42032,6 +42069,7 @@ figfgmnc.com
figgynudest.com
fighsfg.cn
fightafore.com
fightingcowardlycoffin.com
fightingleatherconspicuous.com
fightmallowfiasco.com
figjnbmrquqqboe.xyz
@ -42756,6 +42794,7 @@ focalex.com
focanainternet.com.br
focgroup.ca
focume.com
focump.com
focus.kissmetrics.com
focusbaiduafp.allyes.com
focuscat.com
@ -42818,6 +42857,7 @@ fontainsuny.club
fontecmobile.com
fontenlargemonopoly.com
fontfewer.com
fontise.com
fontvoid.com
foo.cosmocode.de
foocheeb.net
@ -44953,6 +44993,7 @@ geoffbaumbach.com
geoffreymailcollar.com
geoflix.me
geographicaltruth.com
geographyhonourgoddess.com
geoidd.vip
geoinformatics.uz
geoinventory.com
@ -46731,6 +46772,7 @@ grandpacaviarperfection.com
grandparen.club
grandpasgadgets.com
grandslammedia.com
grandsonreverendlawn.com
grandsupple.com
grandtheftwiki.fr
grandvisionschool.com
@ -47996,6 +48038,7 @@ hartalltunker.com
hartamann.fr
harthatforsin.pro
haruepy.cn
harvest.gotrackier.com
harvest.surge.sh
harvester.hbpl.co.uk
harvester.hnonline.sk
@ -48808,6 +48851,7 @@ hiddenjadestone.com
hiddenlocationpredicate.com
hiddenseet.com
hide.ovh
hideheartburndelightful.com
hidelen.com
hidjoi.perfumesclub.com
hidner.com
@ -50531,6 +50575,7 @@ hype.zlipa.com
hypeads.org
hypemakers.net
hyperactivate.com
hyperads.gotrackier.com
hyperadx.com
hyperbanner.net
hyperdey.com
@ -52749,6 +52794,7 @@ inklineglobal.com
inklinkor.com
inkoleasing.ru
inkornesto.com
inkrevenue.gotrackier.com
inkscape.es
inkscape.fr
inkstorylikeness.com
@ -52764,6 +52810,7 @@ inmiscapic.page.link
inmobi-inv-eu-nets.admixer.net
inmobi.cn
inmobi.com
inmobi.koneomobiledsp.com
inmobi.net
inmobicdn.cn
inmobicdn.com
@ -55514,6 +55561,7 @@ js.jianbihuadq.com
js.jnkstff.com
js.jqsex.com
js.juicyads.com
js.koneomobiledsp.com
js.lieqitianxia.cn
js.lmggdka.cn
js.logentries.com
@ -56636,6 +56684,7 @@ kerriastiff.cam
kerumal.com
keryt.jnservo.com
kesarigroup.in
kescowledge.xyz
kesevitamus.com
kesimon.com
kesmatic.com
@ -57282,6 +57331,7 @@ konax.kontera.com
konbwfktusra.com
koncbabae.com
konduit.me
koneomobiledsp.com
konferansen.com
kongbao858.com
kongjiiee.info
@ -57320,6 +57370,7 @@ korexo.com
korfo.org
korgiejoinyou.com
korm-aksi.ru
kormzi.gotrackier.com
korodrogerie.fr
korrelate.net
korruoebt.live
@ -58132,6 +58183,7 @@ largedoubly.com
largegiganticcounting.com
largeordier.fun
largerlaws.com
largernauseous.com
largerysvz.xyz
largosoft.co.kr
lariod.com
@ -58707,6 +58759,7 @@ lencool.cn
lendumowers.com
lengejoberdak.pro
lengthcalk.com
lengvtxpfoyi.com
lenkmio.com
lenmit.com
lenovo.112.2o7.net
@ -59673,6 +59726,7 @@ livetex.ru
livetracker.rfe.pangea-cms.com
livetracker.voa.pangea-cms.com
livetrafficfeed.com
liveunderestimate.com
liveuniversenetwork.com
liveupdate.mac.sandai.net
liveviewer.ez.no
@ -64401,6 +64455,7 @@ mediawhirl.net
mediaworks.demdex.net
mediaworld.ro
mediax.angloinfo.com
mediaxpedia.gotrackier.com
mediaz.angloinfo.com
medical-aid.net
medical-offer.com
@ -66466,6 +66521,7 @@ mobioffertrck.com
mobipromote.com
mobiright.com
mobisage.cn
mobisaturn.gotrackier.com
mobisla.com
mobitracker.info
mobiv2l.ccdnss.com
@ -66605,6 +66661,7 @@ momentexperimentsqueen.com
momently.com
momentocovid19.org
momentspa.fr
momentus.gotrackier.com
momijoy.ru
mommygravelyslime.com
momn.site
@ -67488,6 +67545,7 @@ mundanepollution.com
mundilite.fr
mundodoingles.com.br
mundoflorencia.com
mungfali.com
municalcurit.xyz
munityand.biz
munkfm.com
@ -68778,6 +68836,7 @@ netsdartboards.122.2o7.net
netsdenmarkas.tt.omtrdc.net
netsecuritymaster.top
netseer.com
netsetgo.gotrackier.com
netshare.ltd
netshelter.adtrix.com
netshelter.net
@ -70183,6 +70242,7 @@ nsump.com
nsumrwmgq.com
nsurethatthe.biz
nsuucewqbukeba.xyz
nswith.com
nsxtob.cn
nsy.hnzyfs.com
nsybcghuv.xyz
@ -71097,6 +71157,7 @@ ocfwcbdfrtcyh.xyz
ocgijsxnu.xyz
ochaugly.net
oci-origin.addthis.com
ociasb.adtiming.com
ocio.leadzu.com
ocjeg2ca9uh9.mailfloss.com
oclaserver.com
@ -72795,6 +72856,7 @@ outerinfo.com
outfitters.citam.org
outfunnel.com
outgateniceish.com
outgoingfan.pro
outgra.com
outhitcooler.com
outhulem.net
@ -75120,6 +75182,7 @@ phones4you.be
phonespybubble.com
phonestar.info
phonicsenergy.com
phono.gotrackier.com
phonograph2.voxmedia.com
phoobsie.com
phoobsoo.net
@ -75238,6 +75301,7 @@ phychisepso.com
phygical-questall.icu
physicalbikes.com
physicallyfinch.com
physicallysuddenassail.com
physioacademy.co.uk
phytotyper.com
phywi.org
@ -78212,6 +78276,7 @@ playbuzzmm.ads.tremorhub.com
playbuzzmobileweb.ads.tremorhub.com
playcam.s.xoxknct.com
playcvn.com
playdigo.gotrackier.com
player-feedback-v1.glomex.com
player-feedback.p7s1video.net
player-telemetry.vimeo.com
@ -79270,6 +79335,7 @@ prebid.org
prebid.s-onetag.com
prebid.smilewanted.com
prebids.adnsx.com
prebidwrapper.com
precautionbuoy.com
precessfetidly.com
preciouseffect.com
@ -81883,6 +81949,7 @@ qtvbgetlfxnw.com
qtybsegwdgeh.xyz
qtywnoh.cn
qtzvsufbkpxin.com
quackdamaging.com
quackexclusfdfjd.com
quacksquirrel.com
quadran.eu
@ -81998,6 +82065,7 @@ quick-counter.net
quick-sis.jpush.cn
quick-stats.jpush.cn
quickads.net
quickadsmedia.gotrackier.com
quickanalytics.ca
quickandeasy.co.za
quickbrowsersearch.com
@ -82028,6 +82096,7 @@ quietlyrosebudagreeing.com
quilee.pw
quillion.com
quiltobserve.com
quiltshiverpowerless.com
quinni.cyou
quinoa-personal-identify-prod.sense360eng.com
quinst.com
@ -82429,6 +82498,7 @@ radarwitch.com
raddus.bayescom.com
radeant.com
radiancethedevice.com
radiancewoebun.com
radiantskilled.com
radiateb2b.com
radiationcrag.com
@ -83199,6 +83269,7 @@ redirect-link.com
redirect-net.com
redirect-partners.appmetrica.yandex.com
redirect.advconversion.com
redirect.appleads-trk.com
redirect.appmetrica.yandex.com
redirect.at
redirect.awin.com
@ -85033,6 +85104,7 @@ rsxnqafes.xyz
rszimg.com
rt-usa.applovin.com
rt.ad-score.com
rt.adtiming.com
rt.applovin.com
rt.applvn.com
rt.bunte.de
@ -89150,6 +89222,7 @@ sg.12xlwin3.net
sg.a.stat.mi.com
sg.adserver.yahoo.com
sg.cc.loginfra.com
sg.inmobi.koneomobiledsp.com
sg.keytui.com
sg.mmstat.com
sg.promo.skf.com
@ -97812,6 +97885,8 @@ tarot-sunce.com
tarotien.com
tarrabastanly.com
tarrilyathenee.com
tarsan.g2afse.com
tarsan.media-412.com
tarsuscaul.com
tartarsharped.com
tartator.com
@ -99889,6 +99964,7 @@ tokei.upstract.com
token.api.kochava.com
token.rubiconproject.com
tokenads.com
tokenvolatilebreaker.com
toknowall.com
tokomaru.nimiqpool.com
tokopedia.link
@ -103684,6 +103760,7 @@ twogldi.top
twokidjay.com
twomhxibmhx.com
twospawnmad.com
twotreymedia10001697.o18.click
twovuxoecjtkc.xyz
twp0g1fch5yr.com
twpasol.com
@ -104368,6 +104445,7 @@ ukcertcouncil.co.uk
ukcoffe.com
ukcomparends.pro
ukeiae.com
ukentaspects.autos
ukeodfvujycutd.com
ukfareputfea.xyz
ukfpibeyfjwhp.xyz
@ -105312,6 +105390,7 @@ us.digitaldsp.com
us.eroadvertising.com
us.event.cmp.advertising.com
us.h-bid.com
us.inmobi.koneomobiledsp.com
us.l.qq.com
us.lucanet.com
us.myatkinsdiet.com
@ -105606,6 +105685,7 @@ utubeconverter.com
utuypsohjvuf.com
utxdfwxkgdkfghf.com
utxdtismojqk.xyz
utxfajlxjbkmue.com
utzrtyfefawyuk.com
uu.85655095.com
uu.qq.com
@ -106825,6 +106905,7 @@ vignerez.net
vigoroussolidjitter.com
vigpsypoyta.com
vigraghe.net
vihit.gotrackier.com
vihootch.casa
vihtori-analytics.fi
vihub.ru
@ -107845,6 +107926,7 @@ vymospbndxqip.com
vyrhxfi.cn
vystakugry.pro
vysutljd.xyz
vytomi.gotrackier.com
vyule.com
vyvxx.com
vyxryfprskema.xyz
@ -118445,6 +118527,7 @@ zabavazaodrasle.com
zabbix.net.zooplus.nl
zacao.wang
zadarma.com
zadauque.net
zadcyacitht.com
zadelm.com
zae.gzzena.com