add webdav cloud storage support for upload, backup/restore, delete, mkcol

This commit is contained in:
James Feng Cao 2023-01-22 17:27:29 +08:00
parent 53d34196b6
commit 7c38fa2615
13 changed files with 91 additions and 16 deletions

View file

@ -104,11 +104,14 @@ The following html5 applications are allowed to read local files referred by &am
VPN
Wait for network msg
Certificate info
Backup to box.com
Restore from box.com
upload to box.com
More webdav link menu items
Web fullscreen
Long pressing the bookmark button in uweb browser will popup menus defined in file "default.link". The file format is as follows:
[Menu name]:[url][space][javascript code]
in which space and later parts are optional. url and later parts support &amp;quot;%u&amp;quot;,&amp;quot;%s&amp;quot; etc.. The javascript code will be executed after url is fully loaded.</description>
in which space and later parts are optional.</description>
</item>
<item>

View file

@ -218,6 +218,12 @@
<li class="post">
<a href="searchurl/webdav.html">
<span>webdav storage menu generator</span>
</a>
</li>
</ul>
</body>

View file

@ -104,7 +104,6 @@ bing image:http://bing.com/images/search?q=
google image:http://www.google.com/images?as_q=
flickr:http://www.flickr.com/photos/tags/
Yandex image:https://yandex.com/images/search?text=
wolfram:https://www.wolframalpha.com/input/?i=
wiki:https://en.wikipedia.org/wiki/Special:Search?search=
wikipedia:http://en.wikipedia.org/?search=
wikifull:http://en.wikipedia.org/wiki/Special:Search?fulltext=Search&amp;amp;search=
@ -119,6 +118,8 @@ boardreader:https://boardreader.com/s/%s.html
bingvideo:https://www.bing.com/videos/search?q=
vsearch:https://www.vsearch.me/s?q=
groups:http://groups.google.com/groups/search?q=
wolfram:https://www.wolframalpha.com/input/?i=
fxsolver:https://www.fxsolver.com/browse/?q=
book_google:https://google.com/search?q=%22parent+directory%22+pdf+OR+epub+OR+DjVU+OR+xps+%22%s%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&amp;amp;num=100&amp;amp;filter=0
annas-archive:https://annas-archive.org/search?q=
libgen:http://gen.lib.rus.ec/search.php?req=
@ -166,11 +167,14 @@ Note: &#34;Engines&#34; needs file &#34;engine.search&#34;whose format is sam
VPN
Wait for network msg
Certificate info
Backup to box.com
Restore from box.com
upload to box.com
More webdav link menu items
Web fullscreen
Long pressing the bookmark button in uweb browser will popup menus defined in file &amp;quot;default.link&amp;quot;. The file format is as follows:
[Menu name]:[url][space][javascript code]
in which space and later parts are optional. url and later parts support &amp;quot;%u&amp;quot;,&amp;quot;%s&amp;quot; etc.. The javascript code will be executed after url is fully loaded.</description>
in which space and later parts are optional.</description>
</item>
<item>

View file

@ -51,7 +51,10 @@
<a href="i:0gdefault.link::vpn:i:1dandroid.net.vpn.SETTINGS:::%0A">VPN</a></p>
<p><a href="i:0gdefault.link::Wait msg:i:1c%0A">Wait for network msg</a></p>
<p><a href="i:0gdefault.link::Certificate info:i:1b%0A">Certificate info</a></p>
<p><a href="i:0gdefault.link::Backup2Box: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1);location.href='i:0e'+path+':https://dav.box.com/dav/'+f+'.tgz';}%0A">Backup to box.com</a></p>
<p><a href="i:0gdefault.link::restoreFromBox: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1);location.href='i:0dhttps://dav.box.com/dav/'+f+'.tgz';}%0A">Restore from box.com</a></p>
<p><a href="i:0gdefault.link::up2Box: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1)+'.tgz';location.href='i:0u'+path+':https://dav.box.com/dav/'+f;}%0A">upload to box.com</a></p>
<p><a href="../searchurl/webdav.html">More webdav link menu items</a></p>
<p><a href="i:0gdefault.link::web fullscreen: location.href='i:5fsetTimeout(()=>document.documentElement.requestFullscreen(),50);';%0A">Web fullscreen</a></p>
<p>Long pressing the bookmark button in <a href="../index.html">uweb browser</a> will popup menus defined in file &quot;default.link&quot;. The file format is as follows:<br>
[Menu name]:[url][space][javascript code]</p>

