This commit is contained in:
James Feng Cao 2024-04-02 13:42:43 +08:00
parent 4b66fe2881
commit 21e0757831
268 changed files with 1355 additions and 12173 deletions

View File

@ -1,13 +1,20 @@
<script>
function notRepo() {
let u=location.href.replace(/#$/, '');
return u.endsWith('index.html')||u.endsWith('readme/');
}
</script>
### Uweb browser: unlimited power
<a href="README.zh-Hans.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../zh/readme/index.html';return false;}}">中文</a>
<a href="README.zh-Hans.md" onclick="if(notRepo()){location='../../zh/readme/index.html#';return false;}">中文</a>
[Amazon appstore](https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5)
[Galaxy.Store](https://galaxy.store/uweb)
<a href="en/download.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../en/changelog/index.html';return false;}}">Downloads</a>
<a href="en/download.md" onclick="if(notRepo()){location='../../en/changelog/index.html#';return false;}">Downloads</a>
[Uweb browser: downloads, plugins and tips](https://torappinfo.github.io/uweb/en/)
(Mirrors: [gitlab](https://jamesfengcao.gitlab.io/uweb/en/) [codeberg](https://jamesfengcao.codeberg.page/en/) [repo](https://repo.or.cz/uweb.git/blob_plain/HEAD:/en/index.html) [4everland](https://uweb.4everland.app/en/) [fleek](https://ik4ev-laaaa-aaaad-qd4sq-cai.ic.fleek.co/en/) [netlify](https://uwebzh.netlify.app/en/) [surge](https://uweb.surge.sh/en/) [kinsta](https://uwebbrowser-t27o4.kinsta.page) [bitbucket](https://torappinfo.bitbucket.io/en/) [pages](https://muweb.pages.dev/en/) [vercel](https://uweb.vercel.app/en/) [render](https://uweb.onrender.com/en/)
<a href="en/mirrors.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../assets/help_en.html#mirrors';return false;}}">More...</a>)
<a href="en/mirrors.md" onclick="if(notRepo()){location='../../en/mirrors/index.html#';return false;}">More...</a>)
- 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.

View File

@ -1,17 +1,23 @@
<script>
function notRepo() {
let u=location.href.replace(/#$/, '');
return u.endsWith('index.html')||u.endsWith('readme/');
}
</script>
### 超微浏览器 (uweb browser): 释放无尽威能,微、威、快、高效、极致优化
<a href="README.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../en/readme/index.html';return false;}}">English</a>
<a href="zh/donate.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../searchurl/donate.html';return false;}}">捐赠</a>
<a href="README.md" onclick="if(notRepo()){location='../../en/readme/index.html#';return false;}">English</a>
<a href="zh/donate.md" onclick="if(notRepo()){location='../searchurl/donate.html#';return false;}">捐赠</a>
[Amazon appstore](https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5)
[Galaxy.Store](https://galaxy.store/uweb)
<a href="en/download.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../en/changelog/index.html';return false;}}">下载</a>
<a href="en/download.md" onclick="if(notRepo()){location='../../en/changelog/index.html#';return false;}">下载</a>
[超微浏览器下载及使用技巧](https://repo.or.cz/uweb.git/blob_plain/HEAD:/zh/index.html)
(镜像: [gitlab](https://jamesfengcao.gitlab.io/uweb/zh/) [repo](https://repo.or.cz/uweb.git/blob_plain/HEAD:/zh/index.html) [codeberg](https://jamesfengcao.codeberg.page/zh/) [4everland](https://uweb.4everland.app/zh/) [cyclic](https://muweb.cyclic.app/zh/) [github](https://torappinfo.github.io/uweb/zh/) [fleek](https://ik4ev-laaaa-aaaad-qd4sq-cai.ic.fleek.co/zh/) [render](https://uweb.onrender.com/zh/) [surge](https://uweb.surge.sh/zh/) [netlify](https://uwebzh.netlify.app/zh/) [deno](https://posh-crab-23.deno.dev/zh/) [kinsta](https://uwebbrowser-t27o4.kinsta.page/zh/) [bitbucket](https://torappinfo.bitbucket.io/zh/) [torapp](https://torapp.eu.org/zh/) [torappv](https://uweb.torapp.eu.org/zh/) [glitch](https://uweb.glitch.me/zh/) [pages](https://muweb.pages.dev/zh/) [zeabur](https://uweb.zeabur.app/zh/) [vercel](https://uweb.vercel.app/zh/)
<a href="en/mirrors.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../assets/help_zh.html#mirrors';return false;}}">专用镜像</a>)
<a href="en/mirrors.md" onclick="if(notRepo()){location='../../en/mirrors/index.html#';return false;}">专用镜像</a>)
- <span style="color:red">免魔法国内直接访问英文技术网站如<a href="zh/tips.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../tips/index.html';return false;}}">google、翻译、百科等</a></span>
- <span style="color:red">免魔法国内直接访问英文技术网站如<a href="zh/tips.md" onclick="if(notRepo()){location='../tips/index.html#';return false;}">google、翻译、百科等</a></span>
- AI聊天可作为搜索引擎来使用
- 微不到250K。
- 威无穷无尽的功能使用增强后的html5可以实现任何本地应用功能。支持使用js脚本、url服务、shell命令、内部功能链接定制菜单按钮手势; 远程数据皆可成网站。

View File

@ -1,17 +1,23 @@
<script>
function notRepo() {
let u=location.href.replace(/#$/, '');
return u.endsWith('index.html')||u.endsWith('readme/');
}
</script>
### 超微浏览器 (uweb browser): 释放无尽威能,微、威、快、高效、极致优化
<a href="README.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../en/readme/index.html';return false;}}">English</a>
<a href="zh/donate.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../searchurl/donate.html';return false;}}">捐赠</a>
<a href="README.md" onclick="if(notRepo()){location='../../en/readme/index.html#';return false;}">English</a>
<a href="zh/donate.md" onclick="if(notRepo()){location='../searchurl/donate.html#';return false;}">捐赠</a>
[Amazon appstore](https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5)
[Galaxy.Store](https://galaxy.store/uweb)
<a href="en/download.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../en/changelog/index.html';return false;}}">下载</a>
<a href="en/download.md" onclick="if(notRepo()){location='../../en/changelog/index.html#';return false;}">下载</a>
[超微浏览器下载及使用技巧](https://repo.or.cz/uweb.git/blob_plain/HEAD:/zh/index.html)
(镜像: [gitlab](https://jamesfengcao.gitlab.io/uweb/zh/) [repo](https://repo.or.cz/uweb.git/blob_plain/HEAD:/zh/index.html) [codeberg](https://jamesfengcao.codeberg.page/zh/) [4everland](https://uweb.4everland.app/zh/) [cyclic](https://muweb.cyclic.app/zh/) [github](https://torappinfo.github.io/uweb/zh/) [fleek](https://ik4ev-laaaa-aaaad-qd4sq-cai.ic.fleek.co/zh/) [render](https://uweb.onrender.com/zh/) [surge](https://uweb.surge.sh/zh/) [netlify](https://uwebzh.netlify.app/zh/) [deno](https://posh-crab-23.deno.dev/zh/) [kinsta](https://uwebbrowser-t27o4.kinsta.page/zh/) [bitbucket](https://torappinfo.bitbucket.io/zh/) [torapp](https://torapp.eu.org/zh/) [torappv](https://uweb.torapp.eu.org/zh/) [glitch](https://uweb.glitch.me/zh/) [pages](https://muweb.pages.dev/zh/) [zeabur](https://uweb.zeabur.app/zh/) [vercel](https://uweb.vercel.app/zh/)
<a href="en/mirrors.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../assets/help_zh.html#mirrors';return false;}}">专用镜像</a>)
<a href="en/mirrors.md" onclick="if(notRepo()){location='../../en/mirrors/index.html#';return false;}">专用镜像</a>)
- <span style="color:red">免魔法国内直接访问英文技术网站如<a href="zh/tips.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../tips/index.html';return false;}}">google、翻译、百科等</a></span>
- <span style="color:red">免魔法国内直接访问英文技术网站如<a href="zh/tips.md" onclick="if(notRepo()){location='../tips/index.html#';return false;}">google、翻译、百科等</a></span>
- AI聊天可作为搜索引擎来使用
- 微不到250K。
- 威无穷无尽的功能使用增强后的html5可以实现任何本地应用功能。支持使用js脚本、url服务、shell命令、内部功能链接定制菜单按钮手势; 远程数据皆可成网站。

View File

@ -1,8 +0,0 @@
<!doctype html>
<html>
<body>
<ul>
</ul>
</body>
</html>

View File

@ -2,171 +2,171 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>_Posts on uweb browser: unlimited power</title>
<link>/en/_posts.html</link>
<link>/en/_posts/</link>
<description>Recent content in _Posts on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Wed, 06 Mar 2024 09:59:54 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/_posts/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess.html</link>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess.html</guid>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:&#xA;Copy selected text with html format to clipboard&#xA;Search with home screen&#xA;google Translate&#xA;bing translate&#xA;deepL&#xA;The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:&#xA;[Name]:[mimetype]:[command line]&#xA;[mimetype] specifies input/output for [command line].</description>
</item>
<item>
<title>Links</title>
<link>/en/links.html</link>
<link>/en/links/</link>
<pubDate>Sat, 28 Oct 2023 00:00:00 +0000</pubDate>
<guid>/en/links.html</guid>
<guid>/en/links/</guid>
<description>Click the following links to install menus popped by long pressing the bookmark button (with star as icon):&#xA;Capture long screenshot (need long screenshot mode)&#xA;Select All:CTRL-A/undo:CTRL-Z/Redo:CTRL-Y&#xA;Extend site cookies to 10 years&#xA;Clear site cookies&#xA;VPN&#xA;Switch configuration&#xA;Wait for network msg&#xA;Certificate info&#xA;Backup to box.com&#xA;Restore from box.com&#xA;upload to box.com&#xA;More webdav link menu items&#xA;Web fullscreen&#xA;Long pressing the bookmark button in uweb browser will popup menus defined in file &amp;quot;default.</description>
</item>
<item>
<title>cron</title>
<link>/en/tcron.html</link>
<link>/en/tcron/</link>
<pubDate>Wed, 25 Oct 2023 00:00:00 +0000</pubDate>
<guid>/en/tcron.html</guid>
<guid>/en/tcron/</guid>
<description>crontab (with enhanced semantics) For performance, the file &amp;quot;crontab&amp;quot; uses single space as field separator. Letters are not suppored currently. So use &amp;quot;1&amp;quot; for &amp;quot;January&amp;quot; and 2 for &amp;quot;Tuesday&amp;quot; etc.&#xA;The sixth field in crontab file could be in the format of internal links. Specifically, &amp;quot;c:&amp;quot; to execute the following commands in termux and &amp;quot;!&amp;quot; to execute commands directly. If the sixth field is not in any of above formats, then the field will appear as the message of alarm clock.</description>
</item>
<item>
<title>Offline resources</title>
<link>/en/offlinecache.html</link>
<link>/en/offlinecache/</link>
<pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
<guid>/en/offlinecache.html</guid>
<guid>/en/offlinecache/</guid>
<description>Offline resources locate in the folder &amp;quot;sitecache&amp;quot;. With the option &amp;quot;use offline resources&amp;quot; enabled, the corresponding files in &amp;quot;sitecache/[domain name]/[full path including filename, the url path part]&amp;quot; are loaded first before reaching the network.&#xA;bingChat UI Install bingChat UI ai.html for censored area (bingChat UI)&#xA;Install bingWrite UI write.html for censored area (bingWrite)&#xA;Install bingAI image creator UI draw.html for censored area (bingAI image creator)&#xA;Serverless local sites Click to install url service that extracts web apps to the folder &amp;quot;sitecache/local/&amp;quot;: support web extensions (.</description>
</item>
<item>
<title>Resource redirection</title>
<link>/en/redirect.html</link>
<link>/en/redirect/</link>
<pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
<guid>/en/redirect.html</guid>
<guid>/en/redirect/</guid>
<description>Redirection forwards cookies with the setting option &amp;quot;Redirect cookies&amp;quot; enabled, so use the options with care.&#xA;Setting options: &amp;quot;Url redirection&amp;quot; vs. &amp;quot;Resource redirection&amp;quot; &amp;quot;Url redirection&amp;quot; redirects the main/page url only while &amp;quot;Resource redirection&amp;quot; is for all urls in the page.&#xA;Global redirection Global redirection is enabled with the setting option &amp;quot;Resource redirection&amp;quot; or both &amp;quot;Url redirection&amp;quot; and &amp;quot;Redirect cookies&amp;quot;.&#xA;When a valid global redirection url is set, the &amp;quot;default.redirect&amp;quot; has no effect, and any url resource is fetched with the new url by appending the original url to the global redirection url.</description>
</item>
<item>
<title>Hosts files</title>
<link>/en/adblock_domain.html</link>
<link>/en/adblock_domain/</link>
<pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate>
<guid>/en/adblock_domain.html</guid>
<guid>/en/adblock_domain/</guid>
<description>The enhanced hosts files &amp;quot;hosts&amp;quot; and &amp;quot;default.hosts&amp;quot; take effect with the setting option &amp;quot;use hosts&amp;quot;.&#xA;hosts The enhanced file &amp;quot;hosts&amp;quot; defines IP addresses/attributes for domains. Each line has the following format:&#xA;[[IP address][attributes]][single space][domain name]&#xA;where &amp;quot;[[IP address][attributes]]&amp;quot; could be:&#xA;ipv4 address such as:&#xA;172.67.157.211 torapp.eu.org&#xA;ipv6 address, Ex.:&#xA;[2606:4700:3037::6815:8c3] torapp.eu.org&#xA;empty, that would lift all server-imposed limitations. Ex.:&#xA;[single space]gitee.com&#xA;which will make all git repositories on the domain visitable as websites with raw file access url.</description>
</item>
<item>
<title>JS/CSS/HTML/preprocessing for domains</title>
<link>/en/sitejs.html</link>
<link>/en/sitejs/</link>
<pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/sitejs.html</guid>
<guid>/en/sitejs/</guid>
<description>Javascript (load when page completes, earliest loaded JS should use sitecss). Need to be named as &amp;quot;[domain root].js&amp;quot;, such as &amp;quot;yahoo.com.js&amp;quot; or &amp;quot;finance.yahoo.com.js&amp;quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded. Script must be put under the folder &amp;quot;sitejs&amp;quot; or &amp;quot;/data/data/info.torapp.uweb/files/sitejs&amp;quot;. The later folder has the priority. Long press the button &amp;quot;settings&amp;quot;, check the option &amp;quot;Run user scripts&amp;quot;.</description>
</item>
<item>
<title>Bookmarks</title>
<link>/en/bookmark.html</link>
<link>/en/bookmark/</link>
<pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/bookmark.html</guid>
<guid>/en/bookmark/</guid>
<description>AI, chatgpt etc.&#xA;google gemini komo andi devv.ai poe freegpt teach-anything magickpen Wait for url from other devices&#xA;berify: reverse image search for video&#xA;Tips File handling and styling with home.css &amp;quot;home.css&amp;quot; (in current folder, parent folder or the &amp;quot;bookmark&amp;quot; folder) styles bookmarks, search engines and the folder itself. The file is in html format instead of CSS, so it needs &amp;quot;&amp;lt;style&amp;gt;&amp;quot; tag for CSS.&#xA;Install markdeep styling for markdown files</description>
</item>
<item>
<title>Tips</title>
<link>/en/tips.html</link>
<link>/en/tips/</link>
<pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/tips.html</guid>
<guid>/en/tips/</guid>
<description>Text processing for clipboard data:&#xA;On home screen, pressing the sharing button of the bottom toolbar popups the text processing menu for clipboard data.&#xA;To show web pages in desktop mode:&#xA;PC button + option &amp;quot;wide viewport&amp;quot; + global js &amp;quot;force page resizable&amp;quot;.&#xA;Playing audio when screen off&#xA;Option &amp;quot;Floating video&amp;quot; + video fullscreen playing&#xA;Multiple home screens and Next/Prev page:&#xA;home5.html, home6.mht(or .html or .search), home7.mht(or .html or .search), .</description>
</item>
<item>
<title>Address bar command line</title>
<link>/en/acmd.html</link>
<link>/en/acmd/</link>
<pubDate>Sun, 08 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/acmd.html</guid>
<guid>/en/acmd/</guid>
<description>&amp;quot;:!&amp;quot; ( or &amp;quot;!&amp;quot;) command line Pressing &amp;quot;:&amp;quot; or &amp;quot;!&amp;quot; with hardware keyboard sets focus on the address bar.&#xA;The command line could be a &amp;quot;.js&amp;quot;, &amp;quot;.sh&amp;quot; or other executable with arguments. Ex. &amp;quot;:!s g keyword&amp;quot; could invoke &amp;quot;s.js&amp;quot; executable with the whole string as arguments (&amp;quot;s.sh&amp;quot; or &amp;quot;s&amp;quot; if file exists, here &amp;quot;g&amp;quot; as google search engine); &amp;quot;:! g keyword&amp;quot; would invoke the file &amp;quot;.js&amp;quot; or &amp;quot;.sh&amp;quot; as executable.</description>
</item>
<item>
<title>Make any url as website</title>
<link>/en/url2site.html</link>
<link>/en/url2site/</link>
<pubDate>Sun, 30 Oct 2022 00:00:00 +0000</pubDate>
<guid>/en/url2site.html</guid>
<guid>/en/url2site/</guid>
<description>The uweb internal link &amp;quot;i:0m&amp;quot; make any url such as download or indirect link visitable as a website. The test mirrors in the uweb manual are examples using the following tricks:&#xA;&amp;quot;i:0m04:[url]&amp;quot;: to treat the [url] content as html with bookmarklet. &amp;quot;i:0m?:[url]&amp;quot;: to treat the [url] content as html, handling css/js properly. &amp;quot;i:0m?[postfix]:[url]&amp;quot;: auto append query postfix to url to retrieve content. &amp;quot;i:0mi:5h:[url]&amp;quot;: similar to &amp;quot;i:0m?:[url]&amp;quot;, to treat the [url] content as html (for download or no-script links etc.</description>
</item>
<item>
<title>Html5 applications</title>
<link>/en/html5.html</link>
<link>/en/html5/</link>
<pubDate>Sun, 02 Oct 2022 00:00:00 +0000</pubDate>
<guid>/en/html5.html</guid>
<guid>/en/html5/</guid>
<description>This page is for uweb browser.&#xA;Click to install the following html5 apps:&#xA;Huge markdown file viewer&#xA;Huge markdown+katex file viewer (Tex formulas)&#xA;Huge markdeep file viewer (markdown, latex, diagram,graphviz etc.)&#xA;plyr video player&#xA;dplayer video player&#xA;pdf viewer&#xA;epub reader (authorllili)&#xA;djvu viewer&#xA;The corresponding menus can be installed with url services.&#xA;Features The following mentioned subfolders locate in the configuration folder.&#xA;The following html5 applications are allowed to read local files referred by &amp;quot;https://local/sdcard/.</description>
</item>
<item>
<title>Configuration folders/files</title>
<link>/en/filenames.html</link>
<link>/en/filenames/</link>
<pubDate>Thu, 30 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/filenames.html</guid>
<guid>/en/filenames/</guid>
<description>All folders end with character &amp;quot;/&amp;quot; and others are files. All folders/files locate in &amp;quot;/data/data/info.torapp.uweb/files&amp;quot;:&#xA;&amp;quot;css/&amp;quot;: global css folder&#xA;&amp;quot;js/&amp;quot;: global script folder&#xA;&amp;quot;sitejs/&amp;quot;: script folder for domains&#xA;&amp;quot;sitecss/&amp;quot;:CSS folder for domains&#xA;&amp;quot;bookmarklet/&amp;quot;:bookmarklets, long pressing the &amp;quot;JS&amp;quot; button to execute.&#xA;&amp;quot;offline/&amp;quot;: to save offline pages&#xA;&amp;quot;sbookmark/&amp;quot;: to save super bookmarks&#xA;&amp;quot;sitecache/&amp;quot;:offline cache&#xA;&amp;quot;longclick/&amp;quot;: menus to appear when long-pressing hypertext (js files)&#xA;&amp;quot;icon/&amp;quot;:customized icons&#xA;&amp;quot;app[XXX]/&amp;quot;:html5 applications&#xA;&amp;quot;default.longclick&amp;quot;: to configure menus when long-pressing hypertext.</description>
</item>
<item>
<title>AD blocking</title>
<link>/en/adblock.html</link>
<link>/en/adblock/</link>
<pubDate>Sat, 25 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/adblock.html</guid>
<guid>/en/adblock/</guid>
<description>Host blocking。&#xA;Use bookmarklet &amp;quot;list all script urls&amp;quot; to generate url links, long pressing dubious script (usually 3rd-party library) link, click &amp;quot;Block domain root&amp;quot;. Javascript and CSS for domains。&#xA;Long press the button &amp;quot;js&amp;quot;, click the menu &amp;quot;MarkAD mode&amp;quot;. In &amp;quot;markAD mode&amp;quot;, click page element to show all attributes and generate CSS AD blocking styles. By default, &amp;quot;display:none&amp;quot; is used. If &amp;quot;display&amp;quot; appears in the attribute information, recommend to use &amp;quot;transform:scale(0)!</description>
</item>
<item>
<title>Bookmarklets</title>
<link>/en/bookmarklet.html</link>
<link>/en/bookmarklet/</link>
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/bookmarklet.html</guid>
<description>With a href=&amp;quot;../index.html&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
<guid>/en/bookmarklet/</guid>
<description>With a href=&amp;quot;../index.html#&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
</item>
<item>
<title>CSS styles</title>
<link>/en/globalcss.html</link>
<link>/en/globalcss/</link>
<pubDate>Sun, 03 Apr 2022 00:00:00 +0000</pubDate>
<guid>/en/globalcss.html</guid>
<guid>/en/globalcss/</guid>
<description>Uweb browser loads all &amp;quot;.css&amp;quot; files under the folder &amp;quot;css&amp;quot; as global css. Click the following links to install global css files:&#xA;Clearing font settings&#xA;The file &amp;quot;night.css&amp;quot; is used as night mode, click the following links to install one:&#xA;webview 81+ night mode&#xA;webview 80- night mode&#xA;Earliest loaded global js The &amp;quot;.js&amp;quot; files under the folder &amp;quot;css&amp;quot; are loaded as earlier as possible on the page.</description>
</item>
<item>
<title>Toolbar customization</title>
<link>/en/icons.html</link>
<link>/en/icons/</link>
<pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
<guid>/en/icons.html</guid>
<guid>/en/icons/</guid>
<description>If subfolder &amp;quot;icon&amp;quot; exists, then files named as &amp;quot;0&amp;quot;,&amp;quot;1&amp;quot;,&amp;quot;2&amp;quot;...&#xA;are used for icons in the bottom toolbar. file &amp;quot;0&amp;quot; to replace the left arrow button, &amp;quot;1&amp;quot; for right arrow button, &amp;quot;2&amp;quot; for the setting button,&amp;quot;3&amp;quot; for the home screen button,...&#xA;If a new button is defined (file name &amp;quot;20&amp;quot; exists), uweb also supports VectorDrawable with &amp;quot;android compiled XML&amp;quot; format. All icon files must be either all compiled VectorDrawables or common image formats.</description>
</item>
<item>
<title>Search engine files</title>
<link>/en/searchcat.html</link>
<link>/en/searchcat/</link>
<pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
<guid>/en/searchcat.html</guid>
<guid>/en/searchcat/</guid>
<description>Any &amp;quot;.search&amp;quot; file can be opened as search engine file, each line of which has one of the following formats:&#xA;[Engine name]:[url without &#39;%s&#39; inside]&#xA;[Engine name]:[url with &#39;%s&#39; as keyword]&#xA;[Engine name]:POST:[post params with &#39;%s&#39; as keyword]:[url]&#xA;[Engine name]:[Extra request headers]:[post params with &#39;%s&#39; as keyword]:[url]&#xA;[Extra request headers] Ex. &amp;quot;X-Forwarded-For;8.8.8.8&amp;quot; when [post params] is empty, the url should have &#39;%s&#39; as keyword. Ex. bingUS engine w/ chatgpt Limitations (they are here for performance reasons):</description>
</item>
<item>
<title>Termux</title>
<link>/en/termux.html</link>
<link>/en/termux/</link>
<pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate>
<guid>/en/termux.html</guid>
<guid>/en/termux/</guid>
<description>Only the termux versions provided along with uweb browser can work seamlessly. For android 10+, please install termux before installing uweb browser. If uweb is already installed, users can uninstall it first, then install termux and reinstall uweb browser.&#xA;Termux bookmarks Long pressing the following links then either &amp;quot;commands&amp;quot;-&amp;gt;&amp;quot;bookmark&amp;quot; to add bookmarks or &amp;quot;open in new tab&amp;quot; to execute.&#xA;GNU bc (basic calculator)&#xA;bc with all extensions&#xA;Click the following links to install termux configurations: .</description>
</item>
<item>
<title>Long pressed link menu</title>
<link>/en/longclick.html</link>
<link>/en/longclick/</link>
<pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate>
<guid>/en/longclick.html</guid>
<guid>/en/longclick/</guid>
<description>To run commands Each line of file &amp;quot;default.longclick&amp;quot; has the following format: (same as default.cmds)&#xA;[Name]:[mimetype]:[command line]&#xA;in which [command line] can have &amp;quot;%c&amp;quot; (cookie), &amp;quot;%u&amp;quot; (current url), &amp;quot;%t&amp;quot; (title) etc.&#xA;To visit url and load javascript file All &amp;quot;.js&amp;quot; files under the folder &amp;quot;longclick&amp;quot; are part of the popup menu.&#xA;These javascript files are in the following format:&#xA;The very first line can begin with &amp;quot;//&amp;quot; followed by website url that can have &amp;quot;%u&amp;quot; (current url), &amp;quot;%t&amp;quot; (title) etc.</description>
</item>
<item>
<title>Tools</title>
<link>/en/tools.html</link>
<link>/en/tools/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tools.html</guid>
<guid>/en/tools/</guid>
<description>This page is for uweb browser.&#xA;install tdict_local (search with local indexes and remote content) Click to install the following local indexes with corresponding search engines (for test only).&#xA;install the indexes for &amp;quot;American heritage dictionary (en-en&amp;amp;zh with AHD/D.J./K.K. pronunciation)&amp;quot;&#xA;Install AHD to home screen&#xA;Indexes for &amp;quot;研究社新編英和活用大辞典(English usage: en-en&amp;amp;ja)&amp;quot;&#xA;Install &amp;quot;English usage (en-en&amp;amp;ja)&amp;quot;&#xA;Indexes for SOED6&#xA;install SOED&#xA;The following dictionaries work better with markdown processor.&#xA;Install markdown processor</description>
</item>
<item>
<title>Custom file handling</title>
<link>/en/filecap.html</link>
<link>/en/filecap/</link>
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
<guid>/en/filecap.html</guid>
<guid>/en/filecap/</guid>
<description>Long press the settings button, check the option &amp;quot;custom file handling&amp;quot; to enable the functionality.&#xA;The custom file handling configuration file is &amp;quot;default.filecap&amp;quot;, each line of it has the format as follows:&#xA;[file extension]:[mimetype]:[command line]&#xA;The &amp;quot;[file extension]&amp;quot; part can have at most two-segment of extensions such as &amp;quot;txt.xz&amp;quot;,&amp;quot;html.gz&amp;quot;.&#xA;&amp;quot;[mimetype]&amp;quot; indicates the type of &amp;quot;[command line]&amp;quot; output.&#xA;&amp;quot;[command line]&amp;quot; is same as the one in default.cmds. The most often used replacements are:</description>
</item>
<item>
<title>Gestures</title>
<link>/en/gesture.html</link>
<link>/en/gesture/</link>
<pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate>
<guid>/en/gesture.html</guid>
<guid>/en/gesture/</guid>
<description>Swipe down from the top to show the address bar; swipe up to the top to hide the address bar. Swipe down to the bottom to hide the toolbar with option &amp;quot;swipe to hide tools&amp;quot;; swipe on the bottom corners to show the toolbar.&#xA;Swipe left/right near the toolbar to switch window; fling left/right to switch to the last/first window.&#xA;Swiping on the top part of content window (near the top address bar by default) triggers corresponding link in the file &amp;quot;default.</description>
</item>
</channel>

View File

@ -1,89 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Address bar command line</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Address bar command line
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<h3 id="--or--command-line">&quot;:!&quot; ( or &quot;!&quot;) command line</h3>
<p>Pressing &quot;:&quot; or &quot;!&quot; with hardware keyboard sets focus on the address bar.<br>
The command line could be a &quot;.js&quot;, &quot;.sh&quot; or other executable with arguments. Ex. &quot;:!s g keyword&quot; could invoke &quot;s.js&quot; executable with the whole string as arguments (&quot;s.sh&quot; or &quot;s&quot; if file exists, here &quot;g&quot; as google search engine); &quot;:! g keyword&quot; would invoke the file &quot;.js&quot; or &quot;.sh&quot; as executable.</p>
<p>For regular (non-js) executables, the standard output of the command line could be treated as lines of urls (or html, plain text).</p>
<p><a href="i:0h.js:../searchurl/txt/web.js">Install the example file &quot;.js&quot; (supporting search engine bundle)</a><br>
<a href="i:0hs.sh:../searchurl/txt/web.sh">Install the example file &quot;s.sh&quot;</a></p>
<p>Click the following links to make commands appear in address bar, then press &quot;enter&quot; to execute:<br>
<a href="i:15:!cd /data/data/com.termux/files/home;ln -s ../../../info.torapp.uweb/files uweb">Make uweb configuration folder accessible by file managers with termux installed</a><br>
(<a href="https://wiki.termux.com/wiki/Internal_and_external_storage">File manager list at end of the page</a>)</p>
<h3 id="address-bar-command-modes">Address bar command modes</h3>
<p><a href="../cmds/index.html">Commands</a> are the best for repeated execution of an instruction. Address bar command modes provide ways to run different commands in the same category easily.</p>
<p>The configure file &quot;default.acmd&quot; has the exactly same format as <a href="../cmds/index.html">default.cmds</a>. Click the following links to install new modes (cold start the app to take effect, then long click the &quot;refresh&quot; button to switch modes):</p>
<p><a href="i:0gdefault.acmd::shell:text/plain:%25s%0A">Shell command mode</a></p>
<p><a href="i:0gdefault.acmd::bc:text/plain:echo '%25s'|bc -l -q%0A">GNU bc (basic calculator) command mode (need termux for Android 10- )</a></p>
<p><a href="i:0gdefault.acmd::plot 2D function:image/svg%2Bxml:gnuplot -e 'set term svg;set
output;plot %25s'%0A">GNUPlot plot (2D function), needs uweb adapted termux &amp; gnuplot</a></p>
<p><a href="i:0gdefault.acmd::plot 3D function:image/svg%2Bxml:gnuplot -e 'set term svg;set
output;splot %25s'%0A">GNUPlot plot (3D function), needs uweb adapted termux &amp; gnuplot</a></p>
</div>
<p>Last Modified: 18 February 2023<br>
use :! instead of shell commandline mode for file manager access<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<nav>
</nav>
@ -63,8 +63,8 @@ output;plot %25s'%0A">GNUPlot plot (2D function), needs uweb adapted termux &amp
output;splot %25s'%0A">GNUPlot plot (3D function), needs uweb adapted termux &amp; gnuplot</a></p>
</div>
<p>Last Modified: 18 February 2023<br>
use :! instead of shell commandline mode for file manager access<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,111 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>AD blocking</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">AD blocking
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<ul>
<li>
<p><a href="../adblock_domain/index.html">Host blocking</a></p>
<ul>
<li>Use <a href="../bookmarklet/index.html">bookmarklet &quot;list all script urls&quot;</a> to generate url links, long pressing dubious script (usually 3rd-party library) link, click &quot;Block domain root&quot;.</li>
</ul>
</li>
<li>
<p><a href="../sitejs/index.html">Javascript and CSS for domains</a></p>
<ul>
<li>Long press the button &quot;js&quot;, click the menu &quot;MarkAD mode&quot;. In &quot;markAD mode&quot;, click page element to show all attributes and generate CSS AD blocking styles. By default, &quot;display:none&quot; is used. If &quot;display&quot; appears in the attribute information, recommend to use &quot;transform:scale(0)!important&quot; instead.</li>
</ul>
</li>
<li>
<p>Long press the tab manager button, check &quot;Videos only&quot; for video sites and &quot;Images only&quot; for image sites. Other AD blocking options are &quot;Hide pseudo elements&quot; and &quot;Hide iframes&quot;.</p>
<ul>
<li>Add prefix &quot;i:0mc32:&quot; to url when bookmarking, then the option &quot;Images only&quot; applies to whole url subtree. Similarly, &quot;c16&quot; for the option &quot;Videos only&quot; and &quot;c12&quot; for hiding both pseudo elements and iframes.</li>
<li>Long press the button [☰], check the option &quot;Fullscreen autoplay&quot;. Videos are autoplayed in fullscreen mode, ADs have no chance to appear.</li>
</ul>
</li>
<li>
<p>Long press the setting button, check the option &quot;Block external scripts&quot;. <a href="i:61:../searchurl/func.html">UI</a> website has option to also block dubious 3rd party resources. <a href="file:///data/data/info.torapp.uweb/files/js.allow">js.allow</a> whitelists js libraries.</p>
</li>
<li>
<p>Long press the button [☰], &quot;Disable floating ADs&quot;, &quot;Disable banners&quot;, &quot;clear all timers&quot;, &quot;stop events&quot; and &quot;Sleep ...&quot; are also available.</p>
</li>
<li>
<p>Click the button with image icon to hide all images.</p>
</li>
<li>
<p>Click the button &quot;JS&quot; to disable javascript.</p>
</li>
<li>
<p><a href="file:///data/data/info.torapp.uweb/files/url.deny">url.deny</a>: one giant regular expression for blocked urls (java grammar), in which carriage returns (CR or newline) are ignored and &quot;#&quot; is for comments.</p>
</li>
</ul>
</div>
<p>Last Modified: 20 February 2023<br>
use relative path<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -85,8 +85,8 @@
</ul>
</div>
<p>Last Modified: 20 February 2023<br>
use relative path<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,117 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Hosts files</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Hosts files
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/adblock/index.html#">adblock</a> </li>
</ul>
<p>The enhanced hosts files &quot;hosts&quot; and &quot;default.hosts&quot; take effect with the setting option &quot;use hosts&quot;.</p>
<h4 id="hosts">hosts</h4>
<p>The <span style="color:red">enhanced</span> file <a href="file:///data/data/info.torapp.uweb/files/hosts">&quot;hosts&quot;</a> defines IP addresses/attributes for domains. Each line has the following format:<br>
[[IP address][attributes]][single space][domain name]</p>
<p>where &quot;[[IP address][attributes]]&quot; could be:</p>
<ul>
<li>
<p>ipv4 address such as:<br>
172.67.157.211 torapp.eu.org</p>
</li>
<li>
<p>ipv6 address, Ex.:<br>
[2606:4700:3037::6815:8c3] torapp.eu.org</p>
</li>
<li>
<p>empty, that would lift all server-imposed limitations. Ex.:<br>
[single space]gitee.com</p>
<p>which will make all git repositories on the domain visitable as websites with raw file access url.</p>
</li>
<li>
<p>response headers, separeded by ';', Ex.:<br>
Access-Control-Allow-Origin;https://www.bing.com;Access-Control-Allow-Credentials;true mybing.xn--xyza.top</p>
<p>which makes &quot;mybing2.xn--xyza.top&quot; to accept CORS requests with cookies.</p>
</li>
<li>
<p>IP address and response headers, separeded by ';', Ex.:<br>
104.21.8.195;Access-Control-Allow-Origin;https://www.bing.com;Access-Control-Allow-Credentials;true uweb.torapp.eu.org</p>
</li>
<li>
<p>IP address, real domain name and response headers (Experimental), separeded by ';', Ex.:<br>
104.21.8.195;www.bing.com uweb.torapp.eu.org</p>
<p>which indicates the domain &quot;uweb.torapp.eu.org&quot; is just a proxy of &quot;www.bing.com&quot;, and as such, the cookies of &quot;www.bing.com&quot; would be used for &quot;uweb.torapp.eu.org&quot;.</p>
<p>To make life easier, use lower-case domain name (the first letter should not be a digital) and capitalize the first letter of response header names.</p>
</li>
</ul>
<h4 id="defaulthosts">default.hosts</h4>
<p><a href="file:///data/data/info.torapp.uweb/files/default.hosts">&quot;default.hosts&quot;</a> blocks whole domain trees including all descendant domains. The domains in the hosts file must be 2 or 3 segment domains, such as &quot;yahoo.com&quot; and &quot;finance.yahoo.com&quot;. If the length of the last 2 segments is less than 7, such as &quot;com.pl&quot;, then it is treated as one segment, so domains like &quot;xxx.xxx.com.pl&quot; are also valid in the hosts file.</p>
<p>Each line of the hosts file has the following format:<br>
[rootDomain][space][regex for domain prefix before rootDomain][space][regex for the whole url without &quot;http(s)://&quot;]<br>
The first part [rootDomain] is required and the others are optional. regex is java-grammar regular expression. If the second regex is used, it is recommended to merge the first regex to the second one for performance.</p>
</div>
<p>Last Modified: 13 May 2023<br>
update bingAI/js/optionsSets.js<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -91,7 +91,7 @@ Access-Control-Allow-Origin;https://www.bing.com;Access-Control-Allow-Credential
The first part [rootDomain] is required and the others are optional. regex is java-grammar regular expression. If the second regex is used, it is recommended to merge the first regex to the second one for performance.</p>
</div>
<p>Last Modified: 13 May 2023<br>
<p>Last Modified: 2 April 2024<br>
update bingAI/js/optionsSets.js<br>
<pre></pre>
</p>

View File

@ -1,116 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Bookmarks</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Bookmarks
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>AI, chatgpt etc.</p>
<ul>
<li><a href="https://gemini.google.com/app">google gemini</a></li>
<li><a href="https://komo.ai">komo</a></li>
<li><a href="https://andisearch.com">andi</a></li>
<li><a href="https://devv.ai">devv.ai</a></li>
<li><a href="https://poe.com">poe</a></li>
<li><a href="https://freegpt.cc">freegpt</a></li>
<li><a href="https://www.teach-anything.com/">teach-anything</a></li>
<li><a href="https://magickpen.com/">magickpen</a></li>
</ul>
<p><a href="i:1w">Wait for url from other devices</a><br>
<a href="https://berify.com">berify: reverse image search for video</a></p>
<h3 id="tips">Tips</h3>
<h4 id="file-handling-and-styling-with-homecss">File handling and styling with home.css</h4>
<p>&quot;home.css&quot; (in current folder, parent folder or the &quot;bookmark&quot; folder) styles bookmarks, search engines and the folder itself. The file is in html format instead of CSS, so it needs &quot;&lt;style&gt;&quot; tag for CSS.</p>
<p><a href="i:0hbookmark/home.css:../searchurl/txt/markdeep.html">Install markdeep styling for markdown files</a></p>
<h3 id="bookmarks-with-secrets-post-instead-of-get">Bookmarks with secrets (POST instead of GET)</h3>
<p>The <a href="../links/index.html">internal link</a> &quot;i:a1[url]?[post data]&quot; sends http &quot;POST&quot; request to server.</p>
<h3 id="commands">Commands</h3>
<p>Clicking to run is only allowed from local pages for bookmarks in this section. Users need to either save the bookmarks to local or long press the link =&gt; &quot;open in new tab&quot; to execute.</p>
<p>To save the bookmarks to local, users firstly need to install &quot;bookmark&quot; menu by clicking corresponding link in the <a href="../urls/index.html">url services</a> page, then long press the bookmark link =&gt; &quot;open in new tab&quot; =&gt; &quot;Commands&quot; =&gt; &quot;bookmark&quot; to save the bookmark.</p>
<p><a href="d::mkdir -p /sdcard/Download/uweb;cd /data/data/info.torapp.uweb;cp -r files /sdcard/Download/uweb;rm -rf files;ln -s /sdcard/Download/uweb files:">symbolic link configuration folder to &quot;/sdcard/Download/uweb&quot;</a></p>
<p><a href="d::cd /data/data/com.termux/files/home;ln -s ../../../info.torapp.uweb/files uweb:">Make uweb configuration folder accessible by file managers with termux installed</a><br>
(<a href="https://wiki.termux.com/wiki/Internal_and_external_storage">File manager list at end of the page</a>)</p>
<p><a href="d::cd /sdcard/Download/mdict;for i in *.mdx; do b=`basename ${i} .mdx`;fs=%22${i}%22;if [ -f ${b}.mdd ];then fs=${fs}%22,${b}.mdd%22;fi;echo ${b}:i:5ifile:///sdcard/Download/mdict/${fs}?app=https://cdn.jsdelivr.net/gh/torappinfo/uweb/en/searchurl/mdict/mdict.html#word=%25s >>/data/data/info.torapp.uweb/files/home5.search;done:">Scan mdx/mdd files under the folder &quot;/sdcard/Download/mdict&quot; and add search engines</a>.</p>
<h4 id="termux">Termux</h4>
<p>The following bookmarks need termux.<br>
<a href="c:bc -l">GNU bc (basic calculator)</a><br>
<a href="c:bc -l *.bc">bc with all extensions</a></p>
<h3 id="templates">Templates</h3>
<p>Click following links to install bookmark templates, bookmarks saved to the template have corresponding features enabled.<br>
<a href="i:0hbookmark/novel.html:../../zh/searchurl/bookmark/novel.html">&quot;novel.html&quot;: auto reader's mode</a></p>
<h3 id="science">Science</h3>
<h4 id="physics">Physics</h4>
<p><a href="https://www.feynmanlectures.caltech.edu/">Feynman lectures</a><br>
<a href="https://webspace.science.uu.nl/~gadda001/goodtheorist/index.html">goodtheorist</a></p>
<h4 id="chemistry">Chemistry</h4>
<p><a href="https://www.chemspider.com">chemspider</a><br>
<a href="http://bl.ocks.org/chemplexity/raw/180e960a6d9e68adf28429dd16f05fa0/">molecule SMILES</a><br>
<a href="http://cdb.ics.uci.edu/cgibin/Smi2DepictWeb.py">SMILES2structure</a></p>
</div>
<p>Last Modified: 6 March 2024<br>
add deno url<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -82,16 +82,15 @@
<a href="i:0hbookmark/novel.html:../../zh/searchurl/bookmark/novel.html">&quot;novel.html&quot;: auto reader's mode</a></p>
<h3 id="science">Science</h3>
<h4 id="physics">Physics</h4>
<p><a href="https://www.feynmanlectures.caltech.edu/">Feynman lectures</a><br>
<a href="https://webspace.science.uu.nl/~gadda001/goodtheorist/index.html">goodtheorist</a></p>
<p><a href="https://www.feynmanlectures.caltech.edu/">Feynman lectures</a></p>
<h4 id="chemistry">Chemistry</h4>
<p><a href="https://www.chemspider.com">chemspider</a><br>
<a href="http://bl.ocks.org/chemplexity/raw/180e960a6d9e68adf28429dd16f05fa0/">molecule SMILES</a><br>
<a href="http://cdb.ics.uci.edu/cgibin/Smi2DepictWeb.py">SMILES2structure</a></p>
</div>
<p>Last Modified: 6 March 2024<br>
add deno url<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,97 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Bookmarklets</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Bookmarklets
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/javascript/index.html#">javascript</a> </li>
</ul>
<p>With a href=&quot;../index.html&quot;&gt;uweb browser</a>, long pressing any bookmarklet link, click &quot;Open in new tab&quot;, the bookmarklet will be run on the last other tab.</p>
<p><a href="javascript:{let es=document.getElementsByTagName('script');let urls='';for(let i=0;i<es.length;i++){if(es[i].src)urls+=es[i].src+'<br>';}let w=window.open(''),s=w.document;s.write(urls);s.close();w.location.href='i:631:';}">List all script urls</a></p>
<p><a target="_self" href="javascript:alert(navigator.userAgent)">User agent</a><br>
<a href="javascript:(function(){var w=window.open(''),s=w.document;s.write('<html><body></body></html>');s.close();var pre=s.body.appendChild(s.createElement('pre'));pre.style.overflow='auto';pre.style.whiteSpace='pre-wrap';pre.appendChild(s.createTextNode(document.cookie))})()">Cookie</a><br>
<a href="javascript:(function(){var w=window.open(''),s=w.document;s.write('<html><body></body></html>');s.close();var pre=s.body.appendChild(s.createElement('pre'));pre.style.overflow='auto';pre.style.whiteSpace='pre-wrap';pre.appendChild(s.createTextNode(document.documentElement.innerHTML))})()">Source code</a><br>
<a href="javascript:function%20gett(w){try{var%20lm=new%20Date(w.document.lastModified);if(lm>maxd)maxd=lm;for(var%20i=0;F=w.frames[i];i++){gett(F);}}catch(e){}}var%20now=new%20Date();var%20maxd=new%20Date(document.lastModified);gett(window);if(maxd.getTime()==0||now.toUTCString()==maxd.toUTCString()){alert('Page%20is%20dynamically%20generated,%20cannot%20determine%20date.');}else{alert('Page%20was%20last%20modified%20'+maxd.toLocaleString());}" class="bookmarklet" rel="nofollow">Last modified date</a></p>
<p><a href="javascript:(function(){var script=document.createElement('script');script.src='//fastly.jsdelivr.net/npm/eruda';document.body.appendChild(script);script.onload=function(){eruda.init()}})()">Eruda: mobile console</a><br>
<a href="javascript:window.open('https://api.qrserver.com/v1/create-qr-code/?size=150x150&data='%20+%20decodeURIComponent(location.href));void(0);">QR code generation</a></p>
<p><a href="javascript:(function(){var x,i; x = document.forms; for (i = 0; i &lt; x.length; ++i) x[i].method=&quot;get&quot;; alert(&quot;Changed &quot; + x.length + &quot; forms to use the GET method. After submitting a form from this page, you should be able to bookmark the result.&quot;); })();">Use &quot;GET&quot; method for &quot;POST&quot;</a><br>
<a href="javascript:(function(){var i,f,j,e,div,label,ne; for(i=0;f=document.forms[i];++i)for(j=0;e=f[j];++j)if(e.type==&quot;hidden&quot;){ D=document; function C(t){return D.createElement(t);} function A(a,b){a.appendChild(b);} div=C(&quot;div&quot;); label=C(&quot;label&quot;); A(div, label); A(label, D.createTextNode(e.name + &quot;: &quot;)); e.parentNode.insertBefore(div, e); e.parentNode.removeChild(e); ne=C(&quot;input&quot;);/*for ie*/ ne.type=&quot;text&quot;; ne.value=e.value; A(label, ne); --j;}})()">Shows all form elements</a><br>
<a href="javascript:(function(){var x,k,f,j;x=document.forms;for (k=0;k&lt;x.length;++k){f=x[k];for(j=0;j&lt;f.length;++j){f[j].disabled=false; f[j].readOnly=false;}}})()">Enables all form elements</a></p>
<p><a href="javascript:(function(){function toggle(box){temp=box.onchange;box.onchange=null;box.checked=!box.checked;box.onchange=temp;}var f=document.querySelectorAll(%22input[type='checkbox']%22);var j;for(j=0;j<f.length;++j)toggle(f[j]);})()">Toggle checkboxes</a><br>
<a href="javascript:(function(){function set(box,bChecked){temp=box.onchange;box.onchange=null;box.checked=bChecked;box.onchange=temp;}var f=document.querySelectorAll(%22input[type='checkbox']%22);var j;for(j=0;j<f.length;++j)set(f[j],true);})()">Check all checkboxes</a><br>
<a href="javascript:(function(){function set(box,bChecked){temp=box.onchange;box.onchange=null;box.checked=bChecked;box.onchange=temp;}var f=document.querySelectorAll(%22input[type='checkbox']%22);var j;for(j=0;j<f.length;++j)set(f[j],false);})()">Uncheck all checkboxes</a><br>
<a href="javascript:(function(){ function toggle(box){ temp=box.onchange; box.onchange=null; box.checked=!box.checked; box.onchange=temp; } var x,k,f,j; x=document.forms; for (k=0; k<x.length; ++k) { f=x[k]; for (j=0;j<f.length;++j) if (f[j].type.toLowerCase() == &quot;checkbox&quot;) toggle(f[j]); } })();">Toggle all checkboxes in forms</a><br>
<a href="javascript:(function(){var%20doc=document;var%20bd=doc.body;bd.onselectstart=bd.oncopy=bd.onpaste=bd.onkeydown=bd.oncontextmenu=bd.onmousemove=bd.onselectstart=bd.ondragstart=doc.onselectstart=doc.oncopy=doc.onpaste=doc.onkeydown=doc.oncontextmenu=null;doc.onselectstart=doc.oncontextmenu=doc.onmousedown=doc.onkeydown=null;void(0)})()">Enable selection</a><br>
<a href="javascript:(function() { function R(a){ona = &quot;on&quot;+a; if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true); window[ona]=null; document[ona]=null; if(document.body) document.body[ona]=null; } R(&quot;contextmenu&quot;); R(&quot;click&quot;); R(&quot;mousedown&quot;); R(&quot;mouseup&quot;); })()">Restore context menu</a><br>
<a href="javascript:(function(){var count=0, text, regexp;text=prompt(&quot;Search regexp:&quot;, &quot;&quot;);if(text==null || text.length==0)return;try{regexp=new RegExp(&quot;(&quot; + text +&quot;)&quot;, &quot;i&quot;);}catch(er){alert(&quot;Unable to create regular expression using text '&quot;+text+&quot;'.\n\n&quot;+er);return;}function searchWithinNode(node, re){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.search(re);if(pos>=0){spannode=document.createElement(&quot;SPAN&quot;);spannode.style.backgroundColor=&quot;yellow&quot;;middlebit=node.splitText(pos);endbit=middlebit.splitText(RegExp.$1.length);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1 &amp;&amp; node.childNodes &amp;&amp; node.tagName.toUpperCase()!=&quot;SCRIPT&quot; &amp;&amp; node.tagName.toUpperCase!=&quot;STYLE&quot;){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], re);}}return skip;}window.status=&quot;Searching for &quot;+regexp+&quot;...&quot;;searchWithinNode(document.body, regexp);window.status=&quot;Found &quot;+count+&quot; match&quot;+(count==1?&quot;&quot;:&quot;es&quot;)+&quot; for &quot;+regexp+&quot;.&quot;;})();">Search with regex</a><br>
<a href="javascript:function toArray (c){var a, k;a=new Array;for (k=0; k<c.length; ++k)a[k]=c[k];return a;}function insAtTop(par,child){if(par.childNodes.length) par.insertBefore(child, par.childNodes[0]);else par.appendChild(child);}function countCols(tab){var nCols, i;nCols=0;for(i=0;i<tab.rows.length;++i)if(tab.rows[i].cells.length>nCols)nCols=tab.rows[i].cells.length;return nCols;}function makeHeaderLink(tableNo, colNo, ord){var link;link=document.createElement('a');link.href='javascript:sortTable('+tableNo+','+colNo+','+ord+');';link.appendChild(document.createTextNode((ord>0)?'a':'d'));return link;}function makeHeader(tableNo,nCols){var header, headerCell, i;header=document.createElement('tr');for(i=0;i<nCols;++i){headerCell=document.createElement('td');headerCell.appendChild(makeHeaderLink(tableNo,i,1));headerCell.appendChild(document.createTextNode('/'));headerCell.appendChild(makeHeaderLink(tableNo,i,-1));header.appendChild(headerCell);}return header;}g_tables=toArray(document.getElementsByTagName('table'));if(!g_tables.length) alert(&quot;This page doesn't contain any tables.&quot;);(function(){var j, thead;for(j=0;j<g_tables.length;++j){thead=g_tables[j].createTHead();insAtTop(thead, makeHeader(j,countCols(g_tables[j])))}}) ();function compareRows(a,b){if(a.sortKey==b.sortKey)return 0;return (a.sortKey < b.sortKey) ? g_order : -g_order;}function sortTable(tableNo, colNo, ord){var table, rows, nR, bs, i, j, temp;g_order=ord;g_colNo=colNo;table=g_tables[tableNo];rows=new Array();nR=0;bs=table.tBodies;for(i=0; i<bs.length; ++i)for(j=0; j<bs[i].rows.length; ++j){rows[nR]=bs[i].rows[j];temp=rows[nR].cells[g_colNo];if(temp) rows[nR].sortKey=temp.innerHTML;else rows[nR].sortKey=&quot;&quot;;++nR;}rows.sort(compareRows);for (i=0; i < rows.length; ++i)insAtTop(table.tBodies[0], rows[i]);}">Table re-order</a></p>
<p><a href="javascript: (function() { var url = ('http://www.bugmenot.com/view/' + escape(location.hostname)); w = open(url, 'w', 'location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400,modal=yes,dependent=yes'); if (w) { setTimeout('w.focus()', 1000) } else { location = url } })();">BugMeNot</a></p>
</div>
<p>Last Modified: 24 September 2022<br>
add adblock.md<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -49,7 +49,7 @@
<li><a href="../tags/javascript/index.html#">javascript</a> </li>
</ul>
<p>With a href=&quot;../index.html&quot;&gt;uweb browser</a>, long pressing any bookmarklet link, click &quot;Open in new tab&quot;, the bookmarklet will be run on the last other tab.</p>
<p>With a href=&quot;../index.html#&quot;&gt;uweb browser</a>, long pressing any bookmarklet link, click &quot;Open in new tab&quot;, the bookmarklet will be run on the last other tab.</p>
<p><a href="javascript:{let es=document.getElementsByTagName('script');let urls='';for(let i=0;i<es.length;i++){if(es[i].src)urls+=es[i].src+'<br>';}let w=window.open(''),s=w.document;s.write(urls);s.close();w.location.href='i:631:';}">List all script urls</a></p>
<p><a target="_self" href="javascript:alert(navigator.userAgent)">User agent</a><br>
<a href="javascript:(function(){var w=window.open(''),s=w.document;s.write('<html><body></body></html>');s.close();var pre=s.body.appendChild(s.createElement('pre'));pre.style.overflow='auto';pre.style.whiteSpace='pre-wrap';pre.appendChild(s.createTextNode(document.cookie))})()">Cookie</a><br>
@ -71,8 +71,8 @@
<p><a href="javascript: (function() { var url = ('http://www.bugmenot.com/view/' + escape(location.hostname)); w = open(url, 'w', 'location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400,modal=yes,dependent=yes'); if (w) { setTimeout('w.focus()', 1000) } else { location = url } })();">BugMeNot</a></p>
</div>
<p>Last Modified: 24 September 2022<br>
add adblock.md<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,8 +0,0 @@
<!doctype html>
<html>
<body>
<ul>
</ul>
</body>
</html>

View File

@ -2,7 +2,7 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on uweb browser: unlimited power</title>
<link>/en/categories.html</link>
<link>/en/categories/</link>
<description>Recent content in Categories on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>

View File

@ -1,115 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Downloads</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Downloads
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p><a href="https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5">Amazon appstore</a></p>
<p><a href="https://galaxy.store/uweb">Galaxy.Store</a></p>
<p><a href="https://s1.asytech.cn/s/tQrgT5kBRg8Trry">uweb, termux &amp; history versions</a></p>
<p><a href="https://github.com/torappinfo/uweb/releases/tag/v1">github</a></p>
<p><a href="https://sourceforge.net/projects/uwebbrowser/files/v1/">sourceforge</a></p>
<p><a href="https://my.powerfolder.com/getlink/fi61cC6VHjK72tfufmnLAz/">powerfolder</a></p>
<p><a href="https://www.udrop.com/folder/08ba413230f465ca0901bef68e857c0b/uweb">udrop</a></p>
<p><a href="https://releases.pagure.org/uwebapk/">pagure</a></p>
<p><a href="http://pan.mcbebbs.cn/s/dJ4t8">mcbebbs</a></p>
<h4 id="main-featuresreadmeindexhtml"><a href="../readme/index.html">Main features</a></h4>
<h4 id="change-logs">Change logs</h4>
<p>1038: support chatBot as search engine with url &quot;i:0/js/hash2textarea.js:https://XXX&quot;<br>
1036: TV mode: reuse &quot;engine.search&quot; as live TV channel urls.<br>
1034: click share button on homescreen to process clipboard text.<br>
1030: Allow downloading with global redirection<br>
1026: Test automation: enable i:0 urls in scripting mode<br>
1017: crontab alarm clock and <a href="../links/index.html">links</a> as sixth field.<br>
1008: Add long screenshot mode<br>
1006: Advanced configuration: auto reload, download path<br>
1004: bookmarklet &quot;Show as html&quot; to support clipboard sites such as &quot;netcut.cn&quot;.<br>
998: <a href="../rjs/index.html">Bookmarklets</a> to support CSP sites.<br>
991: <a href="../redirect/index.html">global url redirection</a> support.<br>
988: <a href="../adblock_domain/index.html">hosts</a> file to support response headers.<br>
985: <a href="../links/index.html">Special urls</a> to support shortcut keys such as ctrl-a to ctrl-z.<br>
983: support <a href="../adblock_domain/index.html">&quot;hosts&quot;</a> file domain name resolving (no root needed), only single space allowed as separator for ip address and domain name.<br>
975: <a href="../bookmark/index.html">Bookmarks</a> to support styling for markdown etc.<br>
971: <a href="../links/index.html">multiple type profiles</a>: switch any data including website logins, user configurations orthogonally.<br>
964: site source html preprocessing before rendering with user <a href="../sitejs/index.html">site extra html</a>.<br>
961: webdav/http file upload support with <a href="../links/index.html">&quot;i:0u&quot; links</a>.<br>
955: Address bar: <a href="../acmd/index.html">&quot;:!&quot; or &quot;!&quot;</a> for command line support (.js/.sh files as executables).<br>
949: Address bar: &quot;:p [width in milliInch]x[height]&quot; to generate PDF in custom size<br>
946: Option &quot;use offline cache&quot; to support serverless local websites.</p>
<p>945: commands to support evaluation of generated js code.</p>
<p>943: Multiple home screens support .mht (offline webpage), .search &amp; .html local files.</p>
<p>940: <a href="../url2site/index.html">Any urls as website</a> with local html processing (<a href="../links/index.html">&quot;i:0m/..../xxx.html:url&quot;</a>)</p>
<p>935:</p>
<ul>
<li>Pipe support: command line output to uweb tabs.</li>
</ul>
<p>934:</p>
<ul>
<li>Serverless local sites: PWA-kind web extension (chrome .crx &amp; firefox .xpi) support.</li>
<li>PWAs and web extensions to be used as search engines, ex. kiwix zim as search engines.</li>
</ul>
</div>
<p>Last Modified: 21 March 2024<br>
fix README<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<nav>
</nav>

View File

@ -1,135 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Commands</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Commands
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>Click the following links to install commands with <a href="../en/">uweb browser</a>. <b>Force exit and re-launch the app</b>, then long press the button with clock icon to popup the command menu.</p>
<p>Configuration file &quot;default.cmds&quot; examples:</p>
<p><a href="i:03Clear data::toybox find /data/data/info.torapp.uweb/app_webview ! -name 'Cookies' ! -name '*.cjar' -type f -delete">Clear data::toybox find /data/data/info.torapp.uweb/app_webview ! -name 'Cookies' ! -name '*.cjar' -type f -delete</a></p>
<p><a href="i:03Clear database::rm -rf /data/data/info.torapp.uweb/databases/*">Clear database::rm -rf /data/data/info.torapp.uweb/databases/*</a></p>
<p><a href="i:03Append query to autocomplete:uweb:cd /data/data/info.torapp.uweb/files;cat default.autoc query.log|toybox sort|toybox uniq -i>a.tmp;mv a.tmp default.autoc;>query.log;echo file:///data/data/info.torapp.uweb/files/default.autoc">Append query to autocomplete:uweb:cd /data/data/info.torapp.uweb/files;cat default.autoc query.log|toybox sort|toybox uniq -i&gt;a.tmp;mv a.tmp default.autoc;&gt;query.log;echo file:///data/data/info.torapp.uweb/files/default.autoc</a></p>
<p><a href="i:03Clear cache::toybox rm -rf /data/data/info.torapp.uweb/cache">Clear cache::toybox rm -rf /data/data/info.torapp.uweb/cache</a></p>
<p><a href="i:03Clear logcat::logcat -c">Clear logcat::logcat -c</a></p>
<p><a href="i:03logcat.log::logcat -d > logcat.log">logcat.log::logcat -d &gt; logcat.log</a></p>
<p><a href="i:03copy cookie:/clip:printf '%c'">copy cookie:/clip:printf '%c'</a></p>
<p><a href="i:03config in Download::cd /data/data/info.torapp.uweb;toybox rm -rf files;toybox mkdir -p /sdcard/Download/uweb;toybox ln -s /sdcard/Download/uweb files">config in Download::cd /data/data/info.torapp.uweb;toybox rm -rf files;toybox mkdir -p /sdcard/Download/uweb;toybox ln -s /sdcard/Download/uweb files</a></p>
<p><a href="i:03html5 in Download::cd /data/data/info.torapp.uweb/files;toybox rm -rf app;toybox mkdir -p /sdcard/Download/app;toybox ln -s /sdcard/Download/app">html5 in Download::cd /data/data/info.torapp.uweb/files;toybox rm -rf app;toybox mkdir -p /sdcard/Download/app;toybox ln -s /sdcard/Download/app</a></p>
<p><a href="i:03tgz install::toybox tar -xzf %f -C /">tgz install::toybox tar -xzf %f -C /</a></p>
<p>Users should change the IP addresses in the following menus accordingly. In all cases, TV side needs to execute &quot;<a href="../links/index.html">wait for network msg</a>&quot; first. Send message to network (ex. for android TVs):<br>
<a href="i:03Send clipboard:clip/uweb:printf 'i:5ji:5b';cat">Send clipboard:clip/uweb:printf 'i:5ji:5b';cat</a></p>
<p><a href="i:03Send url::printf '%u'|/system/bin/toybox nc 192.168.2.155 1500">Send url::printf '%u'|/system/bin/toybox nc 192.168.2.155 1500</a></p>
<p><a href="i:03Sendurl(bookmark)::printf 'i:51../home5:i:0mc16:%u'|/system/bin/toybox nc 192.168.2.155 1500">Sendurl(bookmark)::printf 'i:51../home5:i:0mc16:%u'|/system/bin/toybox nc 192.168.2.155 1500</a></p>
<p><a href="i:03Send url(fullscreen)::printf 'i:5f%u'|/system/bin/toybox nc 192.168.2.155 1500">Send url(fullscreen)::printf 'i:5f%u'|/system/bin/toybox nc 192.168.2.155 1500</a></p>
<p><a href="i:03Send url(video)::printf 'i:0mc16:%u'|/system/bin/toybox nc 192.168.2.155 1500">Send url(video)::printf 'i:0mc16:%u'|/system/bin/toybox nc 192.168.2.155 1500</a></p>
<p><a href="i:03Send url(clipboard):clip:(printf 'i:5b';cat)|/system/bin/toybox nc 192.168.2.155 1500">Send url(clipboard):clip:(printf 'i:5b';cat)|/system/bin/toybox nc 192.168.2.155 1500</a></p>
<p>Modify with your own info:<br>
<a href="i:03dynv6_sim1:uweb:print 'http://dynv6.com/api/update?hostname=&token=&ipv6=';ip addr|grep 'inet6 [^f]'|grep global|grep -v temporary|head -n 1|sed 's/^.*inet6 //'|sed 's/\/.*$//'">Refresh dynv6 ddns for sim card 1</a></p>
<p><a href="i:03dynv6_wifi:uweb:print 'http://dynv6.com/api/update?hostname=&token=&ipv6=';ip addr|grep 'inet6 [^f]'|grep global|grep -v temporary|tail -n 1|sed 's/^.*inet6 //'|sed 's/\/.*$//'">Refresh dynv6 ddns for wifi</a></p>
<p>Need root permissions:</p>
<p>Need termux:<br>
<a href="i:03VPN::am start -a android.net.vpn.SETTINGS">VPN::am start -a android.net.vpn.SETTINGS</a></p>
<p><a href="i:03wireless::am start -a android.settings.WIRELESS_SETTINGS">wireless::am start -a android.settings.WIRELESS_SETTINGS</a></p>
<p><a href="i:03cd:termux/*:cd %f;exit 1">cd:termux/*:cd %f;exit 1</a></p>
<p><a href="i:03vim:termux/*:vim %f">vim:termux/*:vim %f</a></p>
<p><a href="i:03deduplicate history::awk -F'\t' '!s[\$2]++' /data/data/info.torapp.uweb/files/history.rec>/sdcard/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/history.rec">deduplicate history::awk -F'\t' '!s[$2]++' /data/data/info.torapp.uweb/files/history.rec&gt;/sdcard/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/history.rec</a></p>
<p><a href="i:03deduplicate bookmarks::awk '!s[\$0]++' /data/data/info.torapp.uweb/files/bookmark.html>/sdcard/Download/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/bookmark.html">deduplicate bookmarks::awk '!s[$0]++' /data/data/info.torapp.uweb/files/bookmark.html&gt;/sdcard/Download/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/bookmark.html</a></p>
<p><a href="i:03deduplicate hosts::toybox tac /data/data/info.torapp.uweb/files/default.hosts|awk -F' ' '!s[\$1]++' |toybox tac>/sdcard/Download/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/default.hosts">deduplicate hosts::toybox tac /data/data/info.torapp.uweb/files/default.hosts|awk -F' ' '!s[$1]++' |toybox tac&gt;/sdcard/Download/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/default.hosts</a></p>
<p><a href="i:03deduplicate siteconf::toybox tac /data/data/info.torapp.uweb/files/default.siteconf|awk -F':' '!s[\$1]++' |toybox tac>/sdcard/Download/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/default.siteconf">deduplicate siteconf::toybox tac /data/data/info.torapp.uweb/files/default.siteconf|awk -F':' '!s[$1]++' |toybox tac&gt;/sdcard/Download/a.tmp;mv /sdcard/Download/a.tmp /data/data/info.torapp.uweb/files/default.siteconf</a></p>
<p><a href="i:03Clipboard2PC:clip:ssh fengcao@192.168.2.120 'DISPLAY=:0 xsel -i'">Clipboard2PC:clip:ssh fengcao@192.168.2.120 'DISPLAY=:0 xsel -i'</a></p>
<p><a href="i:03ClipboardFromPC:/clip:ssh fengcao@192.168.2.120 'DISPLAY=:0 xsel -o'">ClipboardFromPC:/clip:ssh fengcao@192.168.2.120 'DISPLAY=:0 xsel -o'</a></p>
<p><a href="i:03Clipboard broadcast:clip:socat - UDP-DATAGRAM:255.255.255.255:1500,broadcast">Clipboard broadcast:clip:socat - UDP-DATAGRAM:255.255.255.255:1500,broadcast</a></p>
<p><a href="i:03Clipboard from broadcast:/clip:socat -u udp-recvfrom:1500 SYSTEM:'cat;exit'">Clipboard from broadcast:/clip:socat -u udp-recvfrom:1500 SYSTEM:'cat;exit'</a></p>
<p><a href="i:03Clipboard2QR:clip/uweb:qrencode -o /sdcard/Download/a.png;echo file:///sdcard/Download/a.png">Clipboard2QR:clip/uweb:qrencode -o /sdcard/Download/a.png;echo file:///sdcard/Download/a.png</a></p>
<p>Clipboard2PC needs to modify username, PC needs xsel. ssh needs to be installed inside termux (apt install openssh).<br>
Clipboard broadcast needs socatapt install socat)。<br>
Clipboard2QR needs libqrencode.</p>
<h4 id="more-commands-click-to-install">More commands (click to install)</h4>
<p><a href="i:0gdefault.cmds::mdme:text/html:echo %22<script src=https://fastly.jsdelivr.net/npm/mdme></script><textarea>%22;cat %25f%0A">mdme: Show local markdown file</a></p>
<p><a href="i:0gdefault.cmds::texme:text/html:echo %22<script src=https://fastly.jsdelivr.net/npm/texme></script><textarea>%22;cat %25f%0A">texme: Show local tex+markdown file</a></p>
<p><a href="i:0gdefault.cmds::markdeep:text/html:cat %25f;echo %22<style class=fallback>body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src=https://casual-effects.com/markdeep/latest/markdeep.min.js charset=utf-8></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility=visible)</script>%22%0A">markdeep: Show local markdown+tex+diagrams file</a></p>
<p><a href="i:0gdefault.cmds::markdeep slide:text/html:cat %25f;echo %22<link rel='stylesheet' href='https://casual-effects.com/markdeep/latest/slides.css?'><script>markdeepOptions={tocStyle:'none'}</script><script src=https://casual-effects.com/markdeep/latest/markdeep.min.js charset=utf-8></script>%22%0A">markdeep slide: markdown+tex+diagrams</a></p>
<p><a href="i:0gdefault.cmds::remark slide:text/html:echo %22<script src=https://remarkjs.com/downloads/remark-latest.min.js></script><script>window.onload=function(){var slideshow=remark.create({navigation:{click:true,},});}</script><textarea id=%27source%27>class:middle%22;cat %25f%0A">remark slide: slide show for local markdown file</a></p>
<p><a href="i:0gdefault.cmds:https://cdn.jsdelivr.net/gh/torappinfo/uweb/en/searchurl/txt/cmds.cfg">Code editor, open url in clipboard etc.</a></p>
<h4 id="cmds-file-format">&quot;.cmds&quot; file format</h4>
<p>Each line has the following format:<br>
[Name]:[mimetype]:[command line]</p>
<p>[command line] can have &quot;%c&quot; (cookie), &quot;%s&quot; (address bar text), &quot;%u&quot; (url), &quot;%t&quot; (title).<br>
[mimetype] have the following formats:</p>
<ul>
<li>regular mimetype such as &quot;text/html&quot; to indicate the content type of the command output. Ex. &quot;text/javascript&quot; makes browser to evaluate the js code.</li>
<li>&quot;clip/clip&quot; to indicate &quot;clipboard&quot; as input and the command output is copied to clipboard.</li>
<li>&quot;/clip&quot;: copy the command output to clipboard.</li>
<li>&quot;clip/text/html&quot; : clipboard as input, and the command output is processed as &quot;text/html&quot;.</li>
<li>&quot;termux/*&quot;: command line is executed under termux.</li>
<li>&quot;/uweb&quot;: the command output is processed as <a href="../links/index.html">links</a>.</li>
</ul>
</div>
<p>Last Modified: 5 December 2023<br>
i:5g sematics change<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -47,7 +47,7 @@
<ul class="tags">
</ul>
<p>Click the following links to install commands with <a>uweb browser</a>. <b>Force exit and re-launch the app</b>, then long press the button with clock icon to popup the command menu.</p>
<p>Click the following links to install commands with <a href="../../en/">uweb browser</a>. <b>Force exit and re-launch the app</b>, then long press the button with clock icon to popup the command menu.</p>
<p>Configuration file &quot;default.cmds&quot; examples:</p>
<p><a href="i:03Clear data::toybox find /data/data/info.torapp.uweb/app_webview ! -name 'Cookies' ! -name '*.cjar' -type f -delete">Clear data::toybox find /data/data/info.torapp.uweb/app_webview ! -name 'Cookies' ! -name '*.cjar' -type f -delete</a></p>
<p><a href="i:03Clear database::rm -rf /data/data/info.torapp.uweb/databases/*">Clear database::rm -rf /data/data/info.torapp.uweb/databases/*</a></p>
@ -109,8 +109,8 @@ Clipboard2QR needs libqrencode.</p>
</ul>
</div>
<p>Last Modified: 5 December 2023<br>
i:5g sematics change<br>
<p>Last Modified: 2 April 2024<br>
add ending # to /index.html<br>
<pre></pre>
</p>

View File

@ -1,104 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Custom file handling</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Custom file handling
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/termux/index.html#">termux</a> </li>
<li><a href="../tags/curl/index.html#">curl</a> </li>
</ul>
<p>Long press the settings button, check the option &quot;custom file handling&quot; to enable the functionality.</p>
<p>The custom file handling configuration file is &quot;default.filecap&quot;, each line of it has the format as follows:<br>
[file extension]:[mimetype]:[command line]</p>
<p>The &quot;[file extension]&quot; part can have at most two-segment of extensions such as &quot;txt.xz&quot;,&quot;html.gz&quot;.<br>
&quot;[mimetype]&quot; indicates the type of &quot;[command line]&quot; output.<br>
&quot;[command line]&quot; is same as the one in <a href="../cmds/index.html">default.cmds</a>. The most often used replacements are:<br>
%u (url), %U (urlencoded url), %c (cookie), %p (site password, curl format).</p>
<p>default.filecap example:</p>
<pre><code>txt:text/html:curl %p "%u"
mp3:text/html:echo '&lt;audio controls width=100% height=100%>&lt;source src="%u">&lt;/audio>'
m4b:text/html:echo '&lt;audio controls width=100% height=100%>&lt;source src="%u">&lt;/audio>'
m3u8:text/html:echo '&lt;video controls width=100% height=100%>&lt;source src="%u">&lt;/video>'
mp4:text/html:echo '&lt;video controls width=100% height=100%>&lt;source src="%u">&lt;/video>'
mkv:text/html:echo '&lt;video controls width=100% height=100%>&lt;source src="%u">&lt;/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>
<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>
</div>
<p>Last Modified: 24 September 2022<br>
fix typos from torinfo.uweb to torapp.uweb<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -75,11 +75,11 @@ xz:text/plain:curl %p "%u"|xz -d --</code></pre>
<p>Examples for <a href="../html5/index.html">html5 application</a>:</p>
<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>
epub:uweb:echo file:///data/data/info.torapp.uweb/files/app/reader/index.html#?bookPath==%u</code></pre>
</div>
<p>Last Modified: 24 September 2022<br>
fix typos from torinfo.uweb to torapp.uweb<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,128 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Configuration folders/files</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Configuration folders/files
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>All folders end with character &quot;/&quot; and others are files. All folders/files locate in &quot;/data/data/info.torapp.uweb/files&quot;:<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/css/">css/</a>&quot;: <a href="../globalcss/index.html">global css folder</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/js/">js/</a>&quot;: global script folder<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/sitejs/">sitejs/</a>&quot;: <a href="../sitejs/index.html">script folder for domains</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/sitecss/">sitecss/</a>&quot;:<a href="../sitejs/index.html">CSS folder for domains</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/bookmarklet/">bookmarklet/</a>&quot;:bookmarklets, long pressing the &quot;JS&quot; button to execute.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/offline/">offline/</a>&quot;: to save offline pages<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/sbookmark/">sbookmark/</a>&quot;: to save super bookmarks<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/sitecache/">sitecache/</a>&quot;:<a href="../offlinecache/index.html">offline cache</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/longclick/">longclick/</a>&quot;: menus to appear when long-pressing hypertext (js files)<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/icon/">icon/</a>&quot;:<a href="../icons/index.html">customized icons</a><br>
&quot;app[XXX]/&quot;:<a href="../html5/index.html">html5 applications</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.longclick">default.longclick</a>&quot;: to configure menus when long-pressing hypertext.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.uas">default.uas</a>&quot;:<a href="../searchurl/uas.html">user agents</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.urls">default.urls</a>&quot;:<a href="../urls/index.html">service urls</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.acmd">default.acmd</a>&quot;:<a href="../gnuplot/index.html">configure address bar functionalities</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/hosts">hosts</a>&quot;: for local <a href="../adblock_domain/index.html">domain name attributes</a>, only single space is allowed to separate ip address and domain name.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.hosts">default.hosts</a>&quot;:<a href="../adblock_hosts/index.html">hosts not allowed to visit</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.redirect">default.redirect</a>&quot;:<a href="../redirect/index.html">redirect websites</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.cmds">default.cmds</a>&quot;:<a href="../cmds/index.html">commands</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.link">default.link</a>&quot;:<a href="../links/index.html">links</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.rjs">default.rjs</a>&quot;:<a href="../rjs/index.html">Remote javascript</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.select">default.select</a>&quot;:<a href="../textprocess/index.html">menus for selected text</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.input">default.input</a>&quot;: common phrases for user inputs<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.gesture">default.gesture</a>&quot;: to define <a href="../gesture/index.html">gestures on the top part of the content window</a>. The file format is same as <a href="../links/index.html">default.link</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.gesture2">default.gesture2</a>&quot;: gestures on the right side similar to default.gesture.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.button">default.button</a>&quot;: to re-define button pressing functionalities. The file format is same as <a href="../links/index.html">default.link</a>, each line represents action from the last button to the first.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.button2">default.button2</a>&quot;: similar to default.button but for long-pressed buttons.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.filecap">default.filecap</a>&quot;:<a href="../filecap/index.html">custom file handling</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.rc">default.rc</a>&quot;: check the option &quot;custom file handling&quot; to execute the shell script file during uweb launching. <a href="../tools/index.html">tcron</a> provides extra cron tools.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.rc2">default.rc2</a>&quot;: check the option &quot;custom file handling&quot; to execute the shell script file when uweb returns to foreground.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/crontab">crontab</a>&quot;:<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/engine.search">engine.search</a>&quot;: to define quick search engines (pressing right arrow button to use next engine to search). The file format is similar to <a href="../search/index.html">home5.search</a> but using &quot;%s&quot; as search keywords. If the search engine urls in &quot;engine.search&quot; are video urls (without %s inside), the file will make uweb browser optimized for TV watching with remote control.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.siteconf">default.siteconf</a>&quot;: to save ua, js disabling, no-image mode, forbids 3rd-party resources (js and others), active scripts, global scripts for sites. Only save the difference to default ones.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.playrate">default.playrate</a>&quot;: fullscreen playing menu. The file format is same as <a href="../links/index.html">default.link</a>. Playing ratio menu items should have empty link parts such as &quot;.5x:&quot;, at least one such menu is required. All other menus must be put after playing ratio menus.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.autoc">default.autoc</a>&quot;: address bar autocomplete candidate strings.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/query.autoc">query.autoc</a>&quot;: home screen search autocomplete candidate strings.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/home5.html">home5.html</a>&quot;: user defined home screen. home6.mht(or .html or .search), home7.mht(or .html or .search) ... multiple home screen (pressing right arrow button to visit; home4.mht(or .html or .search), home3.mht(or .html or .search) ... (long pressing left arrow button to access).<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/home5.search">home5.search</a>&quot;:<a href="../search/index.html">search engines</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/home.css">home.css</a>&quot;: <span style="color:red">html</span> file for <a href="../bookmark/index.html">folder/home screen/bookmark styling</a>, so the css code needs to be inside &quot;&lt;style&gt;&quot; elements. Each &quot;home.css&quot; file is responsible for the current folder and its subfolders.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/bookmark.html">bookmark.html</a>&quot;: bookmarks<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/quickstart.html">quickstart.html</a>&quot;: <a href="../searchurl/quickstart.html">quick start</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/colors.txt">colors.txt</a>&quot;: background colors<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/default.css">default.css</a>&quot;: <a href="../sitejs/index.html">default CSS style for domains not defined in sitejs folder</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/night.css">night.css</a>&quot;: <a href="../globalcss/index.html">Night mode</a><br>
&quot;bookmarklet/videoplayer.js&quot;: <a href="../video/index.html">fullscreen video player</a><br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/types.sniff">types.sniff</a>&quot;: file types for resource sniffer<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/js.allow">js.allow</a>&quot;: 3rd-party resource white list. One domain per line.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/url.deny">url.deny</a>&quot;: one giant regular expression for blocked urls (java grammar). &quot;#&quot; to comment and carriage return (CR or new line) is ignored.<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/sniff.log">sniff.log</a>&quot;: resource sniffing result<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/history.rec">history.rec</a>&quot;: visiting history<br>
&quot;<a href="file:///data/data/info.torapp.uweb/files/query.rec">query.rec</a>&quot;: query history</p>
<p>&quot;<a href="file:///data/data/info.torapp.uweb/files/shortcut/">shortcut/</a>&quot;: dynamical shortcut, if not exist, then default to &quot;bookmark&quot;.</p>
</div>
<p>Last Modified: 9 December 2023<br>
add TV mode<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -102,8 +102,8 @@
<p>&quot;<a href="file:///data/data/info.torapp.uweb/files/shortcut/">shortcut/</a>&quot;: dynamical shortcut, if not exist, then default to &quot;bookmark&quot;.</p>
</div>
<p>Last Modified: 9 December 2023<br>
add TV mode<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,91 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Gestures</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Gestures
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>Swipe down from the top to show the address bar; swipe up to the top to hide the address bar. Swipe down to the bottom to hide the toolbar with option &quot;swipe to hide tools&quot;; swipe on the bottom corners to show the toolbar.</p>
<p>Swipe left/right near the toolbar to switch window; fling left/right to switch to the last/first window.</p>
<p>Swiping on the top part of content window (near the top address bar by default) triggers corresponding link in the file &quot;default.gesture&quot;, which has the same format as <a href="../links/index.html">default.link</a>.</p>
<p>The algorithm to match swiping gesture to a line in the file &quot;default.gesture&quot; is as follows:</p>
<ul>
<li>Divide the screen width to three parts evenly, assign each part with a number 0, 1, 2 respectively.</li>
<li>Assume &quot;s&quot; and &quot;e&quot; are the above defined numbers for the gesture start point and end point. Let &quot;linenumber = 3*s+e&quot; , if it is equal to 4 and the gesture's first direction is left, then change it to be 9.</li>
<li>For turning back and forth, add &quot;10&quot; each time.</li>
</ul>
<p>The final line number will match the corresponding line in &quot;default.gesture&quot;, 0 to the first line, ...</p>
<p>&quot;default.gesture2&quot; is for the right side gesturs and the algorithm is similar to &quot;default.gesture&quot;.</p>
<p>Example links:<br>
Toggle fullscreen::0003<br>
back:javascript:history.back()<br>
forward:javascript:history.forward()<br>
back2:javascript:history.go(-2)</p>
</div>
<p>Last Modified: 24 September 2022<br>
add en gesture.md<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -65,8 +65,8 @@ forward:javascript:history.forward()<br>
back2:javascript:history.go(-2)</p>
</div>
<p>Last Modified: 24 September 2022<br>
add en gesture.md<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,82 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>CSS styles</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">CSS styles
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p><a href="../en/">Uweb browser</a> loads all &quot;.css&quot; files under the folder &quot;css&quot; as global css. Click the following links to install global css files:</p>
<p><a href="i:0hcss/clearfont.css:../../zh/searchurl/txt/clearfont.css">Clearing font settings</a></p>
<p>The file &quot;night.css&quot; is used as night mode, click the following links to install one:<br>
<a href="i:0hnight.css:../../zh/searchurl/txt/night.css">webview 81+ night mode</a><br>
<a href="i:0hnight.css:../../zh/searchurl/txt/night_old.css">webview 80- night mode</a></p>
<h4 id="earliest-loaded-global-js">Earliest loaded global js</h4>
<p>The &quot;.js&quot; files under the folder &quot;css&quot; are loaded as earlier as possible on the page.</p>
</div>
<p>Last Modified: 20 April 2023<br>
support .js files under &#39;css&#39; folder<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -47,7 +47,7 @@
<ul class="tags">
</ul>
<p><a>Uweb browser</a> loads all &quot;.css&quot; files under the folder &quot;css&quot; as global css. Click the following links to install global css files:</p>
<p><a href="../../en/">Uweb browser</a> loads all &quot;.css&quot; files under the folder &quot;css&quot; as global css. Click the following links to install global css files:</p>
<p><a href="i:0hcss/clearfont.css:../../zh/searchurl/txt/clearfont.css">Clearing font settings</a></p>
<p>The file &quot;night.css&quot; is used as night mode, click the following links to install one:<br>
<a href="i:0hnight.css:../../zh/searchurl/txt/night.css">webview 81+ night mode</a><br>
@ -56,8 +56,8 @@
<p>The &quot;.js&quot; files under the folder &quot;css&quot; are loaded as earlier as possible on the page.</p>
</div>
<p>Last Modified: 20 April 2023<br>
support .js files under &#39;css&#39; folder<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,135 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Html5 applications</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Html5 applications
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>This page is for <a href="../en/">uweb browser</a>.<br>
Click to install the following html5 apps:<br>
<a target="_self" href="i:0happ/txtview.html:../../zh/searchurl/txt/txtview.html">Huge markdown file viewer</a><br>
<a target="_self" href="i:0happ/mdkatex.html:../../zh/searchurl/txt/mdkatex.html">Huge markdown+katex file viewer (Tex formulas)</a><br>
<a target="_self" href="i:0happ/markdeep.html:../../zh/searchurl/txt/markdeep.html">Huge markdeep file viewer (markdown, latex, diagram,graphviz etc.)</a><br>
<a target="_self" href="i:0happ/plyr.html:../../zh/searchurl/txt/plyr.cfg">plyr video player</a><br>
<a target="_self" href="i:0happ/dplayer.html:../../zh/searchurl/txt/dplayer.html">dplayer video player</a><br>
<a target="_self" href="i:0happ/pdfviewer.html:../../zh/searchurl/txt/pdfviewer.html">pdf viewer</a><br>
<a target="_self" href="i:0happ/epub.html:../../zh/searchurl/txt/epub.html">epub reader (authorllili)</a><br>
<a target="_self" href="i:0happ/djvu.html:../../zh/searchurl/txt/djvu.html">djvu viewer</a></p>
<p>The corresponding menus can be installed with <a href="../urls/index.html">url services</a>.</p>
<h4 id="features">Features</h4>
<p>The following mentioned subfolders locate in the configuration folder.</p>
<ul>
<li>
<p>The following html5 applications are allowed to read local files referred by &quot;https://local/sdcard/...&quot; where the &quot;/sdcard/..&quot; part is the full path of the file. The below applications <span style="color:red">can auto choose any files as file objects</span>.</p>
<ul>
<li>Locating in a subfolder whose name begins with &quot;app&quot; (such as &quot;appPDF&quot;)</li>
<li>&quot;https://local/...&quot; applications (only possible with the option &quot;<a href="../offlinecache/index.html">use offline resources</a>&quot; and installed under the folder &quot;sitecache/local/&quot;)</li>
</ul>
</li>
<li>
<p><span style="color:red">All files under the subfolder &quot;app&quot; can be automatically choosed as file objects by any web page</span>.</p>
</li>
<li>
<p><span style="color:red">Local files (including binary files) can be processed by appending &quot;?app=[html5 app url]&quot; to the file urls.</span> Ex. &quot;file:///..../xx.md?app=https://...../app.html&quot; loads &quot;app.html&quot; first, then &quot;app.html&quot; processes the local file.</p>
</li>
</ul>
<p>With the first approach, the html5 application is installed locally and can read any file allowed by the OS; while in the second approach, the html5 application can be either local or remote, and only files under the subfolder &quot;app&quot; can be accessed; The third approach allows easy access of other external resources (ex. local media).</p>
<h4 id="open-local-files-with-html5-apps">Open local files with html5 apps</h4>
<p>Click to configure <a href="../filecap/index.html">default.filecap</a> to open local files, and to open remote files with the option &quot;custom file handling&quot;:<br>
<a target="_self" href="i:0gdefault.filecap:../../zh/searchurl/txt/filecap.cfg">use pdf.js,djvu.js,epub.js, huge markdown viewer for local files</a></p>
<p>url examples are as follows:</p>
<ul>
<li>file:///data/user/0/info.torapp.uweb/files/app/pdfviewer.html?file=[path].pdf#page=[xxx]</li>
<li>file:///data/user/0/info.torapp.uweb/files/app/djvu.html?url=...xx.pdf#page=[xxx]</li>
<li>file:///data/user/0/info.torapp.uweb/files/app/txtview.html?url=[url]#page=[xxx]</li>
<li>file:///data/user/0/info.torapp.uweb/files/app/txtview.html?url=[url]#offset=[xxxx]&amp;[length]</li>
<li>file:///data/user/0/info.torapp.uweb/files/app/markdeep.html?url=[url]#page=[xxx]</li>
<li>file:///data/user/0/info.torapp.uweb/files/app/markdeep.html?url=[url]#offset=[xxxx]&amp;[length]</li>
</ul>
<p>Ex. &quot;#offset=10000&amp;500&quot; will retrieve 500 bytes from offset 10000. Click the right arrow button to next page in all above file viewers.</p>
<h4 id="configure-html5-app-subfolder-app-optional">Configure html5 app subfolder &quot;app&quot; (optional)</h4>
<p>By default, the subfolder &quot;app&quot; is created by clicking to install any of above html5 applications.</p>
<p>To make file management easier, users can symbolic link the subfolder &quot;app&quot; to any other locations as long as it is readable.</p>
<p>One way to configure &quot;app&quot; subfolder is as follows:</p>
<ul>
<li><a href="i:15d:text/plain:toybox mkdir -p /sdcard/Download/app;toybox ln -s /sdcard/Download/app 2>&1:">Click to copy the command to the address bar</a></li>
<li>Press the home screen button of uweb browser bottom toolbar, so the home screen appears.</li>
<li>If you want &quot;app&quot; to be locations other than &quot;/sdcard/Download/app&quot;, modify as you like.</li>
<li>Press &quot;enter&quot; on the address bar to execute the command.</li>
</ul>
<h4 id="mdict-dictionary-lookup-search-engines">mdict dictionary lookup search engines:</h4>
<p>Note: the following two mdict.html files are different.<br>
i:5ifile:///....../xxx.mdx,xxx.mdd?app=https://cdn.jsdelivr.net/gh/torappinfo/uweb/en/searchurl/mdict/mdict.html#word=%s</p>
<p>in which &quot;/.../xxx.mdx,xxx.mdd&quot; is the full path for the mdict dictionary files.</p>
<p>i:5ihttps://uwebzh.netlify.app/zh/searchurl/txt/mdict.html?file=mdict/xxx.mdx,mdict/xxx.mdd#word=%s</p>
<p>In the above mdict search engine string, the dictionary files (mdx, mdd) must locate in the &quot;app&quot; subfolder under the configuration folder. In above example, the files &quot;xxx.mdx&quot; and &quot;xxx.mdd&quot; locate in the folder &quot;.../app/mdict&quot;.</p>
<p>To make life easier, users can <a href="../acmd/index.html">link the &quot;app&quot; subfolder</a> to any public accessible folder.</p>
<p>Use the mdx scanning <a href="../bookmark/index.html">bookmark</a> to add mdict engines automatically, then cold start uweb browser to take effect.</p>
</div>
<p>Last Modified: 20 February 2023<br>
use relative path<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -47,7 +47,7 @@
<ul class="tags">
</ul>
<p>This page is for <a>uweb browser</a>.<br>
<p>This page is for <a href="../../en/">uweb browser</a>.<br>
Click to install the following html5 apps:<br>
<a target="_self" href="i:0happ/txtview.html:../../zh/searchurl/txt/txtview.html">Huge markdown file viewer</a><br>
<a target="_self" href="i:0happ/mdkatex.html:../../zh/searchurl/txt/mdkatex.html">Huge markdown+katex file viewer (Tex formulas)</a><br>
@ -109,8 +109,8 @@ i:5ifile:///....../xxx.mdx,xxx.mdd?app=https://cdn.jsdelivr.net/gh/torappinfo/uw
<p>Use the mdx scanning <a href="../bookmark/index.html">bookmark</a> to add mdict engines automatically, then cold start uweb browser to take effect.</p>
</div>
<p>Last Modified: 20 February 2023<br>
use relative path<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,79 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Toolbar customization</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Toolbar customization
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>If subfolder &quot;icon&quot; exists, then files named as &quot;0&quot;,&quot;1&quot;,&quot;2&quot;...<br>
are used for icons in the bottom toolbar. file &quot;0&quot; to replace the left arrow button, &quot;1&quot; for right arrow button, &quot;2&quot; for the setting button,&quot;3&quot; for the home screen button,...</p>
<p>If a new button is defined (file name &quot;20&quot; exists), uweb also supports VectorDrawable with &quot;android compiled XML&quot; format. All icon files must be either all compiled VectorDrawables or common image formats.</p>
<p>Note: The refresh and tab manager button can not be redefined.</p>
</div>
<p>Last Modified: 1 November 2022<br>
add flg for not following sys night mode<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -53,7 +53,7 @@ are used for icons in the bottom toolbar. file &quot;0&quot; to replace the left
<p>Note: The refresh and tab manager button can not be redefined.</p>
</div>
<p>Last Modified: 1 November 2022<br>
<p>Last Modified: 2 April 2024<br>
add flg for not following sys night mode<br>
<pre></pre>
</p>

View File

@ -6,216 +6,223 @@
<description>Recent content on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Tue, 02 Apr 2024 09:37:40 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 13:36:57 +0800</lastBuildDate>
<atom:link href="/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess.html</link>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess.html</guid>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:&#xA;Copy selected text with html format to clipboard&#xA;Search with home screen&#xA;google Translate&#xA;bing translate&#xA;deepL&#xA;The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:&#xA;[Name]:[mimetype]:[command line]&#xA;[mimetype] specifies input/output for [command line].</description>
</item>
<item>
<title>Links</title>
<link>/en/links.html</link>
<link>/en/links/</link>
<pubDate>Sat, 28 Oct 2023 00:00:00 +0000</pubDate>
<guid>/en/links.html</guid>
<guid>/en/links/</guid>
<description>Click the following links to install menus popped by long pressing the bookmark button (with star as icon):&#xA;Capture long screenshot (need long screenshot mode)&#xA;Select All:CTRL-A/undo:CTRL-Z/Redo:CTRL-Y&#xA;Extend site cookies to 10 years&#xA;Clear site cookies&#xA;VPN&#xA;Switch configuration&#xA;Wait for network msg&#xA;Certificate info&#xA;Backup to box.com&#xA;Restore from box.com&#xA;upload to box.com&#xA;More webdav link menu items&#xA;Web fullscreen&#xA;Long pressing the bookmark button in uweb browser will popup menus defined in file &amp;quot;default.</description>
</item>
<item>
<title>cron</title>
<link>/en/tcron.html</link>
<link>/en/tcron/</link>
<pubDate>Wed, 25 Oct 2023 00:00:00 +0000</pubDate>
<guid>/en/tcron.html</guid>
<guid>/en/tcron/</guid>
<description>crontab (with enhanced semantics) For performance, the file &amp;quot;crontab&amp;quot; uses single space as field separator. Letters are not suppored currently. So use &amp;quot;1&amp;quot; for &amp;quot;January&amp;quot; and 2 for &amp;quot;Tuesday&amp;quot; etc.&#xA;The sixth field in crontab file could be in the format of internal links. Specifically, &amp;quot;c:&amp;quot; to execute the following commands in termux and &amp;quot;!&amp;quot; to execute commands directly. If the sixth field is not in any of above formats, then the field will appear as the message of alarm clock.</description>
</item>
<item>
<title>Offline resources</title>
<link>/en/offlinecache.html</link>
<link>/en/offlinecache/</link>
<pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
<guid>/en/offlinecache.html</guid>
<guid>/en/offlinecache/</guid>
<description>Offline resources locate in the folder &amp;quot;sitecache&amp;quot;. With the option &amp;quot;use offline resources&amp;quot; enabled, the corresponding files in &amp;quot;sitecache/[domain name]/[full path including filename, the url path part]&amp;quot; are loaded first before reaching the network.&#xA;bingChat UI Install bingChat UI ai.html for censored area (bingChat UI)&#xA;Install bingWrite UI write.html for censored area (bingWrite)&#xA;Install bingAI image creator UI draw.html for censored area (bingAI image creator)&#xA;Serverless local sites Click to install url service that extracts web apps to the folder &amp;quot;sitecache/local/&amp;quot;: support web extensions (.</description>
</item>
<item>
<title>Resource redirection</title>
<link>/en/redirect.html</link>
<link>/en/redirect/</link>
<pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
<guid>/en/redirect.html</guid>
<guid>/en/redirect/</guid>
<description>Redirection forwards cookies with the setting option &amp;quot;Redirect cookies&amp;quot; enabled, so use the options with care.&#xA;Setting options: &amp;quot;Url redirection&amp;quot; vs. &amp;quot;Resource redirection&amp;quot; &amp;quot;Url redirection&amp;quot; redirects the main/page url only while &amp;quot;Resource redirection&amp;quot; is for all urls in the page.&#xA;Global redirection Global redirection is enabled with the setting option &amp;quot;Resource redirection&amp;quot; or both &amp;quot;Url redirection&amp;quot; and &amp;quot;Redirect cookies&amp;quot;.&#xA;When a valid global redirection url is set, the &amp;quot;default.redirect&amp;quot; has no effect, and any url resource is fetched with the new url by appending the original url to the global redirection url.</description>
</item>
<item>
<title>Hosts files</title>
<link>/en/adblock_domain.html</link>
<link>/en/adblock_domain/</link>
<pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate>
<guid>/en/adblock_domain.html</guid>
<guid>/en/adblock_domain/</guid>
<description>The enhanced hosts files &amp;quot;hosts&amp;quot; and &amp;quot;default.hosts&amp;quot; take effect with the setting option &amp;quot;use hosts&amp;quot;.&#xA;hosts The enhanced file &amp;quot;hosts&amp;quot; defines IP addresses/attributes for domains. Each line has the following format:&#xA;[[IP address][attributes]][single space][domain name]&#xA;where &amp;quot;[[IP address][attributes]]&amp;quot; could be:&#xA;ipv4 address such as:&#xA;172.67.157.211 torapp.eu.org&#xA;ipv6 address, Ex.:&#xA;[2606:4700:3037::6815:8c3] torapp.eu.org&#xA;empty, that would lift all server-imposed limitations. Ex.:&#xA;[single space]gitee.com&#xA;which will make all git repositories on the domain visitable as websites with raw file access url.</description>
</item>
<item>
<title>Search engines</title>
<link>/en/search.html</link>
<link>/en/search/</link>
<pubDate>Tue, 07 Mar 2023 00:00:00 +0000</pubDate>
<guid>/en/search.html</guid>
<guid>/en/search/</guid>
<description>AI:&#xA;consensus:https://consensus.app/results/?synthesize=on&amp;amp;q=&#xA;youChat:https://you.com/search?tbm=youchat&amp;amp;q=&#xA;youWrite:https://you.com/search?tbm=youwrite&amp;amp;q=&#xA;youImagine:https://you.com/search?tbm=imagine&amp;amp;q=&#xA;you:https://you.com/search?q=&#xA;perplexity:https://www.perplexity.ai/?q=&#xA;phind:https://www.phind.com/search?q=&#xA;medisearch:https://medisearch.io/results/&#xA;Recommended engines (click or append any of the following to the file &amp;quot;home5.search&amp;quot;)&#xA;Engines:i:40%s_00&#xA;bing image:http://bing.com/images/search?q=&#xA;google image:http://www.google.com/images?as_q=&#xA;flickr:http://www.flickr.com/photos/tags/&#xA;Yandex image:https://yandex.com/images/search?text=&#xA;wiki:https://en.wikipedia.org/wiki/Special:Search?search=&#xA;wikipedia:http://en.wikipedia.org/?search=&#xA;wikifull:http://en.wikipedia.org/wiki/Special:Search?fulltext=Search&amp;amp;search=&#xA;Youtube:https://www.youtube.com/results?search_query=&#xA;eBay:https://www.ebay.com/sch/i.html?_nkw=&#xA;Quora:https://www.quora.com/search?q=&#xA;Pinterest:https://www.pinterest.com/search/pins/?q=&#xA;LinkedIn:https://www.linkedin.com/search/results/all/?keywords=&#xA;Netflix:https://www.netflix.com/search?q=&#xA;Spotify:https://open.spotify.com/search/&#xA;Medium:https://medium.com/search?q=&#xA;TripAdvisor:https://www.tripadvisor.com/Search?q=&#xA;incaption:https://incaptions.com/&#xA;answer:http://mobile.answers.com/&#xA;twitter:https://twitter.com/search?q=&#xA;Facebook:https://www.facebook.com/search/str/%s/keywords_search&#xA;Instagram:https://www.instagram.com/explore/tags/%s/&#xA;social-search:https://www.social-searcher.com/social-buzz/?q5=&#xA;reddit:http://reddit.com/search?q=&#xA;boardreader:https://boardreader.com/s/%s.html&#xA;bingvideo:https://www.bing.com/videos/search?q=&#xA;vsearch:https://www.vsearch.me/s?q=&#xA;crowdview:https://crowdview.ai/search?q=&#xA;groups:http://groups.google.com/groups/search?q=&#xA;wolfram:https://www.wolframalpha.com/input/?i=&#xA;fxsolver:https://www.fxsolver.com/browse/?q=&#xA;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&#xA;annas-archive:https://annas-archive.org/search?q=&#xA;libgen:http://gen.lib.rus.ec/search.php?req=&#xA;google_file:https://google.com/search?q=intitle:index.of+%22parent+directory%22+&#xA;apkcombo:https://apkcombo.com/search/&#xA;Note: &#34;Engines&#34; needs file &#34;engine.search&#34;whose format is same as &#34;</description>
</item>
<item>
<title>JS/CSS/HTML/preprocessing for domains</title>
<link>/en/sitejs.html</link>
<link>/en/sitejs/</link>
<pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/sitejs.html</guid>
<guid>/en/sitejs/</guid>
<description>Javascript (load when page completes, earliest loaded JS should use sitecss). Need to be named as &amp;quot;[domain root].js&amp;quot;, such as &amp;quot;yahoo.com.js&amp;quot; or &amp;quot;finance.yahoo.com.js&amp;quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded. Script must be put under the folder &amp;quot;sitejs&amp;quot; or &amp;quot;/data/data/info.torapp.uweb/files/sitejs&amp;quot;. The later folder has the priority. Long press the button &amp;quot;settings&amp;quot;, check the option &amp;quot;Run user scripts&amp;quot;.</description>
</item>
<item>
<title>Bookmarks</title>
<link>/en/bookmark.html</link>
<link>/en/bookmark/</link>
<pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/bookmark.html</guid>
<guid>/en/bookmark/</guid>
<description>AI, chatgpt etc.&#xA;google gemini komo andi devv.ai poe freegpt teach-anything magickpen Wait for url from other devices&#xA;berify: reverse image search for video&#xA;Tips File handling and styling with home.css &amp;quot;home.css&amp;quot; (in current folder, parent folder or the &amp;quot;bookmark&amp;quot; folder) styles bookmarks, search engines and the folder itself. The file is in html format instead of CSS, so it needs &amp;quot;&amp;lt;style&amp;gt;&amp;quot; tag for CSS.&#xA;Install markdeep styling for markdown files</description>
</item>
<item>
<title>Tips</title>
<link>/en/tips.html</link>
<link>/en/tips/</link>
<pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/tips.html</guid>
<guid>/en/tips/</guid>
<description>Text processing for clipboard data:&#xA;On home screen, pressing the sharing button of the bottom toolbar popups the text processing menu for clipboard data.&#xA;To show web pages in desktop mode:&#xA;PC button + option &amp;quot;wide viewport&amp;quot; + global js &amp;quot;force page resizable&amp;quot;.&#xA;Playing audio when screen off&#xA;Option &amp;quot;Floating video&amp;quot; + video fullscreen playing&#xA;Multiple home screens and Next/Prev page:&#xA;home5.html, home6.mht(or .html or .search), home7.mht(or .html or .search), .</description>
</item>
<item>
<title>Address bar command line</title>
<link>/en/acmd.html</link>
<link>/en/acmd/</link>
<pubDate>Sun, 08 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/acmd.html</guid>
<guid>/en/acmd/</guid>
<description>&amp;quot;:!&amp;quot; ( or &amp;quot;!&amp;quot;) command line Pressing &amp;quot;:&amp;quot; or &amp;quot;!&amp;quot; with hardware keyboard sets focus on the address bar.&#xA;The command line could be a &amp;quot;.js&amp;quot;, &amp;quot;.sh&amp;quot; or other executable with arguments. Ex. &amp;quot;:!s g keyword&amp;quot; could invoke &amp;quot;s.js&amp;quot; executable with the whole string as arguments (&amp;quot;s.sh&amp;quot; or &amp;quot;s&amp;quot; if file exists, here &amp;quot;g&amp;quot; as google search engine); &amp;quot;:! g keyword&amp;quot; would invoke the file &amp;quot;.js&amp;quot; or &amp;quot;.sh&amp;quot; as executable.</description>
</item>
<item>
<title>Make any url as website</title>
<link>/en/url2site.html</link>
<link>/en/url2site/</link>
<pubDate>Sun, 30 Oct 2022 00:00:00 +0000</pubDate>
<guid>/en/url2site.html</guid>
<guid>/en/url2site/</guid>
<description>The uweb internal link &amp;quot;i:0m&amp;quot; make any url such as download or indirect link visitable as a website. The test mirrors in the uweb manual are examples using the following tricks:&#xA;&amp;quot;i:0m04:[url]&amp;quot;: to treat the [url] content as html with bookmarklet. &amp;quot;i:0m?:[url]&amp;quot;: to treat the [url] content as html, handling css/js properly. &amp;quot;i:0m?[postfix]:[url]&amp;quot;: auto append query postfix to url to retrieve content. &amp;quot;i:0mi:5h:[url]&amp;quot;: similar to &amp;quot;i:0m?:[url]&amp;quot;, to treat the [url] content as html (for download or no-script links etc.</description>
</item>
<item>
<title>Html5 applications</title>
<link>/en/html5.html</link>
<link>/en/html5/</link>
<pubDate>Sun, 02 Oct 2022 00:00:00 +0000</pubDate>
<guid>/en/html5.html</guid>
<guid>/en/html5/</guid>
<description>This page is for uweb browser.&#xA;Click to install the following html5 apps:&#xA;Huge markdown file viewer&#xA;Huge markdown+katex file viewer (Tex formulas)&#xA;Huge markdeep file viewer (markdown, latex, diagram,graphviz etc.)&#xA;plyr video player&#xA;dplayer video player&#xA;pdf viewer&#xA;epub reader (authorllili)&#xA;djvu viewer&#xA;The corresponding menus can be installed with url services.&#xA;Features The following mentioned subfolders locate in the configuration folder.&#xA;The following html5 applications are allowed to read local files referred by &amp;quot;https://local/sdcard/.</description>
</item>
<item>
<title>Downloads</title>
<link>/en/changelog.html</link>
<link>/en/changelog/</link>
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
<guid>/en/changelog.html</guid>
<guid>/en/changelog/</guid>
<description>Amazon appstore&#xA;Galaxy.Store&#xA;uweb, termux &amp;amp; history versions&#xA;github&#xA;sourceforge&#xA;powerfolder&#xA;udrop&#xA;pagure&#xA;mcbebbs&#xA;Main features Change logs 1038: support chatBot as search engine with url &amp;quot;i:0/js/hash2textarea.js:https://XXX&amp;quot;&#xA;1036: TV mode: reuse &amp;quot;engine.search&amp;quot; as live TV channel urls.&#xA;1034: click share button on homescreen to process clipboard text.&#xA;1030: Allow downloading with global redirection&#xA;1026: Test automation: enable i:0 urls in scripting mode&#xA;1017: crontab alarm clock and links as sixth field.</description>
</item>
<item>
<title>Configuration</title>
<link>/en/sitemap.html</link>
<link>/en/sitemap/</link>
<pubDate>Thu, 28 Jul 2022 00:00:00 +0000</pubDate>
<guid>/en/sitemap.html</guid>
<guid>/en/sitemap/</guid>
<description>Check for updates&#xA;UI Search engines Home screens UI (gitee) webdav install-able menu generator Customization Long pressing menus for toolbar buttons User agents Javascript Url services Links Commands Remote javascript Menu for selections Menu for long pressing hypertext Toolbar Gestures Address bar command modes Advanced Advanced Content AD blocking CSS styles Redirection Offline cache JS/CSS/HTML/preprocessing for domains Any urls as website Tools Bookmarklets Cron &amp;amp; more Custom file handling Html5 application Termux Info Manual Tips Configuration files Bookmarks </description>
</item>
<item>
<title>Configuration folders/files</title>
<link>/en/filenames.html</link>
<link>/en/filenames/</link>
<pubDate>Thu, 30 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/filenames.html</guid>
<guid>/en/filenames/</guid>
<description>All folders end with character &amp;quot;/&amp;quot; and others are files. All folders/files locate in &amp;quot;/data/data/info.torapp.uweb/files&amp;quot;:&#xA;&amp;quot;css/&amp;quot;: global css folder&#xA;&amp;quot;js/&amp;quot;: global script folder&#xA;&amp;quot;sitejs/&amp;quot;: script folder for domains&#xA;&amp;quot;sitecss/&amp;quot;:CSS folder for domains&#xA;&amp;quot;bookmarklet/&amp;quot;:bookmarklets, long pressing the &amp;quot;JS&amp;quot; button to execute.&#xA;&amp;quot;offline/&amp;quot;: to save offline pages&#xA;&amp;quot;sbookmark/&amp;quot;: to save super bookmarks&#xA;&amp;quot;sitecache/&amp;quot;:offline cache&#xA;&amp;quot;longclick/&amp;quot;: menus to appear when long-pressing hypertext (js files)&#xA;&amp;quot;icon/&amp;quot;:customized icons&#xA;&amp;quot;app[XXX]/&amp;quot;:html5 applications&#xA;&amp;quot;default.longclick&amp;quot;: to configure menus when long-pressing hypertext.</description>
</item>
<item>
<title>AD blocking</title>
<link>/en/adblock.html</link>
<link>/en/adblock/</link>
<pubDate>Sat, 25 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/adblock.html</guid>
<guid>/en/adblock/</guid>
<description>Host blocking。&#xA;Use bookmarklet &amp;quot;list all script urls&amp;quot; to generate url links, long pressing dubious script (usually 3rd-party library) link, click &amp;quot;Block domain root&amp;quot;. Javascript and CSS for domains。&#xA;Long press the button &amp;quot;js&amp;quot;, click the menu &amp;quot;MarkAD mode&amp;quot;. In &amp;quot;markAD mode&amp;quot;, click page element to show all attributes and generate CSS AD blocking styles. By default, &amp;quot;display:none&amp;quot; is used. If &amp;quot;display&amp;quot; appears in the attribute information, recommend to use &amp;quot;transform:scale(0)!</description>
</item>
<item>
<title>Bookmarklets</title>
<link>/en/bookmarklet.html</link>
<link>/en/bookmarklet/</link>
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/bookmarklet.html</guid>
<description>With a href=&amp;quot;../index.html&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
<guid>/en/bookmarklet/</guid>
<description>With a href=&amp;quot;../index.html#&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
</item>
<item>
<title>Url services</title>
<link>/en/urls.html</link>
<link>/en/urls/</link>
<pubDate>Fri, 10 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/urls.html</guid>
<guid>/en/urls/</guid>
<description>Click the following links to install url services with uweb browser. Force exit and re-launch the app, then long press the &amp;quot;image&amp;quot; button to popup the menu.&#xA;Fullscreen video:i:5f&#xA;Redirect/edit:e:&#xA;Save2autocomplete:i:51:&#xA;Bookmark:i:52:&#xA;Note:i:53:&#xA;Save engine:i:54:&#xA;Save link:i:55:&#xA;Save to desktop:i:58&#xA;Add to media storage::001&#xA;Extract web app:i:0bsitecache/local/:&#xA;tgurl:https://tx.me/share/url?url=&#xA;tgdownload:https://tx.me/share/url?url=../download Compatible mode:i:5d&#xA;papago:https://papago.naver.net/website?locale=en&amp;amp;target=en&amp;amp;url=&#xA;google translate:https://translate.google.com/translate?sl=auto&amp;amp;tl=en&amp;amp;u=&#xA;Source:view-source:&#xA;outline:https://www.outline.com/&#xA;2pdf:https://www.web2pdfconvert.com#&#xA;printfriendly:https://www.printfriendly.com/print/?url=&#xA;htmlview:https://htmlview.glitch.me/?&#xA;htmlpreview:https://htmlpreview.github.io/?&#xA;webarchive:https://web.archive.org/web/*/&#xA;archive:https://archive.is/?run=1&amp;amp;url=&#xA;googlecache:http://webcache.googleusercontent.com/search?q=cache:&#xA;google by image:https://www.google.com/searchbyimage?safe=off&amp;amp;image_url=&#xA;tinyeye:https://tineye.com/search?url=&#xA;Yandex by image:https://yandex.com/images/search?family=yes&amp;amp;rpt=imageview&amp;amp;url=</description>
</item>
<item>
<title>Commands</title>
<link>/en/cmds.html</link>
<link>/en/cmds/</link>
<pubDate>Thu, 02 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/cmds.html</guid>
<guid>/en/cmds/</guid>
<description>Click the following links to install commands with uweb browser. Force exit and re-launch the app, then long press the button with clock icon to popup the command menu.&#xA;Configuration file &amp;quot;default.cmds&amp;quot; examples:&#xA;Clear data::toybox find /data/data/info.torapp.uweb/app_webview ! -name &#39;Cookies&#39; ! -name &#39;*.cjar&#39; -type f -delete&#xA;Clear database::rm -rf /data/data/info.torapp.uweb/databases/*&#xA;Append query to autocomplete:uweb:cd /data/data/info.torapp.uweb/files;cat default.autoc query.log|toybox sort|toybox uniq -i&amp;gt;a.tmp;mv a.tmp default.autoc;&amp;gt;query.log;echo file:///data/data/info.torapp.uweb/files/default.autoc&#xA;Clear cache::toybox rm -rf /data/data/info.torapp.uweb/cache&#xA;Clear logcat::logcat -c</description>
</item>
<item>
<title>Execute javascript codes</title>
<link>/en/rjs.html</link>
<link>/en/rjs/</link>
<pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/rjs.html</guid>
<guid>/en/rjs/</guid>
<description>javascript for domains&#xA;Earliest loaded global javascript files locates in the subfolder &amp;quot;css&amp;quot; of app private folder.&#xA;Global javascript files locates in the subfolder &amp;quot;js&amp;quot; of app private folder. Long press button [☰] to configure. Click the following links to install:&#xA;&amp;lt;a target=_self&amp;quot; href=&amp;quot;i:0hjs/savePassword.js:../../zh/searchurl/txt/passwdsave.js&amp;quot;&amp;gt;Save password&#xA;Instant page&#xA;large size javascript code can be installed to the folder &amp;quot;bookmarklet&amp;quot; (long pressing button &amp;quot;js&amp;quot; to popup menu):&#xA;google translation&#xA;Eruda&#xA;Performance&#xA;Note: Bookmarklets whose names begin with &amp;quot;!</description>
</item>
<item>
<title>CSS styles</title>
<link>/en/globalcss.html</link>
<link>/en/globalcss/</link>
<pubDate>Sun, 03 Apr 2022 00:00:00 +0000</pubDate>
<guid>/en/globalcss.html</guid>
<guid>/en/globalcss/</guid>
<description>Uweb browser loads all &amp;quot;.css&amp;quot; files under the folder &amp;quot;css&amp;quot; as global css. Click the following links to install global css files:&#xA;Clearing font settings&#xA;The file &amp;quot;night.css&amp;quot; is used as night mode, click the following links to install one:&#xA;webview 81+ night mode&#xA;webview 80- night mode&#xA;Earliest loaded global js The &amp;quot;.js&amp;quot; files under the folder &amp;quot;css&amp;quot; are loaded as earlier as possible on the page.</description>
</item>
<item>
<title>Toolbar customization</title>
<link>/en/icons.html</link>
<link>/en/icons/</link>
<pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
<guid>/en/icons.html</guid>
<guid>/en/icons/</guid>
<description>If subfolder &amp;quot;icon&amp;quot; exists, then files named as &amp;quot;0&amp;quot;,&amp;quot;1&amp;quot;,&amp;quot;2&amp;quot;...&#xA;are used for icons in the bottom toolbar. file &amp;quot;0&amp;quot; to replace the left arrow button, &amp;quot;1&amp;quot; for right arrow button, &amp;quot;2&amp;quot; for the setting button,&amp;quot;3&amp;quot; for the home screen button,...&#xA;If a new button is defined (file name &amp;quot;20&amp;quot; exists), uweb also supports VectorDrawable with &amp;quot;android compiled XML&amp;quot; format. All icon files must be either all compiled VectorDrawables or common image formats.</description>
</item>
<item>
<title>Search engine files</title>
<link>/en/searchcat.html</link>
<link>/en/searchcat/</link>
<pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
<guid>/en/searchcat.html</guid>
<guid>/en/searchcat/</guid>
<description>Any &amp;quot;.search&amp;quot; file can be opened as search engine file, each line of which has one of the following formats:&#xA;[Engine name]:[url without &#39;%s&#39; inside]&#xA;[Engine name]:[url with &#39;%s&#39; as keyword]&#xA;[Engine name]:POST:[post params with &#39;%s&#39; as keyword]:[url]&#xA;[Engine name]:[Extra request headers]:[post params with &#39;%s&#39; as keyword]:[url]&#xA;[Extra request headers] Ex. &amp;quot;X-Forwarded-For;8.8.8.8&amp;quot; when [post params] is empty, the url should have &#39;%s&#39; as keyword. Ex. bingUS engine w/ chatgpt Limitations (they are here for performance reasons):</description>
</item>
<item>
<title>Termux</title>
<link>/en/termux.html</link>
<link>/en/termux/</link>
<pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate>
<guid>/en/termux.html</guid>
<guid>/en/termux/</guid>
<description>Only the termux versions provided along with uweb browser can work seamlessly. For android 10+, please install termux before installing uweb browser. If uweb is already installed, users can uninstall it first, then install termux and reinstall uweb browser.&#xA;Termux bookmarks Long pressing the following links then either &amp;quot;commands&amp;quot;-&amp;gt;&amp;quot;bookmark&amp;quot; to add bookmarks or &amp;quot;open in new tab&amp;quot; to execute.&#xA;GNU bc (basic calculator)&#xA;bc with all extensions&#xA;Click the following links to install termux configurations: .</description>
</item>
<item>
<title>Long pressed link menu</title>
<link>/en/longclick.html</link>
<link>/en/longclick/</link>
<pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate>
<guid>/en/longclick.html</guid>
<guid>/en/longclick/</guid>
<description>To run commands Each line of file &amp;quot;default.longclick&amp;quot; has the following format: (same as default.cmds)&#xA;[Name]:[mimetype]:[command line]&#xA;in which [command line] can have &amp;quot;%c&amp;quot; (cookie), &amp;quot;%u&amp;quot; (current url), &amp;quot;%t&amp;quot; (title) etc.&#xA;To visit url and load javascript file All &amp;quot;.js&amp;quot; files under the folder &amp;quot;longclick&amp;quot; are part of the popup menu.&#xA;These javascript files are in the following format:&#xA;The very first line can begin with &amp;quot;//&amp;quot; followed by website url that can have &amp;quot;%u&amp;quot; (current url), &amp;quot;%t&amp;quot; (title) etc.</description>
</item>
<item>
<title>Tools</title>
<link>/en/tools.html</link>
<link>/en/tools/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tools.html</guid>
<guid>/en/tools/</guid>
<description>This page is for uweb browser.&#xA;install tdict_local (search with local indexes and remote content) Click to install the following local indexes with corresponding search engines (for test only).&#xA;install the indexes for &amp;quot;American heritage dictionary (en-en&amp;amp;zh with AHD/D.J./K.K. pronunciation)&amp;quot;&#xA;Install AHD to home screen&#xA;Indexes for &amp;quot;研究社新編英和活用大辞典(English usage: en-en&amp;amp;ja)&amp;quot;&#xA;Install &amp;quot;English usage (en-en&amp;amp;ja)&amp;quot;&#xA;Indexes for SOED6&#xA;install SOED&#xA;The following dictionaries work better with markdown processor.&#xA;Install markdown processor</description>
</item>
<item>
<title>Custom file handling</title>
<link>/en/filecap.html</link>
<link>/en/filecap/</link>
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
<guid>/en/filecap.html</guid>
<guid>/en/filecap/</guid>
<description>Long press the settings button, check the option &amp;quot;custom file handling&amp;quot; to enable the functionality.&#xA;The custom file handling configuration file is &amp;quot;default.filecap&amp;quot;, each line of it has the format as follows:&#xA;[file extension]:[mimetype]:[command line]&#xA;The &amp;quot;[file extension]&amp;quot; part can have at most two-segment of extensions such as &amp;quot;txt.xz&amp;quot;,&amp;quot;html.gz&amp;quot;.&#xA;&amp;quot;[mimetype]&amp;quot; indicates the type of &amp;quot;[command line]&amp;quot; output.&#xA;&amp;quot;[command line]&amp;quot; is same as the one in default.cmds. The most often used replacements are:</description>
</item>
<item>
<title>Gestures</title>
<link>/en/gesture.html</link>
<link>/en/gesture/</link>
<pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate>
<guid>/en/gesture.html</guid>
<guid>/en/gesture/</guid>
<description>Swipe down from the top to show the address bar; swipe up to the top to hide the address bar. Swipe down to the bottom to hide the toolbar with option &amp;quot;swipe to hide tools&amp;quot;; swipe on the bottom corners to show the toolbar.&#xA;Swipe left/right near the toolbar to switch window; fling left/right to switch to the last/first window.&#xA;Swiping on the top part of content window (near the top address bar by default) triggers corresponding link in the file &amp;quot;default.</description>
</item>
<item>
<title></title>
<link>/en/readme.html</link>
<link>/en/mirrors/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/en/readme.html</guid>
<guid>/en/mirrors/</guid>
<description>Mirrors (clickable with uweb browser) 试验1&#xA;2&#xA;4&#xA;5&#xA;6&#xA;7&#xA;8&#xA;9&#xA;10&#xA;11&#xA;12&#xA;13&#xA;14&#xA;15&#xA;16&#xA;17&#xA;18&#xA;19&#xA;20&#xA;gitly&#xA;gitnet&#xA;palemoon&#xA;tilde&#xA;dotclear&#xA;minetest&#xA;chapril&#xA;cryto&#xA;antopie&#xA;Repositories gitlab&#xA;sourceforge&#xA;github&#xA;bitbucket&#xA;codeberg&#xA;gitee&#xA;gitcode&#xA;gitcode&#xA;atomgit&#xA;gitlink&#xA;gitgud&#xA;disroot&#xA;gitea&#xA;notabug&#xA;framagit&#xA;agit&#xA;froggi&#xA;gitdab&#xA;pagure&#xA;dagshub&#xA;gitnet&#xA;palemoon&#xA;tilde&#xA;dotclear&#xA;mimetest&#xA;chapril&#xA;cryto&#xA;antopie</description>
</item>
<item>
<title></title>
<link>/en/readme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/en/readme/</guid>
<description>Uweb browser: unlimited power 中文&#xA;Amazon appstore&#xA;Galaxy.Store&#xA;Downloads&#xA;Uweb browser: downloads, plugins and tips&#xA;(Mirrors: gitlab codeberg repo 4everland fleek netlify surge kinsta bitbucket pages vercel render&#xA;More...)&#xA;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>
</channel>

View File

@ -1,336 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Links</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Links
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>Click the following links to install menus popped by long pressing the bookmark button (with star as icon):<br>
<a href="i:0gdefault.link::Capture::ccapture%0A">Capture long screenshot</a> (need <a href="i:61:../searchurl/func.html">long screenshot mode</a>)</p>
<p><a href="i:0gdefault.link:../searchurl/txt/link.cfg">Select All:CTRL-A/undo:CTRL-Z/Redo:CTRL-Y</a><br>
<a href="i:0gdefault.link::Extend cookies::0cc;Max-Age=315360000%0A">Extend site cookies to 10 years</a><br>
<a href="i:0gdefault.link::Clear cookies::0cc;Max-Age=0%0A">Clear site cookies</a></p>
<p><a href="i:0gdefault.link::vpn:i:1dandroid.net.vpn.SETTINGS:::%0A">VPN</a></p>
<p><a href="i:0gdefault.link::profile_config::cprofile . files .conf%0A">Switch configuration</a></p>
<p><a href="i:0gdefault.link::Wait msg:i:1w%0A">Wait for network msg</a></p>
<p><a href="i:0gdefault.link::Certificate info:i:1c%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="../en/">uweb browser</a> will popup menus defined in file &quot;default.link&quot;. The file format is as follows:<br>
[Menu name]:[one or more links delimited by &quot; \n &quot;]</p>
<p>and each link has the following format:<br>
[url][space][javascript code]</p>
<p>in which space and later parts are optional. url and later parts support <a href="../cmd/index.html">&quot;%u&quot;,&quot;%s&quot; etc.</a>. The javascript code will be executed after url is fully loaded.</p>
<p>url supports all standard scheme (http(s):,javascript: etc.) and uweb internal schemes ( ':' as second character in the url ) and special links that begins with ':'.</p>
<p>uweb browser will handle local file urls (file:///) specially for some file types</p>
<ul>
<li>.js file(same as <a href="../longclick/index.html">long pressing hypertext to execute js file</a>): If the &quot;.js&quot; file begins with &quot;//&quot;, then uweb browser will load the site following &quot;//&quot; and execute the following js code.</li>
</ul>
<p>If the above mentioned [links] part is malformated, then it is auto detected as html or text.</p>
<p><a href="../gesture/index.html">default.gesture</a> and default.button have the exactly same file format. &quot;.gesture&quot; files define gestures while &quot;.button&quot; define bottom toolbar button pressing actions from the last button to the first.</p>
<p>proxy config:<br>
httpproxy::010[proxy host]:[port]<br>
socks5::011[socks host]:[port]<br>
noproxy::010:</p>
<h3 id="special-links-beginning-with-">special links beginning with ':'</h3>
<ul>
<li>
<p>:0003<br>
Toggle fullscreen mode</p>
</li>
<li>
<p>:0004<br>
Rotate the screen</p>
</li>
<li>
<p>:001[fileurl]<br>
Scan the fileurl and add it to media storage</p>
</li>
<li>
<p>:010[proxy host]:[port]<br>
Config http proxy, &quot;:010:&quot; to disable any proxy.</p>
</li>
<li>
<p>:011[socks host]:[port]<br>
Socks proxy</p>
</li>
<li>
<p>:0cc[url1]:[url2][:;[cookie attributes]]<br>
cookie copy from url1 to url2, the last part &quot;[:;[cookie attributes]]&quot; is optionable.</p>
</li>
</ul>
<h4 id="commands">commands</h4>
<ul>
<li>
<p>:![command line]<br>
The command line could be a &quot;.js&quot;, &quot;.sh&quot; or other executable with arguments. Ex. &quot;:!s g keyword&quot; could invoke &quot;s.js&quot; executable with the whole string as arguments (&quot;s.sh&quot; or &quot;s&quot; if file exists, here &quot;g&quot; as google search engine); &quot;:! g keyword&quot; would invoke the file &quot;.js&quot; or &quot;.sh&quot; as executable.</p>
<p>For regular (non-js) executables, the standard output of the command line will be treated as lines of web urls.</p>
<p><a href="i:0hs.sh:../searchurl/txt/web.sh">Click to install the example file &quot;s.sh&quot;</a><br>
<a href="i:0h.js:../searchurl/txt/web.js">Click to install the example file &quot;.js&quot;</a></p>
</li>
<li>
<p>:c[command]</p>
<ul>
<li>close<br>
&quot;:cclose&quot; to close the current window/tab.</li>
<li>profile [parent folder] [file/folder] [optional ID]<br>
Ex. &quot;:cprofile . files&quot; to switch configurations</li>
</ul>
</li>
<li>
<p>:p [width in milliInch]x[height] [top margin]:[right margin]:[bottom margin]:[left margin]<br>
Generate/Print PDF file in the &quot;/sdcard/Download&quot; folder, all units are milliinch.<br>
Ex. &quot;:p x&quot; or &quot;:px&quot; for screen width and infinite height (as long vector screenshot).<br>
&quot;:p x[height]&quot; or &quot;:px[height]&quot; for screen width.</p>
</li>
</ul>
<h3 id="i-internal-links">&quot;i:&quot; internal links:</h3>
<ul>
<li>
<p>i:0b[path]:[url]<br>
Extract remote content (tar/tgz/zip) under the folder [path]. If [path] ends with &quot;/&quot;, then put unzipped file under the folder &quot;[path]/[file name stem]&quot; (for zipped files only, not for tar/tgz).</p>
</li>
<li>
<p>i:0m[bookmarklet index|prefix|?postfix|/.../localfile|H[headers]|c[cssFlag]]:[url]<br>
Visiting url and execute the uweb browser internal bookmarklet that keeps valid for all urls under the path of [url].</p>
<ul>
<li>[bookmarklet index] must have two/three digits. The first two digits are used as index of bootmarklet. For example, &quot;00&quot; as the first local bookmarklet; &quot;01&quot; as the first remote script; then &quot;02&quot; as the second local bookmarklet, ... The third digit is uplevel, 1 to make bookmarklet valid for parent path of [url].</li>
<li>c[cssFlag]: For example, &quot;c12&quot; will apply the third and fourth global CSS (12=2^2+2^3).</li>
<li>H[headers]: Ex. &quot;HX-Forwarded-For;8.8.8.8&quot; adds extra http request header &quot;X-Forwarded-For:8.8.8.8&quot;.</li>
<li>[?postfix]: the real visited url is &quot;[url]+[?postfix]&quot;.</li>
<li>[/.../localfile]: load the local html/js file that processes [url]. The first character of the local html file must be &quot;&lt;&quot;.</li>
<li>All other cases will be treated as [prefix], the real visited url is &quot;[prefix]+[url]&quot;.</li>
<li>Since <a href="../rjs/index.html">activated scripts</a> use internal mechanism of &quot;i:0m&quot; urls, the script itself cannot have 'H', '?' as its very first character.</li>
</ul>
</li>
<li>
<p>i:15[string]<br>
Set address bar text to be [string].</p>
</li>
<li>
<p>i:16[mimetype]:[Action Name]:[App Name]:[Activity Name]<br>
Use third party app as input</p>
</li>
<li>
<p>i:18[extended mimetype]:[range]:[url]<br>
Read partial data from url.<br>
<range>: the format is same as related http header, such as &quot;500-1000,-300&quot;.<br>
<extended mimetype>: standard mimetype or mimetype followed by &quot;.<filename>&quot;. In the later case, the file in uweb configuration folder will be appended to the fetched data.</p>
</li>
<li>
<p>i:19[string]<br>
Append [string] to the address bar text.</p>
</li>
<li>
<p>i:1c<br>
Show web certificate.</p>
</li>
<li>
<p>i:1d<action>:<type>:<Category>:<data><br>
Launch app for specific <action>.</p>
</li>
<li>
<p>i:1w<br>
Wait to receive url from the network and open the url.</p>
</li>
<li>
<p>i:1w1<br>
Wait to receive url from the network and open the url (not showing ip)</p>
</li>
<li>
<p>i:1e<br>
Open file manager for removable SDCARD download folder</p>
</li>
<li>
<p>i:50[path]:[string]<br>
Save [string] as file</p>
</li>
<li>
<p>i:51[path]:[url]<br>
Save [url] to &quot;.autoc&quot; file.</p>
</li>
<li>
<p>i:52[path]:[url]<br>
Save bookmark.</p>
</li>
<li>
<p>i:53[path]:[string]<br>
Save notes.</p>
</li>
<li>
<p>i:54[path]:[url]<br>
Save as search engine.</p>
</li>
<li>
<p>i:55[path]:[url]<br>
Save as link.</p>
</li>
<li>
<p>i:56[string]<br>
Use [string] as user input on web page.<br>
The string can have any character such as ascii code 0-26, where code 0 means clear, and code 1-26 are from ctrl-A to ctrl-Z as shortcut keys. (to type &quot;Ctrl-A&quot; into a text file, use &quot;Ctrl-Q Ctrl-A&quot; with emacs or &quot;Ctrl-V Ctrl-A&quot; with vim)</p>
</li>
<li>
<p>i:57[jscode]<br>
execute [jscode], even when js is disabled for the web page.</p>
</li>
<li>
<p>i:58[url]<br>
Save to the desktop.</p>
</li>
<li>
<p>i:5a[filename]<br>
Receive content from network to the file.</p>
</li>
<li>
<p>i:5b[string]<br>
Copy [string] to the clipboard.</p>
</li>
<li>
<p>i:5c[url]<br>
Change auto page turning internal url to be [url].</p>
</li>
<li>
<p>i:5d[file url]<br>
Open the file url compatible to other browsers.</p>
</li>
<li>
<p>i:5e[string]<br>
TTS</p>
</li>
<li>
<p>i:5f[videourl]<br>
play video fullscreen. if videourl is empty, then make following requestFullscreen() work.</p>
</li>
<li>
<p>i:5h[?postfix:|/regex/replacement:][url]<br>
force html for [url] visiting</p>
<ul>
<li>[?postfix:] : the real url visited is &quot;[url]+[?postfix]&quot;</li>
<li>[/regex/replacement:]: execute regular expression replacement for the &quot;[url]&quot;, then visit the resulting url.</li>
</ul>
</li>
<li>
<p>i:5i[url]<br>
Use the existing tab for the url with possible different url hash part.</p>
</li>
<li>
<p>i:5j[string]<br>
if [string] is file url, then send the file/folder to network, otherwise send [string] to network.</p>
</li>
<li>
<p>i:5p[videourl]<br>
play video in external player</p>
</li>
<li>
<p>i:60[path]:[url]<br>
If existing local file, then open it or visit the [url].</p>
</li>
<li>
<p>i:62[path]:[js code]<br>
Evaluate the [js code] and save the returned string to file.</p>
</li>
<li>
<p>i:63[bookmarklet index]:[url]<br>
Visiting url and execute the bookmarklet. Only uweb predefined local bookmarlets are allowed.</p>
</li>
<li>
<p>i:6i[js file path relative to configuration folder]:[url]<br>
Similar to i:5i, except executing the js file after possible url hash change.</p>
</li>
<li>
<p>i:70[url]:[auto page turning url]<br>
Visiting [url], but use the second url as auto paging url.</p>
</li>
<li>
<p>i:8d[url]<br>
Force downloading [url]</p>
</li>
<li>
<p>i:8l[filename]<br>
Loading configuration [filename]. Ex. &quot;i:8lconfig.html&quot; to reload config.html.</p>
</li>
<li>
<p>i:92[http request headers separated by ';']:[url]<br>
The &quot;Host&quot; Header (fake header, different from the standard) must be the first header.<br>
Ex. i:92Host;209.216.230.240:https://news.ycombinator.com<br>
use &quot;i:0mi:92Host;209.216.230.240::https://news.ycombinator.com&quot; to visit the site with specified IP address.</p>
</li>
<li>
<p>i:b1[internal urls or javascript separated by &quot;%0A&quot;]<br>
Bundle of internal urls, if it is an &quot;i:0&quot; url, then it should have the following format:<br>
[title]%0A[msg]%0A[optional callback url%0A][i:0url].</p>
</li>
</ul>
</div>
<p>Last Modified: 15 November 2023<br>
update i:0m document<br>
<pre>i:56 urls support CTRL_A to CTRL-Z
</pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -61,7 +61,7 @@
<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>uweb browser</a> will popup menus defined in file &quot;default.link&quot;. The file format is as follows:<br>
<p>Long pressing the bookmark button in <a href="../../en/">uweb browser</a> will popup menus defined in file &quot;default.link&quot;. The file format is as follows:<br>
[Menu name]:[one or more links delimited by &quot; \n &quot;]</p>
<p>and each link has the following format:<br>
[url][space][javascript code]</p>
@ -309,8 +309,8 @@ Bundle of internal urls, if it is an &quot;i:0&quot; url, then it should have th
</ul>
</div>
<p>Last Modified: 15 November 2023<br>
update i:0m document<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre>i:56 urls support CTRL_A to CTRL-Z
</pre>
</p>

View File

@ -1,88 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Long pressed link menu</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Long pressed link menu
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/javascript/index.html#">javascript</a> </li>
</ul>
<h4 id="to-run-commands">To run commands</h4>
<p>Each line of file &quot;<a href="file:///data/data/info.torapp.uweb/files/default.longclick">default.longclick</a>&quot; has the following format: (same as <a href="../cmds/index.html">default.cmds</a>)<br>
[Name]:[mimetype]:[command line]<br>
in which [command line] can have <a href="../cmds/index.html">&quot;%c&quot; (cookie), &quot;%u&quot; (current url), &quot;%t&quot; (title)</a> etc.</p>
<h4 id="to-visit-url-and-load-javascript-file">To visit url and load javascript file</h4>
<p>All &quot;.js&quot; files under the folder &quot;<a href="file:///data/data/info.torapp.uweb/files/longclick/">longclick</a>&quot; are part of the popup menu.<br>
These javascript files are in the following format:</p>
<ul>
<li>The very first line can begin with &quot;//&quot; followed by website url that can have <a href="../cmds/index.html">&quot;%u&quot; (current url), &quot;%t&quot; (title)</a> etc. included. In this case, the website is visited, then the javascript file is loaded on the new loaded site.</li>
<li>In the &quot;.js&quot; file, variable &quot;arguments&quot; can be used to get parameters. in which arguments[1] is the long-pressed link url, argument[2] is the text description and arguments[0] is the &quot;.js&quot; file name.</li>
</ul>
</div>
<p>Last Modified: 24 September 2022<br>
fix typos from torinfo.uweb to torapp.uweb<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -62,8 +62,8 @@ These javascript files are in the following format:</p>
</ul>
</div>
<p>Last Modified: 24 September 2022<br>
fix typos from torinfo.uweb to torapp.uweb<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

129
en/mirrors/index.html Normal file
View File

@ -0,0 +1,129 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title></title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<h3 id="mirrors-clickable-with-uweb-browser">Mirrors (clickable with uweb browser)</h3>
<p><a href="i:0mi:5h:https://gitee.com/jamesfengcao/uweb/raw/master/redirect.html">试验1</a><br>
<a href="i:0m?:https://gitcode.net/uweb/uweb/-/raw/master/redirect.html">2</a><br>
<a href="i:0m?:https://raw.gitcode.com/uweb/uweb/raw/master/redirect.html">4</a><br>
<a href="i:0m?:https://gitea.com/torappinfo/uweb/raw/branch/master/redirect.html">5</a><br>
<a href="i:0mi:5h?format=raw::https://sourceforge.net/p/uwebbrowser/code/ci/master/tree/redirect.html">6</a><br>
<a href="i:0mi:5h?format=raw::https://rocketgit.com/user/torappinfo/uweb/source/tree/branch/master/blob_download/redirect.html">7</a><br>
<a href="i:0m?:https://notabug.org/torappinfo/uweb/raw/master/redirect.html">8</a><br>
<a href="i:0mi:5h:https://git.launchpad.net/uweb/plain/redirect.html">9</a><br>
<a href="i:0m?:https://framagit.org/torappinfo/uweb/-/raw/master/redirect.html">10</a><br>
<a href="i:0m?:https://agit.ai/jamesfengcao/uweb/raw/branch/master/redirect.html">11</a><br>
<a href="i:0m?:https://git.froggi.es/jamesfengcao/uweb/raw/branch/master/redirect.html">12</a><br>
<a href="i:0m?:https://git.disroot.org/torappinfo/uweb/raw/branch/master/redirect.html">13</a><br>
<a href="i:0m?:https://gitdab.com/jamesfengcao/uweb/raw/branch/master/redirect.html">14</a><br>
<a href="i:0mi:5h/xxxx/?path=::https://dev.azure.com/jamesfengcao/1d8bf6c7-7c24-4441-bc5e-9709dcaf37fc/_apis/git/repositories/2a588d9b-f25a-46c0-bb3b-f685c635fcf8/itemsxxxx/redirect.html">15</a><br>
<a href="i:0mi:5h:https://pagure.io/uweb/raw/master/f/redirect.html">16</a><br>
<a href="i:0m?:https://bitbucket.org/torappinfo/torappinfo.bitbucket.io/raw/master/redirect.html">17</a><br>
<a href="i:0mi:5h:https://fastly.jsdelivr.net/gh/torappinfo/uweb/redirect.html">18</a><br>
<a href="i:0m?:https://dagshub.com/torappinfo/uweb/raw/master/redirect.html">19</a><br>
<a href="i:0mi:5h:https://gitgud.io/jamesfengcao/uweb/-/raw/master/redirect.html">20</a><br>
<a href="i:0m?:https://gitly.org/jamesfengcao/uweb/raw/master/redirect.html">gitly</a><br>
<a href="i:0m?:https://gitnet.fr/jamesfengcao/uweb/raw/branch/master/redirect.html">gitnet</a><br>
<a href="i:0m?:https://repo.palemoon.org/jamesfengcao/uweb/raw/branch/master/redirect.html ">palemoon</a><br>
<a href="i:0m?:https://tildegit.org/jamesfengcao/uweb/raw/branch/master/redirect.html">tilde</a><br>
<a href="i:0m?:https://git.dotclear.org/jamesfengcao/uweb/raw/branch/master/redirect.html">dotclear</a><br>
<a href="i:0m?:https://git.minetest.land/jamesfengcao/uweb/raw/branch/master/redirect.html ">minetest</a><br>
<a href="i:0m?:https://forge.chapril.org/jamesfengcao/uweb/raw/branch/master/redirect.html">chapril</a><br>
<a href="i:0m?:https://git.cryto.net/jamesfengcao/uweb/raw/branch/master/redirect.html ">cryto</a><br>
<a href="i:0m?:https://code.antopie.org/jamesfengcao/uweb/raw/branch/master/redirect.html">antopie</a></p>
<h3 id="repositories">Repositories</h3>
<p><a href="https://gitlab.com/jamesfengcao/uweb">gitlab</a><br>
<a href="https://sourceforge.net/p/uwebbrowser">sourceforge</a><br>
<a href="https://github.com/torappinfo/uweb">github</a><br>
<a href="https://bitbucket.org/torappinfo/torappinfo.bitbucket.io">bitbucket</a><br>
<a href="https://codeberg.org/jamesfengcao/pages/src/branch/master/README.md">codeberg</a><br>
<a href="https://gitee.com/jamesfengcao/uweb">gitee</a><br>
<a href="https://gitcode.com/uweb/uweb/overview">gitcode</a><br>
<a href="https://gitcode.net/uweb/uweb">gitcode</a><br>
<a href="https://atomgit.com/jamesfengcao/uweb">atomgit</a><br>
<a href="https://www.gitlink.org.cn/jamesfengcao/uweb">gitlink</a><br>
<a href="https://gitgud.io/jamesfengcao/uweb">gitgud</a><br>
<a href="https://git.disroot.org/torappinfo/uweb/src/branch/master/README.md">disroot</a><br>
<a href="https://gitea.com/torappinfo/uweb/src/branch/master/README.md">gitea</a><br>
<a href="https://notabug.org/torappinfo/uweb/src/master/README.md">notabug</a><br>
<a href="https://framagit.org/torappinfo/uweb">framagit</a><br>
<a href="https://agit.ai/jamesfengcao/uweb/src/branch/master/README.md">agit</a><br>
<a href="https://git.froggi.es/jamesfengcao/uweb/src/branch/master/README.md">froggi</a><br>
<a href="https://gitdab.com/jamesfengcao/uweb/src/branch/master/README.md">gitdab</a><br>
<a href="https://pagure.io/uweb/blob/master/f/README.md">pagure</a><br>
<a href="https://dagshub.com/torappinfo/uweb/src/master/README.md">dagshub</a><br>
<a href="https://gitnet.fr/jamesfengcao/uweb/src/branch/master/README.md">gitnet</a><br>
<a href="https://repo.palemoon.org/jamesfengcao/uweb/src/branch/master/README.md">palemoon</a><br>
<a href="https://tildegit.org/jamesfengcao/uweb/src/branch/master/README.md">tilde</a><br>
<a href="https://git.dotclear.org/jamesfengcao/uweb/src/branch/master/README.md">dotclear</a><br>
<a href="https://git.minetest.land/jamesfengcao/uweb/src/branch/master/README.md">mimetest</a><br>
<a href="https://forge.chapril.org/jamesfengcao/uweb/src/branch/master/README.md">chapril</a><br>
<a href="https://git.cryto.net/jamesfengcao/uweb/src/branch/master/README.md">cryto</a><br>
<a href="https://code.antopie.org/jamesfengcao/uweb/src/master/README.md">antopie</a></p>
</div>
<p>Last Modified: 2 April 2024<br>
mv mirrors to unlist/<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -1,92 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Offline resources</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Offline resources
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>Offline resources locate in the folder &quot;sitecache&quot;. With the option &quot;use offline resources&quot; enabled, the corresponding files in &quot;sitecache/[domain name]/[full path including filename, the url path part]&quot; are loaded first before reaching the network.</p>
<h4 id="bingchat-ui">bingChat UI</h4>
<p><a href="i:0hsitecache/www.bing.com/ai.html:../searchurl/bingAI/bing.html">Install bingChat UI ai.html for censored area</a> (<a href="https://www.bing.com/ai.html">bingChat UI</a>)</p>
<p><a href="i:0hsitecache/www.bing.com/write.html:../searchurl/bingAI/write.html">Install bingWrite UI write.html for censored area</a> (<a href="https://www.bing.com/write.html">bingWrite</a>)</p>
<p><a href="i:0hsitecache/www.bing.com/draw.html:../searchurl/bingAI/draw.html">Install bingAI image creator UI draw.html for censored area</a> (<a href="https://www.bing.com/draw.html">bingAI image creator</a>)</p>
<h4 id="serverless-local-sites">Serverless local sites</h4>
<p><a href="i:01Extract webapp:i:0bsitecache/local/:">Click to install url service that extracts web apps to the folder &quot;sitecache/local/&quot;</a>: support web extensions (.crx for chrome &amp; .xpi for firefox).</p>
<p>Any folder under &quot;sitecache&quot; can be visited as a local site. Urls with search queries can be dynamically processed by the js/wasm code in the local file.</p>
<p>PWAs (Progresssive Web Applications) and some web extensions (.crx for chrome &amp; .xpi for firefox) are just packaged websites. Ex. the &quot;kiwix&quot; extension can be extracted to the folder &quot;sitecache/local/kiwix&quot;<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, then the kiwix extension can be accessed via url &quot;https://local/kiwix/www/index.html&quot; in the browser.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>the folder name &quot;local&quot; is used as the domain name in the url.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
</div>
<p>Last Modified: 9 May 2023<br>
fix bingAI draw<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -55,7 +55,7 @@
<h4 id="serverless-local-sites">Serverless local sites</h4>
<p><a href="i:01Extract webapp:i:0bsitecache/local/:">Click to install url service that extracts web apps to the folder &quot;sitecache/local/&quot;</a>: support web extensions (.crx for chrome &amp; .xpi for firefox).</p>
<p>Any folder under &quot;sitecache&quot; can be visited as a local site. Urls with search queries can be dynamically processed by the js/wasm code in the local file.</p>
<p>PWAs (Progresssive Web Applications) and some web extensions (.crx for chrome &amp; .xpi for firefox) are just packaged websites. Ex. the &quot;kiwix&quot; extension can be extracted to the folder &quot;sitecache/local/kiwix&quot;<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, then the kiwix extension can be accessed via url &quot;https://local/kiwix/www/index.html&quot; in the browser.</p>
<p>PWAs (Progresssive Web Applications) and some web extensions (.crx for chrome &amp; .xpi for firefox) are just packaged websites. Ex. the &quot;kiwix&quot; extension can be extracted to the folder &quot;sitecache/local/kiwix&quot;<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, then the kiwix extension can be accessed via url &quot;https://local/kiwix/www/index.html#&quot; in the browser.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
@ -66,8 +66,8 @@
</div>
</div>
<p>Last Modified: 9 May 2023<br>
fix bingAI draw<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,128 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css" type="text/css" />
<title>Text selection</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Text selection
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/termux">termux</a> </li>
<li><a href="../tags/ssh">ssh</a> </li>
<li><a href="../tags/PC">PC</a> </li>
<li><a href="../tags/clipboard">clipboard</a> </li>
<li><a href="../tags/Windows">Windows</a> </li>
</ul>
<p>Click the following links to install menus for long pressing the button &quot;link&quot;:<br>
<a href="i:0gdefault.select::copyHtml:html/clip:%0A">Copy selected text with html format to clipboard</a></p>
<p><a href="i:0gdefault.select::Home:/uweb:printf file://data/data/info.torapp.uweb/files/home5.search%5C location.href=%5C%22i:15;cat;printf %5C%22%0A">Search with home screen</a></p>
<p><a href="i:0gdefault.select::google Translate:/uweb:printf 'https://translate.google.com/?sl=auto&tl=en&op=translate&text=';cat|tr ' ' '%2B'%0A">google Translate</a></p>
<p><a href="i:0gdefault.select::bing Translate:/uweb:printf 'https://cn.bing.com/translator/?from=&to=en&text=';cat|tr ' ' '%2B'%0A">bing translate</a></p>
<p><a href="i:0gdefault.select::deepL:/uweb:printf https://www.deepl.com/translator-mobile#auto/en/;cat|sed 's/ /%2520/g'%0A">deepL</a></p>
<p>The file &quot;default.select&quot; defines menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:<br>
[Name]:[mimetype]:[command line]</p>
<p>[mimetype] specifies input/output for [command line].<br>
It formats as &quot;[input mimetype]/[output mimetype]&quot;.<br>
[input mimetype] can be the following:</p>
<ul>
<li>&quot;html&quot;: rich text</li>
<li>&quot;&quot; (empty): text</li>
<li>&quot;.js&quot; file name under configuration folder. The js file is evaluated and its return value is passed to [command line] as standard input.</li>
</ul>
<p>[output mimetype] is same as the one defined in &quot;<a href="../cmds/index.html">Commands</a>&quot;.</p>
<ul>
<li>regular mimetype such as &quot;text/html&quot;: output as the mimetype</li>
<li>&quot;uweb&quot;: output as links</li>
<li>&quot;uwebA&quot;: output as &quot;A&quot; link, all characters including newlines are part of the link.</li>
<li>&quot;clip&quot;: output to clipboard</li>
<li>&quot;termux&quot;: output as termux command</li>
</ul>
<p><a target="_self" href="i:0hcheck.js:../../zh/searchurl/txt/check.js">checked.js</a>: Evaluate checked.js and return value as standard input for the command line. For any file url ending with &quot;/&quot;, optionally append &quot;?[prefix][<em>[postfix]]&quot;. For example, &quot;file:///sdcard/?</em>.png&quot; lists all .png files under the folder &quot;/sdcard&quot;. Select files and process them with checked.js(such as &quot;copy to PC&quot; as the later example).</p>
<p>default.select sample file:<br>
copy2addressbar:/uweb:printf i:15;cat<br>
copy2PCClipboard::ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 xsel -i&quot;<br>
richtext2PCClipboard:html:ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 xsel -i&quot;<br>
copyFiles:checked.js:while read fname;do scp $fname [user:password]@192.168.2.102:Downloads/.; done</p>
<p>Here we assume that the user PC has IP address as &quot;192.168.2.102&quot;.<br>
To use ssh or scp, users need to install uweb compatible Termux provided on the <a href="../index.html">uweb apk download page</a>, and install openssl under termux (apt install openssl).<br>
PCs need command &quot;xsel&quot; available to operate on copy/paste.</p>
</div>
<p>Last Modified: 25 May 2023<br>
rework cf/redirect.js<br>
<pre></pre>
</p>
<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>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -1,125 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title></title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<h3 id="uweb-browser-unlimited-power">Uweb browser: unlimited power</h3>
<p><a href="README.zh-Hans.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../zh/readme/index.html';return false;}}">中文</a></p>
<p><a href="https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5">Amazon appstore</a><br>
<a href="https://galaxy.store/uweb">Galaxy.Store</a><br>
<a href="en/download.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){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://uwebbrowser-t27o4.kinsta.page">kinsta</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><br>
<a href="en/mirrors.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../assets/help_en.html#mirrors';return false;}}">More...</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>
<li>Convenient: Any AI chatbot/book (pdf/djvu)/dictionary (mdict)/txt/command line/app/webapp (web extensions) can be search engine.</li>
<li>Tiny: less than 250k.</li>
<li>Fast: run fast, even with thousands of user provided css/scripts/htmls.</li>
<li>Efficient: less touches, one click to reach any number of search engines without repeated input; automate online services.</li>
<li>URL bar command line support (&quot;!&quot; and .js file as command).</li>
<li>Site-specific JS/CSS/HTML/preprocessing.</li>
<li>Online play/preview/preprocess for downloadable resources.</li>
<li>Multiple type profiles: switch any data including website logins, user configurations orthogonally.</li>
<li>Supports enhanced user &quot;hosts&quot; file. Empty IP address to lift all server-imposed limitations.</li>
<li>Website test automation scripting. crontab support (alarm clock and more).</li>
</ul>
<h4 id="main-features">Main features</h4>
<p>Custom paper size PDF export and long vector screenshot, TTS, text reflow, resource sniffer, translation, reader's mode, user-defined url redirection, webdav/http backup &amp; restore, auto next page, sending/receiving msg/file(s), site config (UA, no JS, no image, no 3rd party script/resource,active script, global scripts), http(s)/socks proxy, enabling html5 apps for local files (pdf/djvu/epub viewer, mdict dictionary lookup etc.).</p>
<ul>
<li>User-defined global and site-specific CSS and javascript.</li>
<li>Bookmarklets (works for CSP sites and with option to auto apply to similar sites)</li>
<li>AD blocking (block whole root domain trees etc.)</li>
<li>Customization (define extra menus/buttons/gestures with user-defined functionalities)</li>
<li>Support shell scripts, javascript for general processing, other languages (python etc.) are also supported by installing uweb compatible Termux versions.</li>
<li>Serverless local sites: PWA-kind web extension (chrome .crx &amp; firefox .xpi) support.</li>
<li>Piping between console and uweb tabs.</li>
<li>Resizable floating video support.</li>
</ul>
<h4 id="screenshots">Screenshots</h4>
<p><img src="https://i.postimg.cc/rsL9G5N1/home1.png"><br>
<img src="https://i.postimg.cc/9QxJ3Rc2/globalcss.png"><br>
<img src="https://i.postimg.cc/VksDHBQ4/globaljs.png"><br>
<img src="https://i.postimg.cc/HLV3TYLy/longclick.png"><br>
<img src="https://i.postimg.cc/XJ58ysdN/option1.png"><br>
<img src="https://i.postimg.cc/0NFnQT6H/option2.png"></p>
<h4 id="help-with-localization">Help with localization</h4>
<p>We encourage everyone to help with localization. The following is how to do.</p>
<ul>
<li>Fork this repository</li>
<li>Copy res/values/strings.xml to path like res/values-%(lang)/, replace %(lang) with <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">the ISO 639-1 language code</a>.</li>
<li>Translate res/values-%(lang)/strings.xml</li>
<li>Translate assets/help_%(lang).html from assets/help_en.html</li>
<li>Make a Pull Request</li>
</ul>
</div>
<p>Last Modified: 24 March 2024<br>
add more repositories<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -47,14 +47,20 @@
<ul class="tags">
</ul>
<h3 id="uweb-browser-unlimited-power">Uweb browser: unlimited power</h3>
<p><a href="README.zh-Hans.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../zh/readme/index.html';return false;}}">中文</a></p>
<script>
function notRepo() {
let u=location.href.replace(/#$/, '');
return u.endsWith('index.html')||u.endsWith('readme/');
}
</script>
<h3 id="uweb-browser-unlimited-power">Uweb browser: unlimited power</h3>
<p><a href="README.zh-Hans.md" onclick="if(notRepo()){location='../../zh/readme/index.html#';return false;}">中文</a></p>
<p><a href="https://www.amazon.com/TorApp-Info-uweb-browser-for-geeks/dp/B098QPR6N5">Amazon appstore</a><br>
<a href="https://galaxy.store/uweb">Galaxy.Store</a><br>
<a href="en/download.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../en/changelog/index.html';return false;}}">Downloads</a></p>
<a href="en/download.md" onclick="if(notRepo()){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://uwebbrowser-t27o4.kinsta.page">kinsta</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><br>
<a href="en/mirrors.md" onclick="{let u=location.href; if(u.endsWith('index.html')||u.endsWith('readme/')){location='../../assets/help_en.html#mirrors';return false;}}">More...</a>)</p>
<a href="en/mirrors.md" onclick="if(notRepo()){location='../../en/mirrors/index.html#';return false;}">More...</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>
@ -99,8 +105,8 @@
</ul>
</div>
<p>Last Modified: 24 March 2024<br>
add more repositories<br>
<p>Last Modified: 2 April 2024<br>
mv mirrors to unlist/<br>
<pre></pre>
</p>

View File

@ -1,103 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Resource redirection</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Resource redirection
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/redirection/index.html#">redirection</a> </li>
</ul>
<p>⚠️<span style="color:red">Redirection forwards cookies</span> with the setting option &quot;Redirect cookies&quot; enabled, so use the options with care.</p>
<h4 id="setting-options-url-redirection-vs-resource-redirection">Setting options: &quot;Url redirection&quot; vs. &quot;Resource redirection&quot;</h4>
<p>&quot;Url redirection&quot; redirects the main/page url only while &quot;Resource redirection&quot; is for all urls in the page.</p>
<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>
<p>Each line of the file &quot;default.redirect&quot; has the following format:<br>
[domain name]:[regular expression]:[replacement expression]</p>
<p>in which &quot;[regular expression]&quot; is as defined by java language, and cannot have &quot;:&quot; inside; if empty, it defaults to be same as &quot;[domain name]&quot;.</p>
<h5 id="ways-to-enable-domain-redirection">Ways to enable domain redirection:</h5>
<ul>
<li><a href="../urls/index.html">Long pressing the image button</a></li>
<li>Long pressing the setting button, enable the option &quot;url redirection&quot;.</li>
<li>Long pressing the setting button, enable the option &quot;Resource redirection&quot;.</li>
</ul>
</div>
<p>Last Modified: 17 June 2023<br>
add latest.html<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -77,8 +77,8 @@
</ul>
</div>
<p>Last Modified: 17 June 2023<br>
add latest.html<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,102 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Execute javascript codes</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Execute javascript codes
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p><a href="../sitejs/index.html">javascript for domains</a><br>
<a href="../globalcss/index.html">Earliest loaded global javascript</a> files locates in the subfolder &quot;css&quot; of app private folder.</p>
<p><b>Global javascript</b> files locates in the subfolder &quot;js&quot; of app private folder. Long press button [☰] to configure. Click the following links to install:<br>
&lt;a target=_self&quot; href=&quot;i:0hjs/savePassword.js:../../zh/searchurl/txt/passwdsave.js&quot;&gt;Save password</a><br>
<a target="_self" href="i:0hjs/instantPage.js:https://fastly.jsdelivr.net/npm/instant.page">Instant page</a></p>
<p><b>large size javascript code</b> can be installed to the folder &quot;bookmarklet&quot; (long pressing button &quot;js&quot; to popup menu):<br>
<a target="_self" href="i:0hbookmarklet/!googleTranslate.js:https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit:%0A{let d=document,b=d.body,v=d.createElement('div');v.id='google_translate_element';v.style='position:fixed;bottom:10px;right:10px;cursor:pointer;z-index:9999';b.insertBefore(v,b.firstChild);function googleTranslateElementInit(){new google.translate.TranslateElement({layout:google.translate.TranslateElement.InlineLayout.SIMPLE,multilanguagePage:true,pageLanguage:'auto',includedLanguages:'zh-CN,zh-TW,en,ko,ja'},'google_translate_element');}}">google translation</a></p>
<p><a target="_self" href='i:0hbookmarklet/eruda.js:https://fastly.jsdelivr.net/npm/eruda:%0Aeruda.init()'>Eruda</a><br>
<a target="_self" href="i:0hbookmarklet/performance.js:https://fastly.jsdelivr.net/gh/micmro/performance-bookmarklet/dist/performanceBookmarklet.min.js">Performance</a></p>
<p>Note: Bookmarklets whose names begin with &quot;!&quot; are allowed to load remote js on CSP (Content Security Policy) sites.</p>
<p><b>Remote javascript</b> is defined in default.rjs. Click the following link to install. (<b>Force exit and re-launch the app</b>, then long press the &quot;search&quot; button to popup the menu.)</p>
<p><a href="i:04Selection to sentence:;let g='sentence';getSelection().modify('move','forward',g);getSelection().modify('extend','backward',g);">Selection to sentence:;let g='sentence';getSelection().modify('move','forward',g);getSelection().modify('extend','backward',g);</a></p>
<p><a href="i:04Selection to line:;let g='line';getSelection().modify('move','forward',g);getSelection().modify('extend','backward',g);">Selection to line:;let g='line';getSelection().modify('move','forward',g);getSelection().modify('extend','backward',g);</a></p>
<p><a href="i:04Selection to paragraph:;let g='paragraph';getSelection().modify('move','forward',g);getSelection().modify('extend','backward',g);">Selection to paragraph:;let g='paragraph';getSelection().modify('move','forward',g);getSelection().modify('extend','backward',g);</a></p>
<p><a href="i:04markdown:['https://cdn.jsdelivr.net/npm/showdown/dist/showdown.min.js'];var d=document;var md=d.querySelector('pre').innerText;var c=new showdown.Converter({emoji:true,underline:true,});c.setFlavor('github');d.body.innerHTML=c.makeHtml(md);d.title=d.title||d.body.firstElementChild.innerText.trim();">markdown:['https://cdn.jsdelivr.net/npm/showdown/dist/showdown.min.js'];var d=document;var md=d.querySelector('pre').innerText;var c=new showdown.Converter({emoji:true,underline:true,});c.setFlavor('github');d.body.innerHTML=c.makeHtml(md);d.title=d.title||d.body.firstElementChild.innerText.trim();</a></p>
<p><a href="i:04mermaid:;loadModuleJS(`import mermaid from 'https://unpkg.com/mermaid/dist/mermaid.esm.min.mjs';mermaid.initialize({startOnLoad:true});`)">mermaid:;loadModuleJS(<code>import mermaid from 'https://unpkg.com/mermaid/dist/mermaid.esm.min.mjs';mermaid.initialize({startOnLoad:true});</code>)</a></p>
<p><a href="i:04mathjax:['https://fastly.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js']">mathjax:['https://fastly.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js']</a></p>
<p><a href="i:04New tab to open links:;let d=document;b=d.createElement('base');b.setAttribute('target','_blank');d.head.appendChild(b)">New tab to open links:;let d=document;b=d.createElement('base');b.setAttribute('target','_blank');d.head.appendChild(b)</a></p>
<p><a href="i:04Site search:;open('i:15site:' + location.hostname)">Site search:;open('i:15site:' + location.hostname)</a></p>
<p><a href="i:04Spell check:;let t=document.getElementsByTagName('textarea');let v=t[0].spellcheck;if(v==null)v=false;t[0].spellcheck=!v">Spell check:;let t=document.getElementsByTagName('textarea');let v=t[0].spellcheck;if(v==null)v=false;t[0].spellcheck=!v</a></p>
<p>Remote script configuration file &quot;default.rjs&quot; whose lines have the following format:<br>
[script name]:[javascript code to return url arrays]</p>
<h4 id="activated-scripts">Activated scripts</h4>
<p>Activate either local (bookmarklets) or remote js to execute the code on the similar sites with option &quot;Activate user script&quot;.</p>
<p>Since activated scripts use internal mechanism of <a href="../links/index.html">&quot;i:0m&quot; urls</a>, the script itself cannot have <span style="color:red">'H', '?' or '/'</span> as its very first character.</p>
<h4 id="allow-remote-js-on-csp-content-security-policy-sites">Allow remote js on CSP (Content Security Policy) sites</h4>
<p>All remote js (default.rjs) are allowed to execute on CSP sites. Local js files without remote resource access work fine when under the folder &quot;bookmarklet&quot;, others needs to be refered in default.rjs as http urls such as &quot;https://local/...&quot; (<a href="../html5/index.html">html5</a> or <a href="../offlinecache/index.html">offline cache</a>) .</p>
</div>
<p>Last Modified: 29 April 2023<br>
add google translate in rjs.py<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -76,8 +76,8 @@
<p>All remote js (default.rjs) are allowed to execute on CSP sites. Local js files without remote resource access work fine when under the folder &quot;bookmarklet&quot;, others needs to be refered in default.rjs as http urls such as &quot;https://local/...&quot; (<a href="../html5/index.html">html5</a> or <a href="../offlinecache/index.html">offline cache</a>) .</p>
</div>
<p>Last Modified: 29 April 2023<br>
add google translate in rjs.py<br>
<p>Last Modified: 2 April 2024<br>
add ending # to /index.html<br>
<pre></pre>
</p>

View File

@ -1,272 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Search engines</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Search engines
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p>AI:<br>
<a href="i:00consensus:https://consensus.app/results/?synthesize=on&q=">consensus:https://consensus.app/results/?synthesize=on&amp;q=</a></p>
<p><a href="i:00youChat:https://you.com/search?tbm=youchat&q=">youChat:https://you.com/search?tbm=youchat&amp;q=</a></p>
<p><a href="i:00youWrite:https://you.com/search?tbm=youwrite&q=">youWrite:https://you.com/search?tbm=youwrite&amp;q=</a></p>
<p><a href="i:00youImagine:https://you.com/search?tbm=imagine&q=">youImagine:https://you.com/search?tbm=imagine&amp;q=</a></p>
<p><a href="i:00you:https://you.com/search?q=">you:https://you.com/search?q=</a></p>
<p><a href="i:00perplexity:https://www.perplexity.ai/?q=">perplexity:https://www.perplexity.ai/?q=</a></p>
<p><a href="i:00phind:https://www.phind.com/search?q=">phind:https://www.phind.com/search?q=</a></p>
<p><a href="i:00medisearch:https://medisearch.io/results/">medisearch:https://medisearch.io/results/</a></p>
<p>Recommended engines (click or append any of the following to the file &quot;home5.search&quot;)<br>
<a href="i:00Engines:i:40%s_00">Engines:i:40%s_00</a></p>
<p><a href="i:00bing image:http://bing.com/images/search?q=">bing image:http://bing.com/images/search?q=</a></p>
<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: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>
<p><a href="i:00Youtube:https://www.youtube.com/results?search_query=">Youtube:https://www.youtube.com/results?search_query=</a></p>
<p><a href="i:00eBay:https://www.ebay.com/sch/i.html?_nkw=">eBay:https://www.ebay.com/sch/i.html?_nkw=</a></p>
<p><a href="i:00Quora:https://www.quora.com/search?q=">Quora:https://www.quora.com/search?q=</a></p>
<p><a href="i:00Pinterest:https://www.pinterest.com/search/pins/?q=">Pinterest:https://www.pinterest.com/search/pins/?q=</a></p>
<p><a href="i:00LinkedIn:https://www.linkedin.com/search/results/all/?keywords=">LinkedIn:https://www.linkedin.com/search/results/all/?keywords=</a></p>
<p><a href="i:00Netflix:https://www.netflix.com/search?q=">Netflix:https://www.netflix.com/search?q=</a></p>
<p><a href="i:00Spotify:https://open.spotify.com/search/">Spotify:https://open.spotify.com/search/</a></p>
<p><a href="i:00Medium:https://medium.com/search?q=">Medium:https://medium.com/search?q=</a></p>
<p><a href="i:00TripAdvisor:https://www.tripadvisor.com/Search?q=">TripAdvisor:https://www.tripadvisor.com/Search?q=</a></p>
<p><a href="i:00incaption:https://incaptions.com/">incaption:https://incaptions.com/</a></p>
<p><a href="i:00answer:http://mobile.answers.com/">answer:http://mobile.answers.com/</a></p>
<p><a href="i:00twitter:https://twitter.com/search?q=">twitter:https://twitter.com/search?q=</a></p>
<p><a href="i:00Facebook:https://www.facebook.com/search/str/%s/keywords_search">Facebook:https://www.facebook.com/search/str/%s/keywords_search</a></p>
<p><a href="i:00Instagram:https://www.instagram.com/explore/tags/%s/">Instagram:https://www.instagram.com/explore/tags/%s/</a></p>
<p><a href="i:00social-search:https://www.social-searcher.com/social-buzz/?q5=">social-search:https://www.social-searcher.com/social-buzz/?q5=</a></p>
<p><a href="i:00reddit:http://reddit.com/search?q=">reddit:http://reddit.com/search?q=</a></p>
<p><a href="i:00boardreader:https://boardreader.com/s/%s.html">boardreader:https://boardreader.com/s/%s.html</a></p>
<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:00crowdview:https://crowdview.ai/search?q=">crowdview:https://crowdview.ai/search?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>
<p><a href="i:00google_file:https://google.com/search?q=intitle:index.of+%22parent+directory%22+">google_file:https://google.com/search?q=intitle:index.of+%22parent+directory%22+</a></p>
<p><a href="i:00apkcombo:https://apkcombo.com/search/">apkcombo:https://apkcombo.com/search/</a></p>
<p>Note: "Engines" needs file "engine.search"whose format is same as "home.search" except that the keyword part of url must be denoted with "%s". Pressing the right arrow button on the search result page will automatically query with next engine in the file.</p>
<p>Common engines:<br>
<a href="i:00google:https://google.com/search?q=">google:https://google.com/search?q=</a>
<p><a href="i:00bing:http://www.bing.com/search?q=">bing:http://www.bing.com/search?q=</a></p>
<p><a href="i:00marginalia:https://search.marginalia.nu/search?query=">marginalia:https://search.marginalia.nu/search?query=</a></p>
<p><a href="i:00mojeek:https://www.mojeek.com/search?q=">mojeek:https://www.mojeek.com/search?q=</a></p>
<p><a href="i:00rightdao:https://rightdao.com/search?q=">rightdao:https://rightdao.com/search?q=</a></p>
<p><a href="i:00alexandria:https://www.alexandria.org/?q=">alexandria:https://www.alexandria.org/?q=</a></p>
<p><a href="i:00yep:https://yep.com/web?q=">yep:https://yep.com/web?q=</a></p>
<p><a href="i:00seznam:https://search.seznam.cz/?q=">seznam:https://search.seznam.cz/?q=</a></p>
<p><a href="i:00metager:https://metager.org/meta/meta.ger3?eingabe=">metager:https://metager.org/meta/meta.ger3?eingabe=</a></p>
<p><a href="i:00seekr:https://www.seekr.com/search?query=">seekr:https://www.seekr.com/search?query=</a></p>
<p><a href="i:00brave:https://search.brave.com/search?q=">brave:https://search.brave.com/search?q=</a></p>
<p><a href="i:00ellpedia:https://en.ellpedia.com/search?q=">ellpedia:https://en.ellpedia.com/search?q=</a></p>
<p><a href="i:00gemini:https://portal.mozz.us/gemini/geminispace.info/search%3F">gemini:https://portal.mozz.us/gemini/geminispace.info/search%3F</a></p>
<p><a href="i:00waldo:https://www.waldo.fyi/data?q=">waldo:https://www.waldo.fyi/data?q=</a></p>
<p><a href="i:00xda:https://www.xda-developers.com/search/">xda:https://www.xda-developers.com/search/</a></p>
<p><a href="i:00Feeling lucky:https://google.com/search?btnl=1&q=">Feeling lucky:https://google.com/search?btnl=1&amp;q=</a></p>
<p><a href="i:00pix:https://www.google.com/search?tbm=isch&q=">pix:https://www.google.com/search?tbm=isch&amp;q=</a></p>
<p><a href="i:00youtube:https://youtube.com/results?search_query=">youtube:https://youtube.com/results?search_query=</a></p>
<p><a href="i:00news:https://news.search.yahoo.com/search/news?p=">news:https://news.search.yahoo.com/search/news?p=</a></p>
<p><a href="i:00stock:https://finance.yahoo.com/quote/">stock:https://finance.yahoo.com/quote/</a></p>
<p><a href="i:00amazon:https://www.amazon.com/s/?field-keywords=">amazon:https://www.amazon.com/s/?field-keywords=</a></p>
<p><a href="i:00weather:https://www.wunderground.com/cgi-bin/findweather/getForecast?query=">weather:https://www.wunderground.com/cgi-bin/findweather/getForecast?query=</a></p>
<p><a href="i:00IMDB:https://www.imdb.com/find?q=">IMDB:https://www.imdb.com/find?q=</a></p>
<p><a href="i:00film review:https://www.rottentomatoes.com/search/?search=">film review:https://www.rottentomatoes.com/search/?search=</a></p>
<p><a href="i:00goodreads:https://www.goodreads.com/search?query=">goodreads:https://www.goodreads.com/search?query=</a></p>
<p><a href="i:00audible:http://www.audible.com/search?sort=review-rank&advsearchKeywords=">audible:http://www.audible.com/search?sort=review-rank&amp;advsearchKeywords=</a></p>
<p><a href="i:00audiobay:http://audiobookbay.se/?s=">audiobay:http://audiobookbay.se/?s=</a></p>
<p><a href="i:00telegramsearcher:https://telegramsearcher.com/search?q=">telegramsearcher:https://telegramsearcher.com/search?q=</a></p>
<p><a href="i:00lyzem:https://lyzem.com/search?q=">lyzem:https://lyzem.com/search?q=</a></p>
<p><a href="i:00gramxlu:https://gramxly.com/s?q=">gramxlu:https://gramxly.com/s?q=</a></p>
<p>language:<br>
<a href="i:00OED:https://www.oed.com/LIBRARY?dest=https%3A%2F%2Fwww.oed.com%2Fsearch%3FsearchType%3Ddictionary%26q%3D%s%26_searchBtn%3DSearch&acc_id=65585&library_card=12363257">OED:https://www.oed.com/LIBRARY?dest=https%3A%2F%2Fwww.oed.com%2Fsearch%3FsearchType%3Ddictionary%26q%3D%s%26_searchBtn%3DSearch&amp;acc_id=65585&amp;library_card=12363257</a></p>
<p><a href="i:00webster1913:https://www.websters1913.com/words/">webster1913:https://www.websters1913.com/words/</a></p>
<p><a href="i:00merriam-webster:https://www.merriam-webster.com/dictionary/">merriam-webster:https://www.merriam-webster.com/dictionary/</a></p>
<p><a href="i:00dictionary:https://www.dictionary.com/browse/">dictionary:https://www.dictionary.com/browse/</a></p>
<p><a href="i:00finedict:https://www.finedictionary.com/">finedict:https://www.finedictionary.com/</a></p>
<p><a href="i:00freedictionary:https://www.thefreedictionary.com/">freedictionary:https://www.thefreedictionary.com/</a></p>
<p><a href="i:00legal_fd:https://legal-dictionary.thefreedictionary.com/">legal_fd:https://legal-dictionary.thefreedictionary.com/</a></p>
<p><a href="i:00finance_fd:https://financial-dictionary.thefreedictionary.com/">finance_fd:https://financial-dictionary.thefreedictionary.com/</a></p>
<p><a href="i:00wikipedia_fd:https://encyclopedia.thefreedictionary.com/">wikipedia_fd:https://encyclopedia.thefreedictionary.com/</a></p>
<p><a href="i:00encyclopedia_fd:https://encyclopedia2.thefreedictionary.com/">encyclopedia_fd:https://encyclopedia2.thefreedictionary.com/</a></p>
<p><a href="i:00wordreference:https://www.wordreference.com/definition/">wordreference:https://www.wordreference.com/definition/</a></p>
<p><a href="i:00vocabulary:https://www.vocabulary.com/dictionary/">vocabulary:https://www.vocabulary.com/dictionary/</a></p>
<p><a href="i:00etymology:https://www.etymonline.com/search?q=">etymology:https://www.etymonline.com/search?q=</a></p>
<p><a href="i:00powerthesaurus:https://www.powerthesaurus.org/%s/synonyms">powerthesaurus:https://www.powerthesaurus.org/%s/synonyms</a></p>
<p><a href="i:00macmillanthesaurus:https://www.macmillanthesaurus.com/search/?auto=complete&q=">macmillanthesaurus:https://www.macmillanthesaurus.com/search/?auto=complete&amp;q=</a></p>
<p><a href="i:00lword:https://lword.top/word.html#">lword:https://lword.top/word.html#</a></p>
<p><a href="i:00ludwig:https://ludwig.guru/s/">ludwig:https://ludwig.guru/s/</a></p>
<p><a href="i:00webster:https://www.merriam-webster.com/dictionary/">webster:https://www.merriam-webster.com/dictionary/</a></p>
<p><a href="i:00googledict:http://googledictionary.freecollocation.com/meaning?word=">googledict:http://googledictionary.freecollocation.com/meaning?word=</a></p>
<p><a href="i:00freetts_ru:https://freetts.com/Home/PlayAudio?Language=ru-RU&Voice=ru-RU-Standard-A&id=undefined&type=0&TextMessage=">freetts_ru:https://freetts.com/Home/PlayAudio?Language=ru-RU&amp;Voice=ru-RU-Standard-A&amp;id=undefined&amp;type=0&amp;TextMessage=</a></p>
<p><a href="i:00freetts_ar:https://freetts.com/Home/PlayAudio?Language=ar-XA&Voice=ar-XA-Standard-A&id=undefined&type=0&TextMessage=">freetts_ar:https://freetts.com/Home/PlayAudio?Language=ar-XA&amp;Voice=ar-XA-Standard-A&amp;id=undefined&amp;type=0&amp;TextMessage=</a></p>
<p>Science:<br>
<a href="i:00britannica:https://www.britannica.com/search?query=">britannica:https://www.britannica.com/search?query=</a></p>
<p><a href="i:00mathRef:https://reference.wolfram.com/search/?q=">mathRef:https://reference.wolfram.com/search/?q=</a></p>
<p><a href="i:00mathSE:https://math.stackexchange.com/search?q=">mathSE:https://math.stackexchange.com/search?q=</a></p>
<p><a href="i:00phySE:https://physics.stackexchange.com/search?q=">phySE:https://physics.stackexchange.com/search?q=</a></p>
<p><a href="i:00physicsForum:https://www.physicsforums.com/search/2195918/?q=">physicsForum:https://www.physicsforums.com/search/2195918/?q=</a></p>
<p><a href="i:00pubchem SMILES:https://pubchem.ncbi.nlm.nih.gov/#input_type=smiles&query=">pubchem SMILES:https://pubchem.ncbi.nlm.nih.gov/#input_type=smiles&amp;query=</a></p>
<p><a href="i:00pubchem:https://pubchem.ncbi.nlm.nih.gov/#query=">pubchem:https://pubchem.ncbi.nlm.nih.gov/#query=</a></p>
<p><a href="i:00chemSE:https://chemistry.stackexchange.com/search?q=">chemSE:https://chemistry.stackexchange.com/search?q=</a></p>
<p><a href="i:00chem:https://www.ncbi.nlm.nih.gov/pccompound?term=">chem:https://www.ncbi.nlm.nih.gov/pccompound?term=</a></p>
<p><a href="i:00proofwiki:https://proofwiki.org/w/index.php?search=">proofwiki:https://proofwiki.org/w/index.php?search=</a></p>
<p><a href="i:00physics:http://www.physics.org/explore-results-all.asp?q=">physics:http://www.physics.org/explore-results-all.asp?q=</a></p>
<p><a href="i:00biology:https://www.biologyonline.com/dictionary/">biology:https://www.biologyonline.com/dictionary/</a></p>
<p><a href="i:00nist chem:https://webbook.nist.gov/cgi/cbook.cgi?Formula=">nist chem:https://webbook.nist.gov/cgi/cbook.cgi?Formula=</a></p>
<p><a href="i:00chemiday:https://chemiday.com/search/?lang=en&q=">chemiday:https://chemiday.com/search/?lang=en&amp;q=</a></p>
<p><a href="i:00chem.libretexts:https://chem.libretexts.org/Special:Search?q=">chem.libretexts:https://chem.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00bio.libretexts:https://bio.libretexts.org/Special:Search?q=">bio.libretexts:https://bio.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00phys.libretexts:https://phys.libretexts.org/Special:Search?q=">phys.libretexts:https://phys.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00med.libretexts:https://med.libretexts.org/Special:Search?q=">med.libretexts:https://med.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00math.libretexts:https://math.libretexts.org/Special:Search?q=">math.libretexts:https://math.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00stats.libretexts:https://stats.libretexts.org/Special:Search?q=">stats.libretexts:https://stats.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00geo.libretexts:https://geo.libretexts.org/Special:Search?q=">geo.libretexts:https://geo.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00eng.libretexts:https://eng.libretexts.org/Special:Search?q=">eng.libretexts:https://eng.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00biz.libretexts:https://biz.libretexts.org/Special:Search?q=">biz.libretexts:https://biz.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00human.libretexts:https://human.libretexts.org/Special:Search?q=">human.libretexts:https://human.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00socialsci.libretexts:https://socialsci.libretexts.org/Special:Search?q=">socialsci.libretexts:https://socialsci.libretexts.org/Special:Search?q=</a></p>
<p><a href="i:00workforce.libretexts:https://workforce.libretexts.org/Special:Search?q=">workforce.libretexts:https://workforce.libretexts.org/Special:Search?q=</a></p>
<p>More engines:<br>
<a href="i:00oscobo:https://www.oscobo.com/search.php?q=">oscobo:https://www.oscobo.com/search.php?q=</a></p>
<p><a href="i:00teoma:https://www.teoma.com/web?q=">teoma:https://www.teoma.com/web?q=</a></p>
<p><a href="i:00lycos:https://search.lycos.com/web/?q=">lycos:https://search.lycos.com/web/?q=</a></p>
<p><a href="i:00technorati:http://technorati.com/search/index.php?q=">technorati:http://technorati.com/search/index.php?q=</a></p>
<p><a href="i:00qwant:https://lite.qwant.com/?q=">qwant:https://lite.qwant.com/?q=</a></p>
<p><a href="i:00swisscows:https://swisscows.com/web?query=">swisscows:https://swisscows.com/web?query=</a></p>
<p><a href="i:00ecosia:https://www.ecosia.org/search?q=">ecosia:https://www.ecosia.org/search?q=</a></p>
<p><a href="i:00duck:https://duckduckgo.com/?q=">duck:https://duckduckgo.com/?q=</a></p>
<p><a href="i:00presearch:https://presearch.com/search?q=">presearch:https://presearch.com/search?q=</a></p>
<p><a href="i:00gigablast:https://www.gigablast.com/search?c=main&qlangcountry=en-us&q=">gigablast:https://www.gigablast.com/search?c=main&amp;qlangcountry=en-us&amp;q=</a></p>
<p><a href="i:00yandex:https://yandex.com/search/?text=">yandex:https://yandex.com/search/?text=</a></p>
<p><a href="i:00searx:https://searx.be/?q=">searx:https://searx.be/?q=</a></p>
<p><a href="i:00startpage:https://startpage.com/do/search?query=">startpage:https://startpage.com/do/search?query=</a></p>
<p><a href="i:00gibiru:https://gibiru.com/results.html?q=">gibiru:https://gibiru.com/results.html?q=</a></p>
<p><a href="i:00zapmeta:https://www.zapmeta.com/search?q=">zapmeta:https://www.zapmeta.com/search?q=</a></p>
<p>Medical:<br>
<a href="i:00medical_freedict:https://medical-dictionary.thefreedictionary.com/">medical_freedict:https://medical-dictionary.thefreedictionary.com/</a></p>
<p><a href="i:00merckmanuals:https://www.merckmanuals.com/professional/SearchResults?query=">merckmanuals:https://www.merckmanuals.com/professional/SearchResults?query=</a></p>
<p><a href="i:00openmd:https://openmd.com/search?q=">openmd:https://openmd.com/search?q=</a></p>
<p><a href="i:00radiopaedia:https://radiopaedia.org/search?q=">radiopaedia:https://radiopaedia.org/search?q=</a></p>
<p><a href="i:00medical-dict:https://medical-dictionary.com/results.php?term=">medical-dict:https://medical-dictionary.com/results.php?term=</a></p>
<p><a href="i:00ncbiBooks:https://www.ncbi.nlm.nih.gov/books/?term=">ncbiBooks:https://www.ncbi.nlm.nih.gov/books/?term=</a></p>
<p><a href="i:00healio:https://journals.healio.com/action/doSearch?AllField=">healio:https://journals.healio.com/action/doSearch?AllField=</a></p>
<p><a href="i:00pubmed:https://pubmed.ncbi.nlm.nih.gov/?term=">pubmed:https://pubmed.ncbi.nlm.nih.gov/?term=</a></p>
<p><a href="i:00pmc:https://www.ncbi.nlm.nih.gov/pmc/?term=">pmc:https://www.ncbi.nlm.nih.gov/pmc/?term=</a></p>
<p><a href="i:00Tabers:https://www.tabers.com/tabersonline/search?st=OSS&q=">Tabers:https://www.tabers.com/tabersonline/search?st=OSS&amp;q=</a></p>
<p><a href="i:00medicinenet:https://www.medicinenet.com/%s/definition.htm">medicinenet:https://www.medicinenet.com/%s/definition.htm</a></p>
<p>Torrent:<br>
<a href="i:00aio:https://www.aiosearch.com/search/4/Torrents/">aio:https://www.aiosearch.com/search/4/Torrents/</a></p>
<p><a href="i:00academictorrents:https://academictorrents.com/browse.php?search=">academictorrents:https://academictorrents.com/browse.php?search=</a></p>
<p><a href="i:00piratebay:https://thepiratebay.org/search/%s/0/7/0">piratebay:https://thepiratebay.org/search/%s/0/7/0</a></p>
<p><a href="i:00katcr:https://katcr.to/search/">katcr:https://katcr.to/search/</a></p>
<p><a href="i:001337x:https://1337x.to/search/%s/1/">1337x:https://1337x.to/search/%s/1/</a></p>
<p>Scholar:<br>
<a href="i:00classcentral:https://www.classcentral.com/search?q=">classcentral:https://www.classcentral.com/search?q=</a></p>
<p><a href="i:00base:https://www.base-search.net/Search/Results?lookfor=">base:https://www.base-search.net/Search/Results?lookfor=</a></p>
<p><a href="i:00science.gov:POST:fullRecord=%s:https://www.science.gov/scigov/search.html">science.gov:POST:fullRecord=%s:https://www.science.gov/scigov/search.html</a></p>
<p><a href="i:00sweetsearch:https://sweetsearch.com/search?q=">sweetsearch:https://sweetsearch.com/search?q=</a></p>
<p><a href="i:00refseek:https://www.refseek.com/search?q=">refseek:https://www.refseek.com/search?q=</a></p>
<p><a href="i:00google scholar:https://scholar.google.com/scholar?q=">google scholar:https://scholar.google.com/scholar?q=</a></p>
<p><a href="i:00bing academic:http://bing.com/academic/search?q=">bing academic:http://bing.com/academic/search?q=</a></p>
<p><a href="i:00core:https://core.ac.uk/search?q=">core:https://core.ac.uk/search?q=</a></p>
<p><a href="i:00semanticscholar:https://www.semanticscholar.org/search?sort=relevance&q=">semanticscholar:https://www.semanticscholar.org/search?sort=relevance&amp;q=</a></p>
<p><a href="i:00xueshu:https://xueshu.baidu.com/s?wd=">xueshu:https://xueshu.baidu.com/s?wd=</a></p>
<p>Developer:<br>
<a href="i:00devdocs:https://devdocs.io/#q=">devdocs:https://devdocs.io/#q=</a></p>
<p><a href="i:00grep.app:https://grep.app/search?q=">grep.app:https://grep.app/search?q=</a></p>
<p><a href="i:00git:https://github.com/search?type=Repositories&amp;q=">git:https://github.com/search?type=Repositories&amp;q=</a></p>
<p><a href="i:00man:http://man.cx/">man:http://man.cx/</a></p>
<p><a href="i:00code:http://searchcode.com/?q=">code:http://searchcode.com/?q=</a></p>
<p><a href="i:00grep:https://grep.app/search?q=">grep:https://grep.app/search?q=</a></p>
<p><a href="i:00symbolhound:http://symbolhound.com/?q=">symbolhound:http://symbolhound.com/?q=</a></p>
<p><a href="i:00vector:https://vector.me/search/">vector:https://vector.me/search/</a></p>
<p><a href="i:00jsdelivr:http://www.jsdelivr.com/?query=">jsdelivr:http://www.jsdelivr.com/?query=</a></p>
<p><a href="i:00greasyfork:https://greasyfork.org/en/scripts?sort=updated&q=">greasyfork:https://greasyfork.org/en/scripts?sort=updated&amp;q=</a></p>
<p><a href="i:00cdn.githubjs.cf:https://cdn.githubjs.cf/search?q=">cdn.githubjs.cf:https://cdn.githubjs.cf/search?q=</a></p>
<p><a href="i:00hub.yzuu:https://hub.yzuu.cf/search?q=">hub.yzuu:https://hub.yzuu.cf/search?q=</a></p>
<p><a href="i:00hub.nuaa:https://hub.nuaa.cf/search?q=">hub.nuaa:https://hub.nuaa.cf/search?q=</a></p>
<p><a href="i:00hub.njuu:https://hub.njuu.cf/search?q=">hub.njuu:https://hub.njuu.cf/search?q=</a></p>
<p>app:<br>
<a href="i:00App store:market://search?q=">App store:market://search?q=</a></p>
<p>local engines(May need termux customized edition and tools like bcgnuplot etc.):<br>
<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><a href="../searchcat/index.html">Search engine files</a></p>
<p>More at:<br>
<a href="https://alternativeto.net/software/google-search/?feature=web-search">alternativeto</a></p>
</div>
<p>Last Modified: 2 April 2024<br>
update AI engines<br>
<pre>Add AI engines
</pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -245,8 +245,8 @@
<a href="https://alternativeto.net/software/google-search/?feature=web-search">alternativeto</a></p>
</div>
<p>Last Modified: 31 March 2024<br>
update AI engines<br>
<p>Last Modified: 2 April 2024<br>
add ending # to /index.html<br>
<pre>Add AI engines
</pre>
</p>

View File

@ -1,94 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Search engine files</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Search engine files
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/search%20engine/index.html#">search engine</a> </li>
</ul>
<p>Any &quot;.search&quot; file can be opened as search engine file, each line of which has one of the following formats:<br>
[Engine name]:[url without '%s' inside]<br>
[Engine name]:[url with '%s' as keyword]<br>
[Engine name]:POST:[post params with '%s' as keyword]:[url]<br>
[Engine name]:[Extra request headers]:[post params with '%s' as keyword]:[url]</p>
<ul>
<li>[Extra request headers] Ex. &quot;X-Forwarded-For;8.8.8.8&quot;</li>
<li>when [post params] is empty, the url should have '%s' as keyword. Ex. <a href="../search/index.html">bingUS engine w/ chatgpt</a></li>
</ul>
<p>Limitations (they are here for performance reasons):</p>
<ul>
<li>The first engine in the file must be the first type that has no '%s' in the engine url.</li>
<li>Internal scheme engine urls (such as i:, d:, c:) must have '%s', since '%s' format is more general (only type 2 is allowed, since POST makes no sense for internal schemes).</li>
</ul>
<h4 id="local-engines">Local engines</h4>
<p>c:[command line with '%s' as keyword]<br>
d:mimetype:[command line with '%s' as keyword]:[base url for external resources]</p>
</div>
<p>Last Modified: 4 March 2023<br>
i:0m to support extra headers<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -68,8 +68,8 @@
d:mimetype:[command line with '%s' as keyword]:[base url for external resources]</p>
</div>
<p>Last Modified: 4 March 2023<br>
i:0m to support extra headers<br>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<pre></pre>
</p>

View File

@ -1,595 +0,0 @@
/* 头部分 */
#head {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 4rem;
display: flex;
align-items: center;
justify-content: space-between;
backdrop-filter: blur(10px);
background-color: #ffffff78;
z-index: 99;
}
#head-img-div {
height: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
}
#head-img-div>img {
height: 100%;
}
#head-img-div-h2-img>* {
margin: 0;
}
#head-li-div {
margin-right: 2rem;
}
/* 背景*/
#background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background: repeating-linear-gradient(359deg, rgb(182 196 255) 0%, rgb(207 225 255 / 78%) 100%);
transition: filter 1s;
}
#background.a {
filter: hue-rotate(10deg);
}
#background.b {
filter: hue-rotate(-5deg);
}
#background.c {
filter: hue-rotate(-20deg);
}
/* 尾部分 */
#tail {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 7rem;
display: flex;
justify-content: center;
backdrop-filter: blur(10px);
background-color: #ffffff78;
flex-direction: column-reverse;
align-items: center;
z-index: 99;
}
#SearchSuggestions {
position: fixed;
top: -3rem;
display: flex;
flex-wrap: nowrap;
flex-direction: row;
justify-content: center;
align-items: center;
width: 100%;
transition: opacity 0.2s
}
#SearchSuggestions>a {
backdrop-filter: blur(10px);
background-color: #ffffff82;
border-radius: 2rem;
padding: 0.5rem;
font-size: 0.9rem;
margin: 0.2rem;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
transition: flex 0.5s;
}
#SearchSuggestions>a:hover {
cursor: pointer;
background-color: #ffffff;
flex: none;
}
#tail-in {
display: flex;
width: 80%;
align-items: center;
justify-content: center;
height: 80%;
}
#restart:hover ,
#restartNewChat:hover
{
background-color: #ffffff;
cursor: pointer;
}
#restart ,
#restartNewChat
{
border: 0;
border-radius: 1.5rem;
background-color: #ffffff9e;
height: 100%;
font-size: 0.8rem;
transition: all 0.5s;
overflow: hidden;
white-space: normal;
}
#restart {
width: 0;
margin: 0;
padding: 0;
opacity: 0;
}
body:has(.my) #restart {
width: 5rem;
margin-right: 0.5rem;
padding: 0;
opacity: 1;
}
#restartNewChat{
width: 5rem;
margin-right: 0.5rem;
}
#restartNewChat.onShow{
width: 0;
margin: 0;
padding: 0;
opacity: 0;
}
#send {
border: 0;
margin: 0 1rem 1rem 0;
border-radius: 2rem;
background-color: #005fff38;
height: 1.8rem;
font-size: 0.8rem;
cursor: pointer;
min-width: 3rem;
transition: all 0.5s;
}
#send:hover {
background-color: #005fff80;
}
#input {
border: none;
resize: none;
outline: none;
width: 100%;
background-color: #ffffff00;
margin: 1rem 0 1rem 1rem;
height: -webkit-fill-available;
}
#input:focus-visible {
border: 0;
}
#input-div {
border-radius: 1.5rem;
flex: 1;
height: 100%;
background-color: #ffffff;
margin: 0 0;
display: flex;
flex-direction: row;
align-items: flex-end;
transition: all 0.5s;
}
/* 页面部分 */
body {
overflow-x: hidden;
}
#body-top {
height: 20vh;
width: 100%;
}
#body-bottom {
height: 15rem;
width: 100%;
}
/* 聊天选项部分 */
#chatTypeDiv {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
flex-wrap: nowrap;
margin-bottom: 7rem;
transition: all 0.5s;
}
#chatTypeDiv>.chatTypeChose {
background-color: #ffffffcc;
border-radius: 2rem;
width: 9rem;
height: 4rem;
margin: 1rem 0.3rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: 0.5rem solid #ffffffcc;
cursor: pointer;
}
#chatTypeDiv>.chatTypeChose>p {
margin: 0;
text-align: center;
}
#chatTypeDiv>.chatTypeChose>h3 {
margin: 0;
text-align: center;
}
#chatTypeChoseCreate.Chose {
background-color: #904887;
color: white;
cursor: default;
}
#chatTypeChoseBalance.Chose {
background-color: #2870EA;
color: white;
cursor: default;
}
#chatTypeChoseAccurate.Chose {
background-color: #006880;
color: white;
cursor: default;
}
/* 聊天部分,在页面内 */
@keyframes acceptMeaaage {
from {
margin-top: 1em;
margin-left: -4em;
opacity: 0;
}
to {}
}
@keyframes sendMeaaage {
from {
margin-top: 1em;
margin-right: -4em;
opacity: 0;
}
to {}
}
.bing,
.my {
margin-bottom: 2rem;
}
.bing {
display: grid;
justify-items: start;
}
.bing>* {
animation: acceptMeaaage 0.5s;
}
.my>* {
animation: sendMeaaage 0.5s;
}
.my {
text-align: right;
font-size: 1.3rem;
}
.InternalSearchQuery,
.InternalLoaderMessage {
margin-left: 1rem;
font-size: 1rem;
}
.InternalSearchQuery>p,
.InternalLoaderMessage>p {
margin: 0;
margin-bottom: 1rem;
}
.adaptiveCardsFatherDIV,
.my>.bobo {
display: inline-block;
background-color: #ffffff;
border-radius: 1rem;
padding: 1rem 1rem;
max-width: 85vw;
margin-bottom: 1rem;
text-align: left;
}
.adaptiveCardsFatherDIV .throttling {
text-align: end;
font-size: 0.4rem;
margin-top: 0.5rem;
margin-bottom: -0.8rem;
border-top: 1px solid #0000005c;
}
.bing>.sourceAttributions {
font-size: 0.9rem;
max-width: 85vw;
margin: 0;
margin-bottom: 1rem;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
background-color: #ffffff57;
border-radius: 2rem;
padding: 0.5rem;
}
.bing:has(.sourceAttributions) .adaptiveCardsFatherDIV {
margin-bottom: 1em;
}
.bing>.sourceAttributions>a {
display: inline-block;
background-color: #ffffff73;
border-radius: 1rem;
padding: 0.5rem;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
margin: 0.1rem;
color: #000000;
text-decoration: none;
transition: flex 0.5s;
}
.bing>.sourceAttributions>a:hover {
background-color: #ffffffb3;
flex: none;
}
/* 上标 */
#chat .superscript {
display: inline-block;
vertical-align: super;
border: 0.1rem solid #0969da;
border-radius: 1em;
min-width: 1em;
text-align: center;
line-height: 1em;
font-size: small;
color: #0969da;
}
#chat .superscript:hover {
background-color: #00000024;
}
/*暂时不知道如何解析的渲染卡片请求*/
.RenderCardRequest {
border-radius: 1em;
background-color: white;
overflow: auto;
padding: 1em;
width: 85vw;
max-width: 1100px;
}
.RenderCardRequest>iframe {
min-width: 768px;
width: 100%;
height: 602px;
border: 0;
}
/* 画图部分 */
.GenerateContentQuery {
background-color: #ffffff;
border-radius: 1rem;
max-width: 85%;
margin-bottom: 1rem;
text-align: center;
font-size: 1rem;
padding: 1rem;
overflow: hidden;
display: inline-table;
}
.GenerateContentQuery>img {
max-width: 24%;
margin: 0.5%;
transition: all 0.8s;
cursor: pointer;
}
.GenerateContentQuery>img:hover {
margin: 0.2% 0.8% 0.8% 0.2%;
box-shadow: #0000007a 2px 3px 5px 0px;
transition: all 0.3s;
}
/* 错误部分 */
#chat .error {
text-align: center;
color: red;
}
.NoPower {
text-align: center;
color: #ff6d00;
cursor: pointer;
margin: 1rem;
text-decoration: underline;
}
/* 用于适配不同设备 */
/* pc */
:root {
font-size: 1rem;
}
div.markdown-body {
font-size: 1rem;
overflow: auto;
}
/* 窄窗口 */
@media screen and (max-width:550px) {
#tail-in:has(#input:focus-visible) #restart,
#tail-in:has(#input:hover) #restart,
#tail-in:has(#input:focus-visible) #restartNewChat,
#tail-in:has(#input:hover) #restartNewChat {
width: 0;
margin: 0;
padding: 0;
opacity: 0;
}
.GenerateContentQuery>img {
max-width: 49%;
width: 49%;
}
#tail-in {
width: 90%;
}
.bing>.sourceAttributions {
flex-wrap: wrap;
}
}
/*手机 css*/
@media screen and (orientation:portrait) and (max-device-width:800px) and (max-device-height:1000px) {
:root {
font-size: 2rem;
}
div.markdown-body {
font-size: 1rem;
}
.InternalSearchQuery,
.InternalLoaderMessage {
width: 90%;
}
.InternalSearchQuery>p,
.InternalLoaderMessage>p {
font-size: 1rem;
}
.bing>.sourceAttributions {
max-width: 88vw;
flex-wrap: wrap;
}
.adaptiveCardsFatherDIV,
.my>.bobo {
max-width: 88vw;
}
#tail-in {
width: 90%;
}
#restart {
font-size: 1em;
}
#input {
font-size: 1em;
}
.GenerateContentQuery>img {
max-width: 49%;
width: 49%;
}
#tail-in:has(#input:focus-visible) #restart,
#tail-in:has(#input:hover) #restart,
#tail-in:has(#input:focus-visible) #restartNewChat,
#tail-in:has(#input:hover) #restartNewChat {
width: 0;
margin: 0;
padding: 0;
opacity: 0;
}
/* 聊天部分,在页面内 */
@keyframes acceptMeaaage {
from {
margin-top: 1em;
margin-left: 0em;
opacity: 0;
}
to {}
}
@keyframes sendMeaaage {
from {
margin-top: 1em;
margin-right: 0em;
opacity: 0;
}
to {}
}
}

