mirror of
				https://github.com/kenzok8/openwrt-packages.git
				synced 2025-10-30 07:50:37 +08:00 
			
		
		
		
	update 2023-06-22 14:01:04
This commit is contained in:
		| @ -41,8 +41,8 @@ function clear_log() | ||||
| end | ||||
|  | ||||
| function admin_info() | ||||
| 	local username = luci.sys.exec("/usr/bin/alist --data /etc/alist password 2>&1 | tail -2 | awk 'NR==1 {print $2}'") | ||||
| 	local password = luci.sys.exec("/usr/bin/alist --data /etc/alist password 2>&1 | tail -2 | awk 'NR==2 {print $2}'") | ||||
| 	local username = luci.sys.exec("/usr/bin/alist --data $(uci -q get alist.@alist[0].data_dir) password 2>&1 | tail -2 | awk 'NR==1 {print $2}'") | ||||
| 	local password = luci.sys.exec("/usr/bin/alist --data $(uci -q get alist.@alist[0].data_dir) password 2>&1 | tail -2 | awk 'NR==2 {print $2}'") | ||||
|  | ||||
| 	luci.http.prepare_content("application/json") | ||||
| 	luci.http.write_json({username = username, password = password}) | ||||
|  | ||||
| @ -31,6 +31,31 @@ 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, "mysql", translate("Enable MySQL")) | ||||
| o.rmempty=false | ||||
|  | ||||
| o = s:option(Value,"mysql_host", translate("MySQL Host")) | ||||
| o.datatype = "string" | ||||
| o:depends("mysql", "1") | ||||
|  | ||||
| o = s:option(Value,"mysql_port", translate("MySQL Port")) | ||||
| o.datatype = "and(port,min(1))" | ||||
| o.default = "3306" | ||||
| o:depends("mysql", "1") | ||||
|  | ||||
| o = s:option(Value,"mysql_username", translate("MySQL Username")) | ||||
| o.datatype = "string" | ||||
| o:depends("mysql", "1") | ||||
|  | ||||
| o = s:option(Value,"mysql_password", translate("MySQL Password")) | ||||
| o.datatype = "string" | ||||
| o.password = true | ||||
| o:depends("mysql", "1") | ||||
|  | ||||
| o = s:option(Value,"mysql_database", translate("Database Name")) | ||||
| o.datatype = "string" | ||||
| o:depends("mysql", "1") | ||||
|  | ||||
| o = s:option(Flag, "allow_wan", translate("Allow Access From Internet")) | ||||
| o.rmempty = false | ||||
|  | ||||
| @ -52,6 +77,10 @@ o.datatype = "and(uinteger,min(0))" | ||||
| o.default = "0" | ||||
| o.rmempty = false | ||||
|  | ||||
| o = s:option(Value, "data_dir", translate("Data directory")) | ||||
| o.datatype = "string" | ||||
| o.default = "/etc/alist" | ||||
|  | ||||
| o = s:option(Value, "temp_dir", translate("Cache directory")) | ||||
| o.datatype = "string" | ||||
| o.default = "/tmp/alist" | ||||
|  | ||||
| @ -34,6 +34,9 @@ msgstr "SSL 密钥" | ||||
| msgid "SSL key file path" | ||||
| msgstr "SSL 密钥文件路径" | ||||
|  | ||||
| msgid "Data directory" | ||||
| msgstr "数据目录" | ||||
|  | ||||
| msgid "Cache directory" | ||||
| msgstr "缓存目录" | ||||
|  | ||||
| @ -93,3 +96,21 @@ msgstr "Web 被反向代理到二级目录时,必须填写该选项以确保 W | ||||
|  | ||||
| msgid "Delayed Start (seconds)" | ||||
| msgstr "开机延时启动(秒)" | ||||
|  | ||||
| msgid "Enable MySQL" | ||||
| msgstr "启用 MySQL" | ||||
|  | ||||
| msgid "MySQL Host" | ||||
| msgstr "主机" | ||||
|  | ||||
| msgid "MySQL Port" | ||||
| msgstr "端口" | ||||
|  | ||||
| msgid "MySQL Username" | ||||
| msgstr "用户名" | ||||
|  | ||||
| msgid "MySQL Password" | ||||
| msgstr "密码" | ||||
|  | ||||
| msgid "Database Name" | ||||
| msgstr "数据库名" | ||||
|  | ||||
| @ -3,13 +3,13 @@ | ||||
| START=99 | ||||
| USE_PROCD=1 | ||||
| PROG=/usr/bin/alist | ||||
| CONFIG_DIR=/etc/alist | ||||
|  | ||||
| get_config() { | ||||
| 	config_get_bool enabled $1 enabled 1 | ||||
| 	config_get port $1 port 5244 | ||||
| 	config_get log $1 log 1 | ||||
| 	config_get site_url $1 site_url "" | ||||
| 	config_get data_dir $1 data_dir "/etc/alist" | ||||
| 	config_get temp_dir $1 temp_dir "/tmp/alist" | ||||
| 	config_get ssl $1 ssl 0 | ||||
| 	config_get ssl_cert $1 ssl_cert "" | ||||
| @ -18,6 +18,15 @@ get_config() { | ||||
| 	config_get allow_wan $1 allow_wan 0 | ||||
| 	config_get max_connections $1 max_connections 0 | ||||
| 	config_get delayed_start $1 delayed_start 0 | ||||
|  | ||||
| 	# mysql | ||||
| 	config_get mysql $1 mysql 0 | ||||
| 	config_get mysql_host $1 mysql_host "" | ||||
| 	config_get mysql_port $1 mysql_port "3306" | ||||
| 	config_get mysql_username $1 mysql_username "" | ||||
| 	config_get mysql_password $1 mysql_password "" | ||||
| 	config_get mysql_database $1 mysql_database "" | ||||
|  | ||||
| 	config_load network | ||||
| 	config_get lan_addr lan ipaddr "0.0.0.0" | ||||
| 	if echo "${lan_addr}" | grep -Fq ' '; then | ||||
| @ -50,11 +59,11 @@ start_service() { | ||||
| 	config_load alist | ||||
| 	config_foreach get_config alist | ||||
| 	[ $enabled != 1 ] && return 1 | ||||
| 	mkdir -p $temp_dir | ||||
| 	mkdir -p $temp_dir $data_dir | ||||
| 	[ "$ssl" -eq 1 ] && SSL=true || SSL=false | ||||
| 	[ "$log" -eq 1 ] && LOG=true || LOG=false | ||||
| 	if [ -e /proc/uptime ]; then | ||||
| 		[ $(awk -F. '{print $1}' /proc/uptime) -lt "300" ] && delayed_start=$delayed_start || delayed_start=0 | ||||
| 		[ $(awk -F. '{print $1}' /proc/uptime) -lt "120" ] && delayed_start=$delayed_start || delayed_start=0 | ||||
| 	else | ||||
| 		delayed_start=$delayed_start | ||||
| 	fi | ||||
| @ -65,14 +74,16 @@ start_service() { | ||||
| 		listen_addr=$lan_addr | ||||
| 		external_access="deny" | ||||
| 	fi | ||||
| 	# mysql | ||||
| 	[ "$mysql" -eq 1 ] && database=mysql || database=sqlite3 | ||||
| 	set_firewall | ||||
| 	cat /dev/null > $temp_dir/alist.log | ||||
| 	cat > $CONFIG_DIR/config.json <<EOF | ||||
| {"force":false,"address":"$listen_addr","port":$port,"https_port":$port,"site_url":"$site_url","cdn":"","jwt_secret":"","token_expires_in":$token_expires_in,"database":{"type":"sqlite3","host":"","port":0,"user":"","password":"","name":"","db_file":"/etc/alist/data.db","table_prefix":"x_","ssl_mode":""},"scheme":{"disable_http":$SSL,"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},"delayed_start":$delayed_start,"max_connections":$max_connections} | ||||
| 	cat > $data_dir/config.json <<EOF | ||||
| {"force":false,"address":"$listen_addr","port":$port,"https_port":$port,"site_url":"$site_url","cdn":"","jwt_secret":"","token_expires_in":$token_expires_in,"database":{"type":"$database","host":"$mysql_host","port":$mysql_port,"user":"$mysql_username","password":"$mysql_password","name":"$mysql_database","db_file":"$data_dir/data.db","table_prefix":"x_","ssl_mode":""},"scheme":{"disable_http":$SSL,"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},"delayed_start":$delayed_start,"max_connections":$max_connections} | ||||
| EOF | ||||
| 	procd_open_instance alist | ||||
| 	procd_set_param command $PROG | ||||
| 	procd_append_param command server --data $CONFIG_DIR | ||||
| 	procd_append_param command server --data $data_dir | ||||
| 	procd_set_param stdout 1 | ||||
| 	procd_set_param stderr 1 | ||||
| 	procd_set_param respawn | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	![41898282+github-actions[bot]@users.noreply.github.com](/assets/img/avatar_default.png) github-actions[bot]
					github-actions[bot]