View file

@ -54,7 +54,6 @@
<p><a href="i:00google image:http://www.google.com/images?as_q=">google image:http://www.google.com/images?as_q=</a></p>
<p><a href="i:00flickr:http://www.flickr.com/photos/tags/">flickr:http://www.flickr.com/photos/tags/</a></p>
<p><a href="i:00Yandex image:https://yandex.com/images/search?text=">Yandex image:https://yandex.com/images/search?text=</a></p>
<p><a href="i:00wolfram:https://www.wolframalpha.com/input/?i=">wolfram:https://www.wolframalpha.com/input/?i=</a></p>
<p><a href="i:00wiki:https://en.wikipedia.org/wiki/Special:Search?search=">wiki:https://en.wikipedia.org/wiki/Special:Search?search=</a></p>
<p><a href="i:00wikipedia:http://en.wikipedia.org/?search=">wikipedia:http://en.wikipedia.org/?search=</a></p>
<p><a href="i:00wikifull:http://en.wikipedia.org/wiki/Special:Search?fulltext=Search&search=">wikifull:http://en.wikipedia.org/wiki/Special:Search?fulltext=Search&amp;search=</a></p>
@ -69,6 +68,8 @@
<p><a href="i:00bingvideo:https://www.bing.com/videos/search?q=">bingvideo:https://www.bing.com/videos/search?q=</a></p>
<p><a href="i:00vsearch:https://www.vsearch.me/s?q=">vsearch:https://www.vsearch.me/s?q=</a></p>
<p><a href="i:00groups:http://groups.google.com/groups/search?q=">groups:http://groups.google.com/groups/search?q=</a></p>
<p><a href="i:00wolfram:https://www.wolframalpha.com/input/?i=">wolfram:https://www.wolframalpha.com/input/?i=</a></p>
<p><a href="i:00fxsolver:https://www.fxsolver.com/browse/?q=">fxsolver:https://www.fxsolver.com/browse/?q=</a></p>
<p><a href="i:00book_google:https://google.com/search?q=%22parent+directory%22+pdf+OR+epub+OR+DjVU+OR+xps+%22%s%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&num=100&filter=0">book_google:https://google.com/search?q=%22parent+directory%22+pdf+OR+epub+OR+DjVU+OR+xps+%22%s%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&amp;num=100&amp;filter=0</a></p>
<p><a href="i:00annas-archive:https://annas-archive.org/search?q=">annas-archive:https://annas-archive.org/search?q=</a></p>
<p><a href="i:00libgen:http://gen.lib.rus.ec/search.php?req=">libgen:http://gen.lib.rus.ec/search.php?req=</a></p>
@ -216,6 +217,8 @@
<a href="i:00bc:d:text/html:echo \'%s\'|bc -l -q:">bc:d:text/html:echo '%s'|bc -l -q:</a></p>
<p><a href="i:002D plot:d:image/svg+xml:gnuplot -e \'set term svg;set output; plot %s\':">2D plot:d:image/svg+xml:gnuplot -e 'set term svg;set output; plot %s':</a></p>
<p><a href="i:003D plot:d:image/svg+xml:gnuplot -e \'set term svg;set output; splot %s\':">3D plot:d:image/svg+xml:gnuplot -e 'set term svg;set output; splot %s':</a></p>
<p>More at:<br>
<a href="https://alternativeto.net/software/google-search/?feature=web-search">alternativeto</a></p>
</div>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width" />
<title>webdav links for %2%</title></head><body>
<p><b>Click to install the link menu items:</b></p>
<a href="i:0gdefault.link::Backup2%1%: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1);location.href='i:0e'+path+':%2%/'+f+'.tgz';}%0A">Backup to %1%</a><br>
<a href="i:0gdefault.link::restoreFrom%1%: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1);location.href='i:0d%2%/'+f+'.tgz';}%0A">Restore from %1%</a><br>
<a href="i:0gdefault.link::upload_%1%: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1)+'.tgz';location.href='i:0u'+path+':%2%/'+f;}%0A">upload to %1%</a><br>
<a href="i:0gdefault.link::delete_%1%: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1)+'.tgz';location.href='i:0wDELETE:%2%/'+f;}%0A">Delete on server %1%</a><br>
<a href="i:0gdefault.link::mkdir_%1%: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f=path.substring(iSlash+1);location.href='i:0wMKCOL:%2%/'+f;}%0A">Make directory on server %1%</a><br>
<p><b>Bookmarks:</b></p>
<a href='i:0wDELETE:%2%/'>Delete on server %1%</a><br>
<a href='i:0wMKCOL:%2%/'>Make directory on server %1%</a><br>
</body></html>