View File

@ -1 +0,0 @@
{"clientTcpRtt":172,"longitude":"120.60200","latitude":"31.30930","tlsCipher":"AEAD-AES256-GCM-SHA384","continent":"AS","asn":4134,"clientAcceptEncoding":"br, gzip, deflate","country":"CN","tlsClientAuth":{"certIssuerDNLegacy":"","certIssuerSKI":"","certSubjectDNRFC2253":"","certSubjectDNLegacy":"","certFingerprintSHA256":"","certNotBefore":"","certSKI":"","certSerial":"","certIssuerDN":"","certVerified":"NONE","certNotAfter":"","certSubjectDN":"","certPresented":"0","certRevoked":"0","certIssuerSerial":"","certIssuerDNRFC2253":"","certFingerprintSHA1":""},"tlsExportedAuthenticator":{"clientFinished":"b7f5ebe4898f01fbdbf9b0a444e1edc7956472268f27576d15fe6e048855ae5fe9f514231998caf937773f6a53901960","clientHandshake":"44f40162794883f93892c883c4121ca289621ad38b27615555cc0f471283da68ad39a438b0e956abc6613792f5fb81de","serverHandshake":"d3ec250200a505c5bc98a049d3f63720e3baea922338e6f94d61a28d9dfed9c1078dc8fa74e83f6719938122e6887a85","serverFinished":"710a654a0cfdd69ce712c7464801d1661f5b797ddd3cccf7f78f4abbd34564ebb7e9c00282fe7923875226284bde9b67"},"tlsVersion":"TLSv1.3","city":"Suzhou","timezone":"Asia/Shanghai","colo":"SJC","region":"Jiangsu","requestPriority":"","botManagement":{"corporateProxy":false,"verifiedBot":false,"ja3Hash":"0cce74b0d9b7f8528fb2181588d23793","staticResource":false,"detectionIds":{},"score":2},"clientTrustScore":2,"httpProtocol":"HTTP/1.1","regionCode":"JS","asOrganization":"China Telecom","edgeRequestKeepAliveStatus":1}

