From ec474913c19ee31d8c91727d8bc5db2865b14648 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sat, 15 Feb 2020 22:10:36 +0800 Subject: [PATCH] luci-app-rclone: bump to v1.2.18 --- package/ctcgfw/luci-app-rclone/Makefile | 18 +++- .../luasrc/controller/rclone.lua | 2 +- .../luasrc/model/cbi/rclone.lua | 24 ++++- .../luci-app-rclone/po/templates/rclone.pot | 97 ------------------- .../luci-app-rclone/root/etc/config/rclone | 5 + .../luci-app-rclone/root/etc/init.d/rclone | 14 ++- 6 files changed, 58 insertions(+), 102 deletions(-) delete mode 100644 package/ctcgfw/luci-app-rclone/po/templates/rclone.pot diff --git a/package/ctcgfw/luci-app-rclone/Makefile b/package/ctcgfw/luci-app-rclone/Makefile index 9b4e65dded..ca85758dee 100644 --- a/package/ctcgfw/luci-app-rclone/Makefile +++ b/package/ctcgfw/luci-app-rclone/Makefile @@ -13,11 +13,25 @@ LUCI_TITLE:=LuCI support for Rclone LUCI_DEPENDS:=+rclone +rclone-webui-react LUCI_PKGARCH:=all PKG_NAME:=luci-app-rclone -PKG_VERSION:=1.0.7 -PKG_RELEASE:=2 +PKG_VERSION:=1.2.18 +PKG_RELEASE:=1 PKG_LICENSE:=GPLv3.0+ PKG_MAINTAINER:=ElonH +define Package/luci-app-rclone/description + LuCI support for Rclone. + Rclone ("rsync for cloud storage") is a command line program to sync root/usr/bin and directories to and from different cloud storage providers. + Cloud storage providers: + 1Fichier, Alibaba Cloud (Aliyun) Object Storage System (OSS), Amazon Drive, Amazon S3, + Backblaze B2, Box, Ceph, C14, DigitalOcean Spaces, Dreamhost, Dropbox, FTP, + Google Cloud Storage, Google Drive, Google Photos, HTTP, Hubic, Jottacloud, + IBM COS S3, Koofr, Memset Memstore, Mega, Microsoft Azure Blob Storage, + Microsoft OneDrive, Minio, Nextcloud, OVH, OpenDrive, Openstack Swift, + Oracle Cloud Storage, ownCloud, pCloud, premiumize.me, put.io, QingStor, + Rackspace Cloud root/usr/bin, rsync.net, Scaleway, SFTP, Wasabi, WebDAV, + Yandex Disk, The local root/usr/binystem. +endef + include $(TOPDIR)/feeds/luci/luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua b/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua index a18b204573..f296545224 100644 --- a/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua +++ b/package/ctcgfw/luci-app-rclone/luasrc/controller/rclone.lua @@ -4,5 +4,5 @@ function index() if not nixio.fs.access("/etc/config/rclone") then return end - entry({"admin", "services", "rclone"}, cbi("rclone"), _("Rclone"), 100 ).dependent = false + entry({"admin", "nas", "rclone"}, cbi("rclone"), _("Rclone"), 100 ).dependent = false end diff --git a/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua b/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua index 2f1aa302a5..e69124bc8b 100644 --- a/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua +++ b/package/ctcgfw/luci-app-rclone/luasrc/model/cbi/rclone.lua @@ -1,6 +1,6 @@ require('luci.sys') require('luci.util') -require('luci.model.ipkg') + local fs = require 'nixio.fs' local uci = require 'luci.model.uci'.cursor() @@ -108,6 +108,28 @@ o.placeholder = 'admin' o.default = 'admin' o.rmempty = false +s = m:section(TypedSection, 'proxy', translate('proxy')) +s.addremove = false +s.anonymous = true +s.description = "" + ..translate("FAQ").."" + +enable = s:option(Flag, 'enabled', translate('enable proxy')) +enable.rmempty = false + +o = s:option(Value, 'proxy_addr', translate('proxy address')) +o.placeholder = 'socks5://127.0.0.1:1080' +o.default = 'socks5://127.0.0.1:1080' +o.rmempty = false +o.description = translate("The content of the variable is protocol://server:port. The protocol value is commonly either http or socks5.") + +o = s:option(Value, 'no_proxy', translate('disable proxy')) +o.placeholder = 'localhost,127.0.0.0/8' +o.default = 'localhost,127.0.0.0/8' +o.rmempty = false +o.description = translate("This allows you to disable the proxy for specific hosts.").."
".. + translate("Hosts must be comma separated, and can contain domains or parts.") + s = m:section(TypedSection, 'log', translate('log')) s.addremove = false s.anonymous = true diff --git a/package/ctcgfw/luci-app-rclone/po/templates/rclone.pot b/package/ctcgfw/luci-app-rclone/po/templates/rclone.pot deleted file mode 100644 index 7258680663..0000000000 --- a/package/ctcgfw/luci-app-rclone/po/templates/rclone.pot +++ /dev/null @@ -1,97 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:41 -msgid "Installed Web Interface" -msgstr "" - -#: luci-app-rclone/luasrc/controller/rclone.lua:7 -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:37 -msgid "Rclone" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:38 -msgid "" -"Rclone (\"rsync for cloud storage\") is a command line program to sync root/" -"usr/bin and directories to and from different cloud storage providers." -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:43 -msgid "Webui React" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:61 -msgid "all address" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:54 -msgid "configure" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:77 -msgid "download" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:76 -msgid "download configuration" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:47 -msgid "global" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:58 -msgid "listen address" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:65 -msgid "listen port" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:60 -msgid "local network address" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:59 -msgid "localhost address" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:111 -msgid "log" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:105 -msgid "password" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:115 -msgid "path" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:28 -msgid "rclone address" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:71 -msgid "rclone configuration file path" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:30 -msgid "rclone not run" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:27 -msgid "rclone running" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:39 -msgid "rclone state" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:51 -msgid "run Rclone as daemon" -msgstr "" - -#: luci-app-rclone/luasrc/model/cbi/rclone.lua:100 -msgid "username" -msgstr "" diff --git a/package/ctcgfw/luci-app-rclone/root/etc/config/rclone b/package/ctcgfw/luci-app-rclone/root/etc/config/rclone index d7553296f4..432aa5bf7c 100644 --- a/package/ctcgfw/luci-app-rclone/root/etc/config/rclone +++ b/package/ctcgfw/luci-app-rclone/root/etc/config/rclone @@ -10,5 +10,10 @@ config conf 'config' option password 'admin' option addr_type 'lan' +config proxy 'proxy' + option enabled '0' + option proxy_addr 'socks5://127.0.0.1:1080' + option no_proxy 'localhost,127.0.0.0/8' + config log 'log' option path '/var/log/rclone/output' diff --git a/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone b/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone index a553564d6b..2dd1eaa9e2 100755 --- a/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone +++ b/package/ctcgfw/luci-app-rclone/root/etc/init.d/rclone @@ -61,6 +61,9 @@ start_service() { config_get username config username config_get password config password + config_get proxy_enable proxy enabled + config_get proxy_addr proxy proxy_addr + config_get no_proxy proxy no_proxy config_get log_path log path @@ -75,11 +78,16 @@ start_service() { _info "Instance \"rclone\" start." procd_open_instance procd_set_param command /usr/bin/$APP rcd -vv - procd_append_param command --rc-addr=${addr}:${port} + procd_append_param command --rc-addr=${addr}:${port} procd_append_param command --rc-user=${username} --rc-pass=${password} procd_append_param command --config=${config_path} procd_append_param command --rc-allow-origin=* procd_append_param command --log-file=${log_path} + if [ "${proxy_enable}" == "1" ]; then + procd_set_param env all_proxy=${proxy_addr} https_proxy=${proxy_addr} http_proxy=${proxy_addr} + procd_set_param env ALL_PROXY=${proxy_addr} HTTPS_PROXY=${proxy_addr} HTTP_PROXY=${proxy_addr} + procd_set_param env no_proxy=${no_proxy} NO_PROXY=${no_proxy} + fi procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param file /etc/config/rclone @@ -90,3 +98,7 @@ start_service() { procd_close_instance } + +service_triggers() { + procd_add_reload_trigger "rclone" +}