2022-07-05 13:47:05 +00:00
|
|
|
<!doctype html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
2023-12-11 07:23:07 +00:00
|
|
|
|
2022-10-31 07:44:05 +00:00
|
|
|
<link rel="stylesheet" href="../style.css" type="text/css" />
|
2022-07-05 13:47:05 +00:00
|
|
|
<title>Custom file handling</title>
|
|
|
|
<script type="text/javascript">
|
2022-07-12 02:24:02 +00:00
|
|
|
function findLang(){
|
2022-07-05 13:47:05 +00:00
|
|
|
let href = location.href;
|
|
|
|
for(let i=href.length-1;i>0;i--){
|
|
|
|
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
2022-07-12 02:24:02 +00:00
|
|
|
return i;
|
2022-07-05 13:47:05 +00:00
|
|
|
}
|
2022-07-12 02:24:02 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
function nav2(page){
|
|
|
|
let i = findLang();
|
|
|
|
location.href = location.href.substring(0,i+1)+page;
|
|
|
|
}
|
|
|
|
function nav2Lang(lang){
|
|
|
|
let i = findLang();
|
|
|
|
let href = location.href;
|
|
|
|
location.href = location.href.substring(0,i-2)+lang+location.href.substring(i);
|
2022-07-05 13:47:05 +00:00
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<header class='header'>
|
|
|
|
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html')">Tags</a>
|
2022-07-12 02:24:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
|
|
|
|
|
|
|
|
|
2023-12-11 07:23:07 +00:00
|
|
|
|
2022-07-05 13:47:05 +00:00
|
|
|
<nav>
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<br />
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<h1 class="title">Custom file handling
|
|
|
|
<br>
|
|
|
|
<span class="subtitle"></span>
|
|
|
|
</h1>
|
|
|
|
<ul class="tags">
|
|
|
|
|
2023-12-11 07:23:07 +00:00
|
|
|
<li><a href="../tags/termux/index.html">termux</a> </li>
|
2022-07-05 13:47:05 +00:00
|
|
|
|
2023-12-11 07:23:07 +00:00
|
|
|
<li><a href="../tags/curl/index.html">curl</a> </li>
|
2022-07-05 13:47:05 +00:00
|
|
|
|
|
|
|
</ul>
|
|
|
|
<p>Long press the settings button, check the option "custom file handling" to enable the functionality.</p>
|
2022-07-09 00:45:17 +00:00
|
|
|
<p>The custom file handling configuration file is "default.filecap", each line of it has the format as follows:<br>
|
2022-07-05 13:47:05 +00:00
|
|
|
[file extension]:[mimetype]:[command line]</p>
|
|
|
|
<p>The "[file extension]" part can have at most two-segment of extensions such as "txt.xz","html.gz".<br>
|
|
|
|
"[mimetype]" indicates the type of "[command line]" output.<br>
|
2022-07-29 04:46:00 +00:00
|
|
|
"[command line]" is same as the one in <a href="../cmds/index.html">default.cmds</a>. The most often used replacements are:<br>
|
2022-07-05 13:47:05 +00:00
|
|
|
%u (url), %U (urlencoded url), %c (cookie), %p (site password, curl format).</p>
|
2022-07-09 00:45:17 +00:00
|
|
|
<p>default.filecap example:</p>
|
2022-07-05 13:47:05 +00:00
|
|
|
<pre><code>txt:text/html:curl %p "%u"
|
|
|
|
mp3:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
|
|
|
m4b:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
|
|
|
m3u8:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
|
|
|
mp4:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
|
|
|
mkv:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
|
|
|
doc:uweb:echo http://docs.google.com/gview?embedded=true&url=%U
|
|
|
|
xls:uweb:echo http://docs.google.com/gview?embedded=true&url=%U
|
|
|
|
ppt:uweb:echo http://docs.google.com/gview?embedded=true&url=%U
|
|
|
|
docx:uweb:echo http://docs.google.com/gview?embedded=true&url=%U
|
|
|
|
xlsx:uweb:echo http://docs.google.com/gview?embedded=true&url=%U
|
|
|
|
pptx:uweb:echo http://docs.google.com/gview?embedded=true&url=%U
|
|
|
|
xz:text/plain:curl %p "%u"|xz -d --</code></pre>
|
|
|
|
<p>Examples for <a href="../html5/index.html">html5 application</a>:</p>
|
2022-09-24 06:12:26 +00:00
|
|
|
<pre><code>pdf:uweb:echo file:///data/data/info.torapp.uweb/files/app/pdf.js/web/viewer.html?file=%u
|
|
|
|
djvu:uweb:echo file:///data/data/info.torapp.uweb/files/app/djvu.html?url=%u
|
|
|
|
epub:uweb:echo file:///data/data/info.torapp.uweb/files/app/reader/index.html?bookPath==%u</code></pre>
|
2022-07-05 13:47:05 +00:00
|
|
|
|
|
|
|
</div>
|
2023-03-05 03:12:05 +00:00
|
|
|
<p>Last Modified: 24 September 2022<br>
|
2023-03-07 02:07:05 +00:00
|
|
|
fix typos from torinfo.uweb to torapp.uweb<br>
|
|
|
|
<pre></pre>
|
|
|
|
</p>
|
2023-05-09 03:11:05 +00:00
|
|
|
<script>
|
|
|
|
if(location.href.indexOf("/zh/")>0){
|
|
|
|
var script = document.createElement("script");
|
|
|
|
script.type = "text/javascript";
|
|
|
|
script.src = "../../js/gissues.js";
|
|
|
|
script.setAttribute("repo","jamesfengcao/uweb");
|
|
|
|
script.setAttribute("issue-term","title");
|
|
|
|
script.setAttribute("theme","github-light");
|
|
|
|
script.async = true;
|
|
|
|
document.body.appendChild(script);
|
|
|
|
}
|
|
|
|
</script>
|
2023-05-06 01:56:44 +00:00
|
|
|
<script id='jsgiscus'
|
|
|
|
src='https://giscus.app/client.js'
|
|
|
|
data-repo="torappinfo/uweb"
|
|
|
|
data-repo-id="MDEwOlJlcG9zaXRvcnkzMDIyMDU3MjE="
|
|
|
|
data-category="Announcements"
|
|
|
|
data-category-id="DIC_kwDOEgNLGc4CQjsh"
|
2023-05-06 02:49:29 +00:00
|
|
|
data-mapping="title"
|
2023-05-06 01:56:44 +00:00
|
|
|
data-strict="0"
|
|
|
|
data-reactions-enabled="1"
|
|
|
|
data-emit-metadata="0"
|
|
|
|
data-input-position="top"
|
|
|
|
data-theme="light"
|
|
|
|
data-lang="en"
|
|
|
|
data-loading="lazy"
|
2023-05-06 02:49:29 +00:00
|
|
|
crossorigin="anonymous" async>
|
2023-05-06 01:40:28 +00:00
|
|
|
</script>
|
2022-07-05 13:47:05 +00:00
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|