View File

@ -1,24 +0,0 @@
import { serve } from "https://deno.land/std/http/server.ts";
async function handler(req: Request): Promise<Response> {
let url = req.url;
let iSlash = url.indexOf('/',11);
let nUrl = "https://www.bing.com/"+url.substring(iSlash+1);
let fp = {
method: req.method,
headers: {}
}
let reqHeaders = new Headers(req.headers);
let keepHeaders = ["cookie","user-agent","accept","accept-language"];
let he = reqHeaders.entries();
for (let h of he) {
let key = h[0],
value = h[1];
if (keepHeaders.includes(key)) {
fp.headers[key] = value;
}
}
return await fetch(nUrl, fp);
}
serve(handler);

View File

@ -1,102 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>JS/CSS/HTML/preprocessing for domains</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">JS/CSS/HTML/preprocessing for domains
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
<li><a href="../tags/javascript/index.html#">javascript</a> </li>
<li><a href="../tags/css/index.html#">css</a> </li>
</ul>
<h3 id="javascript-load-when-page-completes-earliest-loaded-js-should-use-sitecss">Javascript (load when page completes, earliest loaded JS should use sitecss).</h3>
<ul>
<li>Need to be named as &quot;[domain root].js&quot;, such as &quot;yahoo.com.js&quot; or &quot;finance.yahoo.com.js&quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded.</li>
<li>Script must be put under the folder &quot;sitejs&quot; or &quot;/data/data/info.torapp.uweb/files/sitejs&quot;. The later folder has the priority.</li>
<li>Long press the button &quot;settings&quot;, check the option &quot;Run user scripts&quot;.</li>
<li>Support 2/3-segment domains. If the length of the last 2-segments of domain is less than 7 (ex. &quot;com.pl&quot;), then it is treated as one segment.</li>
</ul>
<h3 id="css-style-and-earliest-loaded-js">CSS style and earliest loaded JS</h3>
<ul>
<li>Need to be named as &quot;[domain root].css&quot;, such as yahoo.com.css or finance.yahoo.com.css。</li>
<li>Under folder &quot;sitecss&quot;.</li>
<li>&quot;[domain root].js&quot; is loaded at the earliest time.</li>
<li>Long press the button &quot;settings&quot;, check the option &quot;Apply user styles&quot;.</li>
</ul>
<p>If file &quot;default.css&quot; exists, the style will be applied to all sites not matching [domain root].css.</p>
<h3 id="extra-html-and-preprocessing">Extra html and preprocessing</h3>
<ul>
<li>Need to be named as &quot;[domain].html&quot;. Notice: the file name stem here is &quot;[full domain]&quot; not &quot;[domain root]&quot;.</li>
<li>Under folder &quot;siteextra&quot;.</li>
<li>Long press the button &quot;settings&quot;, check the option &quot;Apply user extra&quot;.</li>
</ul>
<p>An open tag as the last tag in the last 50 bytes of the user extra html expects more content to follow, thus the extra html is placed before the site html. Ex. when the extra html ends with &quot;&lt;textarea&gt;&quot; or &quot;&lt;plaintext&gt;&quot;, the site source html appears as the value of the textarea/plaintext element, thus the extra html can further process the the site source html before rendering. A self closed tag such as &quot;&lt;br&gt;&quot; acts like open tags, also makes the site source follow the extra html.</p>
<p>&quot;sitejs/.js&quot;, &quot;sitecss/.css&quot;, &quot;sitecss/.js&quot; and &quot;siteextra/.html&quot; are applied to all non-http urls (file urls etc.).</p>
</div>
<p>Last Modified: 20 April 2023<br>
support .js files under &#39;css&#39; folder<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -76,7 +76,7 @@
<p>&quot;sitejs/.js&quot;, &quot;sitecss/.css&quot;, &quot;sitecss/.js&quot; and &quot;siteextra/.html&quot; are applied to all non-http urls (file urls etc.).</p>
</div>
<p>Last Modified: 20 April 2023<br>
<p>Last Modified: 2 April 2024<br>
support .js files under &#39;css&#39; folder<br>
<pre></pre>
</p>