43
en/searchurl/webdav.html Normal file
View file

@ -0,0 +1,43 @@
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width" />
<script>function g(){
let d=document;
let f=d.forms[0];
let loc = window.location.href;
let dir = loc.substring(0, loc.lastIndexOf ("/")+1);
window.open("f:"+f.i.value+"&"+f.u.value+":"+dir+"template/webdav.html");
return false;
}
</script><style>
input{height:40px;width:100%;border-radius:50px;}
</style>
<title>webdav storage</title></head><body>
<p>This page is to generate install-able menu items and bookmarks for webdav cloud storage operations (upload, backup/restore, delete and create directory).</p>
Bookmark the generated page for later use.<br>
<form onsubmit="return g();" style="margin:5px 0 5px 0;padding:0px">
<input name=i placeholder="Name"/><br>
<input name=u placeholder="Server url including path"/><br>
<input type="submit" value="webdav links">
</form>
<p>
<a href="javascript:{let f=document.forms[0];f.i.value='Box';f.u.value='https://dav.box.com/dav';void(0)}">Box</a>
<a href="javascript:{let f=document.forms[0];f.i.value='koofr';f.u.value='https://app.koofr.net/dav/koofr';void(0)}">koofr</a>
<a href="javascript:{let f=document.forms[0];f.i.value='pcloud';f.u.value='https://webdav.pcloud.com';void(0)}">pcloud</a>
<a href="javascript:{let f=document.forms[0];f.i.value='powerfolder';f.u.value='https://my.powerfolder.com/webdav/personal';void(0)}">powerfolder</a>
<a href="javascript:{let f=document.forms[0];f.i.value='yandex';f.u.value='https://webdav.yandex.com';void(0)}">yandex</a>
<a href="javascript:{let f=document.forms[0];f.i.value='opendrive';f.u.value='https://webdav.opendrive.com';void(0)}">opendrive</a>
<a href="javascript:{let f=document.forms[0];f.i.value='sme';f.u.value='https://webdav.storagemadeeasy.com';void(0)}">storagemadeeasy</a>
<a href="javascript:{let f=document.forms[0];f.i.value='teracloud';f.u.value='https://yura.teracloud.jp/dav';void(0)}">teracloud</a>
</p>
</body></html>

View file

@ -37,7 +37,6 @@ bing image:http://bing.com/images/search?q=
google image:http://www.google.com/images?as_q=
flickr:http://www.flickr.com/photos/tags/
Yandex image:https://yandex.com/images/search?text=
wolfram:https://www.wolframalpha.com/input/?i=
wiki:https://en.wikipedia.org/wiki/Special:Search?search=
wikipedia:http://en.wikipedia.org/?search=
wikifull:http://en.wikipedia.org/wiki/Special:Search?fulltext=Search&amp;amp;search=
@ -52,6 +51,8 @@ boardreader:https://boardreader.com/s/%s.html
bingvideo:https://www.bing.com/videos/search?q=
vsearch:https://www.vsearch.me/s?q=
groups:http://groups.google.com/groups/search?q=
wolfram:https://www.wolframalpha.com/input/?i=
fxsolver:https://www.fxsolver.com/browse/?q=
book_google:https://google.com/search?q=%22parent+directory%22+pdf+OR+epub+OR+DjVU+OR+xps+%22%s%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&amp;amp;num=100&amp;amp;filter=0
annas-archive:https://annas-archive.org/search?q=
libgen:http://gen.lib.rus.ec/search.php?req=

