71 lines
1.6 KiB
Lua
71 lines
1.6 KiB
Lua
o = Map("koolproxy")
|
||
|
||
t = o:section(TypedSection, "global",translate("证书恢复"))
|
||
t.description = translate("上传恢复已备份的证书,文件名必须为koolproxyCA.tar.gz")
|
||
t.anonymous = true
|
||
|
||
e = t:option(DummyValue, "c1status")
|
||
e = t:option(FileUpload, "")
|
||
e.template = "koolproxy/caupload"
|
||
e = t:option(DummyValue,"",nil)
|
||
e.template = "koolproxy/cadvalue"
|
||
|
||
if nixio.fs.access("/usr/share/koolproxy/data/certs/ca.crt") then
|
||
|
||
t = o:section(TypedSection, "global",translate("证书备份"))
|
||
t.description = translate("下载备份的证书")
|
||
t.anonymous = true
|
||
|
||
e = t:option(DummyValue,"c2status")
|
||
e = t:option(Button,"certificate")
|
||
e.inputtitle = translate("下载证书备份")
|
||
e.inputstyle = "reload"
|
||
e.write = function()
|
||
luci.sys.call("/usr/share/koolproxy/camanagement backup 2>&1 >/dev/null")
|
||
Download()
|
||
luci.http.redirect(luci.dispatcher.build_url("admin","services","koolproxy"))
|
||
end
|
||
end
|
||
|
||
function Download()
|
||
local t,e
|
||
t = nixio.open("/tmp/upload/koolproxyca.tar.gz","r")
|
||
luci.http.header('Content-Disposition', 'attachment; filename="koolproxyCA.tar.gz"')
|
||
luci.http.prepare_content("application/octet-stream")
|
||
while true do
|
||
e = t:read(nixio.const.buffersize)
|
||
if (not e) or (#e==0) then
|
||
break
|
||
else
|
||
luci.http.write(e)
|
||
end
|
||
end
|
||
t:close()
|
||
luci.http.close()
|
||
end
|
||
|
||
local t,e
|
||
t = "/tmp/upload/"
|
||
nixio.fs.mkdir(t)
|
||
luci.http.setfilehandler(
|
||
function(o,a,i)
|
||
if not e then
|
||
if not o then return end
|
||
e = nixio.open(t..o.file,"w")
|
||
if not e then
|
||
return
|
||
end
|
||
end
|
||
if a and e then
|
||
e:write(a)
|
||
end
|
||
if i and e then
|
||
e:close()
|
||
e = nil
|
||
luci.sys.call("/usr/share/koolproxy/camanagement restore 2>&1 >/dev/null")
|
||
end
|
||
end
|
||
)
|
||
|
||
return o
|