View File

@ -1,124 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Configuration</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Configuration
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<p><a href="i:61ver:../../latest.html#">Check for updates</a></p>
<h4 id="ui">UI</h4>
<ul>
<li><a href="../search/index.html">Search engines</a></li>
<li><a href="../searchurl/homescreen.html">Home screens</a></li>
<li><a href="i:61:../searchurl/func.html">UI</a> (<a href="i:61:https://gitee.com/jamesfengcao/uweb/raw/master/en/searchurl/func.html">gitee</a>)</li>
<li><a href="../searchurl/webdav.html">webdav install-able menu generator</a></li>
</ul>
<h4 id="customization">Customization</h4>
<ul>
<li>Long pressing menus for toolbar buttons</li>
<li><a href="../uas/index.html">User agents</a></li>
<li><a href="../rjs/index.html">Javascript</a></li>
<li><a href="../urls/index.html">Url services</a></li>
<li><a href="../links/index.html">Links</a></li>
<li><a href="../cmds/index.html">Commands</a></li>
<li><a href="../rjs/index.html">Remote javascript</a></li>
<li><a href="../textprocess/index.html">Menu for selections</a></li>
<li><a href="../longclick/index.html">Menu for long pressing hypertext</a></li>
<li><a href="../icons/index.html">Toolbar</a></li>
<li><a href="../gesture/index.html">Gestures</a></li>
<li><a href="../acmd/index.html">Address bar command modes</a></li>
<li><a href="i:60config.html:../searchurl/config.html">Advanced</a></li>
</ul>
<h4 id="advanced">Advanced</h4>
<h5 id="content">Content</h5>
<ul>
<li><a href="../adblock/index.html">AD blocking</a></li>
<li><a href="../globalcss/index.html">CSS styles</a></li>
<li><a href="../redirect/index.html">Redirection</a></li>
<li><a href="../offlinecache/index.html">Offline cache</a></li>
<li><a href="../sitejs/index.html">JS/CSS/HTML/preprocessing for domains</a></li>
<li><a href="../url2site/index.html">Any urls as website</a></li>
</ul>
<h5 id="tools">Tools</h5>
<ul>
<li><a href="../bookmarklet/index.html">Bookmarklets</a></li>
<li><a href="../tcron/index.html">Cron &amp; more</a></li>
<li><a href="../filecap/index.html">Custom file handling</a></li>
<li><a href="../html5/index.html">Html5 application</a></li>
<li><a href="../termux/index.html">Termux</a></li>
</ul>
<h5 id="info">Info</h5>
<ul>
<li><a href="../assets/help_en.html">Manual</a></li>
<li><a href="../tips/index.html">Tips</a></li>
<li><a href="../filenames/index.html">Configuration files</a></li>
<li><a href="../bookmark/index.html">Bookmarks</a></li>
</ul>
</div>
<p>Last Modified: 19 December 2023<br>
version 1037<br>
<pre></pre>
</p>
<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"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
</body>
</html>

