add link to check for updates

This commit is contained in:
James Feng Cao 2023-06-17 09:56:11 +08:00
parent fbf6635c1a
commit 3a3118c61a
18 changed files with 55 additions and 82 deletions

View file

@ -496,7 +496,7 @@ Swiping on the top part of content window (near the top address bar by default)
Amazon appstore
Downloads
Uweb browser: downloads, plugins and tips
(Mirrors: gitlab codeberg repo 4everland fleek netlify surge stormkit bitbucket pages vercel render)
(Mirrors: gitlab codeberg repo 4everland fleek netlify surge bitbucket pages vercel render)
Powerful: any native functionality with html5 enhancement and still secure; any urls to host website; javascript and shell scripting for general processing; piping between console and GUI and more with Termux. Customizable: user-defined menus, (new) buttons and gestures for user agents, bookmarklets, url services, shell commands, internal functionality links and text processing etc.</description>
</item>

View file

@ -51,7 +51,7 @@
<p><a href="https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5">Amazon appstore</a><br>
<a href="en/download.md" onclick="{let u=location.href; if(u.endsWith('index.html')){location='../../en/changelog/index.html';return false;}}">Downloads</a></p>
<p><a href="https://torappinfo.github.io/uweb/en/">Uweb browser: downloads, plugins and tips</a><br>
(Mirrors: <a href="https://jamesfengcao.gitlab.io/uweb/en/">gitlab</a> <a href="https://jamesfengcao.codeberg.page/en/">codeberg</a> <a href="https://repo.or.cz/uweb.git/blob_plain/HEAD:/en/index.html">repo</a> <a href="https://uweb.4everland.app/en/">4everland</a> <a href="https://ik4ev-laaaa-aaaad-qd4sq-cai.ic.fleek.co/en/">fleek</a> <a href="https://uwebzh.netlify.app/en/">netlify</a> <a href="https://uweb.surge.sh/en/">surge</a> <a href="https://uweb.stormkit.dev/en/">stormkit</a> <a href="https://torappinfo.bitbucket.io/en/">bitbucket</a> <a href="https://muweb.pages.dev/en/">pages</a> <a href="https://uweb.vercel.app/en/">vercel</a> <a href="https://uweb.onrender.com/en/">render</a>)</p>
(Mirrors: <a href="https://jamesfengcao.gitlab.io/uweb/en/">gitlab</a> <a href="https://jamesfengcao.codeberg.page/en/">codeberg</a> <a href="https://repo.or.cz/uweb.git/blob_plain/HEAD:/en/index.html">repo</a> <a href="https://uweb.4everland.app/en/">4everland</a> <a href="https://ik4ev-laaaa-aaaad-qd4sq-cai.ic.fleek.co/en/">fleek</a> <a href="https://uwebzh.netlify.app/en/">netlify</a> <a href="https://uweb.surge.sh/en/">surge</a> <a href="https://torappinfo.bitbucket.io/en/">bitbucket</a> <a href="https://muweb.pages.dev/en/">pages</a> <a href="https://uweb.vercel.app/en/">vercel</a> <a href="https://uweb.onrender.com/en/">render</a>)</p>
<ul>
<li>Powerful: any native functionality with html5 enhancement and still secure; any urls to host website; javascript and shell scripting for general processing; piping between console and GUI and more with Termux.</li>
<li>Customizable: user-defined menus, (new) buttons and gestures for user agents, bookmarklets, url services, shell commands, internal functionality links and text processing etc.</li>
@ -95,8 +95,8 @@
</ul>
</div>
<p>Last Modified: 8 May 2023<br>
add 4everland<br>
<p>Last Modified: 13 June 2023<br>
add latest.html<br>
<pre></pre>
</p>
<script>

View file

