Merge Lean's source

This commit is contained in:
CN_SZTL 2020-04-07 21:24:17 +08:00
commit 526a2b4856
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
9 changed files with 225 additions and 4 deletions

View File

@ -0,0 +1,18 @@
# Copyright (C) 2016 Openwrt.org
#
# This is free software, licensed under the Apache License, Version 2.0 .
#
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI for SMB/CIFS Mount
LUCI_DEPENDS:=+kmod-fs-cifs +kmod-nls-utf8
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-cifs-mount
PKG_VERSION:=1
PKG_RELEASE:=6
include $(TOPDIR)/feeds/luci/luci.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@ -0,0 +1,13 @@
module("luci.controller.cifs", package.seeall)
function index()
if not nixio.fs.access("/etc/config/cifs") then
return
end
local page
page = entry({"admin", "nas", "cifs"}, cbi("cifs"), _("Mount SMB NetShare"))
page.dependent = true
end

View File

@ -0,0 +1,62 @@
local fs = require "nixio.fs"
m = Map("cifs", translate("Mount SMB/CIFS Netshare"), translate("Mount SMB/CIFS Netshare for OpenWrt"))
s = m:section(TypedSection, "cifs")
s.anonymous = true
switch = s:option(Flag, "enabled", translate("Enable"))
switch.rmempty = false
workgroup = s:option(Value, "workgroup", translate("Workgroup"))
workgroup.default = "WORKGROUP"
s = m:section(TypedSection, "natshare", translate("CIFS/SMB Netshare"))
s.anonymous = true
s.addremove = true
s.template = "cbi/tblsection"
server = s:option(Value, "server", translate("Server IP"))
server.size = 12
server.rmempty = false
name = s:option(Value, "name", translate("Share Folder"))
name.rmempty = false
name.size = 8
pth = s:option(Value, "natpath", translate("Mount Path"))
if nixio.fs.access("/etc/config/fstab") then
pth.titleref = luci.dispatcher.build_url("admin", "system", "fstab")
end
pth.rmempty = false
pth.size = 10
smbver = s:option(Value, "smbver", translate("SMB Version"))
smbver.rmempty = false
smbver:value("1.0","SMB v1")
smbver:value("2.0","SMB v2")
smbver:value("3.0","SMB v3")
smbver.default = "2.0"
smbver.size = 3
agm = s:option(Value, "agm", translate("Arguments"))
agm:value("ro", translate("Read Only"))
agm:value("rw", translate("Read/Write"))
agm.rmempty = true
agm.default = "ro"
iocharset = s:option(Value, "iocharset", translate("Charset"))
iocharset:value("utf8", "UTF8")
iocharset.default = "utf8"
iocharset.size = 2
users = s:option(Value, "users", translate("User"))
users:value("guest", "Guest")
users.rmempty = true
users.default = "guest"
pwd = s:option(Value, "pwd", translate("Password"))
pwd.rmempty = true
pwd.size = 8
return m

View File

@ -0,0 +1,42 @@
msgid "Mount SMB NetShare"
msgstr "挂载 SMB 网络共享"
msgid "Mount SMB/CIFS Netshare"
msgstr "挂载 SMB/CIFS 网络共享文件夹"
msgid "Mount SMB/CIFS Netshare for OpenWrt"
msgstr "可以将 SMB/CIFS 的共享文件夹挂载到本地(修改挂载后,需要重启使用这些文件夹的客户端)"
msgid "CIFS/SMB Netshare"
msgstr "CIFS/SMB 文件夹共享挂载设置"
msgid "Server IP"
msgstr "服务器IP"
msgid "Share Folder"
msgstr "共享文件夹"
msgid "Mount Path"
msgstr "挂载路径"
msgid "SMB Version"
msgstr "SMB 版本"
msgid "Arguments"
msgstr "挂载参数"
msgid "Charset"
msgstr "字符集"
msgid "User"
msgstr "用户名"
msgid "Password"
msgstr "密码"
msgid "Read Only"
msgstr "只读"
msgid "Read/Write"
msgstr "可读/写"

View File

@ -0,0 +1,8 @@
config cifs
option enabled '0'
option workgroup 'WORKGROUP'
option iocharset 'utf8'
option delay '5'
option mountarea '/mnt'

View File