View File

@ -2,76 +2,76 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/en/_posts.html</loc>
<lastmod>2024-03-06T09:59:54+08:00</lastmod>
<loc>/en/_posts/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/_posts.html"
href="/zh/_posts/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/_posts.html"
href="/en/_posts/"
/>
</url><url>
<loc>/en/tags/clipboard.html</loc>
<lastmod>2023-12-11T15:21:00+08:00</lastmod>
<loc>/en/tags/clipboard/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/tags/ssh.html</loc>
<lastmod>2023-12-11T15:21:00+08:00</lastmod>
<loc>/en/tags/ssh/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/ssh.html"
href="/zh/tags/ssh/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/ssh.html"
href="/en/tags/ssh/"
/>
</url><url>
<loc>/en/tags.html</loc>
<lastmod>2023-12-11T15:21:00+08:00</lastmod>
<loc>/en/tags/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags.html"
href="/zh/tags/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags.html"
href="/en/tags/"
/>
</url><url>
<loc>/en/tags/termux.html</loc>
<lastmod>2023-12-11T15:21:00+08:00</lastmod>
<loc>/en/tags/termux/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/termux.html"
href="/zh/tags/termux/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/termux.html"
href="/en/tags/termux/"
/>
</url><url>
<loc>/en/textprocess.html</loc>
<lastmod>2023-12-11T15:21:00+08:00</lastmod>
<loc>/en/textprocess/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/textprocess.html"
href="/zh/textprocess/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/textprocess.html"
href="/en/textprocess/"
/>
</url><url>
<loc>/en/</loc>
<lastmod>2024-04-02T09:37:40+08:00</lastmod>
<lastmod>2024-04-02T13:36:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -83,466 +83,469 @@
href="/en/"
/>
</url><url>
<loc>/en/tags/windows.html</loc>
<lastmod>2023-12-11T15:21:00+08:00</lastmod>
<loc>/en/tags/windows/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/windows.html"
href="/zh/tags/windows/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/windows.html"
href="/en/tags/windows/"
/>
</url><url>
<loc>/en/links.html</loc>
<lastmod>2023-11-15T15:19:25+08:00</lastmod>
<loc>/en/links/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/links.html"
href="/zh/links/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/links.html"
href="/en/links/"
/>
</url><url>
<loc>/en/tcron.html</loc>
<lastmod>2024-01-04T17:14:26+08:00</lastmod>
<loc>/en/tcron/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tcron.html"
href="/zh/tcron/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tcron.html"
href="/en/tcron/"
/>
</url><url>
<loc>/en/offlinecache.html</loc>
<lastmod>2023-05-09T22:48:54+08:00</lastmod>
<loc>/en/offlinecache/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/offlinecache.html"
href="/zh/offlinecache/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/offlinecache.html"
href="/en/offlinecache/"
/>
</url><url>
<loc>/en/tags/redirection.html</loc>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
<loc>/en/tags/redirection/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/redirect.html</loc>
<lastmod>2023-06-17T07:35:57+08:00</lastmod>
<loc>/en/redirect/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/redirect.html"
href="/zh/redirect/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/redirect.html"
href="/en/redirect/"
/>
</url><url>
<loc>/en/tags/adblock.html</loc>
<lastmod>2023-05-13T17:17:39+08:00</lastmod>
<loc>/en/tags/adblock/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/adblock_domain.html</loc>
<lastmod>2023-05-13T17:17:39+08:00</lastmod>
<loc>/en/adblock_domain/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/adblock_domain.html"
href="/zh/adblock_domain/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/adblock_domain.html"
href="/en/adblock_domain/"
/>
</url><url>
<loc>/en/search.html</loc>
<lastmod>2024-04-02T09:37:40+08:00</lastmod>
<loc>/en/search/</loc>
<lastmod>2024-04-02T11:35:09+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/search.html"
href="/zh/search/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/search.html"
href="/en/search/"
/>
</url><url>
<loc>/en/topposts.html</loc>
<lastmod>2024-04-02T09:37:40+08:00</lastmod>
<loc>/en/topposts/</loc>
<lastmod>2024-04-02T11:35:09+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/topposts.html"
href="/zh/topposts/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/topposts.html"
href="/en/topposts/"
/>
</url><url>
<loc>/en/tags/css.html</loc>
<lastmod>2023-04-20T10:17:34+08:00</lastmod>
<loc>/en/tags/css/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/css.html"
href="/zh/tags/css/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/css.html"
href="/en/tags/css/"
/>
</url><url>
<loc>/en/tags/javascript.html</loc>
<lastmod>2023-04-20T10:17:34+08:00</lastmod>
<loc>/en/tags/javascript/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/javascript.html"
href="/zh/tags/javascript/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/javascript.html"
href="/en/tags/javascript/"
/>
</url><url>
<loc>/en/sitejs.html</loc>
<lastmod>2023-04-20T10:17:34+08:00</lastmod>
<loc>/en/sitejs/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/sitejs.html"
href="/zh/sitejs/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/sitejs.html"
href="/en/sitejs/"
/>
</url><url>
<loc>/en/bookmark.html</loc>
<lastmod>2024-03-06T09:59:54+08:00</lastmod>
<loc>/en/bookmark/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/bookmark.html"
href="/zh/bookmark/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/bookmark.html"
href="/en/bookmark/"
/>
</url><url>
<loc>/en/tips.html</loc>
<lastmod>2023-12-01T15:52:12+08:00</lastmod>
<loc>/en/tips/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tips.html"
href="/zh/tips/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tips.html"
href="/en/tips/"
/>
</url><url>
<loc>/en/acmd.html</loc>
<lastmod>2023-02-18T14:12:02+08:00</lastmod>
<loc>/en/acmd/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/url2site.html</loc>
<lastmod>2023-05-14T10:54:36+08:00</lastmod>
<loc>/en/url2site/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/html5.html</loc>
<lastmod>2023-02-20T21:49:16+08:00</lastmod>
<loc>/en/html5/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/html5.html"
href="/zh/html5/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/html5.html"
href="/en/html5/"
/>
</url><url>
<loc>/en/changelog.html</loc>
<loc>/en/changelog/</loc>
<lastmod>2024-03-21T17:54:44+08:00</lastmod>
</url><url>
<loc>/en/sitemap.html</loc>
<lastmod>2023-12-19T17:02:46+08:00</lastmod>
<loc>/en/sitemap/</loc>
<lastmod>2024-04-02T11:27:08+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/sitemap.html"
href="/zh/sitemap/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/sitemap.html"
href="/en/sitemap/"
/>
</url><url>
<loc>/en/filenames.html</loc>
<lastmod>2023-12-09T18:14:29+08:00</lastmod>
<loc>/en/filenames/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/filenames.html"
href="/zh/filenames/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/filenames.html"
href="/en/filenames/"
/>
</url><url>
<loc>/en/adblock.html</loc>
<lastmod>2023-02-20T21:48:27+08:00</lastmod>
<loc>/en/adblock/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/adblock.html"
href="/zh/adblock/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/adblock.html"
href="/en/adblock/"
/>
</url><url>
<loc>/en/bookmarklet.html</loc>
<lastmod>2022-09-24T14:05:13+08:00</lastmod>
<loc>/en/bookmarklet/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/bookmarklet.html"
href="/zh/bookmarklet/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/bookmarklet.html"
href="/en/bookmarklet/"
/>
</url><url>
<loc>/en/urls.html</loc>
<lastmod>2023-12-05T08:55:37+08:00</lastmod>
<loc>/en/urls/</loc>
<lastmod>2024-04-02T11:35:09+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/urls.html"
href="/zh/urls/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/urls.html"
href="/en/urls/"
/>
</url><url>
<loc>/en/cmds.html</loc>
<lastmod>2023-12-05T08:55:49+08:00</lastmod>
<loc>/en/cmds/</loc>
<lastmod>2024-04-02T11:35:09+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/cmds.html"
href="/zh/cmds/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/cmds.html"
href="/en/cmds/"
/>
</url><url>
<loc>/en/rjs.html</loc>
<lastmod>2023-04-29T21:37:35+08:00</lastmod>
<loc>/en/rjs/</loc>
<lastmod>2024-04-02T11:35:09+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/rjs.html"
href="/zh/rjs/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/rjs.html"
href="/en/rjs/"
/>
</url><url>
<loc>/en/globalcss.html</loc>
<lastmod>2023-04-20T10:19:36+08:00</lastmod>
<loc>/en/globalcss/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/globalcss.html"
href="/zh/globalcss/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/globalcss.html"
href="/en/globalcss/"
/>
</url><url>
<loc>/en/icons.html</loc>
<lastmod>2022-11-01T15:49:25+08:00</lastmod>
<loc>/en/icons/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/icons.html"
href="/zh/icons/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/icons.html"
href="/en/icons/"
/>
</url><url>
<loc>/en/tags/search-engine.html</loc>
<lastmod>2023-03-04T09:42:31+08:00</lastmod>
<loc>/en/tags/search-engine/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/searchcat.html</loc>
<lastmod>2023-03-04T09:42:31+08:00</lastmod>
<loc>/en/searchcat/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/searchcat.html"
href="/zh/searchcat/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/searchcat.html"
href="/en/searchcat/"
/>
</url><url>
<loc>/en/termux.html</loc>
<lastmod>2023-12-09T18:10:31+08:00</lastmod>
<loc>/en/termux/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
</url><url>
<loc>/en/longclick.html</loc>
<lastmod>2022-09-24T14:05:13+08:00</lastmod>
<loc>/en/longclick/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/longclick.html"
href="/zh/longclick/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/longclick.html"
href="/en/longclick/"
/>
</url><url>
<loc>/en/tags/tdict.html</loc>
<lastmod>2022-09-27T17:36:08+08:00</lastmod>
<loc>/en/tags/tdict/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/tdict.html"
href="/zh/tags/tdict/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/tdict.html"
href="/en/tags/tdict/"
/>
</url><url>
<loc>/en/tags/tools.html</loc>
<lastmod>2022-09-27T17:36:08+08:00</lastmod>
<loc>/en/tags/tools/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/tools.html"
href="/zh/tags/tools/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/tools.html"
href="/en/tags/tools/"
/>
</url><url>
<loc>/en/tools.html</loc>
<lastmod>2022-09-27T17:36:08+08:00</lastmod>
<loc>/en/tools/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tools.html"
href="/zh/tools/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tools.html"
href="/en/tools/"
/>
</url><url>
<loc>/en/tags/curl.html</loc>
<lastmod>2022-09-24T14:05:13+08:00</lastmod>
<loc>/en/tags/curl/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/tags/curl.html"
href="/zh/tags/curl/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/tags/curl.html"
href="/en/tags/curl/"
/>
</url><url>
<loc>/en/filecap.html</loc>
<lastmod>2022-09-24T14:05:13+08:00</lastmod>
<loc>/en/filecap/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/filecap.html"
href="/zh/filecap/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/filecap.html"
href="/en/filecap/"
/>
</url><url>
<loc>/en/gesture.html</loc>
<lastmod>2022-09-24T14:05:13+08:00</lastmod>
<loc>/en/gesture/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/gesture.html"
href="/zh/gesture/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/gesture.html"
href="/en/gesture/"
/>
</url><url>
<loc>/en/readme.html</loc>
<lastmod>2024-03-24T11:20:30+08:00</lastmod>
<loc>/en/mirrors/</loc>
<lastmod>2024-04-02T09:36:36+08:00</lastmod>
</url><url>
<loc>/en/readme/</loc>
<lastmod>2024-04-02T13:36:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/readme.html"
href="/zh/readme/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/readme.html"
href="/en/readme/"
/>
</url><url>
<loc>/en/categories.html</loc>
<loc>/en/categories/</loc>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/categories.html"
href="/zh/categories/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/categories.html"
href="/en/categories/"
/>
</url><url>
<loc>/en/unlist.html</loc>
<lastmod>2024-03-24T11:20:30+08:00</lastmod>
<loc>/en/unlist/</loc>
<lastmod>2024-04-02T13:36:57+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
href="/zh/unlist.html"
href="/zh/unlist/"
/>
<xhtml:link
rel="alternate"
hreflang="en"
href="/en/unlist.html"
href="/en/unlist/"
/>
</url>
</urlset>

