diff --git a/package/cnsztl/FileBrowser/Makefile b/package/cnsztl/FileBrowser/Makefile
new file mode 100644
index 0000000000..41615184fe
--- /dev/null
+++ b/package/cnsztl/FileBrowser/Makefile
@@ -0,0 +1,62 @@
+#
+# Copyright (C) 2014-2018 OpenWrt-dist
+# Copyright (C) 2019 [CTCGFW] Project OpenWRT
+#
+# This is free software, licensed under the GNU General Public License v3.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=FileBrowser
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+
+PKG_LICENSE:=GPLv3
+PKG_MAINTAINER:=[CTCGFW] Project OpenWRT
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/$(PKG_NAME)
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=LuCI Support for FileBrowser.
+ URL:=https://github.com/filebrowser/filebrowser
+endef
+
+define Package/$(PKG_NAME)/description
+LuCI Support for FileBrowser.
+endef
+
+define Build/Prepare
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/$(PKG_NAME)/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ifeq ($(ARCH),i386)
+ $(INSTALL_BIN) ./files/i386 $(1)/usr/bin/filebrowser
+endif
+ifeq ($(ARCH),x86_64)
+ $(INSTALL_BIN) ./files/x86_64 $(1)/usr/bin/filebrowser
+endif
+ifeq ($(ARCH),arm)
+ $(INSTALL_BIN) ./files/arm $(1)/usr/bin/filebrowser
+endif
+ifeq ($(ARCH),arm64)
+ $(INSTALL_BIN) ./files/arm64 $(1)/usr/bin/filebrowser
+endif
+ifeq ($(ARCH),mips)
+ $(INSTALL_BIN) ./files/mips $(1)/usr/bin/filebrowser
+endif
+ifeq ($(ARCH),mipsel)
+ $(INSTALL_BIN) ./files/mipsel $(1)/usr/bin/filebrowser
+endif
+endef
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/package/cnsztl/FileBrowser/files/arm b/package/cnsztl/FileBrowser/files/arm
new file mode 100755
index 0000000000..97a86c6681
Binary files /dev/null and b/package/cnsztl/FileBrowser/files/arm differ
diff --git a/package/cnsztl/FileBrowser/files/arm64 b/package/cnsztl/FileBrowser/files/arm64
new file mode 100755
index 0000000000..2c02206e09
Binary files /dev/null and b/package/cnsztl/FileBrowser/files/arm64 differ
diff --git a/package/cnsztl/FileBrowser/files/i386 b/package/cnsztl/FileBrowser/files/i386
new file mode 100755
index 0000000000..afa6b7b7cb
Binary files /dev/null and b/package/cnsztl/FileBrowser/files/i386 differ
diff --git a/package/cnsztl/FileBrowser/files/mips b/package/cnsztl/FileBrowser/files/mips
new file mode 100755
index 0000000000..b94af4ca46
Binary files /dev/null and b/package/cnsztl/FileBrowser/files/mips differ
diff --git a/package/cnsztl/FileBrowser/files/mipsel b/package/cnsztl/FileBrowser/files/mipsel
new file mode 100755
index 0000000000..8aa165e57f
Binary files /dev/null and b/package/cnsztl/FileBrowser/files/mipsel differ
diff --git a/package/cnsztl/FileBrowser/files/x86_64 b/package/cnsztl/FileBrowser/files/x86_64
new file mode 100755
index 0000000000..4cc9edcea3
Binary files /dev/null and b/package/cnsztl/FileBrowser/files/x86_64 differ
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/config/filebrowser b/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/config/filebrowser
deleted file mode 100755
index d1f48bdb94..0000000000
--- a/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/config/filebrowser
+++ /dev/null
@@ -1,7 +0,0 @@
-
-config filebrowser 'config'
- option enabled '0'
- option port '8989'
- option scope '/'
- option path '/mnt/sda1/filebrowser'
-
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/init.d/filebrowser b/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/init.d/filebrowser
deleted file mode 100755
index e5f85dad35..0000000000
--- a/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/init.d/filebrowser
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2015 By Wind
-
-START=91
-STOP=91
-
-start() {
- config_load filebrowser
- enabled=$(uci get filebrowser.config.enabled)
- port=$(uci get filebrowser.config.port)
- path=$(uci get filebrowser.config.path)
- scope=$(uci get filebrowser.config.scope)
-
- [ "$enabled" == "1" ] || return
-
- if [ ! -f "$path/filebrowser" ];then
- mkdir -p $path
- wget -O $path/filebrowser https://mirror.router.ctcgfw.generalcdn.top/download/mipsle/filebrowser && cd $path && chmod +x $path/filebrowser && ./filebrowser --port $port --scope $scope >/dev/null 2>&1 &
- else
- cd $path && chmod +x $path/filebrowser && ./filebrowser --port $port --scope $scope >/dev/null 2>&1 &
- fi
-}
-
-stop() {
- killall filebrowser >/dev/null 2>&1 &
-}
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/i18n/filebrowser.zh-cn.lmo b/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/i18n/filebrowser.zh-cn.lmo
deleted file mode 100755
index 1f329cdee6..0000000000
Binary files a/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/i18n/filebrowser.zh-cn.lmo and /dev/null differ
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/model/cbi/filebrowser.lua b/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/model/cbi/filebrowser.lua
deleted file mode 100755
index 3ee1f0971d..0000000000
--- a/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/model/cbi/filebrowser.lua
+++ /dev/null
@@ -1,38 +0,0 @@
-require("luci.sys")
-require("luci.util")
-require("luci.model.ipkg")
-local fs = require "nixio.fs"
-
-local uci = require "luci.model.uci".cursor()
-
-local m, s
-
-local running=(luci.sys.call("pidof filebrowser > /dev/null") == 0)
-
-local button = ""
-local state_msg = ""
-local trport = uci:get_first("filebrowser", "config", "port") or 8989
-if running then
- button = " "
-end
-
-if running then
- state_msg = "" .. translate("FileBrowser running") .. ""
-else
- state_msg = "" .. translate("FileBrowser not running") .. ""
-end
-
-m = Map("filebrowser", translate("FileBrowser"), translate("FileBrowser is a simple web base file browser, here you can configure the settings.") .. button
- .. "
" .. translate("FileBrowser Run Status").. " : " .. state_msg .. "
")
-
-s = m:section(TypedSection, "filebrowser", "")
-s.addremove = false
-s.anonymous = true
-
-enable = s:option(Flag, "enabled", translate("Enable"))
-enable.rmempty = false
-
-port=s:option(Value, "port", translate("listen port"))
-path=s:option(Value, "path", translate("path"))
-scope_dir=s:option(Value, "scope", translate("scope dir"))
-return m
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/Makefile b/package/cnsztl/luci-app-filebrowser/Makefile
old mode 100755
new mode 100644
similarity index 71%
rename from package/cnsztl/luci-app-filebrowser-mipsle/Makefile
rename to package/cnsztl/luci-app-filebrowser/Makefile
index edf8b6c83c..1c43e4c0d4
--- a/package/cnsztl/luci-app-filebrowser-mipsle/Makefile
+++ b/package/cnsztl/luci-app-filebrowser/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2016-2017 WindTech
+# Copyright (C) 2019 [CTCGFW] Project OpenWRT
#
# This is free software, licensed under the GNU General Public License v3.
# See /LICENSE for more information.
@@ -7,13 +7,12 @@
include $(TOPDIR)/rules.mk
-PKG_NAME:=luci-app-filebrowser-mipsle
+PKG_NAME:=luci-app-filebrowser
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_LICENSE:=GPLv3
-PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=WindTech
+PKG_MAINTAINER:=[CTCGFW] Project OpenWRT
include $(INCLUDE_DIR)/package.mk
@@ -21,14 +20,13 @@ define Package/$(PKG_NAME)
SECTION:=luci
CATEGORY:=LuCI
SUBMENU:=3. Applications
- TITLE:=LuCI Support for FileBrowser FOR MIPSLE ONLY
+ TITLE:=LuCI Support for FileBrowser
PKGARCH:=all
-# DEPENDS:=+filebrowser
- DEPENDS:=+wget +openssl-util
+ DEPENDS:=+FileBrowser +wget +openssl-util
endef
define Package/$(PKG_NAME)/description
- LuCI Support for FileBrowser FOR MIPSLE ONLY.
+ LuCI Support for FileBrowser.
endef
define Build/Prepare
@@ -53,8 +51,6 @@ define Package/$(PKG_NAME)/conffiles
endef
define Package/$(PKG_NAME)/install
- $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n
- $(INSTALL_DATA) ./files/luci/i18n/filebrowser.zh-cn.lmo $(1)/usr/lib/lua/luci/i18n/filebrowser.zh-cn.lmo
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller
$(INSTALL_DATA) ./files/luci/controller/filebrowser.lua $(1)/usr/lib/lua/luci/controller/filebrowser.lua
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/filebrowser
@@ -67,4 +63,4 @@ define Package/$(PKG_NAME)/install
$(INSTALL_BIN) ./files/etc/uci-defaults/luci-filebrowser $(1)/etc/uci-defaults/luci-filebrowser
endef
-$(eval $(call BuildPackage,$(PKG_NAME)))
\ No newline at end of file
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/package/cnsztl/luci-app-filebrowser/files/etc/config/filebrowser b/package/cnsztl/luci-app-filebrowser/files/etc/config/filebrowser
new file mode 100644
index 0000000000..3db6585e48
--- /dev/null
+++ b/package/cnsztl/luci-app-filebrowser/files/etc/config/filebrowser
@@ -0,0 +1,10 @@
+
+config filebrowser 'config'
+ option addr_type 'lan'
+ option db_dir '/etc'
+ option db_name 'filebrowser.db'
+ option enabled '0'
+ option port '8989'
+ option root_dir '/'
+ option username 'admin'
+ option password 'admin'
diff --git a/package/cnsztl/luci-app-filebrowser/files/etc/init.d/filebrowser b/package/cnsztl/luci-app-filebrowser/files/etc/init.d/filebrowser
new file mode 100755
index 0000000000..94aef9c55c
--- /dev/null
+++ b/package/cnsztl/luci-app-filebrowser/files/etc/init.d/filebrowser
@@ -0,0 +1,35 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2019 [CTCGFW] Project OpenWRT
+
+START=90
+STOP=10
+
+addr_type="$(uci get filebrowser.config.addr_type)"
+db_dir="$(uci get filebrowser.config.db_dir)"
+[ "${db_dir}" == "/" ] || db_dir="${db_dir%*/}"
+db_name="$(uci get filebrowser.config.db_name| sed 's#/##g')"
+enabled="$(uci get filebrowser.config.enabled)"
+port="$(uci get filebrowser.config.port)"
+root_dir="$(uci get filebrowser.config.root_dir)"
+username="$(uci get filebrowser.config.username)"
+password="$(filebrowser hash "$(uci get filebrowser.config.password)"| sed 's/$/\$/g')"
+
+if [ "${addr_type}" == "local" ];then
+ addr="127.0.0.1"
+elif [ "${addr_type}" == "lan" ];then
+ addr="$(uci get network.lan.ipaddr)"
+elif [ "${addr_type}" == "wan" ];then
+ addr="0.0.0.0"
+fi
+
+start() {
+ stop
+ [ "$enabled" == "1" ] || exit 0
+ mkdir -p "${root_dir}"
+ mkdir -p "${db_dir}"
+ filebrowser -a "${addr}" -d "${db_dir}/${db_name}" -p "${port}" -r "${root_dir}" --username "${username}" --password "${password}" >/dev/null 2>&1 &
+}
+
+stop() {
+ killall filebrowser >/dev/null 2>&1
+}
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/files/etc/uci-defaults/luci-filebrowser b/package/cnsztl/luci-app-filebrowser/files/etc/uci-defaults/luci-filebrowser
similarity index 100%
rename from package/cnsztl/luci-app-filebrowser-mipsle/files/etc/uci-defaults/luci-filebrowser
rename to package/cnsztl/luci-app-filebrowser/files/etc/uci-defaults/luci-filebrowser
diff --git a/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/controller/filebrowser.lua b/package/cnsztl/luci-app-filebrowser/files/luci/controller/filebrowser.lua
old mode 100755
new mode 100644
similarity index 78%
rename from package/cnsztl/luci-app-filebrowser-mipsle/files/luci/controller/filebrowser.lua
rename to package/cnsztl/luci-app-filebrowser/files/luci/controller/filebrowser.lua
index df8384bfb3..12b2396fbd
--- a/package/cnsztl/luci-app-filebrowser-mipsle/files/luci/controller/filebrowser.lua
+++ b/package/cnsztl/luci-app-filebrowser/files/luci/controller/filebrowser.lua
@@ -5,7 +5,6 @@ function index()
return
end
local page
- page = entry({"admin", "services", "filebrowser"}, cbi("filebrowser"), _("FileBrowser"), 100)
- page.i18n = "filebrowser"
+ page = entry({"admin", "services", "filebrowser"}, cbi("filebrowser"), _("文件管理器"), 100)
page.dependent = true
end
diff --git a/package/cnsztl/luci-app-filebrowser/files/luci/model/cbi/filebrowser.lua b/package/cnsztl/luci-app-filebrowser/files/luci/model/cbi/filebrowser.lua
new file mode 100644
index 0000000000..11122db598
--- /dev/null
+++ b/package/cnsztl/luci-app-filebrowser/files/luci/model/cbi/filebrowser.lua
@@ -0,0 +1,76 @@
+require("luci.sys")
+require("luci.util")
+require("luci.model.ipkg")
+local fs = require "nixio.fs"
+
+local uci = require "luci.model.uci".cursor()
+
+local m, s
+
+local running=(luci.sys.call("pidof filebrowser > /dev/null") == 0)
+
+local button = ""
+local state_msg = ""
+local trport = uci:get("filebrowser", "config", "port")
+if running then
+ button = " "
+end
+
+if running then
+ state_msg = "" .. translate("FileBrowser运行中") .. ""
+else
+ state_msg = "" .. translate("FileBrowser未运行") .. ""
+end
+
+m = Map("filebrowser", translate("文件管理器"), translate("FileBrowser是一个基于Go的在线文件管理器,助您方便的管理设备上的文件。") .. button
+ .. "
" .. translate("FileBrowser运行状态").. " : " .. state_msg .. "
")
+
+s = m:section(TypedSection, "filebrowser", "")
+s.addremove = false
+s.anonymous = true
+
+enable = s:option(Flag, "enabled", translate("启用"))
+enable.rmempty = false
+
+o = s:option(ListValue, "addr_type", translate("监听地址"))
+o:value("local", translate("监听本机地址"))
+o:value("lan", translate("监听局域网地址"))
+o:value("wan", translate("监听全部地址"))
+o.default = "lan"
+o.rmempty = false
+
+o = s:option(Value, "port", translate("监听端口"))
+o.placeholder = 8989
+o.default = 8989
+o.datatype = "port"
+o.rmempty = false
+
+o = s:option(Value, "root_dir", translate("开放目录"))
+o.placeholder = "/"
+o.default = "/"
+o.rmempty = false
+
+o = s:option(Value, "username", translate("管理员用户名"))
+o.placeholder = "admin"
+o.default = "admin"
+o.rmempty = false
+
+o = s:option(Value, "password", translate("管理员密码"))
+o.password = true
+o.placeholder = "admin"
+o.default = "admin"
+o.rmempty = false
+
+o = s:option(Value, "db_dir", translate("数据库目录"))
+o.placeholder = "/etc"
+o.default = "/etc"
+o.rmempty = false
+o.description = translate("普通用户请勿随意更改")
+
+o = s:option(Value, "db_name", translate("数据库名"))
+o.placeholder = "filebrowser.db"
+o.default = "filebrowser.db"
+o.rmempty = false
+o.description = translate("普通用户请勿随意更改")
+
+return m