View file

@ -1,10 +1 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>en/</title>
<link rel="canonical" href="en/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=en/">
</head>
</html>
<meta http-equiv="refresh" content="0; url=en/index.html">

View file

@ -168,6 +168,7 @@ VPN
wireless
显示网站安全证书
上传坚果云
更多 webdav ...
迅雷盘离线
网页全屏
点击安装Cookie延期地址栏内删除特殊字符站内搜索seedr离线下载等

View file

@ -347,6 +347,7 @@ VPN
wireless
显示网站安全证书
上传坚果云
更多 webdav ...
迅雷盘离线
网页全屏
点击安装Cookie延期地址栏内删除特殊字符站内搜索seedr离线下载等

View file

@ -52,6 +52,7 @@
<a href="i:0gdefault.link::wireless:i:1dandroid.settings.WIRELESS_SETTINGS:::%0A">wireless</a><br>
<a href="i:0gdefault.link::显示安全证书:i:1b%0A">显示网站安全证书</a><br>
<a href="i:0gdefault.link::上传坚果云: {let path=`%f`;let iSlash=path.lastIndexOf('/',path.length-2);let f;if('/'!=path[path.length-1])f=path.substring(iSlash+1);else f=path.substring(iSlash+1,path.length-1)+'.tgz';location.href='i:0u'+path+':https://dav.jianguoyun.com/dav/%e6%88%91%e7%9a%84%e5%9d%9a%e6%9e%9c%e4%ba%91/'+f;}%0A">上传坚果云</a></p>
<p><a href="../../en/searchurl/webdav.html">更多 webdav ...</a></p>
<p><a href="i:0gdefault.link::迅雷盘离线:http://pan.xunlei.com/ {let rsc=setInterval(function(){var offBtn=document.querySelector('.pan-dropdown-menu.plus-menu>a:nth-child(2)');if(offBtn){clearInterval(rsc);var wsc=setInterval(function(){offBtn.click();var textarea=document.querySelector('.fileurl-input__container>textarea');if(textarea){clearInterval(wsc);textarea.value='%25u';var event=document.createEvent('HTMLEvents');event.initEvent('input',false,true);textarea.dispatchEvent(event);document.querySelector('.pan-dialog-btn__primary').click();}},200);}},1000);}%0A">迅雷盘离线</a></p>
<p><a href="i:0gdefault.link::网页全屏: location.href='i:5fsetTimeout(()=>document.documentElement.requestFullscreen(),50);';%0A">网页全屏</a></p>
<p><a href="i:0gdefault.link:https://fastly.jsdelivr.net/gh/torappinfo/uweb/zh/searchurl/txt/link.cfg">点击安装Cookie延期地址栏内删除特殊字符站内搜索seedr离线下载等</a><br>

View file

@ -33,7 +33,7 @@ input{height:40px;width:100%;border-radius:50px;}
<a href="javascript:document.forms[0].u.value='https://webdav.pcloud.com/uweb.tgz';void(0)">pcloud</a>
<a href="javascript:document.forms[0].u.value='https://webdav.yandex.com/uweb.tgz';void(0)">yandex</a>
<a href="javascript:document.forms[0].u.value='https://webdav.opendrive.com/uweb.tgz';void(0)">opendrive</a>
<a href="javascript:document.forms[0].u.value='https://dav.box.com/dav/uweb.tgz';void(0)"></a>
<a href="javascript:document.forms[0].u.value='https://dav.box.com/dav/uweb.tgz';void(0)">Box</a>
<a href="javascript:document.forms[0].u.value='https://yura.teracloud.jp/dav/uweb.tgz';void(0)">teracloud</a>
<br>