View File

@ -28,7 +28,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
@ -98,8 +98,8 @@
</ul>
</div>
<p>Last Modified: 19 December 2023<br>
version 1037<br>
<p>Last Modified: 2 April 2024<br>
add ending # to /index.html<br>
<pre></pre>
</p>

View File

@ -1,32 +0,0 @@
<!doctype html>
<html>
<body>
<ul>
<li><a href="adblock/index.html#">Adblock</a> 1</li>
<li><a href="clipboard/index.html#">Clipboard</a> 1</li>
<li><a href="css/index.html#">Css</a> 1</li>
<li><a href="curl/index.html#">Curl</a> 1</li>
<li><a href="javascript/index.html#">Javascript</a> 3</li>
<li><a href="redirection/index.html#">Redirection</a> 1</li>
<li><a href="search%20engine/index.html#">Search Engine</a> 1</li>
<li><a href="ssh/index.html#">Ssh</a> 1</li>
<li><a href="tdict/index.html#">Tdict</a> 1</li>
<li><a href="termux/index.html#">Termux</a> 3</li>
<li><a href="tools/index.html#">Tools</a> 1</li>
<li><a href="windows/index.html#">Windows</a> 1</li>
</ul>
</body>
</html>

View File

@ -1,54 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/adblock/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Adblock</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Adblock</h1>
<ul class="posts">
<li class="post">
<a href="../../adblock_domain/index.html#">
<span>Hosts files</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<nav>
</nav>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Adblock on uweb browser: unlimited power</title>
<link>/en/tags/adblock.html</link>
<link>/en/tags/adblock/</link>
<description>Recent content in Adblock on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Sat, 13 May 2023 17:17:39 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/adblock/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Hosts files</title>
<link>/en/adblock_domain.html</link>
<link>/en/adblock_domain/</link>
<pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate>
<guid>/en/adblock_domain.html</guid>
<guid>/en/adblock_domain/</guid>
<description>The enhanced hosts files &amp;quot;hosts&amp;quot; and &amp;quot;default.hosts&amp;quot; take effect with the setting option &amp;quot;use hosts&amp;quot;.&#xA;hosts The enhanced file &amp;quot;hosts&amp;quot; defines IP addresses/attributes for domains. Each line has the following format:&#xA;[[IP address][attributes]][single space][domain name]&#xA;where &amp;quot;[[IP address][attributes]]&amp;quot; could be:&#xA;ipv4 address such as:&#xA;172.67.157.211 torapp.eu.org&#xA;ipv6 address, Ex.:&#xA;[2606:4700:3037::6815:8c3] torapp.eu.org&#xA;empty, that would lift all server-imposed limitations. Ex.:&#xA;[single space]gitee.com&#xA;which will make all git repositories on the domain visitable as websites with raw file access url.</description>
</item>
</channel>