@ -54,6 +54,14 @@
<h4 id="global-redirection">Global redirection</h4>
<p><a href="i:60/data/data/info.torapp.uweb/files/config.html:https://jamesfengcao.codeberg.page/en/searchurl/config.html">Global redirection</a> is enabled with the setting option &quot;Resource redirection&quot; or both &quot;Url redirection&quot; and &quot;Redirect cookies&quot;.</p>
<p>When a valid global redirection url is set, the &quot;default.redirect&quot; has no effect, and any url resource is fetched with the new url by appending the original url to the global redirection url.</p>
<ul>
<li>
<p>If the global redirection url ends with '/', then the resource is fetched with by the url &quot;[global redirection url] + [url]&quot;. For example, &quot;https://domain.com/pathXXX/https://cnn.com&quot;.</p>
</li>
<li>
<p>(to provide more options to users) If the global redirection url does not end with '/', it means the global redirection url is naked. then the resource is fetched with by the url &quot;[global redirection url] + '/'+ [url without scheme]&quot;. For example, when the global redirection url is &quot;https://domain.com/pathXXX&quot;, the real url to visit &quot;https://cnn.com&quot; is &quot;https://domain.com/pathXXX/cnn.com&quot;.</p>
</li>
</ul>
<h4 id="defaultredirect-valid-only-without-global-redirection-url">&quot;default.redirect&quot; (valid only without global redirection url)</h4>
<p>Click the following links to append mirrors to the file &quot;default.redirect&quot;:<br>
<a target="_self" href="i:0gdefault.redirect:../../zh/searchurl/txt/redirect.cfg">google recaptcha mirror</a></p>
@ -68,8 +76,8 @@
</ul>
</div>
<p>Last Modified: 15 April 2023<br>
enhance redirection cookie support<br>
<p>Last Modified: 17 June 2023<br>
add latest.html<br>
<pre></pre>
</p>
<script>

View file

@ -3,8 +3,6 @@ export default {
let url = req.url;
let iSlash = url.indexOf('/',11);
let nUrl = url.substring(iSlash+1);
if(nUrl.startsWith("ws"))
return await websocketHandler(req, nUrl);
return await goUrl(req, nUrl);
}
}
@ -19,49 +17,3 @@ async function goUrl(request, url) {
}
return await fetch(url, fp);
}
async function handleSession(req, serverWebSocket, url) {
let isAccept = false;
//let ws = new WebSocket(url);
let resp = await goUrl(req, url);
let ws = resp.webSocket;
if (!ws) {
throw new Error("server didn't accept WebSocket");
}
ws.accept();
serverWebSocket.addEventListener("message", event => {
ws.send(event.data);
});
ws.addEventListener("message", event => {
serverWebSocket.send(event.data)
});
ws.addEventListener("open", event => {
isAccept = true;
serverWebSocket.accept();
})
ws.addEventListener("close", event => {
serverWebSocket.close(event.code, event.reason);
})
ws.addEventListener("error", event => {
if(!isAccept){
serverWebSocket.accept();
}
serverWebSocket.close();
});
serverWebSocket.addEventListener("error", event => {
serverWebSocket.close();
})
serverWebSocket.addEventListener("close",event => {
ws.close(event.code, event.reason);
});
}
async function websocketHandler(req, url){
const [client, server] = Object.values(new WebSocketPair())
await handleSession(req, server, url);
return new Response(null, {
status: 101,
webSocket: client
});
}

View file

@ -3,7 +3,7 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/en/_posts/</loc>
<lastmod>2023-06-05T08:23:14+08:00</lastmod>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -29,10 +29,10 @@
/>
</url><url>
<loc>/en/tags/redirection/</loc>
<lastmod>2023-04-15T18:08:03+08:00</lastmod>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
</url><url>
<loc>/en/redirect/</loc>
<lastmod>2023-04-15T18:08:03+08:00</lastmod>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -45,7 +45,7 @@
/>
</url><url>
<loc>/en/tags/</loc>
<lastmod>2023-05-25T14:58:48+08:00</lastmod>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -58,7 +58,7 @@
/>
</url><url>
<loc>/en/</loc>
<lastmod>2023-06-05T08:28:59+08:00</lastmod>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -508,7 +508,7 @@
/>
</url><url>
<loc>/en/readme/</loc>
<lastmod>2023-05-08T08:52:46+08:00</lastmod>
<lastmod>2023-06-13T07:44:23+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -533,7 +533,7 @@
/>
</url><url>
<loc>/en/unlist/</loc>
<lastmod>2023-05-08T08:52:46+08:00</lastmod>
<lastmod>2023-06-13T07:44:23+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"

View file

@ -16,7 +16,7 @@
Amazon appstore
Downloads
Uweb browser: downloads, plugins and tips
(Mirrors: gitlab codeberg repo 4everland fleek netlify surge stormkit bitbucket pages vercel render)
(Mirrors: gitlab codeberg repo 4everland fleek netlify surge bitbucket pages vercel render)
Powerful: any native functionality with html5 enhancement and still secure; any urls to host website; javascript and shell scripting for general processing; piping between console and GUI and more with Termux. Customizable: user-defined menus, (new) buttons and gestures for user agents, bookmarklets, url services, shell commands, internal functionality links and text processing etc.</description>
</item>