@ -0,0 +1,67 @@
#!/bin/sh /etc/rc.common
START=45
ENABLED=0
WORKGROUPD=0
IOCHARSET=0
GUEST=""
USERS=""
AGM=""
cifs_header() {
local enabled
local workgroup
config_get enabled $1 enabled
config_get workgroup $1 workgroup
ENABLED=$enabled
WORKGROUPD=$workgroup
}
mount_natshare() {
local server
local name
local natpath
local guest
local users
local pwd
local agm
local iocharset
local smbver
config_get server $1 server
config_get name $1 name
config_get natpath $1 natpath
config_get guest $1 guest
config_get users $1 users
config_get pwd $1 pwd
config_get agm $1 agm
config_get iocharset $1 iocharset
config_get smbver $1 smbver
mkdir -p $natpath && chmod 777 $natpath
#echo "mount -t cifs -o vers=$smbver,user=$users,password=$pwd,iocharset=$iocharset,$agm //$server/$name $natpath"
mount -t cifs -o vers=$smbver,user=$users,password=$pwd,iocharset=$iocharset,$agm //$server/$name $natpath
}
start() {
config_load cifs
config_foreach cifs_header cifs
if [ $ENABLED == 1 ]
then {
config_foreach mount_natshare natshare
#echo "Cifs Mount succeed."
}
fi
}
stop() {
mount | grep '//' | awk -F ' ' '{print$3}' | while read line; do
#echo "umount -d -l $line"
umount -d -l $line 2>/dev/null
done
}

View File

@ -0,0 +1,11 @@
#!/bin/sh
uci -q batch <<-EOF >/dev/null
delete ucitrack.@cifs[-1]
add ucitrack cifs
set ucitrack.@cifs[-1].init=cifs
commit ucitrack
EOF
rm -f /tmp/luci-indexcache
exit 0

View File

@ -19,8 +19,8 @@ DEFAULT_PACKAGES += \
kmod-leds-gpio kmod-gpio-button-hotplug swconfig \
kmod-ath10k wpad-openssl \
kmod-usb3 kmod-usb-dwc3 ath10k-firmware-qca4019 \
automount autosamba luci-app-ipsec-vpnd v2ray shadowsocks-libev-ss-redir shadowsocksr-libev-server \
luci-app-unblockmusic luci-app-cpufreq luci-app-zerotier ca-certificates lm-sensors \
automount autosamba luci-app-ipsec-vpnd v2ray shadowsocks-libev-ss-redir shadowsocksr-libev-server luci-app-music-remote-center \
luci-app-unblockmusic luci-app-cpufreq luci-app-zerotier ca-certificates lm-sensors kmod-fs-cifs kmod-nls-utf8 \
htop fdisk e2fsprogs
$(eval $(call BuildTarget))

View File

@ -21,8 +21,8 @@ include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += partx-utils mkf2fs fdisk e2fsprogs wpad kmod-usb-hid \
kmod-ath5k kmod-ath9k kmod-ath9k-htc kmod-ath10k kmod-rt2800-usb kmod-e1000e kmod-igb kmod-igbvf kmod-ixgbe kmod-pcnet32 kmod-tulip kmod-vmxnet3 kmod-i40e kmod-i40evf kmod-r8125 kmod-8139cp kmod-8139too kmod-fs-f2fs \
htop lm-sensors autocore automount autosamba luci-app-ipsec-vpnd luci-proto-bonding luci-app-unblockmusic luci-app-zerotier luci-app-xlnetacc ddns-scripts_aliyun ddns-scripts_dnspod ca-certificates luci-app-airplay2 \
ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie \
htop lm-sensors autocore automount autosamba luci-app-ipsec-vpnd luci-proto-bonding luci-app-unblockmusic luci-app-zerotier luci-app-xlnetacc ddns-scripts_aliyun ddns-scripts_dnspod ca-certificates luci-app-airplay2 luci-app-music-remote-center \
ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie kmod-fs-cifs kmod-nls-utf8 \
kmod-sound-hda-core kmod-sound-hda-codec-realtek kmod-sound-hda-codec-via kmod-sound-via82xx kmod-sound-hda-intel kmod-sound-hda-codec-hdmi kmod-sound-i8x0 kmod-usb-audio \
kmod-usb-net kmod-usb-net-asix kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8150 kmod-usb-net-rtl8152