View File

@ -1,54 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/clipboard/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Clipboard</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Clipboard</h1>
<ul class="posts">
<li class="post">
<a href="../../textprocess/index.html#">
<span>Text selection/processing</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<nav>
</nav>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Clipboard on uweb browser: unlimited power</title>
<link>/en/tags/clipboard.html</link>
<link>/en/tags/clipboard/</link>
<description>Recent content in Clipboard on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Mon, 11 Dec 2023 15:21:00 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/clipboard/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess.html</link>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess.html</guid>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:&#xA;Copy selected text with html format to clipboard&#xA;Search with home screen&#xA;google Translate&#xA;bing translate&#xA;deepL&#xA;The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:&#xA;[Name]:[mimetype]:[command line]&#xA;[mimetype] specifies input/output for [command line].</description>
</item>
</channel>

View File

@ -1,58 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/css/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Css</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Css</h1>
<ul class="posts">
<li class="post">
<a href="../../sitejs/index.html#">
<span>JS/CSS/HTML/preprocessing for domains</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Css on uweb browser: unlimited power</title>
<link>/en/tags/css.html</link>
<link>/en/tags/css/</link>
<description>Recent content in Css on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Thu, 20 Apr 2023 10:17:34 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/css/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>JS/CSS/HTML/preprocessing for domains</title>
<link>/en/sitejs.html</link>
<link>/en/sitejs/</link>
<pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/sitejs.html</guid>
<guid>/en/sitejs/</guid>
<description>Javascript (load when page completes, earliest loaded JS should use sitecss). Need to be named as &amp;quot;[domain root].js&amp;quot;, such as &amp;quot;yahoo.com.js&amp;quot; or &amp;quot;finance.yahoo.com.js&amp;quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded. Script must be put under the folder &amp;quot;sitejs&amp;quot; or &amp;quot;/data/data/info.torapp.uweb/files/sitejs&amp;quot;. The later folder has the priority. Long press the button &amp;quot;settings&amp;quot;, check the option &amp;quot;Run user scripts&amp;quot;.</description>
</item>
</channel>

View File

@ -1,58 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/curl/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Curl</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Curl</h1>
<ul class="posts">
<li class="post">
<a href="../../filecap/index.html#">
<span>Custom file handling</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Curl on uweb browser: unlimited power</title>
<link>/en/tags/curl.html</link>
<link>/en/tags/curl/</link>
<description>Recent content in Curl on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Sat, 24 Sep 2022 14:05:13 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/curl/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Custom file handling</title>
<link>/en/filecap.html</link>
<link>/en/filecap/</link>
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
<guid>/en/filecap.html</guid>
<guid>/en/filecap/</guid>
<description>Long press the settings button, check the option &amp;quot;custom file handling&amp;quot; to enable the functionality.&#xA;The custom file handling configuration file is &amp;quot;default.filecap&amp;quot;, each line of it has the format as follows:&#xA;[file extension]:[mimetype]:[command line]&#xA;The &amp;quot;[file extension]&amp;quot; part can have at most two-segment of extensions such as &amp;quot;txt.xz&amp;quot;,&amp;quot;html.gz&amp;quot;.&#xA;&amp;quot;[mimetype]&amp;quot; indicates the type of &amp;quot;[command line]&amp;quot; output.&#xA;&amp;quot;[command line]&amp;quot; is same as the one in default.cmds. The most often used replacements are:</description>
</item>
</channel>

View File

@ -2,94 +2,94 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tags on uweb browser: unlimited power</title>
<link>/en/tags.html</link>
<link>/en/tags/</link>
<description>Recent content in Tags on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Mon, 11 Dec 2023 15:21:00 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Clipboard</title>
<link>/en/tags/clipboard.html</link>
<link>/en/tags/clipboard/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/clipboard.html</guid>
<guid>/en/tags/clipboard/</guid>
<description></description>
</item>
<item>
<title>Ssh</title>
<link>/en/tags/ssh.html</link>
<link>/en/tags/ssh/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/ssh.html</guid>
<guid>/en/tags/ssh/</guid>
<description></description>
</item>
<item>
<title>Termux</title>
<link>/en/tags/termux.html</link>
<link>/en/tags/termux/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/termux.html</guid>
<guid>/en/tags/termux/</guid>
<description></description>
</item>
<item>
<title>Windows</title>
<link>/en/tags/windows.html</link>
<link>/en/tags/windows/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/windows.html</guid>
<guid>/en/tags/windows/</guid>
<description></description>
</item>
<item>
<title>Redirection</title>
<link>/en/tags/redirection.html</link>
<link>/en/tags/redirection/</link>
<pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/redirection.html</guid>
<guid>/en/tags/redirection/</guid>
<description></description>
</item>
<item>
<title>Adblock</title>
<link>/en/tags/adblock.html</link>
<link>/en/tags/adblock/</link>
<pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/adblock.html</guid>
<guid>/en/tags/adblock/</guid>
<description></description>
</item>
<item>
<title>Css</title>
<link>/en/tags/css.html</link>
<link>/en/tags/css/</link>
<pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/css.html</guid>
<guid>/en/tags/css/</guid>
<description></description>
</item>
<item>
<title>Javascript</title>
<link>/en/tags/javascript.html</link>
<link>/en/tags/javascript/</link>
<pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/tags/javascript.html</guid>
<guid>/en/tags/javascript/</guid>
<description></description>
</item>
<item>
<title>Search Engine</title>
<link>/en/tags/search-engine.html</link>
<link>/en/tags/search-engine/</link>
<pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
<guid>/en/tags/search-engine.html</guid>
<guid>/en/tags/search-engine/</guid>
<description></description>
</item>
<item>
<title>Tdict</title>
<link>/en/tags/tdict.html</link>
<link>/en/tags/tdict/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tags/tdict.html</guid>
<guid>/en/tags/tdict/</guid>
<description></description>
</item>
<item>
<title>Tools</title>
<link>/en/tags/tools.html</link>
<link>/en/tags/tools/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tags/tools.html</guid>
<guid>/en/tags/tools/</guid>
<description></description>
</item>
<item>
<title>Curl</title>
<link>/en/tags/curl.html</link>
<link>/en/tags/curl/</link>
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
<guid>/en/tags/curl.html</guid>
<guid>/en/tags/curl/</guid>
<description></description>
</item>
</channel>

View File

@ -1,70 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/javascript/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Javascript</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Javascript</h1>
<ul class="posts">
<li class="post">
<a href="../../sitejs/index.html#">
<span>JS/CSS/HTML/preprocessing for domains</span>
</a>
</li>
<li class="post">
<a href="../../bookmarklet/index.html#">
<span>Bookmarklets</span>
</a>
</li>
<li class="post">
<a href="../../longclick/index.html#">
<span>Long pressed link menu</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,31 +2,31 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Javascript on uweb browser: unlimited power</title>
<link>/en/tags/javascript.html</link>
<link>/en/tags/javascript/</link>
<description>Recent content in Javascript on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Thu, 20 Apr 2023 10:17:34 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/javascript/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>JS/CSS/HTML/preprocessing for domains</title>
<link>/en/sitejs.html</link>
<link>/en/sitejs/</link>
<pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate>
<guid>/en/sitejs.html</guid>
<guid>/en/sitejs/</guid>
<description>Javascript (load when page completes, earliest loaded JS should use sitecss). Need to be named as &amp;quot;[domain root].js&amp;quot;, such as &amp;quot;yahoo.com.js&amp;quot; or &amp;quot;finance.yahoo.com.js&amp;quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded. Script must be put under the folder &amp;quot;sitejs&amp;quot; or &amp;quot;/data/data/info.torapp.uweb/files/sitejs&amp;quot;. The later folder has the priority. Long press the button &amp;quot;settings&amp;quot;, check the option &amp;quot;Run user scripts&amp;quot;.</description>
</item>
<item>
<title>Bookmarklets</title>
<link>/en/bookmarklet.html</link>
<link>/en/bookmarklet/</link>
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/bookmarklet.html</guid>
<description>With a href=&amp;quot;../index.html&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
<guid>/en/bookmarklet/</guid>
<description>With a href=&amp;quot;../index.html#&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
</item>
<item>
<title>Long pressed link menu</title>
<link>/en/longclick.html</link>
<link>/en/longclick/</link>
<pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate>
<guid>/en/longclick.html</guid>
<guid>/en/longclick/</guid>
<description>To run commands Each line of file &amp;quot;default.longclick&amp;quot; has the following format: (same as default.cmds)&#xA;[Name]:[mimetype]:[command line]&#xA;in which [command line] can have &amp;quot;%c&amp;quot; (cookie), &amp;quot;%u&amp;quot; (current url), &amp;quot;%t&amp;quot; (title) etc.&#xA;To visit url and load javascript file All &amp;quot;.js&amp;quot; files under the folder &amp;quot;longclick&amp;quot; are part of the popup menu.&#xA;These javascript files are in the following format:&#xA;The very first line can begin with &amp;quot;//&amp;quot; followed by website url that can have &amp;quot;%u&amp;quot; (current url), &amp;quot;%t&amp;quot; (title) etc.</description>
</item>
</channel>

View File

@ -1,60 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="/en/tags/pc/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css" type="text/css" />
<title>PC</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<a class="logo" href="index.xml">RSS</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">PC</h1>
<ul class="posts">
<li class="post">
<a href="../../textprocess/index.html">
<span>Text selection/processing</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>PC on uweb browser: unlimited power</title>
<link>/en/tags/pc/</link>
<description>Recent content in PC on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Fri, 01 Dec 2023 00:00:00 +0000</lastBuildDate>
<atom:link href="/en/tags/pc/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:
Copy selected text with html format to clipboard
Search with home screen
google Translate
bing translate
deepL
The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:
[Name]:[mimetype]:[command line]
[mimetype] specifies input/output for [command line].</description>
</item>
</channel>
</rss>

View File

@ -1,54 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/redirection/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Redirection</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Redirection</h1>
<ul class="posts">
<li class="post">
<a href="../../redirect/index.html#">
<span>Resource redirection</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<nav>
</nav>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Redirection on uweb browser: unlimited power</title>
<link>/en/tags/redirection.html</link>
<link>/en/tags/redirection/</link>
<description>Recent content in Redirection on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Sat, 17 Jun 2023 07:35:57 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/redirection/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Resource redirection</title>
<link>/en/redirect.html</link>
<link>/en/redirect/</link>
<pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
<guid>/en/redirect.html</guid>
<guid>/en/redirect/</guid>
<description>Redirection forwards cookies with the setting option &amp;quot;Redirect cookies&amp;quot; enabled, so use the options with care.&#xA;Setting options: &amp;quot;Url redirection&amp;quot; vs. &amp;quot;Resource redirection&amp;quot; &amp;quot;Url redirection&amp;quot; redirects the main/page url only while &amp;quot;Resource redirection&amp;quot; is for all urls in the page.&#xA;Global redirection Global redirection is enabled with the setting option &amp;quot;Resource redirection&amp;quot; or both &amp;quot;Url redirection&amp;quot; and &amp;quot;Redirect cookies&amp;quot;.&#xA;When a valid global redirection url is set, the &amp;quot;default.redirect&amp;quot; has no effect, and any url resource is fetched with the new url by appending the original url to the global redirection url.</description>
</item>
</channel>

View File

@ -1,54 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/search-engine/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Search Engine</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Search Engine</h1>
<ul class="posts">
<li class="post">
<a href="../../searchcat/index.html#">
<span>Search engine files</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<nav>
</nav>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Search Engine on uweb browser: unlimited power</title>
<link>/en/tags/search-engine.html</link>
<link>/en/tags/search-engine/</link>
<description>Recent content in Search Engine on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Sat, 04 Mar 2023 09:42:31 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/search-engine/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Search engine files</title>
<link>/en/searchcat.html</link>
<link>/en/searchcat/</link>
<pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
<guid>/en/searchcat.html</guid>
<guid>/en/searchcat/</guid>
<description>Any &amp;quot;.search&amp;quot; file can be opened as search engine file, each line of which has one of the following formats:&#xA;[Engine name]:[url without &#39;%s&#39; inside]&#xA;[Engine name]:[url with &#39;%s&#39; as keyword]&#xA;[Engine name]:POST:[post params with &#39;%s&#39; as keyword]:[url]&#xA;[Engine name]:[Extra request headers]:[post params with &#39;%s&#39; as keyword]:[url]&#xA;[Extra request headers] Ex. &amp;quot;X-Forwarded-For;8.8.8.8&amp;quot; when [post params] is empty, the url should have &#39;%s&#39; as keyword. Ex. bingUS engine w/ chatgpt Limitations (they are here for performance reasons):</description>
</item>
</channel>

View File

@ -1,58 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/ssh/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Ssh</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Ssh</h1>
<ul class="posts">
<li class="post">
<a href="../../textprocess/index.html#">
<span>Text selection/processing</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Ssh on uweb browser: unlimited power</title>
<link>/en/tags/ssh.html</link>
<link>/en/tags/ssh/</link>
<description>Recent content in Ssh on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Mon, 11 Dec 2023 15:21:00 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/ssh/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess.html</link>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess.html</guid>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:&#xA;Copy selected text with html format to clipboard&#xA;Search with home screen&#xA;google Translate&#xA;bing translate&#xA;deepL&#xA;The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:&#xA;[Name]:[mimetype]:[command line]&#xA;[mimetype] specifies input/output for [command line].</description>
</item>
</channel>

View File

@ -1,58 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/tdict/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Tdict</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Tdict</h1>
<ul class="posts">
<li class="post">
<a href="../../tools/index.html#">
<span>Tools</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tdict on uweb browser: unlimited power</title>
<link>/en/tags/tdict.html</link>
<link>/en/tags/tdict/</link>
<description>Recent content in Tdict on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Tue, 27 Sep 2022 17:36:08 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/tdict/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Tools</title>
<link>/en/tools.html</link>
<link>/en/tools/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tools.html</guid>
<guid>/en/tools/</guid>
<description>This page is for uweb browser.&#xA;install tdict_local (search with local indexes and remote content) Click to install the following local indexes with corresponding search engines (for test only).&#xA;install the indexes for &amp;quot;American heritage dictionary (en-en&amp;amp;zh with AHD/D.J./K.K. pronunciation)&amp;quot;&#xA;Install AHD to home screen&#xA;Indexes for &amp;quot;研究社新編英和活用大辞典(English usage: en-en&amp;amp;ja)&amp;quot;&#xA;Install &amp;quot;English usage (en-en&amp;amp;ja)&amp;quot;&#xA;Indexes for SOED6&#xA;install SOED&#xA;The following dictionaries work better with markdown processor.&#xA;Install markdown processor</description>
</item>
</channel>

View File

@ -1,70 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/termux/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Termux</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Termux</h1>
<ul class="posts">
<li class="post">
<a href="../../textprocess/index.html#">
<span>Text selection/processing</span>
</a>
</li>
<li class="post">
<a href="../../tools/index.html#">
<span>Tools</span>
</a>
</li>
<li class="post">
<a href="../../filecap/index.html#">
<span>Custom file handling</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,31 +2,31 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Termux on uweb browser: unlimited power</title>
<link>/en/tags/termux.html</link>
<link>/en/tags/termux/</link>
<description>Recent content in Termux on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Mon, 11 Dec 2023 15:21:00 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/termux/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess.html</link>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess.html</guid>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:&#xA;Copy selected text with html format to clipboard&#xA;Search with home screen&#xA;google Translate&#xA;bing translate&#xA;deepL&#xA;The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:&#xA;[Name]:[mimetype]:[command line]&#xA;[mimetype] specifies input/output for [command line].</description>
</item>
<item>
<title>Tools</title>
<link>/en/tools.html</link>
<link>/en/tools/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tools.html</guid>
<guid>/en/tools/</guid>
<description>This page is for uweb browser.&#xA;install tdict_local (search with local indexes and remote content) Click to install the following local indexes with corresponding search engines (for test only).&#xA;install the indexes for &amp;quot;American heritage dictionary (en-en&amp;amp;zh with AHD/D.J./K.K. pronunciation)&amp;quot;&#xA;Install AHD to home screen&#xA;Indexes for &amp;quot;研究社新編英和活用大辞典(English usage: en-en&amp;amp;ja)&amp;quot;&#xA;Install &amp;quot;English usage (en-en&amp;amp;ja)&amp;quot;&#xA;Indexes for SOED6&#xA;install SOED&#xA;The following dictionaries work better with markdown processor.&#xA;Install markdown processor</description>
</item>
<item>
<title>Custom file handling</title>
<link>/en/filecap.html</link>
<link>/en/filecap/</link>
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
<guid>/en/filecap.html</guid>
<guid>/en/filecap/</guid>
<description>Long press the settings button, check the option &amp;quot;custom file handling&amp;quot; to enable the functionality.&#xA;The custom file handling configuration file is &amp;quot;default.filecap&amp;quot;, each line of it has the format as follows:&#xA;[file extension]:[mimetype]:[command line]&#xA;The &amp;quot;[file extension]&amp;quot; part can have at most two-segment of extensions such as &amp;quot;txt.xz&amp;quot;,&amp;quot;html.gz&amp;quot;.&#xA;&amp;quot;[mimetype]&amp;quot; indicates the type of &amp;quot;[command line]&amp;quot; output.&#xA;&amp;quot;[command line]&amp;quot; is same as the one in default.cmds. The most often used replacements are:</description>
</item>
</channel>

View File

@ -1,58 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/tools/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Tools</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Tools</h1>
<ul class="posts">
<li class="post">
<a href="../../tools/index.html#">
<span>Tools</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tools on uweb browser: unlimited power</title>
<link>/en/tags/tools.html</link>
<link>/en/tags/tools/</link>
<description>Recent content in Tools on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Tue, 27 Sep 2022 17:36:08 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/tools/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Tools</title>
<link>/en/tools.html</link>
<link>/en/tools/</link>
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
<guid>/en/tools.html</guid>
<guid>/en/tools/</guid>
<description>This page is for uweb browser.&#xA;install tdict_local (search with local indexes and remote content) Click to install the following local indexes with corresponding search engines (for test only).&#xA;install the indexes for &amp;quot;American heritage dictionary (en-en&amp;amp;zh with AHD/D.J./K.K. pronunciation)&amp;quot;&#xA;Install AHD to home screen&#xA;Indexes for &amp;quot;研究社新編英和活用大辞典(English usage: en-en&amp;amp;ja)&amp;quot;&#xA;Install &amp;quot;English usage (en-en&amp;amp;ja)&amp;quot;&#xA;Indexes for SOED6&#xA;install SOED&#xA;The following dictionaries work better with markdown processor.&#xA;Install markdown processor</description>
</item>
</channel>

View File

@ -1,58 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="alternate" type="application/rss+xml" href="../../en/tags/windows/index.xml" title="uweb browser: unlimited power">
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title>Windows</title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
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);
}
</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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">Windows</h1>
<ul class="posts">
<li class="post">
<a href="../../textprocess/index.html#">
<span>Text selection/processing</span>
</a>
</li>
</ul>
<ul>
</div>
</body>
</html>

View File

@ -29,7 +29,7 @@
</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>
<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>
<a class="logo" href="javascript:void(0)" onclick="return nav2Lang('zh')">简体中文</a>

View File

@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Windows on uweb browser: unlimited power</title>
<link>/en/tags/windows.html</link>
<link>/en/tags/windows/</link>
<description>Recent content in Windows on uweb browser: unlimited power</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Mon, 11 Dec 2023 15:21:00 +0800</lastBuildDate>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<atom:link href="/en/tags/windows/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
<link>/en/textprocess.html</link>
<link>/en/textprocess/</link>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>/en/textprocess.html</guid>
<guid>/en/textprocess/</guid>
<description>Click the following links to install menus for long pressing the button &amp;quot;link&amp;quot;:&#xA;Copy selected text with html format to clipboard&#xA;Search with home screen&#xA;google Translate&#xA;bing translate&#xA;deepL&#xA;The file &amp;quot;default.select&amp;quot; defines text processing menus for selected text. If no text is selected, the menu item operates on the whole page. Each line of the file has the following format:&#xA;[Name]:[mimetype]:[command line]&#xA;[mimetype] specifies input/output for [command line].</description>
</item>
</channel>

Some files were not shown because too many files have changed in this diff Show More