mirror of
https://github.com/torappinfo/uweb.git
synced 2024-08-14 23:54:59 +00:00
rebuilding site Thu Jun 30 11:43:08 AM CST 2022
This commit is contained in:
parent
ce465b53e3
commit
d5e26f165a
228 changed files with 1786 additions and 26411 deletions
8
zh/_posts/index.html
Normal file
8
zh/_posts/index.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<body>
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
876
zh/_posts/index.xml
Normal file
876
zh/_posts/index.xml
Normal file
|
@ -0,0 +1,876 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>_posts on </title>
|
||||
<link>/zh/_posts/</link>
|
||||
<description>Recent content in _posts on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<lastBuildDate>Sat, 25 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="/zh/_posts/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>信息隐藏技术总览</title>
|
||||
<link>/zh/adblock/</link>
|
||||
<pubDate>Sat, 25 Jun 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/adblock/</guid>
|
||||
<description>总体来说,分为手动控制和针对特定网站的规则两大类办法。手动控制可以保存为网站配置从而自动化。
|
||||
双正则表达式根域名隐藏。
|
||||
可使用列出外部脚本小书签生成外部js文件列表,长按可疑链接(一般为域名不同的外链),执行“屏蔽根域名”。 针对特定网站的脚本样式。
|
||||
长按底部工具栏&quot;js&quot;按钮,执行&quot;标记不良元素&quot;菜单命令,点击页面元素会弹出对话框显示元素及祖先所有属性,并生成css屏蔽代码。默认使用“display:none”屏蔽,但如果上述显示属性中出现过&quot;display&quot;,则建议使用&quot;transform:scale(0)!important&quot;屏蔽。 长按底部工具栏窗口管理按钮,选取&quot;仅显示图片&quot;或&quot;仅显示视频&quot;,图片视频网站彻底干净。选取&quot;禁用伪元素&quot;,&quot;禁用iframe&quot;。更多可参看自定义样式。
|
||||
保存书签时可在网址前面添加&quot;i:0mc32:&quot;,则整个网址树自动采用&quot;仅显示图片&quot;。没有任何不良信息。改为&quot;c16&quot;则为&quot;仅显示视频&quot;。&quot;c12&quot;则同时采用&quot;禁用伪元素&quot;,&quot;禁用iframe&quot;。 长按[☰]按钮&quot;自动全屏播放&quot;,直接全屏无干扰播放。不良信息没有任何机会出现。不使用全局脚本“自动全屏播放”的情况下,还可以有以下几种方法:
|
||||
使用常用服务自动全屏播放菜单(长按视频链接-&gt;命令),则页面视频会自动全屏播放。按设置按钮,如果勾选“允许自动播放”,则今后此窗口内其它任何视频网址都将会自动全屏无干扰播放。保存书签时可在网址前面添加&quot;i:5f&quot;。 保存书签时可在网址前面添加&quot;i:0mi:5f:&quot;,则整个网址树自动全屏播放。 长按设置,选取&quot;拦截外链脚本&quot;。可在界面配置及杂项网页额外拦截第三方可疑资源。可配置白名单js.allow。
|
||||
长按[☰]按钮可隐藏浮动信息,移除横幅,清空定时器(防止定时触发不良信息),中断可疑事件(防止用户操作触发),等待(防止延迟触发)。
|
||||
直接关闭图像。
|
||||
关闭[JS]脚本。
|
||||
url.deny。需要屏蔽的url正则表达式(java语法),忽视回车,可用&quot;#&quot;开头注释。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>小书签</title>
|
||||
<link>/zh/bookmarklet/</link>
|
||||
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/bookmarklet/</guid>
|
||||
<description>超微浏览器支持直接运行远程网址上的小书签(Bookmarklet),将本页面或其它包含小书签网址加入书签。使用时只需长按小书签链接,点击“新窗口打开”,小书签将作用于超微浏览器最后一个窗口(非小书签窗口)页面上。
|
||||
列出外部脚本
|
||||
查看浏览器UA
|
||||
网页cookie
|
||||
网页源码
|
||||
显示网页最后更改时间
|
||||
Eruda: mobile console
|
||||
生成二维码
|
||||
POST转GET
|
||||
Shows all form elements
|
||||
Enables all form elements
|
||||
切换复选框状态
|
||||
全选复选框
|
||||
复选框全不选
|
||||
切换表内复选框状态
|
||||
解除选择复制限制(无效时可设UA为PC)
|
||||
恢复长按菜单
|
||||
正则搜索
|
||||
表格排序
|
||||
BugMeNot</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>技巧网站导航</title>
|
||||
<link>/zh/sitemap/</link>
|
||||
<pubDate>Sat, 28 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/sitemap/</guid>
|
||||
<description>界面配置 搜索引擎 主页 快速访问 界面配置及杂项 (gitee镜像) 备份与恢复 个性化 工具条按钮长按菜单 浏览器标识 js脚本 常用服务 常用链接 常用命令 远程脚本 选中文本类菜单 长按链接弹出菜单 底部工具条定制 手势 高级个性化定制 高级设置 内容类 信息隐藏 CSS样式 重定向 特定网址用户脚本及样式 网站离线资源 工具应用类 小书签 文件预处理 html5应用 文件管理器 工具汇总 终端应用及Termux 超级计算器 函数作图 定时脚本 离线下载 输入法辅助 部件检索 综合 配置文件列表 插件 使用技巧 使用技巧 视频 安卓系统出错诊断 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Android TV</title>
|
||||
<link>/zh/androidtv/</link>
|
||||
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/androidtv/</guid>
|
||||
<description>TV端推荐打开自动播放选项,全局脚本打开自动全屏播放,全局样式打开“仅显示图片“,禁止js confirm对话框。
|
||||
点击以下链接可直接设置主屏为书签并添加链接。Android TV可从手机端接收视频url并打开,发送见常用服务:
|
||||
等待从网络接收url并打开
|
||||
等待接收url沉默版
|
||||
书签
|
||||
点击以下链接添加常用服务:
|
||||
添加书签至主屏
|
||||
Android TV可利用顺序搜索使用箭头按钮切换频道。顺序搜索引擎文件engine.search中的搜索引擎url如果不包含'%s',则搜索引擎只是简单的固定网页url,此时顺序搜索表现为频道切换。更多信息见多引擎搜索页面。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>常用书签</title>
|
||||
<link>/zh/bookmark/</link>
|
||||
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/bookmark/</guid>
|
||||
<description>gamezop
|
||||
点击以下链接可安装模板至分类书签目录。保存至“小说”类别的网站会自动使用阅读模式。
|
||||
&quot;小说.html&quot;: 自动使用阅读模式
|
||||
href=&quot;i:0h/sdcard/uweb/bookmark/txt.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/bookmark/viewtxt.html&quot;&gt;&quot;txt.html&quot;: 在线阅读下载直链(txt/html)
|
||||
所有书签都可通过&quot;长按链接-&gt;命令-&gt;书签&quot;保存链接为书签。书签菜单可至特色服务网页安装。
|
||||
Mirror list
|
||||
mirror.js.org
|
||||
界面配置及杂项
|
||||
以下书签需&quot;长按以下链接-&gt;新窗口打开&quot;才能在此网页正常执行。
|
||||
Termux命令书签 需安装定制版termux及相应工具,
|
||||
计算器bc
|
||||
全能计算器bc
|
||||
以下书签需安装gopher.
|
||||
CNN news gopher
|
||||
wikipedia search gopher
|
||||
reddit gopher</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用用户自定义样式屏蔽不良信息</title>
|
||||
<link>/zh/adblock_css/</link>
|
||||
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/adblock_css/</guid>
|
||||
<description>点击以下链接可安装全局样式,清后台重启浏览器,长按底部工具条窗口按钮弹出对话框后勾选上述文件名即可屏蔽不良信息。
|
||||
floppymoose 广告屏蔽样式
|
||||
gozer 广告屏蔽样式
|
||||
超微浏览器支持根域名屏蔽,完全绝杀手机不良信息小厂。但少部分不良信息大厂本身也提供高质量的内容服务,它们可以将不良信息伪装成正常的内容从而逃脱域名绝杀。
|
||||
对这一部分不良信息而言,我们可以利用超微浏览器的自定义样式功能加以屏蔽。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>常用链接</title>
|
||||
<link>/zh/links/</link>
|
||||
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/links/</guid>
|
||||
<description>点击以下链接可安装至常用链接
|
||||
显示网站安全证书
|
||||
迅雷盘离线
|
||||
点击安装Cookie延期,地址栏内删除特殊字符,站内搜索,seedr离线下载等
|
||||
点击安装离线下载(pcloud,furk,微云等)
|
||||
酷安扫描
|
||||
uweb浏览器中长按书签按钮可弹出常用链接菜单,这些链接定义在文件&quot;default.link&quot;中,改动过的文件清后台重启动后生效。每行格式如下:
|
||||
[菜单名]:[url][空格][javascript脚本]
|
||||
其中空格及之后的脚本为可选项。url及之后的脚本支持&quot;%u&quot;,&quot;%s&quot;等替换。
|
||||
脚本将在链接访问结束时自动执行。
|
||||
url除支持所有标准的http(s):,javascript:等链接外,还支持超微内部链接(&quot;:&quot;为链接第二个字符)及特殊链接(&quot;:&quot;为链接首字符)。
|
||||
不少本地链接文件(file:///)超微浏览器将会做特殊处理。仅举几例说明:
|
||||
.js文件(同长按链接运行js文件): 首行前两个字符为&quot;//&quot;者,超微将打开&quot;//&quot;后面的目标网址并执行此文件代码,目标网址支持&quot;%u&quot;,&quot;%s&quot;等替换。否则直接执行此文件。此时[javascript脚本]将作为运行.js文件的參数arguments[1]。推荐将常用js脚本本地链接保存在.link文件中。
|
||||
default.gesture及default.button文件采用了完全一样的格式。.gesture文件定义了手势操作。.button文件则从最后一个按钮开始倒着重定义了底部工具栏按钮单击操作。
|
||||
各类代理配置如下:
|
||||
httpproxy::010[proxy host]:[port]
|
||||
socks5::011[socks host]:[port]
|
||||
noproxy::010:
|
||||
&quot;:&quot;为首字符特殊链接 :0000
|
||||
Cookie延期至70年,但服务器有可能否决。
|
||||
:0001
|
||||
自动翻到上一页。(网页无法前进时按前进按钮可自动翻到下一页。)
|
||||
:0003
|
||||
切换全屏模式
|
||||
:0004
|
||||
屏幕旋转
|
||||
:001[fileurl]
|
||||
加入媒体库
|
||||
:002[url]
|
||||
显示此url下安全cookie
|
||||
:010[proxy host]:[port]
|
||||
设置http代理, &quot;:010:&quot;禁用代理。
|
||||
:011[socks host]:[port]
|
||||
socks代理
|
||||
&quot;i:&quot;内部链接: 点击安装笔记菜单
|
||||
i:0m[bookmarklet index|prefix|c[cssFlag]]:[url]
|
||||
将url作为网站访问,[bookmarklet index]至少占两个字符。
|
||||
i:15[string]
|
||||
设置地址栏内容为[string]
|
||||
i:16[mimetype]:[Action Name]:[App Name]:[Activity Name]
|
||||
读取第三方应用输入。
|
||||
点击安装 via扫码菜单至常用链接。其它扫描器也都可以使用,只需要把链接里的名字换掉就行。 上面的方案其实不仅可以扫描qr,也可以使用任何第三方应用获得任何种类的数据。其中有uweb表示特殊mimetype,作为url来使用。其他数据类型改成合适的mimetype即可。
|
||||
点击安装酷安扫描至常用链接
|
||||
i:18[extended mimetype]:[range]:[url]
|
||||
读取url部分数据并使用指定mimetype强制处理。
|
||||
:格式同http header。譬如&quot;500-1000,-300&quot;
|
||||
:可以为标准的mimetype。也可以在标准mimetype后面添加&quot;.&lt;文件名&gt;&quot;,此时uweb配置目录下的文件“&lt;文件名&gt;”内容会附在url部分数据后面一起显示。
|
||||
i:19[string]
|
||||
地址栏内容末尾附加[string]
|
||||
i:1b
|
||||
显示网站证书
|
||||
i:1c
|
||||
等待从网络接收url并打开</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>重定向国外网址至国内镜像(附编辑本地文件)</title>
|
||||
<link>/zh/redirect/</link>
|
||||
<pubDate>Mon, 25 Apr 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/redirect/</guid>
|
||||
<description>github mirror:fastgit
|
||||
github mirror 2
|
||||
github mirror 3
|
||||
点击添加google recaptcha国内镜像
|
||||
使用服务器在国外的搜索引擎体验往往不如国内的引擎。由于网站屏蔽的原因,两者之间索引权重差别很大。国外受欢迎的技术类网站因此难以在百度上搜到;国外引擎能搜到但由于其中不少结果无法访问而体验糟糕。
|
||||
其实,很多技术类网站在国内早有镜像,但由于镜像并非众所周知,其索引权重在百度上微不足道,非专门搜索不可得。
|
||||
本文介绍一种技术,可重定向国外网址至国内镜像,极大的提高国外引擎的体验,让更多用户更客观的理解全球技术。
|
||||
配置/sdcard/uweb/default.redirect:
|
||||
文件每一行格式为:
|
||||
域名:正则表达式:替换表达式
|
||||
其中正则表达式以java语言规定为准,表达式中不能包含':'。正则表达式为空时系统默认为与域名相同。正则表达式,替换表达式同时为空时无重定向作用,但域名会允许CORS跨域访问 (目前仅对&quot;GET&quot; request生效)。
|
||||
例子文件内容如下:
|
||||
developer.android.com::developer.android.google.cn
|
||||
四种使用重定向的方法:
|
||||
长按链接
|
||||
添加文件&quot;国内镜像.js&quot;至&quot;/sdcard/uweb/longclick&quot;目录下。
|
||||
文件内容如下:
|
||||
//e:%u 其中&quot;e:&quot;为uweb特殊url协议,意为&quot;edit&quot;,即&quot;编辑&quot;。当后面紧跟url网址的情况下会重定向网址。
|
||||
重启uweb后长按链接弹出菜单选&quot;国内镜像&quot;,浏览器将访问网址的国内镜像。若网址为本地文件,则浏览器会自动调用此类文件编辑器。
|
||||
长按工具条图像按钮。
|
||||
长按设置,选中&quot;自定义重定向&quot;。
|
||||
长按设置,选中&quot;自定义资源重定向&quot;。此选项除访问url重定向之外,还可重定向网页中一切资源。
|
||||
更多重定向网址:
|
||||
www.bilibili.com::www.ibilibili.com
|
||||
pan.baidu.com::pan.baiduwp.com
|
||||
www.docin.com::www.docin365.com
|
||||
wenku.baidu.com::wenku.baiduvvv.com
|
||||
detail.tmall.com::detail.tmallvvv.com
|
||||
detail.m.tmall.com::detail.m.tmallvvv.com
|
||||
item.taobao.com::item.taobaovvv.com
|
||||
h5.m.taobao.com::h5.m.taobaovvv.com
|
||||
jd.com::jdvvv.com
|
||||
item.yhd.com::item.yhdvvv.com
|
||||
goods.kaola.com::goods.kaolavvv.com
|
||||
product.dangdang.com::product.dangdangvvv.com
|
||||
item.gome.com.cn::item.gomevvv.com.cn</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>操作选中(富)文本/元素</title>
|
||||
<link>/zh/pccopy/</link>
|
||||
<pubDate>Sat, 23 Apr 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/pccopy/</guid>
|
||||
<description>点击以下链接可安装长按“链接”按钮菜单:
|
||||
google划词翻译
|
||||
bing翻译
|
||||
papago翻译
|
||||
iciba
|
||||
百度翻译
|
||||
有道翻译
|
||||
搜狗翻译
|
||||
彩云小译
|
||||
deepL
|
||||
点击安装&quot;保存文本&quot;等
|
||||
重启浏览器,长按“链接”按钮,将弹出菜单。若用户当前窗口并无选中文本,则选取整个页面作相应操作,否则以选中文本为准。
|
||||
配置文件&quot;/sdcard/uweb/default.select&quot;定义了超微浏览器对选中(富)文本/元素进行的操作。没有任何选中元素则以整个网页为操作对象。每行格式如下:
|
||||
[菜单名]:[mimetype]:[命令行]
|
||||
选中(富)文本作为命令行的标准输入,而标准输出根据mimetype进行相应处理。
|
||||
mimetype用来表示命令的输入输出类型。格式为&quot;[输入mimetype]/[输出mimetype]&quot;,&quot;[输入mimetype]&quot;可为&quot;html&quot;或空(txt格式)或为以超微配置目录为基准的相对路径.js文件名; 输出可为标准的mimetype或超微特殊扩充。如:
|
||||
html/text/html: 选中富文本为html格式, 输出mimetype为text/html。
|
||||
/uweb: 选中文本为txt格式, 输出mimetype为特殊扩充uweb,超微将把输出作为链接来处理。
|
||||
/termux: 命令运行结果将作为termux下命令运行。
|
||||
checked.js: 运行配置目录下checked.js,其返回值作为命令行标准输入。对任何目录型(以“/”结尾)文件url,后面可附&quot;?[文件前缀][[文件后缀]]&quot;。譬如&quot;file:///sdcard/?.png&quot;会列举出&quot;/sdcard&quot;目录下所有.png文件。此时选择选定文件,则可利用checked.js复制文件至PC。(参看下面具体配置)
|
||||
配置/sdcard/uweb/default.select如下:
|
||||
复制文本到地址栏:uweb:printf i:15;cat
|
||||
笔记::(cat;echo;echo;)&gt;&gt;notes.txt
|
||||
富文本笔记:html:(cat;echo '&lt;p&gt;&lt;/p&gt;';echo;)&gt;&gt;notes.html
|
||||
命名笔记::(cat;echo;echo;)&gt;&gt;%s
|
||||
复制至PC剪贴板::ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 xsel -i&quot;
|
||||
复制富文本至PC剪贴板:html:ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 xsel -i&quot;
|
||||
复制文件至PC:checked.js:while read fname;do scp $fname [user:password]@192.168.2.102:Downloads/.; done
|
||||
如使用剪贴板功能手机需安装uweb定制Termux,并在termux下安装openssl。
|
||||
此处假定远程PC的IP地址为192.168.2.102,PC已经开通了ssh服务。建议用户配置ssh服务为免密码登录,此时用户无需将密码写入文件default.select。用户PC上安装有xsel剪贴板工具。使用其它工具请酌情修改。
|
||||
采用以上配置,笔记将储存在/sdcard/uweb目录下文件note.txt或note.html中(富文本)。命名笔记储存文件则由用户在地址栏输入框内指定。
|
||||
手机其它应用中的文本可选中后分享给超微浏览器,再由超微浏览器作笔记或进一步分享给PC。如果其它应用无法分享选中文本,这种情况可以先复制文本至剪贴板。长按链接按钮选择适当功能即可复制至PC剪贴板。
|
||||
Windows PC 对Windows PC而言,vista及以后自带clip.exe,此时配置如下:
|
||||
复制文本至PC剪贴板::ssh [user:password]@192.168.2.102 clip.exe
|
||||
其它推荐工具(读取PC剪贴板):
|
||||
pclip</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>CSS样式</title>
|
||||
<link>/zh/globalcss/</link>
|
||||
<pubDate>Sun, 03 Apr 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/globalcss/</guid>
|
||||
<description>超微浏览器自动装载&quot;/sdcard/uweb/css&quot;目录下所有.css文件作为全局样式供用户选用。点击以下配置链接可自动添加为全局样式:
|
||||
强制使用默认字体
|
||||
配合透明状态栏(沉浸)
|
||||
文件&quot;/sdcard/uweb/night.css&quot;为用户自定义夜间模式样式,点击以下配置链接安装不同的夜间模式:
|
||||
webview 81+ 夜间模式
|
||||
webview 80- 夜间模式</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>超微浏览器配置文件列表</title>
|
||||
<link>/zh/filenames/</link>
|
||||
<pubDate>Fri, 18 Mar 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/filenames/</guid>
|
||||
<description>下面列表中以&quot;/&quot;结尾者为目录,其余为文件。如果用户勾选“使用内部目录配置”,&quot;sitejs/&quot;,&quot;sitecache/&quot;等位于应用内部保护目录下。否则以下所有文件/目录均位于&quot;/sdcard/uweb&quot;:
|
||||
&quot;css/&quot;:全局样式目录
|
||||
&quot;js/&quot;: 全局脚本目录
|
||||
&quot;sitejs/&quot;:类油猴脚本,针对特定网址
|
||||
&quot;sitecss/&quot;:针对特定网址css样式
|
||||
&quot;bookmarklet/&quot;:js脚本目录,长按JS按钮可执行。
|
||||
&quot;offline/&quot;:离线下载目录
|
||||
&quot;sbookmark/&quot;:超级书签默认目录
|
||||
&quot;sitecache/&quot;:用户供应网站离线数据
|
||||
&quot;longclick/&quot;:长按链接菜单(js)
|
||||
&quot;icon/&quot;:图标定制
|
||||
&quot;app[XXX]/&quot;:html5应用目录
|
||||
&quot;default.longclick&quot;:长按链接菜单
|
||||
&quot;default.uas&quot;:浏览器标识
|
||||
&quot;default.urls&quot;:特色服务
|
||||
&quot;default.acmd&quot;:浏览器地址栏功能配置
|
||||
&quot;default.hosts&quot;:不良信息屏蔽文件
|
||||
&quot;default.redirect&quot;:重定向配置
|
||||
&quot;default.cmds&quot;:长按“历史”按钮配置
|
||||
&quot;default.link&quot;:长按“书签”按钮配置
|
||||
&quot;default.rjs&quot;:远程及简单脚本
|
||||
&quot;default.select&quot;:长按“链接”按钮配置
|
||||
&quot;default.input&quot;:每行一个网页常用输入短语
|
||||
&quot;default.gesture&quot;:格式与文件default.link完全相同,定义地址栏下方手势操作
|
||||
&quot;default.gesture2&quot;:右边缘手势操作,类似default.gesture。
|
||||
&quot;default.button&quot;:格式与文件default.link完全相同,每行从最后一个按钮开始重定义单击功能。
|
||||
&quot;default.button2&quot;:类似default.button。每行从最后一个按钮开始重定义长按功能。
|
||||
&quot;default.filecap&quot;:文件特殊处理
|
||||
&quot;default.rc&quot;:如果勾选“文件预处理”,则uweb启动时运行此shell脚本。可与tcron配合运行定时任务,如存储清理、网页签到等。
|
||||
&quot;default.rc2&quot;:如果勾选“文件预处理”,则uweb返回前台时运行此shell脚本。
|
||||
&quot;engine.search&quot;:格式同home5.search,搜索引擎url仅支持%s语法。(搜索词部分用%s代替),供自动顺序搜索使用。
|
||||
&quot;default.siteconf&quot;:网站独立设置,保存ua、禁用js、无图、禁用第三方(js,可疑资源)、当前激活脚本、全局脚本。当前设置与默认不同才会保存。比如当前不屏蔽第三方js,但屏蔽第三方可疑资源,则屏蔽第三方设置与默认不同,站点设置被保存。
|
||||
&quot;default.playrate&quot;:全屏播放菜单项,格式与文件default.link完全相同。倍速播放菜单链接部分为空,譬如&quot;.5x:&quot;,倍速菜单至少有一个。链接部分非空的菜单必须在所有倍速菜单之后。
|
||||
&quot;default.autoc&quot;:地址栏autocomplete候选字符串
|
||||
&quot;query.autoc&quot;:主屏搜索autocomplete候选字符串
|
||||
&quot;home5.html&quot;:自定义主屏,home6.html, home6.search, home7.html ... 多主屏(前进按钮可进)。同前缀文件中.html文件优先于.search文件。home4.html, home3.html ... (长按后退按钮可进)。
|
||||
&quot;home5.search&quot;:主屏搜索引擎
|
||||
&quot;home.css&quot;:主屏风格
|
||||
&quot;bookmark.html&quot;:主书签
|
||||
&quot;quickstart.html&quot;:快速访问
|
||||
&quot;colors.txt&quot;:护眼背景色
|
||||
&quot;default.css&quot;:勾选网址特定样式后无匹配情形下的默认样式
|
||||
&quot;night.css&quot;:夜间模式,代替超微内部实现
|
||||
&quot;bookmarklet/videoplayer.js&quot;:用户定义视频播放
|
||||
&quot;types.sniff&quot;:嗅探类型
|
||||
&quot;js.allow&quot;:外链js白名单,每行一个域名。
|
||||
&quot;url.deny&quot;:需要屏蔽的url正则表达式(java语法),忽视回车,可用&quot;#&quot;开头注释。
|
||||
&quot;sniff.log&quot;:嗅探结果
|
||||
&quot;history.rec&quot;:访问历史
|
||||
&quot;query.rec&quot;:查询历史
|
||||
应用内部保护目录(/data/data/info.torapp.uweb/files/):
|
||||
&quot;shortcut/&quot;:动态shortcut刷新目录,若不存在则默认为&quot;/sdcard/uweb/bookmark&quot;目录。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>文件管理器及文件挑选并批量处理</title>
|
||||
<link>/zh/filemanager/</link>
|
||||
<pubDate>Fri, 11 Feb 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/filemanager/</guid>
|
||||
<description>超微浏览器访问以&quot;/&quot;结尾 (包括&quot;/?&quot;及后面参数)的&quot;file://&quot; url,则进入文件管理器。
|
||||
对任何目录型(以“/”结尾)文件url,后面可附&quot;?[文件前缀][*[文件后缀]]&quot;。譬如&quot;file:///sdcard/?*.png&quot;会列举出&quot;/sdcard&quot;目录下所有.png文件。&quot;?IMG&quot;列举出所有IMG开头的文件。此时可选定文件,并安装checked.js对选取文件进行批量处理。
|
||||
文件批量处理配置default.select例子:
|
||||
图像缩小:checked.js:while read fname;do convert -resize %50x%50 $fname small_$fname; done</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>超级计算器(bc)</title>
|
||||
<link>/zh/bc/</link>
|
||||
<pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/bc/</guid>
|
||||
<description>使用uweb浏览器。
|
||||
Gnu bc计算器支持无限精度,可扩展函数库、常数库。
|
||||
安装bc (Android11+无需安装) 安装uweb定制Termux应用 Termux下运行以下命令:
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install bc 使用书签调用计算器 &quot;长按以下链接-&gt;命令-&gt;书签&quot;可保存链接为书签。书签菜单可至特色服务网页安装。
|
||||
bc
|
||||
全能bc
|
||||
浏览器地址栏作为超级计算器 配置文件/sdcard/uweb/default.acmd如下:
|
||||
计算器:text/html:echo &quot;%s&quot;|bc -l -q
|
||||
更多bc扩展库: 扩展库可下载至/sdcard/uweb目录)
|
||||
https://github.com/susca/bc-extensions
|
||||
http://phodd.net/gnu-bc
|
||||
http://www.numbertheory.org/gnubc/gnubc.html
|
||||
使用扩展库以后default.acmd配置如下: 计算器:text/html:echo &quot;%s&quot;|bc -l -q extensions.bc scientific_constants.bc
|
||||
全能计算器:text/html:echo &quot;%s&quot;|bc -l -q *.bc</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>工具栏定制</title>
|
||||
<link>/zh/icons/</link>
|
||||
<pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/icons/</guid>
|
||||
<description>超微浏览器配置目录下如果存在目录&quot;icon&quot;,则此目录下的文件名为&quot;0&quot;,&quot;1&quot;,&quot;2&quot;...
|
||||
会作为底部工具栏图标。文件&quot;0&quot;替换原后退按钮,&quot;1&quot;为前进按钮,&quot;2&quot;为设置按钮,&quot;3&quot;为主页按钮......。
|
||||
如果定义有新按钮(当前版本存在文件&quot;20&quot;),则uweb支持向量格式图标VectorDrawable,格式为compiled XML。此时所有图标文件必须都是compiled XML格式,或都是普通的图像格式(png,jpg,gif等)。用户可将VectorDrawable XML文件放到安卓项目目录assets下面,重新生成apk文件以后将apk文件解压即可得compiled XML格式图标文件。
|
||||
用户可定义任意多个按钮(100个按钮毫无压力),其短按长按功能可在文件default.button及default.button2中定义,格式与文件default.link完全相同,每行从最后一个按钮开始重定义功能。
|
||||
注意:刷新按钮及窗口按钮图标暂时不能重定义。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>小技巧</title>
|
||||
<link>/zh/tips/</link>
|
||||
<pubDate>Mon, 01 Nov 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tips/</guid>
|
||||
<description>准确显示一切PC网页:
|
||||
PC模式 + 勾选选项&quot;宽屏显示&quot; + 全局脚本&quot;强制缩放&quot;。
|
||||
多主屏:
|
||||
home5.html为自定义主屏,home6.html, home6.search, home7.html ...为多主屏(前进按钮可进)。同前缀文件中.html文件优先于.search文件。home4.html, home3.html ... (长按后退按钮可进)。
|
||||
自动翻页
|
||||
长按后退按钮自动往前翻页(主屏上长按后退出现-1屏,-2屏...,短按前进按钮+1屏,+2屏...),长按前进按钮弹出系统菜单。
|
||||
配置临时修改
|
||||
配置后如果没有正常退出或转入后台的话,超微不会自动保存设置更改,此时如果清后台强制退出,下次启动超微会使用原有配置。
|
||||
临时恢复UA (user agent)至android默认浏览器
|
||||
UA为非默认时,点击PC按钮将恢复UA为默认,同时触发不保存UA状态,下次启动浏览器时恢复到原有UA。这样用户可常用一些有力的UA配置,仅偶尔使用默认配置,无需反复切换。
|
||||
快速编辑文件
|
||||
在浏览器文件管理器中长按文件名,弹出菜单中选择分享,系统会优先弹出相应的文件编辑器。
|
||||
配置文件列表中直接点击文件名即可编辑。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>定时脚本</title>
|
||||
<link>/zh/tcron/</link>
|
||||
<pubDate>Sat, 13 Feb 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tcron/</guid>
|
||||
<description>如果勾选“文件预处理”,则uweb启动时运行&quot;default.rc&quot; shell脚本。可与tcron定时管
|
||||
理工具(安装tcron)配合运行定时任务,如存储清理、网页签到等。
|
||||
勾选“文件预处理”的情况下,如果存在文件&quot;default.rc2&quot;,则在超微浏览器成为前台时,此文件代码被执行。在超微永不退出的情况下,&quot;default.rc&quot;将没有任何执行机会,而&quot;default.rc2&quot;保证即使超微长时间不重启,定时脚本仍可以执行。
|
||||
tcron usage: tcron logfile command hours [timezone delay_sec elsecommand]
|
||||
指定时间范围内如果命令没有被执行过,则tcron会执行一次命令。
|
||||
其中logfile可以不记录任何log,成功执行命令以后只需更新一下改动时间即可。
|
||||
hours: 如果为正整数,则将每天划分为不同的时间区间(单位小时),每个区间命令只能执行一次。如果为负整数,则取绝对值,并且单位为分钟,保证下一次执行至少间隔这么多分钟。
|
||||
hours也可以为&quot;hh:mm-hh:mm,...&quot;格式, 譬如&quot;6:00-8:30,11:00-13:00,5:30-6:30&quot;为每天三餐时间脚本执行一次。
|
||||
timezone: 时区:譬如“8”表示北京时间。(默认为8)
|
||||
delay_sec: 等待指定秒数后再执行命令,防止命令被集中执行。
|
||||
elsecommand: 无需执行命令command时执行。
|
||||
ex:
|
||||
set PATH=/system/bin:/data/data/info.torapp.uweb/files/bin
|
||||
#天翼云每天签到一次
|
||||
tcron /sdcard/a &quot;cloud189-go sign;toybox touch /sdcard/a&quot; 24
|
||||
#每30天清空baidu目录
|
||||
tcron /sdcard/b &quot;rm -rf /sdcard/baidu/*;toybox touch /sdcard/b&quot; 720
|
||||
安装default.rc模板文件(termux)
|
||||
可能用到的命令:
|
||||
termux中安装remind,可配置各类提醒功能,十分强大。
|
||||
apt install remind
|
||||
am start -n info.torapp.uweb/.wvActivity -d 'javascript:alert(&quot;remind&quot;)' #提醒
|
||||
其中-d后面参数可以为任意url包括超微内部&quot;i:&quot; url。
|
||||
cron Termux下安装cronie:
|
||||
apt install cronie
|
||||
crontab -e
|
||||
crontab例子内容如下:
|
||||
30,31 20-23/1 * * * node Loon/jd_live_redrain.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>安卓系统出错诊断</title>
|
||||
<link>/zh/logcat/</link>
|
||||
<pubDate>Mon, 28 Dec 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/logcat/</guid>
|
||||
<description>超微浏览器如果闪退,会生成出错文件&quot;/sdcard/uweb/error.log&quot;。
|
||||
如果超微或安卓系统或任何应用出现问题,则可利用超微浏览器进行诊断,方法如下:
|
||||
访问常用命令网页,点击安装logcat相关的两个命令。 清空后台并重启超微浏览器。 长按历史按钮,执行命令&quot;清空logcat&quot;。 触发有问题的功能。 长按历史按钮,执行命令&quot;输出logcat.log&quot;. 检查文件&quot;/sdcard/uweb/logcat.log&quot;内容。 超微浏览器是手机上调试javascript脚本的最佳工具,无需打包就可有多种方式运行javascript代码。webview dev版自带devtools,运行此工具,打开flag &quot;webview-log-js-console-messages&quot;以后所有js出错信息及console输出会被复制到logcat中。然后用户可根据上一段所述方法诊断。
|
||||
非dev版本webview可点击如下链接运行devtools。
|
||||
devtools for com.google.android.webview
|
||||
devtools for com.android.webview</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>离线下载</title>
|
||||
<link>/zh/loadbt/</link>
|
||||
<pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/loadbt/</guid>
|
||||
<description>seedr用户可使用常用链接利用seedr离线下载。使用时长按链接-&gt;命令-&gt;seedr离线...。 Telegram用户可使用特色服务利用tg bot离线下载至bot支持网盘。使用时长按链接-&gt;命令-&gt;tg...。 百度网盘存储空间大,但其离线下载限制很多,可能由于某些重要节点被屏蔽的原因,下载国外资料基本都会失败。国外离线网盘空间小,但下载成功率很高。
|
||||
本文介绍一种技术,使用国外离线网盘下载资源,然后一键离线至百度网盘。
|
||||
超微浏览器上配置百度离线下载
|
||||
安装uweb定制Termux应用。
|
||||
安装baidupcs-go:
|
||||
直接下载BaiduPCS-Go,安卓手机请选择arm64版本。 解压下载文件 移动解压后文件至最终目的地。Termux运行以下命令:
|
||||
mv BaiduPCS-Go /data/data/com.termux/files/usr/bin/.
|
||||
chmod 777 /data/data/com.termux/files/usr/bin/BaiduPCS-Go
|
||||
登录百度网盘, Termux执行如下命令:
|
||||
BaiduPCS-Go login
|
||||
BaiduPCS-Go config set -appid=266719
|
||||
/sdcard/uweb/default.longclick配置如下:
|
||||
百度离线下载:termux/*:BaiduPCS-Go od add &quot;%u&quot;;exit 1
|
||||
重启超微浏览器,此时长按链接将会出现菜单“百度离线下载”。
|
||||
离线下载资源至国外网盘,下载完成后在超微浏览器内点击资源下载,弹出菜单选择“百度离线下载”,完成整个流程。
|
||||
其它支持离线下载的网页也可定义为一键离线。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>长按链接弹出菜单</title>
|
||||
<link>/zh/longclick/</link>
|
||||
<pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/longclick/</guid>
|
||||
<description>长按链接运行第三方程序 配置文件/sdcard/uweb/default.longclick每行格式如下(同default.cmds)
|
||||
菜单名:mimetype:命令路径
|
||||
命令可以包含%c(当前网址cookie)等,执行时会被相应内容自动替换。
|
||||
长按链接运行js文件 长按链接弹出菜单显示/sdcard/uweb/longclick目录下所有js文件供用户挑选执行。
|
||||
js文件格式如下:
|
||||
首行可以&quot;//&quot;开头,后面紧跟目标网页url,url中可包含&quot;%u&quot;等,打开网页时会用长按的链接替换。 首行非&quot;//&quot;开头者,整个脚本作用于当前网页,不再打开新网页。 第二行开始为javascript代码,代码中可用arguments来获取參数。其中arguments[1]为长按的链接; arguments[2]为长按链接的文字描述; arguments[0]为js文件名。 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>视频播放小窍门</title>
|
||||
<link>/zh/video/</link>
|
||||
<pubDate>Tue, 22 Sep 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/video/</guid>
|
||||
<description>覆盖安装全屏播放菜单示例:屏幕旋转,退出
|
||||
本文以超微浏览器为例来说明。
|
||||
创建文件&quot;default.playrate&quot;可定制全屏倍速播放菜单项,格式与文件default.link完全相同。倍速播放菜单链接部分为空,譬如&quot;.5x:&quot;,倍速菜单至少有一个。链接部分非空的菜单必须在所有倍速菜单之后。 长按设置按钮勾选“弹出视频地址”,则视频播放时会弹出真正的播放地址,点击地址播放可避免一切不良信息。如果点击后为下载操作,可长按链接分享给视频播放器。用户亦可配置在线播放或安装插件。嗅探的视频/资源类型可由文件“/sdcard/uweb/types.sniff”控制。 很多视频解析结果在UA为PC的情况下非常干净,没什么不良信息。故用户可在播放前切换UA至PC。如:wn.run/解析结果对PC非常干净。 某些视频网站在全屏播放时都会出现不良信息占住屏幕一部分。点击全屏播放之前,长按[☰]按钮,超微浏览器将弹出全局脚本菜单,勾选“移除浮动不良信息”后再点全屏播放则完美播放。 也可利用全屏播放屏蔽一切不良信息。方法如下: 长按[☰]按钮,勾选“全屏视频”。此选项将让无法全屏播放的网站强制允许全屏播放。 对无法全屏、无法放大的视频网站,可长按[☰]按钮,勾选“强制缩放”,然后手动放大至全屏。 灵活应用JS、图像开关屏蔽一切不良信息:视频搜索前关闭JS开关,进入播放网页前关闭图像显示并打开JS。 视频解析之电视剧: 首先在视频网站搜索电视剧片名,下面会显示不同的剧集,点击它们再用视频解析即可观看。如果直接点击电视剧用视频解析则每次播放均为第一集。 视频搜索预配置(超过400个引擎)
|
||||
视频资源:
|
||||
视频解析配置 mvcat novip bdys z2py ddrk nfmovies 电视直播 OK资源 全国电视直播 免费视频 国外剧 纪录片 网络直播 点击安装&quot;视频播放增强(倍速等),635+版本功能已内置,仅供高级用户定制参考。&quot;</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>工具汇总</title>
|
||||
<link>/zh/tools/</link>
|
||||
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tools/</guid>
|
||||
<description>安装tdict检索工具 (本地检索,远程内容) 安装完tdict本地检索工具后,可选择性安装字典索引及对应的搜索引擎至主屏。以下引擎仅作测试使用。
|
||||
安装双解字典索引
|
||||
安装双解字典至主屏
|
||||
英语活用大词典索引
|
||||
安装英语活用至主屏
|
||||
汉语大词典索引
|
||||
安装汉语词典至主屏
|
||||
soed6索引
|
||||
安装soed至主屏
|
||||
以下字典最好安装markdown处理器。
|
||||
安装markdown处理器
|
||||
Merriam Webster International Unabridged 索引
|
||||
安装mwi至主屏
|
||||
ode3索引
|
||||
安装ode至主屏
|
||||
oed索引
|
||||
安装oed至主屏
|
||||
大英百科索引
|
||||
安装be至主屏
|
||||
Merriam Webster Unabridged
|
||||
安装mwu至主屏
|
||||
以下工具需先安装uweb定制Termux应用,并启动一次完成初始化。
|
||||
安装tdict词典工具 安装完tdict词典工具以后,对/sdcard/uweb/dict目录下的汉语大字典文件如&quot;dictXXX.xz&quot;可在主屏.search文件配置如下字典查询:
|
||||
汉语大字典:c:zd xz %s dictXXX
|
||||
字典文件目录可通过修改termux下“~/share”符号链接来改动。也可使用其它压缩方式如zst,此时配置变为&quot;zd zst %s dictXXX&quot;,相应的字典文件名为dictXXX.zst。用户需提供zsttool工具解压文本。
|
||||
插件页面也提供了词典方案,但如果手动配置会比较麻烦。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用文件预处理预览/查看/播放一切可下载资源</title>
|
||||
<link>/zh/filecap/</link>
|
||||
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/filecap/</guid>
|
||||
<description>技巧等级:中级
|
||||
文件预处理配置文件为/sdcard/uweb/default.filecap,每行格式如下:
|
||||
[文件后缀]:[mimetype]:[处理命令]
|
||||
其中文件后缀可允许最多两段后缀,譬如&quot;txt.xz&quot;,&quot;html.gz&quot;。
|
||||
mimetype表示命令处理后的输出内容格式。
|
||||
处理命令与default.cmds相同,主要可能用到如下替换:
|
||||
%u(网址或文件路径)、%U(编码以后的网址)、%c(当前网址cookie)、%p(密码保护网站中的密码,curl格式)。
|
||||
利用文件预处理,超微浏览器现在可以预览/查看/播放一切可下载资源,并且可以利用不同网站在线服务预览不同的文件,而手机上一个应用都不用装。
|
||||
配置/sdcard/uweb/default.filecap如下:
|
||||
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 https://view.officeapps.live.com/op/view.aspx?src=%U xls:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U ppt:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U docx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U xlsx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U pptx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U xz:text/plain:curl %p "%u"|xz -d -- 安装过相应的html5应用,则如下配置阅读相应格式文件:
|
||||
pdf:uweb:echo file:///sdcard/uweb/app/pdf.js/web/viewer.html?file=%u djvu:uweb:echo file:///sdcard/uweb/app/djvu.html?url=%u epub:uweb:echo file:///sdcard/uweb/app/reader/index.html?bookPath==%u 长按设置按钮,勾选“文件预处理”,清后台重启浏览器。则网页上点击下载按钮时上述文件类型会自动预览。
|
||||
如果用户配置中处理命令用到curl,则需要安装Termux,并在Termux中安装curl (&quot;apt install curl&quot;)。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>html5应用</title>
|
||||
<link>/zh/html5/</link>
|
||||
<pubDate>Thu, 20 Aug 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/html5/</guid>
|
||||
<description>点击安装超大文件阅读器(支持txt, html, markdown)
|
||||
点击安装超大文件阅读器(markdeep版, latex, diagram,graphviz等)
|
||||
点击安装plyr视频播放器
|
||||
点击安装dplayer视频播放器
|
||||
点击安装pdf阅读器
|
||||
点击安装epub阅读器(作者:llili)
|
||||
点击安装djvu阅读器
|
||||
相应的菜单安装可见浏览器特色服务
|
||||
超微配置目录下的子目录名如果以&quot;app&quot;开始(譬如&quot;/sdcard/uweb/appPDF&quot;),则这些&quot;app&quot;开头目录树下放置的html5应用将可获得功能增强。
|
||||
配置default.filecap并打开选项“文件预处理”,清后台重启浏览器后超微可直接阅读应用对应格式文件。
|
||||
点击配置pdf.js,djvu.js,epub.js,超大文件阅读器
|
||||
超大文件阅读器txtview.html url如下:
|
||||
file:///sdcard/uweb/app/txtview.html?url=[url]#page=[xxx]
|
||||
file:///sdcard/uweb/app/txtview.html?url=[url]#offset=[xxxx]&amp;[length]
|
||||
file:///sdcard/uweb/app/markdeep.html?url=[url]#page=[xxx]
|
||||
file:///sdcard/uweb/app/markdeep.html?url=[url]#offset=[xxxx]&amp;[length]
|
||||
譬如&quot;#offset=10000&amp;500&quot;会访问超大文件偏移量10000处长度为500的内容。
|
||||
所有阅读器均支持箭头按钮(短按前进按钮或长按后退按钮)自动翻页。
|
||||
比较有用的是mozilla的pdf.js,可用来显示在线或本地pdf文件。url如下:
|
||||
file:///sdcard/uweb/app/pdfviewer.html?file=[绝对或相对路径].pdf#page=[xxx]
|
||||
则浏览器直接跳转到pdf文件指定页。与主屏多引擎搜索及少量脚本结合使用,可对任何pdf文件进行字典检索。
|
||||
下面是一些类似的应用:
|
||||
djvu.js应用的访问url如下:
|
||||
file:///sdcard/uweb/app/djvu.html?url=[绝对或相对路径或url].pdf#page=[xxx]
|
||||
epub.js
|
||||
sampotts/plyr : video, YouTube and Vimeo player
|
||||
videojs/video.js
|
||||
bilibili/flv.js
|
||||
MoePlayer/DPlayer
|
||||
Streamedian/html5_rtsp_player
|
||||
MoePlayer/APlayer : music player</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>手势</title>
|
||||
<link>/zh/gesture/</link>
|
||||
<pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/gesture/</guid>
|
||||
<description>顶部下拉弹出地址栏; 顶部上划隐藏地址栏。底部下划隐藏工具条; 底部左右角落划动弹出工具条。
|
||||
紧靠工具条左右划动切换当前窗口; 左右大幅度划动切换到第一或最后一个窗口。
|
||||
起点终点紧靠地址栏划动操作调用&quot;default.gesture&quot;文件中对应链接。文件格式与文件default.link完全相同。每行第一部分为助记名,第二部分为链接。手势操作对应方式如下:
|
||||
将屏幕宽度平分为三部分,分别对应数字0,1,2 将终点对应的屏幕数字加上起点对应数字的三倍。如果数字为4且初始为往左滑动则数字改为9。 每额外多一次来回转折数字加10。
|
||||
超微浏览器将执行上述数字所对应行所定义的链接操作。(0对应第一行,以此类推) 右边缘划动操作调用&quot;default.gesture2&quot;文件中对应链接。对应方法同&quot;default.gesture&quot;。
|
||||
常用操作链接:
|
||||
back:javascript:history.back()
|
||||
forward:javascript:history.forward()
|
||||
back2:javascript:history.go(-2)</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>一键执行任意预定义命令(附手机PC剪贴板互通)</title>
|
||||
<link>/zh/cmd/</link>
|
||||
<pubDate>Sat, 20 Jan 2018 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/cmd/</guid>
|
||||
<description>技巧等级:中级 PC剪贴板(高级)
|
||||
uweb浏览器支持一键执行任意预定义命令,这些命令可以与剪贴板交互,可以将结果(文本、图像、音视频)输出到浏览器窗口。
|
||||
手机推荐安装uweb定制Termux,否则能够执行的命令极其有限。
|
||||
预定义命令保存在文件&quot;/sdcard/uweb/default.cmds&quot;中。重启浏览器,长按历史按钮,超微将弹出菜单供用户点击执行。
|
||||
资深用户可能注意到文件名与default.acmd类似。default.acmd中的命令适合以不同的参数反复执行;而default.cmds一般以单次执行为多。default.acmd结果会显示在浏览器当前窗口;而default.cmds中命令执行结果会显示在新窗口之中。这两个文件格式也完全相同,每行格式如下:
|
||||
[命令名称]:[mimetype]:[命令代码]
|
||||
命令代码可以是任意命令,其中可以包含%c(当前网址cookie)、%s (地址栏输入)、 %t (当前窗口标题)、 %u (当前窗口url或文件路径)。执行时这些特殊标识将会被相应内容自动替换。
|
||||
mimetype用来表示命令的输出类型。除了标准的mimetype之外,超微对此还作了扩充,便利与剪贴板交互。下面是扩充版的mimetype:
|
||||
&quot;clip/clip&quot; : 以剪贴板作为命令输入,输出结果复制到剪贴板。
|
||||
&quot;/clip&quot; : 输出结果复制到剪贴板。
|
||||
&quot;clip/text/html&quot; : 以剪贴板作为命令输入,输出结果mimetype类型为“text/html”。
|
||||
&quot;termux/*&quot;: 在termux中执行命令。
|
||||
&quot;uweb&quot;: 输出结果作为链接来处理。
|
||||
下面是笔者使用的default.cmds配置(命令具体解释):
|
||||
复制手机剪贴板至PC剪贴板:clip:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -i" PC剪贴板至手机剪贴板:/clip:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -o" </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>便利链接</title>
|
||||
<link>/zh/urls/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/urls/</guid>
|
||||
<description>Termux内部目录</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>电视直播</title>
|
||||
<link>/zh/tvlive/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tvlive/</guid>
|
||||
<description>CCTV1
|
||||
CCTV2财经
|
||||
CCTV3综艺
|
||||
CCTV4国际
|
||||
CCTV5体育
|
||||
CCTV6电影
|
||||
CCTV7军农
|
||||
CCTV8电视剧
|
||||
CCTV10科教
|
||||
CCTV11戏曲
|
||||
CCTV12社会与法
|
||||
CCTV13新闻
|
||||
CCTV15少儿
|
||||
CCTV17农村
|
||||
江苏卫视
|
||||
浙江卫视
|
||||
精品电影
|
||||
铜梁综合频道
|
||||
铜梁文旅频道
|
||||
万州综合频道
|
||||
万州三峡移民
|
||||
巴南综合频道
|
||||
巴南生活服务
|
||||
长寿综合频道
|
||||
永川综合频道
|
||||
开州生活频道
|
||||
大足综合频道
|
||||
綦江综合频道
|
||||
涪陵电视台
|
||||
黔江综合频道
|
||||
江津新闻综合
|
||||
南川新闻综合
|
||||
福州综合频道
|
||||
福州生活频道
|
||||
晋江侨乡频道
|
||||
厦门一套
|
||||
厦门二套
|
||||
厦门三套
|
||||
厦门移动电视
|
||||
龙岩综合频道
|
||||
宁德公共频道
|
||||
三明综合频道
|
||||
三明公共频道
|
||||
尤溪生活频道
|
||||
上杭综合频道
|
||||
南安新闻综合
|
||||
武夷山电视台
|
||||
宁化电视一套
|
||||
福安综合频道
|
||||
甘肃经济频道
|
||||
甘肃都市频道
|
||||
甘肃少儿频道
|
||||
甘肃公共频道
|
||||
甘肃品质生活
|
||||
甘南藏语频道
|
||||
敦煌综合频道
|
||||
金昌公共频道
|
||||
广东经济科教
|
||||
广东体育频道
|
||||
广东珠江台
|
||||
广东新闻频道
|
||||
广东公共频道
|
||||
广东房产频道
|
||||
广东国际频道
|
||||
广东综艺频道
|
||||
广州经济频道
|
||||
广州新闻频道
|
||||
深圳都市频道
|
||||
深圳财经频道
|
||||
深圳娱乐频道</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>分类多引擎搜索</title>
|
||||
<link>/zh/searchcat/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/searchcat/</guid>
|
||||
<description>点击本链接自动安装分类多引擎文件至&quot;/sdcard/uweb/bookmark&quot;目录下。
|
||||
超微浏览器中通过“设置”-&gt;“总目录”-&gt;“↑”-&gt;“Download”,点击后缀为.search的下载文件,超微浏览器将自动显示分类多引擎搜索。此时可按菜单键(或长按底部工具条后退按钮)选择“添加到桌面”方便以后访问。
|
||||
.search文件每行格式为如下几种:
|
||||
[搜索引擎名]:[不含%s的url]
|
||||
[搜索引擎名]:[含%s的url]
|
||||
[搜索引擎名]:POST:[含%s的post参数]:[url]
|
||||
.search文件首行必须为第一种类型的搜索引擎。由于其它两种类型的引擎数量稀少,为性能考虑,超微限制了首个引擎的种类。
|
||||
本地引擎 搜索引擎已经支持命令行url,现在可添加离线字典查询至主页。命令行url格式为
|
||||
c:[含%s的命令行]
|
||||
d:mimetype:[含%s的命令行]:[外部资源url]
|
||||
查询时关键词会自动替换命令行中的%s。
|
||||
笔者用来查询各式词典,发现效果非常好。百兆以内的文本文件压缩以后可以直接快速检索,定位至特定位置以后可上下滚动阅读全部文本。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>加速访问国外网站</title>
|
||||
<link>/zh/hosts/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/hosts/</guid>
|
||||
<description>不少国外网站本身虽可访问,但由于网站需要下载其它网址的资源而导致无法访问。根域名屏蔽可屏蔽文件中域名的一切子域名、孙域名、......,从而主动排除这些网址,最终允许浏览器快速访问。
|
||||
使用Android端uweb浏览器。
|
||||
域名文件内容如下:
|
||||
googleadservices.com
|
||||
googlesyndication.com
|
||||
adsense.com
|
||||
googleapis.com
|
||||
google-analytics.com
|
||||
googletagservices.com
|
||||
twitter.com
|
||||
facebook.com
|
||||
fbcdn.net
|
||||
其它国外网址访问技巧:
|
||||
尝试关闭javascript, 譬如程序员网站stackoverflow.com在关闭javascript的情况下国内一般均可快速访问。 关闭网页图片 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>绝杀完整域名树</title>
|
||||
<link>/zh/adblock_domain/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/adblock_domain/</guid>
|
||||
<description>域名文件可屏蔽文件中域名的一切子域名、孙域名、......,可彻底绝杀一切不良信息。所以用户屏蔽根域名时无需选择提示中出现的整个域名,只需选取最后两段或三段(最后两段不超过6字符如com.cn的域名可取四段)。
|
||||
可使用列出外部脚本小书签生成外部js文件列表,然后长按底部工具栏&quot;js&quot;按钮,执行&quot;网址转链接&quot;菜单命令,长按可疑链接(一般为域名不同的外链),执行“屏蔽根域名”。
|
||||
长按不良信息链接,点击“图片:屏蔽根域名”,修改弹出域名,一般取最后两段,点击&quot;确定&quot;屏蔽当前图片网址。
|
||||
部分不良信息没有链接可长按,或虽有链接但长按时不出现图片相关菜单。此时可长按[JS]点击&quot;背景图片&quot;或&quot;看图模式&quot;,再长按不良信息链接点击“图片:屏蔽根域名”,屏蔽图片网址。
|
||||
可长按设置开启&quot;资源嗅探&quot;,推荐设置文件&quot;/sdcard/uweb/types.sniff&quot;内容为js,刷新网页后关闭&quot;资源嗅探&quot;选项。在弹出的资源网页上长按链接,屏蔽根域名。
|
||||
(可选) 长按不良信息链接,点击“屏蔽根域名”,屏蔽链接网址。
|
||||
(可选) 某些不良信息靠javascript激发,链接中不出现域名,可点击激发至新网址后将新网址根域名屏蔽。
|
||||
支持域名及整个网址正则表达式
|
||||
文件格式每行如下:
|
||||
根域名[空格]域名前缀正则表达式[空格]整个网址去掉协议部分后正则表达式
|
||||
空格及后面两个正则表达式为可选择项。正则表达式采用java标准。
|
||||
如果用到了第二个正则表达式,此时将域名前缀表达式合并到第二个正则表达式中,从而仅使用一个表达式可优化性能。
|
||||
点击本链接自动用样例覆盖default.hosts</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用多账号登录获取资源</title>
|
||||
<link>/zh/multiaccount/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/multiaccount/</guid>
|
||||
<description>谈到资源就离不开bt, bt下载费时费力,离线bt是最佳选择。国内离线下载由于关键节点屏蔽,基本没啥用。我的个人体验是彻彻底底完全没用,但别人也许还有点用?国外唯一一个有好体验的是seedr, 不过seedr有个大问题需要解决。
|
||||
其它我曾推荐过的台湾bt, bug实在太多,现在看来也成了半个垃圾。万般无奈之下只能重拾seedr.
|
||||
seedr的问题是首次登录需要google人机验证,登录成功以后可以永久使用,无需小飞机辅助。
|
||||
以前偶尔飞飞一点问题也没有,毕竟1分钟飞行就可解决很长时间问题了。但目前的状态是信息基本被彻底封死,1分钟飞行也成了奢望。所以十分有必要珍惜这来之不易的1分钟飞行成果。
|
||||
现在直接上方案,使用超微浏览器多账号登录。飞行1分钟以后成功登录seedr, 此时退出浏览器,千万不能强退,一定要让运存中的登录信息写到内部存储。然后用户可备份应用内部目录下的.cjar文件,一旦浏览器失去登录状态,可恢复此文件,即可使用多账号登录重新登录,让这1分钟飞行成果保存下来,供万万年使用。需要注意的一点是:用户退出seedr账号会使保存的文件作废。故千万不要退出账号,需要用其它账号登录的请使用多账号登录。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用浏览器地址栏对函数作图</title>
|
||||
<link>/zh/gnuplot/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/gnuplot/</guid>
|
||||
<description>使用Android端uweb浏览器。
|
||||
Termux提供了方便的软件包管理系统,缺省的uWeb地址栏功能配置需用到作图软件gnuplot。
|
||||
安装gnuplot 安装 uweb定制Termux应用 Termux下运行以下命令:
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install gnuplot 地址栏功能配置: 配置文件/sdcard/uweb/default.acmd每行格式如下:
|
||||
菜单名:mimeType:命令行 命令行可包含参数%s,运行时自动用地址栏输入内容替换。 如果浏览器窗口当前地址为本地url,则此目录同时作为命令行工作目录。 配置文件/sdcard/uweb/default.acmd如下: 命令:text/plain:%s 函数作图:image/svg+xml:gnuplot -e 'set term svg;set output; plot %s' 函数作图(3d):image/svg+xml:gnuplot -e 'set term svg;set output; splot %s' 超级计算器:text/html:echo &quot;%s&quot;|bc -l -q 长按uweb浏览器底部工具条刷新按钮弹出地址栏功能选择,选择“函数作图”,地址栏内输入函数如sin(x)**5就可显示函数图案。
|
||||
常见问题及诊断 确保gnuplot正确安装,在Termux提示符下,敲入gnuplot,然后回车,保证出现&quot;gnuplot&gt;&quot;。 确保gnuplot正常运行, 在Termux提示符下,执行下面命令:
|
||||
gnuplot -e 'set term svg;set output; plot x'
|
||||
屏幕输出应该为正常的svg文件(类似html文本)。 Termux应为uweb定制包,否则有一堆设定需要修改。 超微浏览器下长按设置按钮,勾选“标准错误输出”。再次在地址栏执行画图操作,此时浏览器会显示出错信息。 为保证地址栏输入函数符合gnuplot规范,首个测试函数建议为&quot;x&quot;,即整个地址栏内输入为&quot;x&quot;。 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>浏览器一键控制台式机/服务器下载资源</title>
|
||||
<link>/zh/pcdown/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/pcdown/</guid>
|
||||
<description>技巧等级:高级
|
||||
小孩要听英文有声书“The lying games”,国内服务器没一个能下的,最后还是在手机上用seedr秒下。但seedr的登录要用google人机交互确认,用过代理、tunnel至手机等方法,台式机死活登录不上。下面言归正传,讲一下超微浏览器直接下载资源至台式机的方法:
|
||||
手机需安装uweb定制Termux,并在termux下安装openssl,在Termux窗口下依次敲入如下命令:
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install openssl
|
||||
脚本pcdownload内容如下(可放置在任意应用内部目录下,并相应修改default.longclick配置中文件路径):
|
||||
#!/data/data/com.termux/files/usr/bin/sh
|
||||
ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 firefox \&quot;$1\&quot;&quot;
|
||||
脚本需设置为可执行,Termux下执行命令:
|
||||
chmod 755 /data/data/com.termux/files/usr/bin/pcdownload
|
||||
这里假定用户已经在台式机上设好ssh服务,台式机IP地址为192.168.2.102,准备用firefox下载。如果下载工具不是图形程序,则上述脚本中可删去“DISPLAY=:0”。
|
||||
配置文件/sdcard/uweb/default.longclick如下:
|
||||
PCdown:/data/data/com.termux/files/usr/bin/pcdownload
|
||||
重启超微浏览器,点击链接下载时会弹出菜单,选择&quot;PCdown&quot;,台式机会启动firefox下载手机指定文档。
|
||||
可能大家有疑问,台式机无法登录,为什么手机可以登录?这是因为手机上应用多哈。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>特定网址用户脚本及样式</title>
|
||||
<link>/zh/sitejs/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/sitejs/</guid>
|
||||
<description>技巧等级:中级
|
||||
脚本 (第一时间装载js脚本见下面sitecss条目)
|
||||
脚本需命名为 &quot;[根域名].js&quot;,譬如baidu.com.js 或tieba.baidu.com.js 。此脚本将自动作用于所有相同根域名的网址上。如有多个脚本满足条件,以最长文件名为准。 这些脚本需放到/sdcard/uweb/sitejs或/data/data/info.torapp.uweb/files/sitejs目录下,数量没有限制,上百万都不成问题。如果内部目录下sitejs存在,则/sdcard/uweb/sitejs不起任何作用。内部sitejs目录的存在同时也影响一切对安全敏感的资源(包括网站离线资源等)的配置,一旦内部sitejs目录存在,则这些资源必须位于内部目录才会生效。 长按窗口按钮,勾选“执行网址用户脚本”。 脚本执行对浏览器无性能影响,即使有百万脚本存在。 目前支持两段、三段及少数四段域名(最后两段不超过6字如com.cn的域名可取四段)。所以脚本请不要以很长的域名来命名。 样式及第一时间装载js脚本
|
||||
与此类似,用户样式需命名为 &quot;[根域名].css&quot;,譬如baidu.com.css 或tieba.baidu.com.css。 样式文件需放到/sdcard/uweb/sitecss目录下。 sitecss目录下&quot;[根域名].js&quot;文件会在第一时间装载。 长按窗口按钮,勾选“使用网址用户样式”。 如果文件“/sdcard/uweb/default.css”存在,访问网址时如果没有与域名匹配的css文件,则使用此默认样式文件。 default.css可作为夜间模式来使用,此时default.css为夜间模式css,而黑色主题类网址对应的域名为空文件。此种设定情况下仅白色主题网页会使用夜间模式css。 文件sitejs/.js 和sitecss/.css, sitecss/.js可作用于一切非http url(本地文件,浏览器界面等)。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>装载网站离线资源</title>
|
||||
<link>/zh/offlinecache/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/offlinecache/</guid>
|
||||
<description>uweb浏览器支持装载网站离线资源。只需要将离线资源存为文件&quot;/sdcard/uweb/sitecache/[域名]/[全部路径,包括文件名,?,&amp;,=, 与url一模一样]&quot;。如果应用内部目录有文件夹&quot;sitejs&quot;存在,则“/sdcard/uweb”下的离线资源不再生效,此时生效离线资源为内部目录下的&quot;sitecache&quot;文件夹。
|
||||
打开选项以后超微将自动装载这些离线资源。
|
||||
离线资源可作为缓存提高浏览器性能; 可作为国外网站部分备份修复服务访问; 也可替换部分网站资源达到定制网站的作用。
|
||||
下面以google翻译为例说明如何发现并备份离线资源。
|
||||
首先使用教程&quot;运行远程javascript&quot;配置google翻译。 将文件&quot;/sdcard/uweb/types.sniff&quot;内容清空(不要删除文件,否则会恢复成默认文件)。重启浏览器以后长按设置打开资源嗅探。 准备好合适手段保证google系网站能正常访问,长按按钮在主屏运行google翻译。 出现google翻译工具条以后,长按设置关闭嗅探。 运行termux,安装下载工具wget:
|
||||
apt update;apt install wget 下载必要离线数据,termux下运行如下命令: cd /sdcard/uweb mkdir sitecache cd sitecache wget -U 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' -x -i ../sniff.log 下载结束后,离线资源就准备妥当,供以后随时使用。 google翻译的情况下,要对部分js作修改,防止每次访问url不同。 </description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
83
zh/adblock/index.html
Normal file
83
zh/adblock/index.html
Normal file
|
@ -0,0 +1,83 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>信息隐藏技术总览</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p>总体来说,分为手动控制和针对特定网站的规则两大类办法。手动控制可以保存为网站配置从而自动化。</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="../adblock_domain/index.html">双正则表达式根域名隐藏</a>。</p>
|
||||
<ul>
|
||||
<li>可使用<a href="../bookmarklet/index.html">列出外部脚本小书签</a>生成外部js文件列表,长按可疑链接(一般为域名不同的外链),执行“屏蔽根域名”。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="../sitejs/index.html">针对特定网站的脚本样式</a>。</p>
|
||||
<ul>
|
||||
<li>长按底部工具栏"js"按钮,执行"标记不良元素"菜单命令,点击页面元素会弹出对话框显示元素及祖先所有属性,并生成css屏蔽代码。默认使用“display:none”屏蔽,但如果上述显示属性中出现过"display",则建议使用"transform:scale(0)!important"屏蔽。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按底部工具栏窗口管理按钮,选取"仅显示图片"或"仅显示视频",图片视频网站彻底干净。选取"禁用伪元素","禁用iframe"。更多可参看<a href="../adblock_css/index.html">自定义样式</a>。</p>
|
||||
<ul>
|
||||
<li>保存书签时可在网址前面添加"i:0mc32:",则整个网址树自动采用"仅显示图片"。没有任何不良信息。改为"c16"则为"仅显示视频"。"c12"则同时采用"禁用伪元素","禁用iframe"。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按[☰]按钮"自动全屏播放",直接<a href="../video/index.html">全屏无干扰播放</a>。不良信息没有任何机会出现。不使用全局脚本“自动全屏播放”的情况下,还可以有以下几种方法:</p>
|
||||
<ul>
|
||||
<li>使用<a href="../searchurl/url.html">常用服务</a>自动全屏播放菜单(长按视频链接->命令),则页面视频会自动全屏播放。按设置按钮,如果勾选“允许自动播放”,则今后此窗口内其它任何视频网址都将会自动全屏无干扰播放。保存书签时可在网址前面添加"i:5f"。</li>
|
||||
<li>保存书签时可在网址前面添加"i:0mi:5f:",则整个网址树自动全屏播放。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按设置,选取"拦截外链脚本"。可在<a href="i:61:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/func.html">界面配置及杂项</a>网页额外拦截第三方可疑资源。可<a href="file:///sdcard/uweb/js.allow">配置白名单js.allow</a>。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按[☰]按钮可隐藏浮动信息,移除横幅,清空定时器(防止定时触发不良信息),中断可疑事件(防止用户操作触发),等待(防止延迟触发)。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>直接关闭图像。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>关闭[JS]脚本。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="file:///sdcard/uweb/url.deny">url.deny</a>。需要屏蔽的url正则表达式(java语法),忽视回车,可用"#"开头注释。</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
49
zh/adblock_css/index.html
Normal file
49
zh/adblock_css/index.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>利用用户自定义样式屏蔽不良信息</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/%e4%b8%8d%e8%89%af%e4%bf%a1%e6%81%af%e5%b1%8f%e8%94%bd">不良信息屏蔽</a> </li>
|
||||
|
||||
<li><a href="../tags/css">css</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>点击以下链接可安装全局样式,清后台重启浏览器,长按底部工具条窗口按钮弹出对话框后勾选上述文件名即可屏蔽不良信息。<br>
|
||||
<a href="i:0h/sdcard/uweb/css/floppymoose.css:http://www.floppymoose.com/userContent.css">floppymoose 广告屏蔽样式</a><br>
|
||||
<a href="i:0h/sdcard/uweb/css/gozer.css:https://www.gozer.org/mozilla/ad_blocking/css/ad_blocking.css">gozer 广告屏蔽样式</a></p>
|
||||
<p><a href="../index.html">超微浏览器</a>支持<a href="../adblock_domain/index.html">根域名屏蔽</a>,完全绝杀手机不良信息小厂。但少部分不良信息大厂本身也提供高质量的内容服务,它们可以将不良信息伪装成正常的内容从而逃脱域名绝杀。<br>
|
||||
对这一部分不良信息而言,我们可以利用超微浏览器的自定义样式功能加以屏蔽。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
71
zh/adblock_domain/index.html
Normal file
71
zh/adblock_domain/index.html
Normal file
|
@ -0,0 +1,71 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>绝杀完整域名树</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/%e4%b8%8d%e8%89%af%e4%bf%a1%e6%81%af%e5%b1%8f%e8%94%bd">不良信息屏蔽</a> </li>
|
||||
|
||||
</ul>
|
||||
<p><a href="file:///sdcard/uweb/default.hosts">域名文件</a>可屏蔽文件中域名的一切子域名、孙域名、......,可彻底绝杀一切不良信息。所以用户屏蔽根域名时无需选择提示中出现的整个域名,<span style="color:red">只需选取最后两段或三段</span>(最后两段不超过6字符如com.cn的域名可取四段)。</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>可使用<a href="../bookmarklet/index.html">列出外部脚本小书签</a>生成外部js文件列表,然后长按底部工具栏"js"按钮,执行"网址转链接"菜单命令,长按可疑链接(一般为域名不同的外链),执行“屏蔽根域名”。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按不良信息链接,点击“图片:屏蔽根域名”,修改弹出域名,一般取最后两段,点击"确定"屏蔽当前图片网址。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>部分不良信息没有链接可长按,或虽有链接但长按时不出现图片相关菜单。此时可长按[JS]点击"背景图片"或"看图模式",再长按不良信息链接点击“图片:屏蔽根域名”,屏蔽图片网址。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>可长按设置开启"资源嗅探",推荐设置文件"/sdcard/uweb/types.sniff"内容为js,刷新网页后关闭"资源嗅探"选项。在弹出的资源网页上长按链接,屏蔽根域名。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>(可选) 长按不良信息链接,点击“屏蔽根域名”,屏蔽链接网址。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>(可选) 某些不良信息靠javascript激发,链接中不出现域名,可点击激发至新网址后将新网址根域名屏蔽。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>支持域名及整个网址正则表达式<br>
|
||||
文件格式每行如下:<br>
|
||||
根域名[空格]域名前缀正则表达式[空格]整个网址去掉协议部分后正则表达式<br>
|
||||
空格及后面两个正则表达式为可选择项。正则表达式采用java标准。<br>
|
||||
如果用到了第二个正则表达式,此时将域名前缀表达式合并到第二个正则表达式中,从而仅使用一个表达式可优化性能。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><a target="_self" href="i:0bhttp://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/default.hosts.tar.gz">点击本链接自动用样例覆盖default.hosts</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
48
zh/androidtv/index.html
Normal file
48
zh/androidtv/index.html
Normal file
|
@ -0,0 +1,48 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>Android TV</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">Android TV
|
||||
<br>
|
||||
<span class="subtitle"></span>
|
||||
</h1>
|
||||
<ul class="tags">
|
||||
|
||||
</ul>
|
||||
<p>TV端推荐打开自动播放选项,全局脚本打开自动全屏播放,全局样式打开“仅显示图片“,禁止js confirm对话框。</p>
|
||||
<p>点击以下链接可直接设置主屏为书签并添加链接。Android TV可从手机端接收视频url并打开,发送见常用服务:<br>
|
||||
<a href="i:0g/sdcard/uweb/home5.html::<a href=%22i:1c%22>等待从网络接收url并打开</a>%0A">等待从网络接收url并打开</a></p>
|
||||
<p><a href="i:0g/sdcard/uweb/home5.html::<a href=%22i:1c1%22>等待接收url沉默版</a>%0A">等待接收url沉默版</a></p>
|
||||
<p><a href="i:0g/sdcard/uweb/home5.html::<a href=%22file:///sdcard/uweb/bookmark.html%22>书签</a>%0A">书签</a></p>
|
||||
<p>点击以下链接添加常用服务:<br>
|
||||
<a href="i:01添加书签至主屏:i:51../home5:">添加书签至主屏</a></p>
|
||||
<p>Android TV可利用顺序搜索使用箭头按钮切换频道。顺序搜索引擎文件engine.search中的搜索引擎url如果不包含'%s',则搜索引擎只是简单的固定网页url,此时顺序搜索表现为频道切换。更多信息见多引擎搜索页面。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
65
zh/bc/index.html
Normal file
65
zh/bc/index.html
Normal file
|
@ -0,0 +1,65 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>超级计算器(bc)</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">超级计算器(bc)
|
||||
<br>
|
||||
<span class="subtitle"></span>
|
||||
</h1>
|
||||
<ul class="tags">
|
||||
|
||||
</ul>
|
||||
<p>使用<a href="https://www.coolapk.com/apk/info.torapp.uweb">uweb浏览器</a>。<br>
|
||||
Gnu bc计算器支持无限精度,可扩展函数库、常数库。</p>
|
||||
<h3 id="安装bc-android11无需安装">安装bc (Android11+无需安装)</h3>
|
||||
<ul>
|
||||
<li>安装<a href="../searchurl/plugins.html">uweb定制Termux应用</a></li>
|
||||
<li>Termux下运行以下命令:<br>
|
||||
apt update<br>
|
||||
apt upgrade<br>
|
||||
apt install bc</li>
|
||||
</ul>
|
||||
<h3 id="使用书签调用计算器">使用书签调用计算器</h3>
|
||||
<p>"长按以下链接->命令->书签"可保存链接为书签。书签菜单可至<a href="../searchurl/urls.html">特色服务网页</a>安装。<br>
|
||||
<a href="c:bc -l">bc</a><br>
|
||||
<a href="c:bc -l *.bc">全能bc</a></p>
|
||||
<h3 id="浏览器地址栏作为超级计算器">浏览器地址栏作为超级计算器</h3>
|
||||
<p>配置文件/sdcard/uweb/default.acmd如下:<br>
|
||||
计算器:text/html:echo "%s"|bc -l -q</p>
|
||||
<h3 id="更多bc扩展库">更多bc扩展库:</h3>
|
||||
<p>扩展库可下载至/sdcard/uweb目录)<br>
|
||||
<a href="https://github.com/susca/bc-extensions">https://github.com/susca/bc-extensions</a><br>
|
||||
<a href="http://phodd.net/gnu-bc">http://phodd.net/gnu-bc</a><br>
|
||||
<a href="http://www.numbertheory.org/gnubc/gnubc.html">http://www.numbertheory.org/gnubc/gnubc.html</a></p>
|
||||
<h3 id="使用扩展库以后defaultacmd配置如下">使用扩展库以后default.acmd配置如下:</h3>
|
||||
<p>计算器:text/html:echo "%s"|bc -l -q extensions.bc scientific_constants.bc<br>
|
||||
全能计算器:text/html:echo "%s"|bc -l -q *.bc</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
57
zh/bookmark/index.html
Normal file
57
zh/bookmark/index.html
Normal file
|
@ -0,0 +1,57 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>常用书签</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p><a href="https://www.gamezop.com">gamezop</a></p>
|
||||
<p>点击以下链接可安装模板至分类书签目录。保存至“小说”类别的网站会自动使用阅读模式。<br>
|
||||
<a href="i:0h/sdcard/uweb/bookmark/小说.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/bookmark/novel.html">"小说.html": 自动使用阅读模式</a></p>
|
||||
<p>href="i:0h/sdcard/uweb/bookmark/txt.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/bookmark/viewtxt.html">"txt.html": 在线阅读下载直链(txt/html)</a></p>
|
||||
<p>所有书签都可通过"长按链接->命令->书签"保存链接为书签。书签菜单可至<a href="../searchurl/urls.html">特色服务网页</a>安装。<br>
|
||||
<a href="https://www.library.ac.cn">Mirror list</a><br>
|
||||
<a href="i:631:https://mirror.js.org">mirror.js.org</a></p>
|
||||
<p><a href="i:61:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/func.html">界面配置及杂项</a></p>
|
||||
<p>以下书签需"长按以下链接->新窗口打开"才能在此网页正常执行。</p>
|
||||
<h3 id="termux命令书签">Termux命令书签</h3>
|
||||
<p>需安装定制版termux及相应工具,<br>
|
||||
<a href="c:bc -l">计算器bc</a><br>
|
||||
<a href="c:bc -l *.bc">全能计算器bc</a></p>
|
||||
<p>以下书签需安装gopher.<br>
|
||||
<a href="c:gopher gopher://codevoid.de/1/cnn">CNN news gopher</a><br>
|
||||
<a href="c:gopher gopher://gopherpedia.com/7/lookup">wikipedia search gopher</a><br>
|
||||
<a href="c:gopher gopher://gopherddit.com">reddit gopher</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
62
zh/bookmarklet/index.html
Normal file
62
zh/bookmarklet/index.html
Normal file
|
@ -0,0 +1,62 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>小书签</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/javascript">javascript</a> </li>
|
||||
|
||||
</ul>
|
||||
<p><a href="..">超微浏览器</a>支持直接运行远程网址上的小书签(Bookmarklet),将本页面或其它包含小书签网址加入书签。使用时只需长按小书签链接,点击“新窗口打开”,小书签将作用于超微浏览器最后一个窗口(非小书签窗口)页面上。</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:';}">列出外部脚本</a></p>
|
||||
<p><a target="_self" href="javascript:alert(navigator.userAgent)">查看浏览器UA</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))})()">网页源码</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">显示网页最后更改时间</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);">生成二维码</a></p>
|
||||
<p><a href="javascript:(function(){var x,i; x = document.forms; for (i = 0; i < x.length; ++i) x[i].method="get"; alert("Changed " + x.length + " forms to use the GET method. After submitting a form from this page, you should be able to bookmark the result."); })();">POST转GET</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=="hidden"){ D=document; function C(t){return D.createElement(t);} function A(a,b){a.appendChild(b);} div=C("div"); label=C("label"); A(div, label); A(label, D.createTextNode(e.name + ": ")); e.parentNode.insertBefore(div, e); e.parentNode.removeChild(e); ne=C("input");/*for ie*/ ne.type="text"; 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<x.length;++k){f=x[k];for(j=0;j<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]);})()">切换复选框状态</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);})()">全选复选框</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);})()">复选框全不选</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() == "checkbox") toggle(f[j]); } })();">切换表内复选框状态</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)})()">解除选择复制限制(无效时可设UA为PC)</a><br>
|
||||
<a href="javascript:(function() { function R(a){ona = "on"+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("contextmenu"); R("click"); R("mousedown"); R("mouseup"); })()">恢复长按菜单</a><br>
|
||||
<a href="javascript:(function(){var count=0, text, regexp;text=prompt("Search regexp:", "");if(text==null || text.length==0)return;try{regexp=new RegExp("(" + text +")", "i");}catch(er){alert("Unable to create regular expression using text '"+text+"'.\n\n"+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("SPAN");spannode.style.backgroundColor="yellow";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 && node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], re);}}return skip;}window.status="Searching for "+regexp+"...";searchWithinNode(document.body, regexp);window.status="Found "+count+" match"+(count==1?"":"es")+" for "+regexp+".";})();">正则搜索</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("This page doesn't contain any tables.");(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="";++nR;}rows.sort(compareRows);for (i=0; i < rows.length; ++i)insAtTop(table.tBodies[0], rows[i]);}">表格排序</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>
|
||||
|
||||
</body>
|
||||
</html>
|
8
zh/categories/index.html
Normal file
8
zh/categories/index.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<body>
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
9
zh/categories/index.xml
Normal file
9
zh/categories/index.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Categories on </title>
|
||||
<link>/zh/categories/</link>
|
||||
<description>Recent content in Categories on </description>
|
||||
<generator>Hugo -- gohugo.io</generator><atom:link href="/zh/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
64
zh/cmd/index.html
Normal file
64
zh/cmd/index.html
Normal file
|
@ -0,0 +1,64 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>一键执行任意预定义命令(附手机PC剪贴板互通)</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">一键执行任意预定义命令(附手机PC剪贴板互通)
|
||||
<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/%e5%89%aa%e8%b4%b4%e6%9d%bf">剪贴板</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>技巧等级:中级 PC剪贴板(高级)</p>
|
||||
<p><a href="../index.html">uweb浏览器</a>支持一键执行任意预定义命令,这些命令可以与剪贴板交互,可以将结果(文本、图像、音视频)输出到浏览器窗口。</p>
|
||||
<p>手机推荐安装uweb定制<a href="../gnuplot/index.html">Termux</a>,否则能够执行的命令极其有限。</p>
|
||||
<p>预定义命令保存在文件"/sdcard/uweb/default.cmds"中。重启浏览器,长按历史按钮,超微将弹出菜单供用户点击执行。</p>
|
||||
<p>资深用户可能注意到文件名与<a href="../gnuplot/index.html">default.acmd</a>类似。default.acmd中的命令适合以不同的参数反复执行;而default.cmds一般以单次执行为多。default.acmd结果会显示在浏览器当前窗口;而default.cmds中命令执行结果会显示在新窗口之中。这两个文件格式也完全相同,每行格式如下:<br>
|
||||
[命令名称]:[mimetype]:[命令代码]</p>
|
||||
<p>命令代码可以是任意命令,其中可以包含%c(当前网址cookie)、%s (地址栏输入)、 %t (当前窗口标题)、 %u (当前窗口url或文件路径)。执行时这些特殊标识将会被相应内容自动替换。</p>
|
||||
<p>mimetype用来表示命令的输出类型。除了标准的mimetype之外,超微对此还作了扩充,便利与剪贴板交互。下面是扩充版的mimetype:<br>
|
||||
"clip/clip" : 以剪贴板作为命令输入,输出结果复制到剪贴板。<br>
|
||||
"/clip" : 输出结果复制到剪贴板。<br>
|
||||
"clip/text/html" : 以剪贴板作为命令输入,输出结果mimetype类型为“text/html”。<br>
|
||||
"termux/*": 在termux中执行命令。<br>
|
||||
"uweb": 输出结果作为<a href="../links/index.html">链接</a>来处理。</p>
|
||||
<p>下面是笔者使用的default.cmds配置(<a href="../pccopy/index.html">命令具体解释</a>):</p>
|
||||
<pre>复制手机剪贴板至PC剪贴板:clip:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -i"
|
||||
PC剪贴板至手机剪贴板:/clip:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -o"
|
||||
</pre><blockquote>
|
||||
</blockquote>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
83
zh/filecap/index.html
Normal file
83
zh/filecap/index.html
Normal file
|
@ -0,0 +1,83 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>利用文件预处理预览/查看/播放一切可下载资源</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/termux">termux</a> </li>
|
||||
|
||||
<li><a href="../tags/curl">curl</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>技巧等级:中级</p>
|
||||
<p>文件预处理配置文件为/sdcard/uweb/default.filecap,每行格式如下:<br>
|
||||
[文件后缀]:[mimetype]:[处理命令]</p>
|
||||
<p>其中文件后缀可允许最多两段后缀,譬如"txt.xz","html.gz"。<br>
|
||||
mimetype表示命令处理后的输出内容格式。<br>
|
||||
处理命令与<a href="../cmd/index.html">default.cmds</a>相同,主要可能用到如下替换:<br>
|
||||
%u(网址或文件路径)、%U(编码以后的网址)、%c(当前网址cookie)、%p(密码保护网站中的密码,curl格式)。</p>
|
||||
<p>利用文件预处理,<a href="../index.html">超微浏览器</a>现在可以预览/查看/播放一切可下载资源,并且可以利用不同网站在线服务预览不同的文件,而手机上一个应用都不用装。</p>
|
||||
<p>配置/sdcard/uweb/default.filecap如下:</p>
|
||||
<pre><code>txt:text/html:curl %p "%u"
|
||||
mp3:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
||||
m4b:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
||||
m3u8:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
mp4:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
mkv:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
doc:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
xls:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
ppt:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
docx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
xlsx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
pptx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
xz:text/plain:curl %p "%u"|xz -d --</code></pre>
|
||||
<p>安装过相应的<a href="../html5/index.html">html5应用</a>,则如下配置阅读相应格式文件:</p>
|
||||
<pre><code>pdf:uweb:echo file:///sdcard/uweb/app/pdf.js/web/viewer.html?file=%u
|
||||
djvu:uweb:echo file:///sdcard/uweb/app/djvu.html?url=%u
|
||||
epub:uweb:echo file:///sdcard/uweb/app/reader/index.html?bookPath==%u</code></pre>
|
||||
<p>长按设置按钮,勾选“文件预处理”,清后台重启浏览器。则网页上点击下载按钮时上述文件类型会自动预览。</p>
|
||||
<p>如果用户配置中处理命令用到curl,则需要安装<a href="../gnuplot/index.html">Termux</a>,并在Termux中安装curl ("apt install curl")。<br>
|
||||
如果用户不安装Termux,则上述配置命令中的"am"需要全部路径,需用"/system/bin/am"替换。</p>
|
||||
<p>以上配置使用了微软服务预览office文档,微软服务必需当前UA为PC,否则会出现空白页面。有条件的用户建议使用google docs ("http://docs.google.com/gview?embedded=true&url=") 服务替换。</p>
|
||||
<p>若使用手机应用预览文件,则docx处理命令可改为:</p>
|
||||
<pre>am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/docx"</pre>
|
||||
<p>其余常见文件的类型名:<br>
|
||||
application/msword<br>
|
||||
application/msexcel<br>
|
||||
application/pdf</p>
|
||||
<p>目前已知服务:<br>
|
||||
google docs, 功能强大,可查看几乎一切文档,但 "我的所爱在山腰,想要得到山太高。"</p>
|
||||
<p>微软office, 可预览office文档,ua必须是pc。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
44
zh/filemanager/index.html
Normal file
44
zh/filemanager/index.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>文件管理器及文件挑选并批量处理</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p><a href="..">超微浏览器</a>访问以"/"结尾 (包括"/?"及后面参数)的"file://" url,则进入文件管理器。</p>
|
||||
<p>对任何目录型(以“/”结尾)文件url,后面可附"?[文件前缀][*[文件后缀]]"。譬如"file:///sdcard/?*.png"会列举出"/sdcard"目录下所有.png文件。"?IMG"列举出所有IMG开头的文件。此时可选定文件,并<a target="_self" href="i:0h/sdcard/uweb/check.js:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/check.js">安装checked.js</a>对选取文件进行批量处理。</p>
|
||||
<p>文件批量处理配置<a href="../pccopy">default.select</a>例子:<br>
|
||||
图像缩小:checked.js:while read fname;do convert -resize %50x%50 $fname small_$fname; done</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
92
zh/filenames/index.html
Normal file
92
zh/filenames/index.html
Normal file
|
@ -0,0 +1,92 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>超微浏览器配置文件列表</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p>下面列表中以"/"结尾者为目录,其余为文件。如果用户勾选“使用内部目录配置”,"sitejs/","sitecache/"等位于应用内部保护目录下。否则以下所有文件/目录均位于"/sdcard/uweb":<br>
|
||||
"<a href="file:///sdcard/uweb/css/">css/</a>":<a href="../globalcss/index.html">全局样式目录</a><br>
|
||||
"<a href="file:///sdcard/uweb/js/">js/</a>": 全局脚本目录<br>
|
||||
"<a href="file:///sdcard/uweb/sitejs/">sitejs/</a>":<a href="../sitejs/index.html">类油猴脚本,针对特定网址</a><br>
|
||||
"<a href="file:///sdcard/uweb/sitecss/">sitecss/</a>":<a href="../sitejs/index.html">针对特定网址css样式</a><br>
|
||||
"<a href="file:///sdcard/uweb/bookmarklet/">bookmarklet/</a>":js脚本目录,长按JS按钮可执行。<br>
|
||||
"<a href="file:///sdcard/uweb/offline/">offline/</a>":离线下载目录<br>
|
||||
"<a href="file:///sdcard/uweb/sbookmark/">sbookmark/</a>":超级书签默认目录<br>
|
||||
"<a href="file:///sdcard/uweb/sitecache/">sitecache/</a>":<a href="../offlinecache/index.html">用户供应网站离线数据</a><br>
|
||||
"<a href="file:///sdcard/uweb/longclick/">longclick/</a>":长按链接菜单(js)<br>
|
||||
"<a href="file:///sdcard/uweb/icon/">icon/</a>":<a href="../icons/index.html">图标定制</a><br>
|
||||
"app[XXX]/":<a href="../html5/index.html">html5应用目录</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.longclick">default.longclick</a>":长按链接菜单<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.uas">default.uas</a>":<a href="../searchurl/uas.html">浏览器标识</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.urls">default.urls</a>":<a href="../searchurl/urls.html">特色服务</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.acmd">default.acmd</a>":<a href="../gnuplot/index.html">浏览器地址栏功能配置</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.hosts">default.hosts</a>":<a href="../adblock_hosts/index.html">不良信息屏蔽文件</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.redirect">default.redirect</a>":<a href="../redirect/index.html">重定向配置</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.cmds">default.cmds</a>":<a href="../searchurl/cmds.html">长按“历史”按钮配置</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.link">default.link</a>":<a href="../links/index.html">长按“书签”按钮配置</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.rjs">default.rjs</a>":<a href="../rjs/index.html">远程及简单脚本</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.select">default.select</a>":<a href="../pccopy/index.html">长按“链接”按钮配置</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.input">default.input</a>":每行一个网页常用输入短语<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.gesture">default.gesture</a>":格式与文件<a href="../links/index.html">default.link</a>完全相同,定义<a href="../gesture/index.html">地址栏下方手势操作</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.gesture2">default.gesture2</a>":右边缘手势操作,类似default.gesture。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.button">default.button</a>":格式与文件<a href="../links/index.html">default.link</a>完全相同,每行从最后一个按钮开始重定义单击功能。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.button2">default.button2</a>":类似default.button。每行从最后一个按钮开始重定义长按功能。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.filecap">default.filecap</a>":<a href="../filecap/index.html">文件特殊处理</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/default.rc">default.rc</a>":如果勾选“文件预处理”,则uweb启动时运行此shell脚本。可与<a href="../tools/index.html">tcron</a>配合运行定时任务,如存储清理、网页签到等。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.rc2">default.rc2</a>":如果勾选“文件预处理”,则uweb返回前台时运行此shell脚本。<br>
|
||||
"<a href="e:file:///sdcard/uweb/engine.search">engine.search</a>":格式同<a href="../searchurl/search.html">home5.search</a>,搜索引擎url仅支持%s语法。(搜索词部分用%s代替),供自动顺序搜索使用。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.siteconf">default.siteconf</a>":网站独立设置,保存ua、禁用js、无图、禁用第三方(js,可疑资源)、当前激活脚本、全局脚本。当前设置与默认不同才会保存。比如当前不屏蔽第三方js,但屏蔽第三方可疑资源,则屏蔽第三方设置与默认不同,站点设置被保存。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.playrate">default.playrate</a>":全屏播放菜单项,格式与文件<a href="../links/index.html">default.link</a>完全相同。倍速播放菜单链接部分为空,譬如".5x:",倍速菜单至少有一个。链接部分非空的菜单必须在所有倍速菜单之后。<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.autoc">default.autoc</a>":地址栏autocomplete候选字符串<br>
|
||||
"query.autoc":主屏搜索autocomplete候选字符串<br>
|
||||
"<a href="e:file:///sdcard/uweb/home5.html">home5.html</a>":自定义主屏,home6.html, home6.search, home7.html ... 多主屏(前进按钮可进)。同前缀文件中.html文件优先于.search文件。home4.html, home3.html ... (长按后退按钮可进)。<br>
|
||||
"<a href="e:file:///sdcard/uweb/home5.search">home5.search</a>":<a href="../searchurl/search.html">主屏搜索引擎</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/home.css">home.css</a>":<a href="../searchurl/homescreen.html">主屏风格</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/bookmark.html">bookmark.html</a>":主书签<br>
|
||||
"<a href="e:file:///sdcard/uweb/quickstart.html">quickstart.html</a>":<a href="../searchurl/quickstart.html">快速访问</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/colors.txt">colors.txt</a>":护眼背景色<br>
|
||||
"<a href="e:file:///sdcard/uweb/default.css">default.css</a>":<a href="../sitejs/index.html">勾选网址特定样式后无匹配情形下的默认样式</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/night.css">night.css</a>":<a href="../globalcss/index.html">夜间模式</a>,代替超微内部实现<br>
|
||||
"bookmarklet/videoplayer.js":<a href="../video/index.html">用户定义视频播放</a><br>
|
||||
"<a href="e:file:///sdcard/uweb/types.sniff">types.sniff</a>":嗅探类型<br>
|
||||
"js.allow":外链js白名单,每行一个域名。<br>
|
||||
"url.deny":需要屏蔽的url正则表达式(java语法),忽视回车,可用"#"开头注释。<br>
|
||||
"<a href="file:///sdcard/uweb/sniff.log">sniff.log</a>":嗅探结果<br>
|
||||
"<a href="file:///sdcard/uweb/history.rec">history.rec</a>":访问历史<br>
|
||||
"<a href="file:///sdcard/uweb/query.rec">query.rec</a>":查询历史</p>
|
||||
<p>应用内部保护目录(/data/data/info.torapp.uweb/files/):<br>
|
||||
"shortcut/":动态shortcut刷新目录,若不存在则默认为"/sdcard/uweb/bookmark"目录。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
54
zh/gesture/index.html
Normal file
54
zh/gesture/index.html
Normal file
|
@ -0,0 +1,54 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>手势</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p>顶部下拉弹出地址栏; 顶部上划隐藏地址栏。底部下划隐藏工具条; 底部左右角落划动弹出工具条。</p>
|
||||
<p>紧靠工具条左右划动切换当前窗口; 左右大幅度划动切换到第一或最后一个窗口。</p>
|
||||
<p>起点终点紧靠地址栏划动操作调用"default.gesture"文件中对应链接。文件格式与文件<a href="../links/index.html">default.link</a>完全相同。每行第一部分为助记名,第二部分为链接。手势操作对应方式如下:</p>
|
||||
<ol>
|
||||
<li>将屏幕宽度平分为三部分,分别对应数字0,1,2</li>
|
||||
<li>将终点对应的屏幕数字加上起点对应数字的三倍。如果数字为4且初始为往左滑动则数字改为9。</li>
|
||||
<li>每额外多一次来回转折数字加10。<br>
|
||||
超微浏览器将执行上述数字所对应行所定义的链接操作。(0对应第一行,以此类推)</li>
|
||||
</ol>
|
||||
<p>右边缘划动操作调用"default.gesture2"文件中对应链接。对应方法同"default.gesture"。</p>
|
||||
<p>常用操作链接:<br>
|
||||
back:javascript:history.back()<br>
|
||||
forward:javascript:history.forward()<br>
|
||||
back2:javascript:history.go(-2)</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
46
zh/globalcss/index.html
Normal file
46
zh/globalcss/index.html
Normal file
|
@ -0,0 +1,46 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>CSS样式</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">CSS样式
|
||||
<br>
|
||||
<span class="subtitle"></span>
|
||||
</h1>
|
||||
<ul class="tags">
|
||||
|
||||
</ul>
|
||||
<p><a href="../index.html">超微浏览器</a>自动装载"/sdcard/uweb/css"目录下所有.css文件作为全局样式供用户选用。点击以下配置链接可自动添加为全局样式:</p>
|
||||
<p><a href="i:0h/sdcard/uweb/css/使用默认字体.css:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/clearfont.css">强制使用默认字体</a><br>
|
||||
<a href="i:0h/sdcard/uweb/css/配合透明状态栏.css:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/margintop.css">配合透明状态栏(沉浸)</a></p>
|
||||
<p>文件"/sdcard/uweb/night.css"为用户自定义夜间模式样式,点击以下配置链接安装不同的夜间模式:<br>
|
||||
<a href="i:0h/sdcard/uweb/night.css:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/night.css">webview 81+ 夜间模式</a><br>
|
||||
<a href="i:0h/sdcard/uweb/night.css:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/night_old.css">webview 80- 夜间模式</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
76
zh/gnuplot/index.html
Normal file
76
zh/gnuplot/index.html
Normal file
|
@ -0,0 +1,76 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>利用浏览器地址栏对函数作图</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/termux">termux</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>使用Android端<a href="../index.html">uweb浏览器</a>。<br>
|
||||
Termux提供了方便的软件包管理系统,缺省的uWeb地址栏功能配置需用到作图软件gnuplot。</p>
|
||||
<h4 id="安装gnuplot">安装gnuplot</h4>
|
||||
<ul>
|
||||
<li>安装 <a href="../searchurl/plugins.html">uweb定制Termux应用</a></li>
|
||||
<li>Termux下运行以下命令:<br>
|
||||
apt update<br>
|
||||
apt upgrade<br>
|
||||
apt install gnuplot</li>
|
||||
</ul>
|
||||
<h4 id="地址栏功能配置">地址栏功能配置:</h4>
|
||||
<ul>
|
||||
<li>配置文件<a href=e:/sdcard/uweb/default.acmd>/sdcard/uweb/default.acmd</a>每行格式如下:<br>
|
||||
菜单名:mimeType:命令行</li>
|
||||
<li>命令行可包含参数%s,运行时自动用地址栏输入内容替换。</li>
|
||||
<li>如果浏览器窗口当前地址为本地url,则此目录同时作为命令行工作目录。</li>
|
||||
</ul>
|
||||
<h4 id="配置文件sdcarduwebdefaultacmd如下">配置文件/sdcard/uweb/default.acmd如下:</h4>
|
||||
<pre><code>命令:text/plain:%s
|
||||
函数作图:image/svg+xml:gnuplot -e 'set term svg;set output; plot %s'
|
||||
函数作图(3d):image/svg+xml:gnuplot -e 'set term svg;set output; splot %s'
|
||||
超级计算器:text/html:echo "%s"|bc -l -q
|
||||
</code></pre>
|
||||
<p>长按uweb浏览器底部工具条刷新按钮弹出地址栏功能选择,选择“函数作图”,地址栏内输入函数如sin(x)**5就可显示函数图案。</p>
|
||||
<h4 id="常见问题及诊断">常见问题及诊断</h4>
|
||||
<ul>
|
||||
<li>确保gnuplot正确安装,在Termux提示符下,敲入gnuplot,然后回车,保证出现"gnuplot>"。</li>
|
||||
<li>确保gnuplot正常运行, 在Termux提示符下,执行下面命令:<br>
|
||||
<code>gnuplot -e 'set term svg;set output; plot x'</code><br>
|
||||
屏幕输出应该为正常的svg文件(类似html文本)。</li>
|
||||
<li>Termux应为uweb定制包,否则有一堆设定需要修改。</li>
|
||||
<li>超微浏览器下长按设置按钮,勾选“标准错误输出”。再次在地址栏执行画图操作,此时浏览器会显示出错信息。</li>
|
||||
<li>为保证地址栏输入函数符合gnuplot规范,首个测试函数建议为"x",即整个地址栏内输入为"x"。</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
61
zh/hosts/index.html
Normal file
61
zh/hosts/index.html
Normal file
|
@ -0,0 +1,61 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>加速访问国外网站</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/%e4%b8%8d%e8%89%af%e4%bf%a1%e6%81%af%e5%b1%8f%e8%94%bd">不良信息屏蔽</a> </li>
|
||||
|
||||
<li><a href="../tags/%e5%9b%bd%e5%a4%96%e7%bd%91%e5%9d%80">国外网址</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>不少国外网站本身虽可访问,但由于网站需要下载其它网址的资源而导致无法访问。根域名屏蔽可屏蔽文件中域名的一切子域名、孙域名、......,从而主动排除这些网址,最终允许浏览器快速访问。</p>
|
||||
<p>使用Android端<a href="..">uweb浏览器</a>。<br>
|
||||
域名文件内容如下:<br>
|
||||
googleadservices.com<br>
|
||||
googlesyndication.com<br>
|
||||
adsense.com<br>
|
||||
googleapis.com<br>
|
||||
google-analytics.com<br>
|
||||
googletagservices.com<br>
|
||||
twitter.com<br>
|
||||
facebook.com<br>
|
||||
fbcdn.net</p>
|
||||
<p>其它国外网址访问技巧:</p>
|
||||
<ul>
|
||||
<li>尝试关闭javascript, 譬如程序员网站stackoverflow.com在关闭javascript的情况下国内一般均可快速访问。</li>
|
||||
<li>关闭网页图片</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
71
zh/html5/index.html
Normal file
71
zh/html5/index.html
Normal file
|
@ -0,0 +1,71 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>html5应用</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">html5应用
|
||||
<br>
|
||||
<span class="subtitle"></span>
|
||||
</h1>
|
||||
<ul class="tags">
|
||||
|
||||
</ul>
|
||||
<p><a target="_self" href="i:0h/sdcard/uweb/app/txtview.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/txtview.html">点击安装超大文件阅读器(支持txt, html, markdown)</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/app/markdeep.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/markdeep.html">点击安装超大文件阅读器(markdeep版, latex, diagram,graphviz等)</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/app/plyr.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/plyr.cfg">点击安装plyr视频播放器</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/app/dplayer.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/dplayer.html">点击安装dplayer视频播放器</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/app/pdfviewer.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/pdfviewer.html">点击安装pdf阅读器</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/app/epub.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/epub.html">点击安装epub阅读器(作者:llili)</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/app/djvu.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/djvu.html">点击安装djvu阅读器</a><br>
|
||||
相应的菜单安装可见<a href="../searchurl/urls.html">浏览器特色服务</a></p>
|
||||
<p>超微配置目录下的子目录名如果以"app"开始(譬如"/sdcard/uweb/appPDF"),则这些"app"开头目录树下放置的html5应用将可获得功能增强。</p>
|
||||
<p><a href="../filecap">配置default.filecap</a>并打开选项“文件预处理”,清后台重启浏览器后超微可直接阅读应用对应格式文件。<br>
|
||||
<a target="_self" href="i:0g/sdcard/uweb/default.filecap:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/filecap.cfg">点击配置pdf.js,djvu.js,epub.js,超大文件阅读器</a></p>
|
||||
<p>超大文件阅读器txtview.html url如下:<br>
|
||||
file:///sdcard/uweb/app/txtview.html?url=[url]#page=[xxx]<br>
|
||||
file:///sdcard/uweb/app/txtview.html?url=[url]#offset=[xxxx]&[length]<br>
|
||||
file:///sdcard/uweb/app/markdeep.html?url=[url]#page=[xxx]<br>
|
||||
file:///sdcard/uweb/app/markdeep.html?url=[url]#offset=[xxxx]&[length]<br>
|
||||
譬如"#offset=10000&500"会访问超大文件偏移量10000处长度为500的内容。<br>
|
||||
所有阅读器均支持箭头按钮(短按前进按钮或长按后退按钮)自动翻页。</p>
|
||||
<p>比较有用的是mozilla的pdf.js,可用来显示在线或本地pdf文件。url如下:<br>
|
||||
file:///sdcard/uweb/app/pdfviewer.html?file=[绝对或相对路径].pdf#page=[xxx]<br>
|
||||
则浏览器直接跳转到pdf文件指定页。与主屏多引擎搜索及少量脚本结合使用,可对任何pdf文件进行字典检索。</p>
|
||||
<p>下面是一些类似的应用:<br>
|
||||
djvu.js应用的访问url如下:<br>
|
||||
file:///sdcard/uweb/app/djvu.html?url=[绝对或相对路径或url].pdf#page=[xxx]</p>
|
||||
<p>epub.js<br>
|
||||
sampotts/plyr : video, YouTube and Vimeo player<br>
|
||||
videojs/video.js<br>
|
||||
bilibili/flv.js<br>
|
||||
MoePlayer/DPlayer<br>
|
||||
Streamedian/html5_rtsp_player<br>
|
||||
MoePlayer/APlayer : music player</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
45
zh/icons/index.html
Normal file
45
zh/icons/index.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>工具栏定制</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p>超微浏览器配置目录下如果存在目录"icon",则此目录下的文件名为"0","1","2"...<br>
|
||||
会作为底部工具栏图标。文件"0"替换原后退按钮,"1"为前进按钮,"2"为设置按钮,"3"为主页按钮......。</p>
|
||||
<p>如果定义有新按钮(当前版本存在文件"20"),则uweb支持向量格式图标VectorDrawable,格式为compiled XML。此时所有图标文件必须都是compiled XML格式,或都是普通的图像格式(png,jpg,gif等)。用户可将VectorDrawable XML文件放到安卓项目目录assets下面,重新生成apk文件以后将apk文件解压即可得compiled XML格式图标文件。</p>
|
||||
<p>用户可定义任意多个按钮(100个按钮毫无压力),其短按长按功能可在文件default.button及default.button2中定义,格式与文件<a href="../links">default.link</a>完全相同,每行从最后一个按钮开始重定义功能。</p>
|
||||
<p>注意:刷新按钮及窗口按钮图标暂时不能重定义。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
302
zh/index.html
Normal file
302
zh/index.html
Normal file
|
@ -0,0 +1,302 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content="Hugo 0.101.0" />
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title></title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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 />
|
||||
|
||||
|
||||
<ul class="posts">
|
||||
|
||||
<li class="post">
|
||||
<a href="searchurl/donate.html">
|
||||
<span>请一杯咖啡,提一个要求</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="https://s1.asytech.cn/s/tQrgT5kBRg8Trry">
|
||||
<span>超微浏览器最新版下载</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="searchurl/search.html">
|
||||
<span>浏览器多搜索引擎一键直达</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="searchurl/urls.html">
|
||||
<span>配置浏览器常用服务</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="post">
|
||||
<a href="adblock/index.html">
|
||||
<span>信息隐藏技术总览</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="bookmarklet/index.html">
|
||||
<span>小书签</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="sitemap/index.html">
|
||||
<span>技巧网站导航</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="androidtv/index.html">
|
||||
<span>Android TV</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="bookmark/index.html">
|
||||
<span>常用书签</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="adblock_css/index.html">
|
||||
<span>利用用户自定义样式屏蔽不良信息</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="links/index.html">
|
||||
<span>常用链接</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="redirect/index.html">
|
||||
<span>重定向国外网址至国内镜像(附编辑本地文件)</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="pccopy/index.html">
|
||||
<span>操作选中(富)文本/元素</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="globalcss/index.html">
|
||||
<span>CSS样式</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="filenames/index.html">
|
||||
<span>超微浏览器配置文件列表</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="filemanager/index.html">
|
||||
<span>文件管理器及文件挑选并批量处理</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="bc/index.html">
|
||||
<span>超级计算器(bc)</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="icons/index.html">
|
||||
<span>工具栏定制</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="tips/index.html">
|
||||
<span>小技巧</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="tcron/index.html">
|
||||
<span>定时脚本</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="logcat/index.html">
|
||||
<span>安卓系统出错诊断</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="loadbt/index.html">
|
||||
<span>离线下载</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="longclick/index.html">
|
||||
<span>长按链接弹出菜单</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="video/index.html">
|
||||
<span>视频播放小窍门</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="tools/index.html">
|
||||
<span>工具汇总</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="filecap/index.html">
|
||||
<span>利用文件预处理预览/查看/播放一切可下载资源</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="html5/index.html">
|
||||
<span>html5应用</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="gesture/index.html">
|
||||
<span>手势</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="cmd/index.html">
|
||||
<span>一键执行任意预定义命令(附手机PC剪贴板互通)</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="urls/index.html">
|
||||
<span>便利链接</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="tvlive/index.html">
|
||||
<span>电视直播</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="searchcat/index.html">
|
||||
<span>分类多引擎搜索</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="hosts/index.html">
|
||||
<span>加速访问国外网站</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="adblock_domain/index.html">
|
||||
<span>绝杀完整域名树</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="multiaccount/index.html">
|
||||
<span>利用多账号登录获取资源</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="gnuplot/index.html">
|
||||
<span>利用浏览器地址栏对函数作图</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="pcdown/index.html">
|
||||
<span>浏览器一键控制台式机/服务器下载资源</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="sitejs/index.html">
|
||||
<span>特定网址用户脚本及样式</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="offlinecache/index.html">
|
||||
<span>装载网站离线资源</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="post">
|
||||
<a href="searchurl/rjs.html">
|
||||
<span>运行javascript脚本</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="searchurl/cmds.html">
|
||||
<span>配置浏览器常用命令</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="searchurl/uas.html">
|
||||
<span>浏览器标识配置</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="searchurl/backup.html">
|
||||
<span>备份与恢复</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="post">
|
||||
<a href="searchurl/plugins.html">
|
||||
<span>插件汇总</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="post">
|
||||
<a href="searchurl/input.html">
|
||||
<span>难字输入--部件檢索</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
876
zh/index.xml
Normal file
876
zh/index.xml
Normal file
|
@ -0,0 +1,876 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title></title>
|
||||
<link>/zh/</link>
|
||||
<description>Recent content on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<lastBuildDate>Sat, 25 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="/zh/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>信息隐藏技术总览</title>
|
||||
<link>/zh/adblock/</link>
|
||||
<pubDate>Sat, 25 Jun 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/adblock/</guid>
|
||||
<description>总体来说,分为手动控制和针对特定网站的规则两大类办法。手动控制可以保存为网站配置从而自动化。
|
||||
双正则表达式根域名隐藏。
|
||||
可使用列出外部脚本小书签生成外部js文件列表,长按可疑链接(一般为域名不同的外链),执行“屏蔽根域名”。 针对特定网站的脚本样式。
|
||||
长按底部工具栏&quot;js&quot;按钮,执行&quot;标记不良元素&quot;菜单命令,点击页面元素会弹出对话框显示元素及祖先所有属性,并生成css屏蔽代码。默认使用“display:none”屏蔽,但如果上述显示属性中出现过&quot;display&quot;,则建议使用&quot;transform:scale(0)!important&quot;屏蔽。 长按底部工具栏窗口管理按钮,选取&quot;仅显示图片&quot;或&quot;仅显示视频&quot;,图片视频网站彻底干净。选取&quot;禁用伪元素&quot;,&quot;禁用iframe&quot;。更多可参看自定义样式。
|
||||
保存书签时可在网址前面添加&quot;i:0mc32:&quot;,则整个网址树自动采用&quot;仅显示图片&quot;。没有任何不良信息。改为&quot;c16&quot;则为&quot;仅显示视频&quot;。&quot;c12&quot;则同时采用&quot;禁用伪元素&quot;,&quot;禁用iframe&quot;。 长按[☰]按钮&quot;自动全屏播放&quot;,直接全屏无干扰播放。不良信息没有任何机会出现。不使用全局脚本“自动全屏播放”的情况下,还可以有以下几种方法:
|
||||
使用常用服务自动全屏播放菜单(长按视频链接-&gt;命令),则页面视频会自动全屏播放。按设置按钮,如果勾选“允许自动播放”,则今后此窗口内其它任何视频网址都将会自动全屏无干扰播放。保存书签时可在网址前面添加&quot;i:5f&quot;。 保存书签时可在网址前面添加&quot;i:0mi:5f:&quot;,则整个网址树自动全屏播放。 长按设置,选取&quot;拦截外链脚本&quot;。可在界面配置及杂项网页额外拦截第三方可疑资源。可配置白名单js.allow。
|
||||
长按[☰]按钮可隐藏浮动信息,移除横幅,清空定时器(防止定时触发不良信息),中断可疑事件(防止用户操作触发),等待(防止延迟触发)。
|
||||
直接关闭图像。
|
||||
关闭[JS]脚本。
|
||||
url.deny。需要屏蔽的url正则表达式(java语法),忽视回车,可用&quot;#&quot;开头注释。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>小书签</title>
|
||||
<link>/zh/bookmarklet/</link>
|
||||
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/bookmarklet/</guid>
|
||||
<description>超微浏览器支持直接运行远程网址上的小书签(Bookmarklet),将本页面或其它包含小书签网址加入书签。使用时只需长按小书签链接,点击“新窗口打开”,小书签将作用于超微浏览器最后一个窗口(非小书签窗口)页面上。
|
||||
列出外部脚本
|
||||
查看浏览器UA
|
||||
网页cookie
|
||||
网页源码
|
||||
显示网页最后更改时间
|
||||
Eruda: mobile console
|
||||
生成二维码
|
||||
POST转GET
|
||||
Shows all form elements
|
||||
Enables all form elements
|
||||
切换复选框状态
|
||||
全选复选框
|
||||
复选框全不选
|
||||
切换表内复选框状态
|
||||
解除选择复制限制(无效时可设UA为PC)
|
||||
恢复长按菜单
|
||||
正则搜索
|
||||
表格排序
|
||||
BugMeNot</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>技巧网站导航</title>
|
||||
<link>/zh/sitemap/</link>
|
||||
<pubDate>Sat, 28 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/sitemap/</guid>
|
||||
<description>界面配置 搜索引擎 主页 快速访问 界面配置及杂项 (gitee镜像) 备份与恢复 个性化 工具条按钮长按菜单 浏览器标识 js脚本 常用服务 常用链接 常用命令 远程脚本 选中文本类菜单 长按链接弹出菜单 底部工具条定制 手势 高级个性化定制 高级设置 内容类 信息隐藏 CSS样式 重定向 特定网址用户脚本及样式 网站离线资源 工具应用类 小书签 文件预处理 html5应用 文件管理器 工具汇总 终端应用及Termux 超级计算器 函数作图 定时脚本 离线下载 输入法辅助 部件检索 综合 配置文件列表 插件 使用技巧 使用技巧 视频 安卓系统出错诊断 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Android TV</title>
|
||||
<link>/zh/androidtv/</link>
|
||||
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/androidtv/</guid>
|
||||
<description>TV端推荐打开自动播放选项,全局脚本打开自动全屏播放,全局样式打开“仅显示图片“,禁止js confirm对话框。
|
||||
点击以下链接可直接设置主屏为书签并添加链接。Android TV可从手机端接收视频url并打开,发送见常用服务:
|
||||
等待从网络接收url并打开
|
||||
等待接收url沉默版
|
||||
书签
|
||||
点击以下链接添加常用服务:
|
||||
添加书签至主屏
|
||||
Android TV可利用顺序搜索使用箭头按钮切换频道。顺序搜索引擎文件engine.search中的搜索引擎url如果不包含'%s',则搜索引擎只是简单的固定网页url,此时顺序搜索表现为频道切换。更多信息见多引擎搜索页面。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>常用书签</title>
|
||||
<link>/zh/bookmark/</link>
|
||||
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/bookmark/</guid>
|
||||
<description>gamezop
|
||||
点击以下链接可安装模板至分类书签目录。保存至“小说”类别的网站会自动使用阅读模式。
|
||||
&quot;小说.html&quot;: 自动使用阅读模式
|
||||
href=&quot;i:0h/sdcard/uweb/bookmark/txt.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/bookmark/viewtxt.html&quot;&gt;&quot;txt.html&quot;: 在线阅读下载直链(txt/html)
|
||||
所有书签都可通过&quot;长按链接-&gt;命令-&gt;书签&quot;保存链接为书签。书签菜单可至特色服务网页安装。
|
||||
Mirror list
|
||||
mirror.js.org
|
||||
界面配置及杂项
|
||||
以下书签需&quot;长按以下链接-&gt;新窗口打开&quot;才能在此网页正常执行。
|
||||
Termux命令书签 需安装定制版termux及相应工具,
|
||||
计算器bc
|
||||
全能计算器bc
|
||||
以下书签需安装gopher.
|
||||
CNN news gopher
|
||||
wikipedia search gopher
|
||||
reddit gopher</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用用户自定义样式屏蔽不良信息</title>
|
||||
<link>/zh/adblock_css/</link>
|
||||
<pubDate>Wed, 18 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/adblock_css/</guid>
|
||||
<description>点击以下链接可安装全局样式,清后台重启浏览器,长按底部工具条窗口按钮弹出对话框后勾选上述文件名即可屏蔽不良信息。
|
||||
floppymoose 广告屏蔽样式
|
||||
gozer 广告屏蔽样式
|
||||
超微浏览器支持根域名屏蔽,完全绝杀手机不良信息小厂。但少部分不良信息大厂本身也提供高质量的内容服务,它们可以将不良信息伪装成正常的内容从而逃脱域名绝杀。
|
||||
对这一部分不良信息而言,我们可以利用超微浏览器的自定义样式功能加以屏蔽。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>常用链接</title>
|
||||
<link>/zh/links/</link>
|
||||
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/links/</guid>
|
||||
<description>点击以下链接可安装至常用链接
|
||||
显示网站安全证书
|
||||
迅雷盘离线
|
||||
点击安装Cookie延期,地址栏内删除特殊字符,站内搜索,seedr离线下载等
|
||||
点击安装离线下载(pcloud,furk,微云等)
|
||||
酷安扫描
|
||||
uweb浏览器中长按书签按钮可弹出常用链接菜单,这些链接定义在文件&quot;default.link&quot;中,改动过的文件清后台重启动后生效。每行格式如下:
|
||||
[菜单名]:[url][空格][javascript脚本]
|
||||
其中空格及之后的脚本为可选项。url及之后的脚本支持&quot;%u&quot;,&quot;%s&quot;等替换。
|
||||
脚本将在链接访问结束时自动执行。
|
||||
url除支持所有标准的http(s):,javascript:等链接外,还支持超微内部链接(&quot;:&quot;为链接第二个字符)及特殊链接(&quot;:&quot;为链接首字符)。
|
||||
不少本地链接文件(file:///)超微浏览器将会做特殊处理。仅举几例说明:
|
||||
.js文件(同长按链接运行js文件): 首行前两个字符为&quot;//&quot;者,超微将打开&quot;//&quot;后面的目标网址并执行此文件代码,目标网址支持&quot;%u&quot;,&quot;%s&quot;等替换。否则直接执行此文件。此时[javascript脚本]将作为运行.js文件的參数arguments[1]。推荐将常用js脚本本地链接保存在.link文件中。
|
||||
default.gesture及default.button文件采用了完全一样的格式。.gesture文件定义了手势操作。.button文件则从最后一个按钮开始倒着重定义了底部工具栏按钮单击操作。
|
||||
各类代理配置如下:
|
||||
httpproxy::010[proxy host]:[port]
|
||||
socks5::011[socks host]:[port]
|
||||
noproxy::010:
|
||||
&quot;:&quot;为首字符特殊链接 :0000
|
||||
Cookie延期至70年,但服务器有可能否决。
|
||||
:0001
|
||||
自动翻到上一页。(网页无法前进时按前进按钮可自动翻到下一页。)
|
||||
:0003
|
||||
切换全屏模式
|
||||
:0004
|
||||
屏幕旋转
|
||||
:001[fileurl]
|
||||
加入媒体库
|
||||
:002[url]
|
||||
显示此url下安全cookie
|
||||
:010[proxy host]:[port]
|
||||
设置http代理, &quot;:010:&quot;禁用代理。
|
||||
:011[socks host]:[port]
|
||||
socks代理
|
||||
&quot;i:&quot;内部链接: 点击安装笔记菜单
|
||||
i:0m[bookmarklet index|prefix|c[cssFlag]]:[url]
|
||||
将url作为网站访问,[bookmarklet index]至少占两个字符。
|
||||
i:15[string]
|
||||
设置地址栏内容为[string]
|
||||
i:16[mimetype]:[Action Name]:[App Name]:[Activity Name]
|
||||
读取第三方应用输入。
|
||||
点击安装 via扫码菜单至常用链接。其它扫描器也都可以使用,只需要把链接里的名字换掉就行。 上面的方案其实不仅可以扫描qr,也可以使用任何第三方应用获得任何种类的数据。其中有uweb表示特殊mimetype,作为url来使用。其他数据类型改成合适的mimetype即可。
|
||||
点击安装酷安扫描至常用链接
|
||||
i:18[extended mimetype]:[range]:[url]
|
||||
读取url部分数据并使用指定mimetype强制处理。
|
||||
:格式同http header。譬如&quot;500-1000,-300&quot;
|
||||
:可以为标准的mimetype。也可以在标准mimetype后面添加&quot;.&lt;文件名&gt;&quot;,此时uweb配置目录下的文件“&lt;文件名&gt;”内容会附在url部分数据后面一起显示。
|
||||
i:19[string]
|
||||
地址栏内容末尾附加[string]
|
||||
i:1b
|
||||
显示网站证书
|
||||
i:1c
|
||||
等待从网络接收url并打开</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>重定向国外网址至国内镜像(附编辑本地文件)</title>
|
||||
<link>/zh/redirect/</link>
|
||||
<pubDate>Mon, 25 Apr 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/redirect/</guid>
|
||||
<description>github mirror:fastgit
|
||||
github mirror 2
|
||||
github mirror 3
|
||||
点击添加google recaptcha国内镜像
|
||||
使用服务器在国外的搜索引擎体验往往不如国内的引擎。由于网站屏蔽的原因,两者之间索引权重差别很大。国外受欢迎的技术类网站因此难以在百度上搜到;国外引擎能搜到但由于其中不少结果无法访问而体验糟糕。
|
||||
其实,很多技术类网站在国内早有镜像,但由于镜像并非众所周知,其索引权重在百度上微不足道,非专门搜索不可得。
|
||||
本文介绍一种技术,可重定向国外网址至国内镜像,极大的提高国外引擎的体验,让更多用户更客观的理解全球技术。
|
||||
配置/sdcard/uweb/default.redirect:
|
||||
文件每一行格式为:
|
||||
域名:正则表达式:替换表达式
|
||||
其中正则表达式以java语言规定为准,表达式中不能包含':'。正则表达式为空时系统默认为与域名相同。正则表达式,替换表达式同时为空时无重定向作用,但域名会允许CORS跨域访问 (目前仅对&quot;GET&quot; request生效)。
|
||||
例子文件内容如下:
|
||||
developer.android.com::developer.android.google.cn
|
||||
四种使用重定向的方法:
|
||||
长按链接
|
||||
添加文件&quot;国内镜像.js&quot;至&quot;/sdcard/uweb/longclick&quot;目录下。
|
||||
文件内容如下:
|
||||
//e:%u 其中&quot;e:&quot;为uweb特殊url协议,意为&quot;edit&quot;,即&quot;编辑&quot;。当后面紧跟url网址的情况下会重定向网址。
|
||||
重启uweb后长按链接弹出菜单选&quot;国内镜像&quot;,浏览器将访问网址的国内镜像。若网址为本地文件,则浏览器会自动调用此类文件编辑器。
|
||||
长按工具条图像按钮。
|
||||
长按设置,选中&quot;自定义重定向&quot;。
|
||||
长按设置,选中&quot;自定义资源重定向&quot;。此选项除访问url重定向之外,还可重定向网页中一切资源。
|
||||
更多重定向网址:
|
||||
www.bilibili.com::www.ibilibili.com
|
||||
pan.baidu.com::pan.baiduwp.com
|
||||
www.docin.com::www.docin365.com
|
||||
wenku.baidu.com::wenku.baiduvvv.com
|
||||
detail.tmall.com::detail.tmallvvv.com
|
||||
detail.m.tmall.com::detail.m.tmallvvv.com
|
||||
item.taobao.com::item.taobaovvv.com
|
||||
h5.m.taobao.com::h5.m.taobaovvv.com
|
||||
jd.com::jdvvv.com
|
||||
item.yhd.com::item.yhdvvv.com
|
||||
goods.kaola.com::goods.kaolavvv.com
|
||||
product.dangdang.com::product.dangdangvvv.com
|
||||
item.gome.com.cn::item.gomevvv.com.cn</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>操作选中(富)文本/元素</title>
|
||||
<link>/zh/pccopy/</link>
|
||||
<pubDate>Sat, 23 Apr 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/pccopy/</guid>
|
||||
<description>点击以下链接可安装长按“链接”按钮菜单:
|
||||
google划词翻译
|
||||
bing翻译
|
||||
papago翻译
|
||||
iciba
|
||||
百度翻译
|
||||
有道翻译
|
||||
搜狗翻译
|
||||
彩云小译
|
||||
deepL
|
||||
点击安装&quot;保存文本&quot;等
|
||||
重启浏览器,长按“链接”按钮,将弹出菜单。若用户当前窗口并无选中文本,则选取整个页面作相应操作,否则以选中文本为准。
|
||||
配置文件&quot;/sdcard/uweb/default.select&quot;定义了超微浏览器对选中(富)文本/元素进行的操作。没有任何选中元素则以整个网页为操作对象。每行格式如下:
|
||||
[菜单名]:[mimetype]:[命令行]
|
||||
选中(富)文本作为命令行的标准输入,而标准输出根据mimetype进行相应处理。
|
||||
mimetype用来表示命令的输入输出类型。格式为&quot;[输入mimetype]/[输出mimetype]&quot;,&quot;[输入mimetype]&quot;可为&quot;html&quot;或空(txt格式)或为以超微配置目录为基准的相对路径.js文件名; 输出可为标准的mimetype或超微特殊扩充。如:
|
||||
html/text/html: 选中富文本为html格式, 输出mimetype为text/html。
|
||||
/uweb: 选中文本为txt格式, 输出mimetype为特殊扩充uweb,超微将把输出作为链接来处理。
|
||||
/termux: 命令运行结果将作为termux下命令运行。
|
||||
checked.js: 运行配置目录下checked.js,其返回值作为命令行标准输入。对任何目录型(以“/”结尾)文件url,后面可附&quot;?[文件前缀][[文件后缀]]&quot;。譬如&quot;file:///sdcard/?.png&quot;会列举出&quot;/sdcard&quot;目录下所有.png文件。此时选择选定文件,则可利用checked.js复制文件至PC。(参看下面具体配置)
|
||||
配置/sdcard/uweb/default.select如下:
|
||||
复制文本到地址栏:uweb:printf i:15;cat
|
||||
笔记::(cat;echo;echo;)&gt;&gt;notes.txt
|
||||
富文本笔记:html:(cat;echo '&lt;p&gt;&lt;/p&gt;';echo;)&gt;&gt;notes.html
|
||||
命名笔记::(cat;echo;echo;)&gt;&gt;%s
|
||||
复制至PC剪贴板::ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 xsel -i&quot;
|
||||
复制富文本至PC剪贴板:html:ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 xsel -i&quot;
|
||||
复制文件至PC:checked.js:while read fname;do scp $fname [user:password]@192.168.2.102:Downloads/.; done
|
||||
如使用剪贴板功能手机需安装uweb定制Termux,并在termux下安装openssl。
|
||||
此处假定远程PC的IP地址为192.168.2.102,PC已经开通了ssh服务。建议用户配置ssh服务为免密码登录,此时用户无需将密码写入文件default.select。用户PC上安装有xsel剪贴板工具。使用其它工具请酌情修改。
|
||||
采用以上配置,笔记将储存在/sdcard/uweb目录下文件note.txt或note.html中(富文本)。命名笔记储存文件则由用户在地址栏输入框内指定。
|
||||
手机其它应用中的文本可选中后分享给超微浏览器,再由超微浏览器作笔记或进一步分享给PC。如果其它应用无法分享选中文本,这种情况可以先复制文本至剪贴板。长按链接按钮选择适当功能即可复制至PC剪贴板。
|
||||
Windows PC 对Windows PC而言,vista及以后自带clip.exe,此时配置如下:
|
||||
复制文本至PC剪贴板::ssh [user:password]@192.168.2.102 clip.exe
|
||||
其它推荐工具(读取PC剪贴板):
|
||||
pclip</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>CSS样式</title>
|
||||
<link>/zh/globalcss/</link>
|
||||
<pubDate>Sun, 03 Apr 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/globalcss/</guid>
|
||||
<description>超微浏览器自动装载&quot;/sdcard/uweb/css&quot;目录下所有.css文件作为全局样式供用户选用。点击以下配置链接可自动添加为全局样式:
|
||||
强制使用默认字体
|
||||
配合透明状态栏(沉浸)
|
||||
文件&quot;/sdcard/uweb/night.css&quot;为用户自定义夜间模式样式,点击以下配置链接安装不同的夜间模式:
|
||||
webview 81+ 夜间模式
|
||||
webview 80- 夜间模式</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>超微浏览器配置文件列表</title>
|
||||
<link>/zh/filenames/</link>
|
||||
<pubDate>Fri, 18 Mar 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/filenames/</guid>
|
||||
<description>下面列表中以&quot;/&quot;结尾者为目录,其余为文件。如果用户勾选“使用内部目录配置”,&quot;sitejs/&quot;,&quot;sitecache/&quot;等位于应用内部保护目录下。否则以下所有文件/目录均位于&quot;/sdcard/uweb&quot;:
|
||||
&quot;css/&quot;:全局样式目录
|
||||
&quot;js/&quot;: 全局脚本目录
|
||||
&quot;sitejs/&quot;:类油猴脚本,针对特定网址
|
||||
&quot;sitecss/&quot;:针对特定网址css样式
|
||||
&quot;bookmarklet/&quot;:js脚本目录,长按JS按钮可执行。
|
||||
&quot;offline/&quot;:离线下载目录
|
||||
&quot;sbookmark/&quot;:超级书签默认目录
|
||||
&quot;sitecache/&quot;:用户供应网站离线数据
|
||||
&quot;longclick/&quot;:长按链接菜单(js)
|
||||
&quot;icon/&quot;:图标定制
|
||||
&quot;app[XXX]/&quot;:html5应用目录
|
||||
&quot;default.longclick&quot;:长按链接菜单
|
||||
&quot;default.uas&quot;:浏览器标识
|
||||
&quot;default.urls&quot;:特色服务
|
||||
&quot;default.acmd&quot;:浏览器地址栏功能配置
|
||||
&quot;default.hosts&quot;:不良信息屏蔽文件
|
||||
&quot;default.redirect&quot;:重定向配置
|
||||
&quot;default.cmds&quot;:长按“历史”按钮配置
|
||||
&quot;default.link&quot;:长按“书签”按钮配置
|
||||
&quot;default.rjs&quot;:远程及简单脚本
|
||||
&quot;default.select&quot;:长按“链接”按钮配置
|
||||
&quot;default.input&quot;:每行一个网页常用输入短语
|
||||
&quot;default.gesture&quot;:格式与文件default.link完全相同,定义地址栏下方手势操作
|
||||
&quot;default.gesture2&quot;:右边缘手势操作,类似default.gesture。
|
||||
&quot;default.button&quot;:格式与文件default.link完全相同,每行从最后一个按钮开始重定义单击功能。
|
||||
&quot;default.button2&quot;:类似default.button。每行从最后一个按钮开始重定义长按功能。
|
||||
&quot;default.filecap&quot;:文件特殊处理
|
||||
&quot;default.rc&quot;:如果勾选“文件预处理”,则uweb启动时运行此shell脚本。可与tcron配合运行定时任务,如存储清理、网页签到等。
|
||||
&quot;default.rc2&quot;:如果勾选“文件预处理”,则uweb返回前台时运行此shell脚本。
|
||||
&quot;engine.search&quot;:格式同home5.search,搜索引擎url仅支持%s语法。(搜索词部分用%s代替),供自动顺序搜索使用。
|
||||
&quot;default.siteconf&quot;:网站独立设置,保存ua、禁用js、无图、禁用第三方(js,可疑资源)、当前激活脚本、全局脚本。当前设置与默认不同才会保存。比如当前不屏蔽第三方js,但屏蔽第三方可疑资源,则屏蔽第三方设置与默认不同,站点设置被保存。
|
||||
&quot;default.playrate&quot;:全屏播放菜单项,格式与文件default.link完全相同。倍速播放菜单链接部分为空,譬如&quot;.5x:&quot;,倍速菜单至少有一个。链接部分非空的菜单必须在所有倍速菜单之后。
|
||||
&quot;default.autoc&quot;:地址栏autocomplete候选字符串
|
||||
&quot;query.autoc&quot;:主屏搜索autocomplete候选字符串
|
||||
&quot;home5.html&quot;:自定义主屏,home6.html, home6.search, home7.html ... 多主屏(前进按钮可进)。同前缀文件中.html文件优先于.search文件。home4.html, home3.html ... (长按后退按钮可进)。
|
||||
&quot;home5.search&quot;:主屏搜索引擎
|
||||
&quot;home.css&quot;:主屏风格
|
||||
&quot;bookmark.html&quot;:主书签
|
||||
&quot;quickstart.html&quot;:快速访问
|
||||
&quot;colors.txt&quot;:护眼背景色
|
||||
&quot;default.css&quot;:勾选网址特定样式后无匹配情形下的默认样式
|
||||
&quot;night.css&quot;:夜间模式,代替超微内部实现
|
||||
&quot;bookmarklet/videoplayer.js&quot;:用户定义视频播放
|
||||
&quot;types.sniff&quot;:嗅探类型
|
||||
&quot;js.allow&quot;:外链js白名单,每行一个域名。
|
||||
&quot;url.deny&quot;:需要屏蔽的url正则表达式(java语法),忽视回车,可用&quot;#&quot;开头注释。
|
||||
&quot;sniff.log&quot;:嗅探结果
|
||||
&quot;history.rec&quot;:访问历史
|
||||
&quot;query.rec&quot;:查询历史
|
||||
应用内部保护目录(/data/data/info.torapp.uweb/files/):
|
||||
&quot;shortcut/&quot;:动态shortcut刷新目录,若不存在则默认为&quot;/sdcard/uweb/bookmark&quot;目录。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>文件管理器及文件挑选并批量处理</title>
|
||||
<link>/zh/filemanager/</link>
|
||||
<pubDate>Fri, 11 Feb 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/filemanager/</guid>
|
||||
<description>超微浏览器访问以&quot;/&quot;结尾 (包括&quot;/?&quot;及后面参数)的&quot;file://&quot; url,则进入文件管理器。
|
||||
对任何目录型(以“/”结尾)文件url,后面可附&quot;?[文件前缀][*[文件后缀]]&quot;。譬如&quot;file:///sdcard/?*.png&quot;会列举出&quot;/sdcard&quot;目录下所有.png文件。&quot;?IMG&quot;列举出所有IMG开头的文件。此时可选定文件,并安装checked.js对选取文件进行批量处理。
|
||||
文件批量处理配置default.select例子:
|
||||
图像缩小:checked.js:while read fname;do convert -resize %50x%50 $fname small_$fname; done</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>超级计算器(bc)</title>
|
||||
<link>/zh/bc/</link>
|
||||
<pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/bc/</guid>
|
||||
<description>使用uweb浏览器。
|
||||
Gnu bc计算器支持无限精度,可扩展函数库、常数库。
|
||||
安装bc (Android11+无需安装) 安装uweb定制Termux应用 Termux下运行以下命令:
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install bc 使用书签调用计算器 &quot;长按以下链接-&gt;命令-&gt;书签&quot;可保存链接为书签。书签菜单可至特色服务网页安装。
|
||||
bc
|
||||
全能bc
|
||||
浏览器地址栏作为超级计算器 配置文件/sdcard/uweb/default.acmd如下:
|
||||
计算器:text/html:echo &quot;%s&quot;|bc -l -q
|
||||
更多bc扩展库: 扩展库可下载至/sdcard/uweb目录)
|
||||
https://github.com/susca/bc-extensions
|
||||
http://phodd.net/gnu-bc
|
||||
http://www.numbertheory.org/gnubc/gnubc.html
|
||||
使用扩展库以后default.acmd配置如下: 计算器:text/html:echo &quot;%s&quot;|bc -l -q extensions.bc scientific_constants.bc
|
||||
全能计算器:text/html:echo &quot;%s&quot;|bc -l -q *.bc</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>工具栏定制</title>
|
||||
<link>/zh/icons/</link>
|
||||
<pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/icons/</guid>
|
||||
<description>超微浏览器配置目录下如果存在目录&quot;icon&quot;,则此目录下的文件名为&quot;0&quot;,&quot;1&quot;,&quot;2&quot;...
|
||||
会作为底部工具栏图标。文件&quot;0&quot;替换原后退按钮,&quot;1&quot;为前进按钮,&quot;2&quot;为设置按钮,&quot;3&quot;为主页按钮......。
|
||||
如果定义有新按钮(当前版本存在文件&quot;20&quot;),则uweb支持向量格式图标VectorDrawable,格式为compiled XML。此时所有图标文件必须都是compiled XML格式,或都是普通的图像格式(png,jpg,gif等)。用户可将VectorDrawable XML文件放到安卓项目目录assets下面,重新生成apk文件以后将apk文件解压即可得compiled XML格式图标文件。
|
||||
用户可定义任意多个按钮(100个按钮毫无压力),其短按长按功能可在文件default.button及default.button2中定义,格式与文件default.link完全相同,每行从最后一个按钮开始重定义功能。
|
||||
注意:刷新按钮及窗口按钮图标暂时不能重定义。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>小技巧</title>
|
||||
<link>/zh/tips/</link>
|
||||
<pubDate>Mon, 01 Nov 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tips/</guid>
|
||||
<description>准确显示一切PC网页:
|
||||
PC模式 + 勾选选项&quot;宽屏显示&quot; + 全局脚本&quot;强制缩放&quot;。
|
||||
多主屏:
|
||||
home5.html为自定义主屏,home6.html, home6.search, home7.html ...为多主屏(前进按钮可进)。同前缀文件中.html文件优先于.search文件。home4.html, home3.html ... (长按后退按钮可进)。
|
||||
自动翻页
|
||||
长按后退按钮自动往前翻页(主屏上长按后退出现-1屏,-2屏...,短按前进按钮+1屏,+2屏...),长按前进按钮弹出系统菜单。
|
||||
配置临时修改
|
||||
配置后如果没有正常退出或转入后台的话,超微不会自动保存设置更改,此时如果清后台强制退出,下次启动超微会使用原有配置。
|
||||
临时恢复UA (user agent)至android默认浏览器
|
||||
UA为非默认时,点击PC按钮将恢复UA为默认,同时触发不保存UA状态,下次启动浏览器时恢复到原有UA。这样用户可常用一些有力的UA配置,仅偶尔使用默认配置,无需反复切换。
|
||||
快速编辑文件
|
||||
在浏览器文件管理器中长按文件名,弹出菜单中选择分享,系统会优先弹出相应的文件编辑器。
|
||||
配置文件列表中直接点击文件名即可编辑。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>定时脚本</title>
|
||||
<link>/zh/tcron/</link>
|
||||
<pubDate>Sat, 13 Feb 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tcron/</guid>
|
||||
<description>如果勾选“文件预处理”,则uweb启动时运行&quot;default.rc&quot; shell脚本。可与tcron定时管
|
||||
理工具(安装tcron)配合运行定时任务,如存储清理、网页签到等。
|
||||
勾选“文件预处理”的情况下,如果存在文件&quot;default.rc2&quot;,则在超微浏览器成为前台时,此文件代码被执行。在超微永不退出的情况下,&quot;default.rc&quot;将没有任何执行机会,而&quot;default.rc2&quot;保证即使超微长时间不重启,定时脚本仍可以执行。
|
||||
tcron usage: tcron logfile command hours [timezone delay_sec elsecommand]
|
||||
指定时间范围内如果命令没有被执行过,则tcron会执行一次命令。
|
||||
其中logfile可以不记录任何log,成功执行命令以后只需更新一下改动时间即可。
|
||||
hours: 如果为正整数,则将每天划分为不同的时间区间(单位小时),每个区间命令只能执行一次。如果为负整数,则取绝对值,并且单位为分钟,保证下一次执行至少间隔这么多分钟。
|
||||
hours也可以为&quot;hh:mm-hh:mm,...&quot;格式, 譬如&quot;6:00-8:30,11:00-13:00,5:30-6:30&quot;为每天三餐时间脚本执行一次。
|
||||
timezone: 时区:譬如“8”表示北京时间。(默认为8)
|
||||
delay_sec: 等待指定秒数后再执行命令,防止命令被集中执行。
|
||||
elsecommand: 无需执行命令command时执行。
|
||||
ex:
|
||||
set PATH=/system/bin:/data/data/info.torapp.uweb/files/bin
|
||||
#天翼云每天签到一次
|
||||
tcron /sdcard/a &quot;cloud189-go sign;toybox touch /sdcard/a&quot; 24
|
||||
#每30天清空baidu目录
|
||||
tcron /sdcard/b &quot;rm -rf /sdcard/baidu/*;toybox touch /sdcard/b&quot; 720
|
||||
安装default.rc模板文件(termux)
|
||||
可能用到的命令:
|
||||
termux中安装remind,可配置各类提醒功能,十分强大。
|
||||
apt install remind
|
||||
am start -n info.torapp.uweb/.wvActivity -d 'javascript:alert(&quot;remind&quot;)' #提醒
|
||||
其中-d后面参数可以为任意url包括超微内部&quot;i:&quot; url。
|
||||
cron Termux下安装cronie:
|
||||
apt install cronie
|
||||
crontab -e
|
||||
crontab例子内容如下:
|
||||
30,31 20-23/1 * * * node Loon/jd_live_redrain.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>安卓系统出错诊断</title>
|
||||
<link>/zh/logcat/</link>
|
||||
<pubDate>Mon, 28 Dec 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/logcat/</guid>
|
||||
<description>超微浏览器如果闪退,会生成出错文件&quot;/sdcard/uweb/error.log&quot;。
|
||||
如果超微或安卓系统或任何应用出现问题,则可利用超微浏览器进行诊断,方法如下:
|
||||
访问常用命令网页,点击安装logcat相关的两个命令。 清空后台并重启超微浏览器。 长按历史按钮,执行命令&quot;清空logcat&quot;。 触发有问题的功能。 长按历史按钮,执行命令&quot;输出logcat.log&quot;. 检查文件&quot;/sdcard/uweb/logcat.log&quot;内容。 超微浏览器是手机上调试javascript脚本的最佳工具,无需打包就可有多种方式运行javascript代码。webview dev版自带devtools,运行此工具,打开flag &quot;webview-log-js-console-messages&quot;以后所有js出错信息及console输出会被复制到logcat中。然后用户可根据上一段所述方法诊断。
|
||||
非dev版本webview可点击如下链接运行devtools。
|
||||
devtools for com.google.android.webview
|
||||
devtools for com.android.webview</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>离线下载</title>
|
||||
<link>/zh/loadbt/</link>
|
||||
<pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/loadbt/</guid>
|
||||
<description>seedr用户可使用常用链接利用seedr离线下载。使用时长按链接-&gt;命令-&gt;seedr离线...。 Telegram用户可使用特色服务利用tg bot离线下载至bot支持网盘。使用时长按链接-&gt;命令-&gt;tg...。 百度网盘存储空间大,但其离线下载限制很多,可能由于某些重要节点被屏蔽的原因,下载国外资料基本都会失败。国外离线网盘空间小,但下载成功率很高。
|
||||
本文介绍一种技术,使用国外离线网盘下载资源,然后一键离线至百度网盘。
|
||||
超微浏览器上配置百度离线下载
|
||||
安装uweb定制Termux应用。
|
||||
安装baidupcs-go:
|
||||
直接下载BaiduPCS-Go,安卓手机请选择arm64版本。 解压下载文件 移动解压后文件至最终目的地。Termux运行以下命令:
|
||||
mv BaiduPCS-Go /data/data/com.termux/files/usr/bin/.
|
||||
chmod 777 /data/data/com.termux/files/usr/bin/BaiduPCS-Go
|
||||
登录百度网盘, Termux执行如下命令:
|
||||
BaiduPCS-Go login
|
||||
BaiduPCS-Go config set -appid=266719
|
||||
/sdcard/uweb/default.longclick配置如下:
|
||||
百度离线下载:termux/*:BaiduPCS-Go od add &quot;%u&quot;;exit 1
|
||||
重启超微浏览器,此时长按链接将会出现菜单“百度离线下载”。
|
||||
离线下载资源至国外网盘,下载完成后在超微浏览器内点击资源下载,弹出菜单选择“百度离线下载”,完成整个流程。
|
||||
其它支持离线下载的网页也可定义为一键离线。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>长按链接弹出菜单</title>
|
||||
<link>/zh/longclick/</link>
|
||||
<pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/longclick/</guid>
|
||||
<description>长按链接运行第三方程序 配置文件/sdcard/uweb/default.longclick每行格式如下(同default.cmds)
|
||||
菜单名:mimetype:命令路径
|
||||
命令可以包含%c(当前网址cookie)等,执行时会被相应内容自动替换。
|
||||
长按链接运行js文件 长按链接弹出菜单显示/sdcard/uweb/longclick目录下所有js文件供用户挑选执行。
|
||||
js文件格式如下:
|
||||
首行可以&quot;//&quot;开头,后面紧跟目标网页url,url中可包含&quot;%u&quot;等,打开网页时会用长按的链接替换。 首行非&quot;//&quot;开头者,整个脚本作用于当前网页,不再打开新网页。 第二行开始为javascript代码,代码中可用arguments来获取參数。其中arguments[1]为长按的链接; arguments[2]为长按链接的文字描述; arguments[0]为js文件名。 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>视频播放小窍门</title>
|
||||
<link>/zh/video/</link>
|
||||
<pubDate>Tue, 22 Sep 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/video/</guid>
|
||||
<description>覆盖安装全屏播放菜单示例:屏幕旋转,退出
|
||||
本文以超微浏览器为例来说明。
|
||||
创建文件&quot;default.playrate&quot;可定制全屏倍速播放菜单项,格式与文件default.link完全相同。倍速播放菜单链接部分为空,譬如&quot;.5x:&quot;,倍速菜单至少有一个。链接部分非空的菜单必须在所有倍速菜单之后。 长按设置按钮勾选“弹出视频地址”,则视频播放时会弹出真正的播放地址,点击地址播放可避免一切不良信息。如果点击后为下载操作,可长按链接分享给视频播放器。用户亦可配置在线播放或安装插件。嗅探的视频/资源类型可由文件“/sdcard/uweb/types.sniff”控制。 很多视频解析结果在UA为PC的情况下非常干净,没什么不良信息。故用户可在播放前切换UA至PC。如:wn.run/解析结果对PC非常干净。 某些视频网站在全屏播放时都会出现不良信息占住屏幕一部分。点击全屏播放之前,长按[☰]按钮,超微浏览器将弹出全局脚本菜单,勾选“移除浮动不良信息”后再点全屏播放则完美播放。 也可利用全屏播放屏蔽一切不良信息。方法如下: 长按[☰]按钮,勾选“全屏视频”。此选项将让无法全屏播放的网站强制允许全屏播放。 对无法全屏、无法放大的视频网站,可长按[☰]按钮,勾选“强制缩放”,然后手动放大至全屏。 灵活应用JS、图像开关屏蔽一切不良信息:视频搜索前关闭JS开关,进入播放网页前关闭图像显示并打开JS。 视频解析之电视剧: 首先在视频网站搜索电视剧片名,下面会显示不同的剧集,点击它们再用视频解析即可观看。如果直接点击电视剧用视频解析则每次播放均为第一集。 视频搜索预配置(超过400个引擎)
|
||||
视频资源:
|
||||
视频解析配置 mvcat novip bdys z2py ddrk nfmovies 电视直播 OK资源 全国电视直播 免费视频 国外剧 纪录片 网络直播 点击安装&quot;视频播放增强(倍速等),635+版本功能已内置,仅供高级用户定制参考。&quot;</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>工具汇总</title>
|
||||
<link>/zh/tools/</link>
|
||||
<pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tools/</guid>
|
||||
<description>安装tdict检索工具 (本地检索,远程内容) 安装完tdict本地检索工具后,可选择性安装字典索引及对应的搜索引擎至主屏。以下引擎仅作测试使用。
|
||||
安装双解字典索引
|
||||
安装双解字典至主屏
|
||||
英语活用大词典索引
|
||||
安装英语活用至主屏
|
||||
汉语大词典索引
|
||||
安装汉语词典至主屏
|
||||
soed6索引
|
||||
安装soed至主屏
|
||||
以下字典最好安装markdown处理器。
|
||||
安装markdown处理器
|
||||
Merriam Webster International Unabridged 索引
|
||||
安装mwi至主屏
|
||||
ode3索引
|
||||
安装ode至主屏
|
||||
oed索引
|
||||
安装oed至主屏
|
||||
大英百科索引
|
||||
安装be至主屏
|
||||
Merriam Webster Unabridged
|
||||
安装mwu至主屏
|
||||
以下工具需先安装uweb定制Termux应用,并启动一次完成初始化。
|
||||
安装tdict词典工具 安装完tdict词典工具以后,对/sdcard/uweb/dict目录下的汉语大字典文件如&quot;dictXXX.xz&quot;可在主屏.search文件配置如下字典查询:
|
||||
汉语大字典:c:zd xz %s dictXXX
|
||||
字典文件目录可通过修改termux下“~/share”符号链接来改动。也可使用其它压缩方式如zst,此时配置变为&quot;zd zst %s dictXXX&quot;,相应的字典文件名为dictXXX.zst。用户需提供zsttool工具解压文本。
|
||||
插件页面也提供了词典方案,但如果手动配置会比较麻烦。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用文件预处理预览/查看/播放一切可下载资源</title>
|
||||
<link>/zh/filecap/</link>
|
||||
<pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/filecap/</guid>
|
||||
<description>技巧等级:中级
|
||||
文件预处理配置文件为/sdcard/uweb/default.filecap,每行格式如下:
|
||||
[文件后缀]:[mimetype]:[处理命令]
|
||||
其中文件后缀可允许最多两段后缀,譬如&quot;txt.xz&quot;,&quot;html.gz&quot;。
|
||||
mimetype表示命令处理后的输出内容格式。
|
||||
处理命令与default.cmds相同,主要可能用到如下替换:
|
||||
%u(网址或文件路径)、%U(编码以后的网址)、%c(当前网址cookie)、%p(密码保护网站中的密码,curl格式)。
|
||||
利用文件预处理,超微浏览器现在可以预览/查看/播放一切可下载资源,并且可以利用不同网站在线服务预览不同的文件,而手机上一个应用都不用装。
|
||||
配置/sdcard/uweb/default.filecap如下:
|
||||
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 https://view.officeapps.live.com/op/view.aspx?src=%U xls:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U ppt:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U docx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U xlsx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U pptx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U xz:text/plain:curl %p "%u"|xz -d -- 安装过相应的html5应用,则如下配置阅读相应格式文件:
|
||||
pdf:uweb:echo file:///sdcard/uweb/app/pdf.js/web/viewer.html?file=%u djvu:uweb:echo file:///sdcard/uweb/app/djvu.html?url=%u epub:uweb:echo file:///sdcard/uweb/app/reader/index.html?bookPath==%u 长按设置按钮,勾选“文件预处理”,清后台重启浏览器。则网页上点击下载按钮时上述文件类型会自动预览。
|
||||
如果用户配置中处理命令用到curl,则需要安装Termux,并在Termux中安装curl (&quot;apt install curl&quot;)。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>html5应用</title>
|
||||
<link>/zh/html5/</link>
|
||||
<pubDate>Thu, 20 Aug 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/html5/</guid>
|
||||
<description>点击安装超大文件阅读器(支持txt, html, markdown)
|
||||
点击安装超大文件阅读器(markdeep版, latex, diagram,graphviz等)
|
||||
点击安装plyr视频播放器
|
||||
点击安装dplayer视频播放器
|
||||
点击安装pdf阅读器
|
||||
点击安装epub阅读器(作者:llili)
|
||||
点击安装djvu阅读器
|
||||
相应的菜单安装可见浏览器特色服务
|
||||
超微配置目录下的子目录名如果以&quot;app&quot;开始(譬如&quot;/sdcard/uweb/appPDF&quot;),则这些&quot;app&quot;开头目录树下放置的html5应用将可获得功能增强。
|
||||
配置default.filecap并打开选项“文件预处理”,清后台重启浏览器后超微可直接阅读应用对应格式文件。
|
||||
点击配置pdf.js,djvu.js,epub.js,超大文件阅读器
|
||||
超大文件阅读器txtview.html url如下:
|
||||
file:///sdcard/uweb/app/txtview.html?url=[url]#page=[xxx]
|
||||
file:///sdcard/uweb/app/txtview.html?url=[url]#offset=[xxxx]&amp;[length]
|
||||
file:///sdcard/uweb/app/markdeep.html?url=[url]#page=[xxx]
|
||||
file:///sdcard/uweb/app/markdeep.html?url=[url]#offset=[xxxx]&amp;[length]
|
||||
譬如&quot;#offset=10000&amp;500&quot;会访问超大文件偏移量10000处长度为500的内容。
|
||||
所有阅读器均支持箭头按钮(短按前进按钮或长按后退按钮)自动翻页。
|
||||
比较有用的是mozilla的pdf.js,可用来显示在线或本地pdf文件。url如下:
|
||||
file:///sdcard/uweb/app/pdfviewer.html?file=[绝对或相对路径].pdf#page=[xxx]
|
||||
则浏览器直接跳转到pdf文件指定页。与主屏多引擎搜索及少量脚本结合使用,可对任何pdf文件进行字典检索。
|
||||
下面是一些类似的应用:
|
||||
djvu.js应用的访问url如下:
|
||||
file:///sdcard/uweb/app/djvu.html?url=[绝对或相对路径或url].pdf#page=[xxx]
|
||||
epub.js
|
||||
sampotts/plyr : video, YouTube and Vimeo player
|
||||
videojs/video.js
|
||||
bilibili/flv.js
|
||||
MoePlayer/DPlayer
|
||||
Streamedian/html5_rtsp_player
|
||||
MoePlayer/APlayer : music player</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>手势</title>
|
||||
<link>/zh/gesture/</link>
|
||||
<pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/gesture/</guid>
|
||||
<description>顶部下拉弹出地址栏; 顶部上划隐藏地址栏。底部下划隐藏工具条; 底部左右角落划动弹出工具条。
|
||||
紧靠工具条左右划动切换当前窗口; 左右大幅度划动切换到第一或最后一个窗口。
|
||||
起点终点紧靠地址栏划动操作调用&quot;default.gesture&quot;文件中对应链接。文件格式与文件default.link完全相同。每行第一部分为助记名,第二部分为链接。手势操作对应方式如下:
|
||||
将屏幕宽度平分为三部分,分别对应数字0,1,2 将终点对应的屏幕数字加上起点对应数字的三倍。如果数字为4且初始为往左滑动则数字改为9。 每额外多一次来回转折数字加10。
|
||||
超微浏览器将执行上述数字所对应行所定义的链接操作。(0对应第一行,以此类推) 右边缘划动操作调用&quot;default.gesture2&quot;文件中对应链接。对应方法同&quot;default.gesture&quot;。
|
||||
常用操作链接:
|
||||
back:javascript:history.back()
|
||||
forward:javascript:history.forward()
|
||||
back2:javascript:history.go(-2)</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>一键执行任意预定义命令(附手机PC剪贴板互通)</title>
|
||||
<link>/zh/cmd/</link>
|
||||
<pubDate>Sat, 20 Jan 2018 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/cmd/</guid>
|
||||
<description>技巧等级:中级 PC剪贴板(高级)
|
||||
uweb浏览器支持一键执行任意预定义命令,这些命令可以与剪贴板交互,可以将结果(文本、图像、音视频)输出到浏览器窗口。
|
||||
手机推荐安装uweb定制Termux,否则能够执行的命令极其有限。
|
||||
预定义命令保存在文件&quot;/sdcard/uweb/default.cmds&quot;中。重启浏览器,长按历史按钮,超微将弹出菜单供用户点击执行。
|
||||
资深用户可能注意到文件名与default.acmd类似。default.acmd中的命令适合以不同的参数反复执行;而default.cmds一般以单次执行为多。default.acmd结果会显示在浏览器当前窗口;而default.cmds中命令执行结果会显示在新窗口之中。这两个文件格式也完全相同,每行格式如下:
|
||||
[命令名称]:[mimetype]:[命令代码]
|
||||
命令代码可以是任意命令,其中可以包含%c(当前网址cookie)、%s (地址栏输入)、 %t (当前窗口标题)、 %u (当前窗口url或文件路径)。执行时这些特殊标识将会被相应内容自动替换。
|
||||
mimetype用来表示命令的输出类型。除了标准的mimetype之外,超微对此还作了扩充,便利与剪贴板交互。下面是扩充版的mimetype:
|
||||
&quot;clip/clip&quot; : 以剪贴板作为命令输入,输出结果复制到剪贴板。
|
||||
&quot;/clip&quot; : 输出结果复制到剪贴板。
|
||||
&quot;clip/text/html&quot; : 以剪贴板作为命令输入,输出结果mimetype类型为“text/html”。
|
||||
&quot;termux/*&quot;: 在termux中执行命令。
|
||||
&quot;uweb&quot;: 输出结果作为链接来处理。
|
||||
下面是笔者使用的default.cmds配置(命令具体解释):
|
||||
复制手机剪贴板至PC剪贴板:clip:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -i" PC剪贴板至手机剪贴板:/clip:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -o" </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>便利链接</title>
|
||||
<link>/zh/urls/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/urls/</guid>
|
||||
<description>Termux内部目录</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>电视直播</title>
|
||||
<link>/zh/tvlive/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/tvlive/</guid>
|
||||
<description>CCTV1
|
||||
CCTV2财经
|
||||
CCTV3综艺
|
||||
CCTV4国际
|
||||
CCTV5体育
|
||||
CCTV6电影
|
||||
CCTV7军农
|
||||
CCTV8电视剧
|
||||
CCTV10科教
|
||||
CCTV11戏曲
|
||||
CCTV12社会与法
|
||||
CCTV13新闻
|
||||
CCTV15少儿
|
||||
CCTV17农村
|
||||
江苏卫视
|
||||
浙江卫视
|
||||
精品电影
|
||||
铜梁综合频道
|
||||
铜梁文旅频道
|
||||
万州综合频道
|
||||
万州三峡移民
|
||||
巴南综合频道
|
||||
巴南生活服务
|
||||
长寿综合频道
|
||||
永川综合频道
|
||||
开州生活频道
|
||||
大足综合频道
|
||||
綦江综合频道
|
||||
涪陵电视台
|
||||
黔江综合频道
|
||||
江津新闻综合
|
||||
南川新闻综合
|
||||
福州综合频道
|
||||
福州生活频道
|
||||
晋江侨乡频道
|
||||
厦门一套
|
||||
厦门二套
|
||||
厦门三套
|
||||
厦门移动电视
|
||||
龙岩综合频道
|
||||
宁德公共频道
|
||||
三明综合频道
|
||||
三明公共频道
|
||||
尤溪生活频道
|
||||
上杭综合频道
|
||||
南安新闻综合
|
||||
武夷山电视台
|
||||
宁化电视一套
|
||||
福安综合频道
|
||||
甘肃经济频道
|
||||
甘肃都市频道
|
||||
甘肃少儿频道
|
||||
甘肃公共频道
|
||||
甘肃品质生活
|
||||
甘南藏语频道
|
||||
敦煌综合频道
|
||||
金昌公共频道
|
||||
广东经济科教
|
||||
广东体育频道
|
||||
广东珠江台
|
||||
广东新闻频道
|
||||
广东公共频道
|
||||
广东房产频道
|
||||
广东国际频道
|
||||
广东综艺频道
|
||||
广州经济频道
|
||||
广州新闻频道
|
||||
深圳都市频道
|
||||
深圳财经频道
|
||||
深圳娱乐频道</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>分类多引擎搜索</title>
|
||||
<link>/zh/searchcat/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/searchcat/</guid>
|
||||
<description>点击本链接自动安装分类多引擎文件至&quot;/sdcard/uweb/bookmark&quot;目录下。
|
||||
超微浏览器中通过“设置”-&gt;“总目录”-&gt;“↑”-&gt;“Download”,点击后缀为.search的下载文件,超微浏览器将自动显示分类多引擎搜索。此时可按菜单键(或长按底部工具条后退按钮)选择“添加到桌面”方便以后访问。
|
||||
.search文件每行格式为如下几种:
|
||||
[搜索引擎名]:[不含%s的url]
|
||||
[搜索引擎名]:[含%s的url]
|
||||
[搜索引擎名]:POST:[含%s的post参数]:[url]
|
||||
.search文件首行必须为第一种类型的搜索引擎。由于其它两种类型的引擎数量稀少,为性能考虑,超微限制了首个引擎的种类。
|
||||
本地引擎 搜索引擎已经支持命令行url,现在可添加离线字典查询至主页。命令行url格式为
|
||||
c:[含%s的命令行]
|
||||
d:mimetype:[含%s的命令行]:[外部资源url]
|
||||
查询时关键词会自动替换命令行中的%s。
|
||||
笔者用来查询各式词典,发现效果非常好。百兆以内的文本文件压缩以后可以直接快速检索,定位至特定位置以后可上下滚动阅读全部文本。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>加速访问国外网站</title>
|
||||
<link>/zh/hosts/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/hosts/</guid>
|
||||
<description>不少国外网站本身虽可访问,但由于网站需要下载其它网址的资源而导致无法访问。根域名屏蔽可屏蔽文件中域名的一切子域名、孙域名、......,从而主动排除这些网址,最终允许浏览器快速访问。
|
||||
使用Android端uweb浏览器。
|
||||
域名文件内容如下:
|
||||
googleadservices.com
|
||||
googlesyndication.com
|
||||
adsense.com
|
||||
googleapis.com
|
||||
google-analytics.com
|
||||
googletagservices.com
|
||||
twitter.com
|
||||
facebook.com
|
||||
fbcdn.net
|
||||
其它国外网址访问技巧:
|
||||
尝试关闭javascript, 譬如程序员网站stackoverflow.com在关闭javascript的情况下国内一般均可快速访问。 关闭网页图片 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>绝杀完整域名树</title>
|
||||
<link>/zh/adblock_domain/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/adblock_domain/</guid>
|
||||
<description>域名文件可屏蔽文件中域名的一切子域名、孙域名、......,可彻底绝杀一切不良信息。所以用户屏蔽根域名时无需选择提示中出现的整个域名,只需选取最后两段或三段(最后两段不超过6字符如com.cn的域名可取四段)。
|
||||
可使用列出外部脚本小书签生成外部js文件列表,然后长按底部工具栏&quot;js&quot;按钮,执行&quot;网址转链接&quot;菜单命令,长按可疑链接(一般为域名不同的外链),执行“屏蔽根域名”。
|
||||
长按不良信息链接,点击“图片:屏蔽根域名”,修改弹出域名,一般取最后两段,点击&quot;确定&quot;屏蔽当前图片网址。
|
||||
部分不良信息没有链接可长按,或虽有链接但长按时不出现图片相关菜单。此时可长按[JS]点击&quot;背景图片&quot;或&quot;看图模式&quot;,再长按不良信息链接点击“图片:屏蔽根域名”,屏蔽图片网址。
|
||||
可长按设置开启&quot;资源嗅探&quot;,推荐设置文件&quot;/sdcard/uweb/types.sniff&quot;内容为js,刷新网页后关闭&quot;资源嗅探&quot;选项。在弹出的资源网页上长按链接,屏蔽根域名。
|
||||
(可选) 长按不良信息链接,点击“屏蔽根域名”,屏蔽链接网址。
|
||||
(可选) 某些不良信息靠javascript激发,链接中不出现域名,可点击激发至新网址后将新网址根域名屏蔽。
|
||||
支持域名及整个网址正则表达式
|
||||
文件格式每行如下:
|
||||
根域名[空格]域名前缀正则表达式[空格]整个网址去掉协议部分后正则表达式
|
||||
空格及后面两个正则表达式为可选择项。正则表达式采用java标准。
|
||||
如果用到了第二个正则表达式,此时将域名前缀表达式合并到第二个正则表达式中,从而仅使用一个表达式可优化性能。
|
||||
点击本链接自动用样例覆盖default.hosts</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用多账号登录获取资源</title>
|
||||
<link>/zh/multiaccount/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/multiaccount/</guid>
|
||||
<description>谈到资源就离不开bt, bt下载费时费力,离线bt是最佳选择。国内离线下载由于关键节点屏蔽,基本没啥用。我的个人体验是彻彻底底完全没用,但别人也许还有点用?国外唯一一个有好体验的是seedr, 不过seedr有个大问题需要解决。
|
||||
其它我曾推荐过的台湾bt, bug实在太多,现在看来也成了半个垃圾。万般无奈之下只能重拾seedr.
|
||||
seedr的问题是首次登录需要google人机验证,登录成功以后可以永久使用,无需小飞机辅助。
|
||||
以前偶尔飞飞一点问题也没有,毕竟1分钟飞行就可解决很长时间问题了。但目前的状态是信息基本被彻底封死,1分钟飞行也成了奢望。所以十分有必要珍惜这来之不易的1分钟飞行成果。
|
||||
现在直接上方案,使用超微浏览器多账号登录。飞行1分钟以后成功登录seedr, 此时退出浏览器,千万不能强退,一定要让运存中的登录信息写到内部存储。然后用户可备份应用内部目录下的.cjar文件,一旦浏览器失去登录状态,可恢复此文件,即可使用多账号登录重新登录,让这1分钟飞行成果保存下来,供万万年使用。需要注意的一点是:用户退出seedr账号会使保存的文件作废。故千万不要退出账号,需要用其它账号登录的请使用多账号登录。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>利用浏览器地址栏对函数作图</title>
|
||||
<link>/zh/gnuplot/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/gnuplot/</guid>
|
||||
<description>使用Android端uweb浏览器。
|
||||
Termux提供了方便的软件包管理系统,缺省的uWeb地址栏功能配置需用到作图软件gnuplot。
|
||||
安装gnuplot 安装 uweb定制Termux应用 Termux下运行以下命令:
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install gnuplot 地址栏功能配置: 配置文件/sdcard/uweb/default.acmd每行格式如下:
|
||||
菜单名:mimeType:命令行 命令行可包含参数%s,运行时自动用地址栏输入内容替换。 如果浏览器窗口当前地址为本地url,则此目录同时作为命令行工作目录。 配置文件/sdcard/uweb/default.acmd如下: 命令:text/plain:%s 函数作图:image/svg+xml:gnuplot -e 'set term svg;set output; plot %s' 函数作图(3d):image/svg+xml:gnuplot -e 'set term svg;set output; splot %s' 超级计算器:text/html:echo &quot;%s&quot;|bc -l -q 长按uweb浏览器底部工具条刷新按钮弹出地址栏功能选择,选择“函数作图”,地址栏内输入函数如sin(x)**5就可显示函数图案。
|
||||
常见问题及诊断 确保gnuplot正确安装,在Termux提示符下,敲入gnuplot,然后回车,保证出现&quot;gnuplot&gt;&quot;。 确保gnuplot正常运行, 在Termux提示符下,执行下面命令:
|
||||
gnuplot -e 'set term svg;set output; plot x'
|
||||
屏幕输出应该为正常的svg文件(类似html文本)。 Termux应为uweb定制包,否则有一堆设定需要修改。 超微浏览器下长按设置按钮,勾选“标准错误输出”。再次在地址栏执行画图操作,此时浏览器会显示出错信息。 为保证地址栏输入函数符合gnuplot规范,首个测试函数建议为&quot;x&quot;,即整个地址栏内输入为&quot;x&quot;。 </description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>浏览器一键控制台式机/服务器下载资源</title>
|
||||
<link>/zh/pcdown/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/pcdown/</guid>
|
||||
<description>技巧等级:高级
|
||||
小孩要听英文有声书“The lying games”,国内服务器没一个能下的,最后还是在手机上用seedr秒下。但seedr的登录要用google人机交互确认,用过代理、tunnel至手机等方法,台式机死活登录不上。下面言归正传,讲一下超微浏览器直接下载资源至台式机的方法:
|
||||
手机需安装uweb定制Termux,并在termux下安装openssl,在Termux窗口下依次敲入如下命令:
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install openssl
|
||||
脚本pcdownload内容如下(可放置在任意应用内部目录下,并相应修改default.longclick配置中文件路径):
|
||||
#!/data/data/com.termux/files/usr/bin/sh
|
||||
ssh [user:password]@192.168.2.102 &quot;DISPLAY=:0 firefox \&quot;$1\&quot;&quot;
|
||||
脚本需设置为可执行,Termux下执行命令:
|
||||
chmod 755 /data/data/com.termux/files/usr/bin/pcdownload
|
||||
这里假定用户已经在台式机上设好ssh服务,台式机IP地址为192.168.2.102,准备用firefox下载。如果下载工具不是图形程序,则上述脚本中可删去“DISPLAY=:0”。
|
||||
配置文件/sdcard/uweb/default.longclick如下:
|
||||
PCdown:/data/data/com.termux/files/usr/bin/pcdownload
|
||||
重启超微浏览器,点击链接下载时会弹出菜单,选择&quot;PCdown&quot;,台式机会启动firefox下载手机指定文档。
|
||||
可能大家有疑问,台式机无法登录,为什么手机可以登录?这是因为手机上应用多哈。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>特定网址用户脚本及样式</title>
|
||||
<link>/zh/sitejs/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/sitejs/</guid>
|
||||
<description>技巧等级:中级
|
||||
脚本 (第一时间装载js脚本见下面sitecss条目)
|
||||
脚本需命名为 &quot;[根域名].js&quot;,譬如baidu.com.js 或tieba.baidu.com.js 。此脚本将自动作用于所有相同根域名的网址上。如有多个脚本满足条件,以最长文件名为准。 这些脚本需放到/sdcard/uweb/sitejs或/data/data/info.torapp.uweb/files/sitejs目录下,数量没有限制,上百万都不成问题。如果内部目录下sitejs存在,则/sdcard/uweb/sitejs不起任何作用。内部sitejs目录的存在同时也影响一切对安全敏感的资源(包括网站离线资源等)的配置,一旦内部sitejs目录存在,则这些资源必须位于内部目录才会生效。 长按窗口按钮,勾选“执行网址用户脚本”。 脚本执行对浏览器无性能影响,即使有百万脚本存在。 目前支持两段、三段及少数四段域名(最后两段不超过6字如com.cn的域名可取四段)。所以脚本请不要以很长的域名来命名。 样式及第一时间装载js脚本
|
||||
与此类似,用户样式需命名为 &quot;[根域名].css&quot;,譬如baidu.com.css 或tieba.baidu.com.css。 样式文件需放到/sdcard/uweb/sitecss目录下。 sitecss目录下&quot;[根域名].js&quot;文件会在第一时间装载。 长按窗口按钮,勾选“使用网址用户样式”。 如果文件“/sdcard/uweb/default.css”存在,访问网址时如果没有与域名匹配的css文件,则使用此默认样式文件。 default.css可作为夜间模式来使用,此时default.css为夜间模式css,而黑色主题类网址对应的域名为空文件。此种设定情况下仅白色主题网页会使用夜间模式css。 文件sitejs/.js 和sitecss/.css, sitecss/.js可作用于一切非http url(本地文件,浏览器界面等)。</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>装载网站离线资源</title>
|
||||
<link>/zh/offlinecache/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>/zh/offlinecache/</guid>
|
||||
<description>uweb浏览器支持装载网站离线资源。只需要将离线资源存为文件&quot;/sdcard/uweb/sitecache/[域名]/[全部路径,包括文件名,?,&amp;,=, 与url一模一样]&quot;。如果应用内部目录有文件夹&quot;sitejs&quot;存在,则“/sdcard/uweb”下的离线资源不再生效,此时生效离线资源为内部目录下的&quot;sitecache&quot;文件夹。
|
||||
打开选项以后超微将自动装载这些离线资源。
|
||||
离线资源可作为缓存提高浏览器性能; 可作为国外网站部分备份修复服务访问; 也可替换部分网站资源达到定制网站的作用。
|
||||
下面以google翻译为例说明如何发现并备份离线资源。
|
||||
首先使用教程&quot;运行远程javascript&quot;配置google翻译。 将文件&quot;/sdcard/uweb/types.sniff&quot;内容清空(不要删除文件,否则会恢复成默认文件)。重启浏览器以后长按设置打开资源嗅探。 准备好合适手段保证google系网站能正常访问,长按按钮在主屏运行google翻译。 出现google翻译工具条以后,长按设置关闭嗅探。 运行termux,安装下载工具wget:
|
||||
apt update;apt install wget 下载必要离线数据,termux下运行如下命令: cd /sdcard/uweb mkdir sitecache cd sitecache wget -U 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' -x -i ../sniff.log 下载结束后,离线资源就准备妥当,供以后随时使用。 google翻译的情况下,要对部分js作修改,防止每次访问url不同。 </description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
229
zh/links/index.html
Normal file
229
zh/links/index.html
Normal file
|
@ -0,0 +1,229 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>常用链接</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p>点击以下链接可安装至常用链接<br>
|
||||
<a href="i:0g/sdcard/uweb/default.link::显示安全证书:i:1b%0A">显示网站安全证书</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.link::迅雷盘离线:http://pan.xunlei.com/ {let rsc=setInterval(function(){var offBtn=document.querySelector('.pan-dropdown-menu.plus-menu>a:nth-child(2)');if(offBtn){clearInterval(rsc);var wsc=setInterval(function(){offBtn.click();var textarea=document.querySelector('.fileurl-input__container>textarea');if(textarea){clearInterval(wsc);textarea.value='%25u';var event=document.createEvent('HTMLEvents');event.initEvent('input',false,true);textarea.dispatchEvent(event);document.querySelector('.pan-dialog-btn__primary').click();}},200);}},1000);}%0A">迅雷盘离线</a></p>
|
||||
<p><a href="i:0g/sdcard/uweb/default.link::网页全屏: location.href='i:5fsetTimeout(()=>document.documentElement.requestFullscreen(),50);';%0A"></a></p>
|
||||
<p><a href="i:0g/sdcard/uweb/default.link:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/link.cfg">点击安装Cookie延期,地址栏内删除特殊字符,站内搜索,seedr离线下载等</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.link:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/offline.link">点击安装离线下载(pcloud,furk,微云等)</a></p>
|
||||
<p><a href="i:53i:16uweb:android.intent.action.VIEW:com.coolapk.market:com.coolapk.market.view.photo.QRCodeActivity">酷安扫描</a></p>
|
||||
<p><a href="../index.html">uweb浏览器</a>中长按书签按钮可弹出常用链接菜单,这些链接定义在文件"default.link"中,改动过的文件清后台重启动后生效。每行格式如下:<br>
|
||||
[菜单名]:[url][空格][javascript脚本]<br>
|
||||
其中空格及之后的脚本为可选项。url及之后的脚本支持<a href="../cmd/index.html">"%u","%s"等替换</a>。<br>
|
||||
脚本将在链接访问结束时自动执行。</p>
|
||||
<p>url除支持所有标准的http(s):,javascript:等链接外,还支持超微内部链接(":"为链接第二个字符)及特殊链接(":"为链接首字符)。</p>
|
||||
<p>不少本地链接文件(file:///)超微浏览器将会做特殊处理。仅举几例说明:<br>
|
||||
.js文件(同<a href="../longclick/index.html">长按链接运行js文件</a>): 首行前两个字符为"//"者,超微将打开"//"后面的目标网址并执行此文件代码,目标网址支持<a href="../cmd/index.html">"%u","%s"等替换</a>。否则直接执行此文件。此时[javascript脚本]将作为运行.js文件的參数arguments[1]。推荐将常用js脚本本地链接保存在.link文件中。</p>
|
||||
<p><a href="../gesture/index.html">default.gesture</a>及default.button文件采用了完全一样的格式。.gesture文件定义了手势操作。.button文件则从最后一个按钮开始倒着重定义了底部工具栏按钮单击操作。</p>
|
||||
<p>各类代理配置如下:<br>
|
||||
httpproxy::010[proxy host]:[port]<br>
|
||||
socks5::011[socks host]:[port]<br>
|
||||
noproxy::010:</p>
|
||||
<h3 id="为首字符特殊链接">":"为首字符特殊链接</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>:0000<br>
|
||||
Cookie延期至70年,但服务器有可能否决。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:0001<br>
|
||||
自动翻到上一页。(网页无法前进时按前进按钮可自动翻到下一页。)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:0003<br>
|
||||
切换全屏模式</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:0004<br>
|
||||
屏幕旋转</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:001[fileurl]<br>
|
||||
加入媒体库</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:002[url]<br>
|
||||
显示此url下安全cookie</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:010[proxy host]:[port]<br>
|
||||
设置http代理, ":010:"禁用代理。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>:011[socks host]:[port]<br>
|
||||
socks代理</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="i内部链接">"i:"内部链接:</h3>
|
||||
<p>点击安装<a href="i:53i:52">笔记</a>菜单</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>i:0m[bookmarklet index|prefix|c[cssFlag]]:[url]<br>
|
||||
将url作为网站访问,[bookmarklet index]至少占两个字符。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:15[string]<br>
|
||||
设置地址栏内容为[string]</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:16[mimetype]:[Action Name]:[App Name]:[Activity Name]<br>
|
||||
读取第三方应用输入。<br>
|
||||
点击安装<a href="i:53i:16uweb:mark.qrcode.SCAN:mark.qrcode:mark.qrcode.CaptureActivity"> via扫码</a>菜单至常用链接。其它扫描器也都可以使用,只需要把链接里的名字换掉就行。 上面的方案其实不仅可以扫描qr,也可以使用任何第三方应用获得任何种类的数据。其中有uweb表示特殊mimetype,作为url来使用。其他数据类型改成合适的mimetype即可。<br>
|
||||
点击安装<a href="i:53i:16uweb:android.intent.action.VIEW:com.coolapk.market:com.coolapk.market.view.photo.QRCodeActivity">酷安扫描</a>至常用链接</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:18[extended mimetype]:[range]:[url]<br>
|
||||
读取url部分数据并使用指定mimetype强制处理。<br>
|
||||
<range>:格式同http header。譬如"500-1000,-300"<br>
|
||||
<extended mimetype>:可以为标准的mimetype。也可以在标准mimetype后面添加".<文件名>",此时uweb配置目录下的文件“<文件名>”内容会附在url部分数据后面一起显示。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:19[string]<br>
|
||||
地址栏内容末尾附加[string]</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:1b<br>
|
||||
显示网站证书</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:1c<br>
|
||||
等待从网络接收url并打开</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:1c1<br>
|
||||
等待从网络接收url并打开(不显示ip)</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:50[path]:[string]<br>
|
||||
保存为文件。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:51[path]:[url]<br>
|
||||
保存为地址栏提示</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:52[path]:[string]<br>
|
||||
保存为书签</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:53[path]:[string]<br>
|
||||
保存为笔记</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:54[path]:[url]<br>
|
||||
保存为搜索引擎</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:55[path]:[url]<br>
|
||||
保存为链接</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:56[string]<br>
|
||||
将string插入到网页当前输入框。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:57[jscode]<br>
|
||||
执行js代码,即使网页禁用js。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:58[url]<br>
|
||||
保存到桌面</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:59[filename]<br>
|
||||
发送文件内容</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5a[filename]<br>
|
||||
接收信息至文件</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5b[string]<br>
|
||||
复制至剪贴板。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5c[url]<br>
|
||||
更改自动翻页url</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5d[file url]<br>
|
||||
兼容其它浏览器的方式打开本地文件。</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:5g[videourl]<br>
|
||||
play video in external player</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5h[url]<br>
|
||||
force html for url</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5i[url]<br>
|
||||
重用已有窗口跳转至不同anchor。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:5j[string]<br>
|
||||
Send string to network</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:60[path]:[url]<br>
|
||||
如果本地文件存在就打开,否则访问远程url</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:62[path]:[js code]<br>
|
||||
保存js返回值为文件</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:63[bookmarklet index]:[url]</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>i:70[url]:[自动翻页url]<br>
|
||||
访问网址url,但指定使用后一网址自动翻页</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
89
zh/loadbt/index.html
Normal file
89
zh/loadbt/index.html
Normal file
|
@ -0,0 +1,89 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>离线下载</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/termux">termux</a> </li>
|
||||
|
||||
<li><a href="../tags/%e7%bd%91%e7%9b%98">网盘</a> </li>
|
||||
|
||||
<li><a href="../tags/%e7%a6%bb%e7%ba%bf">离线</a> </li>
|
||||
|
||||
<li><a href="../tags/%e8%b5%84%e6%ba%90">资源</a> </li>
|
||||
|
||||
</ul>
|
||||
<ul>
|
||||
<li>seedr用户可使用<a href="../links/index.html">常用链接</a>利用seedr离线下载。使用时长按链接->命令->seedr离线...。</li>
|
||||
<li>Telegram用户可使用<a href="../searchurl/urls.html">特色服务</a>利用tg bot离线下载至bot支持网盘。使用时长按链接->命令->tg...。</li>
|
||||
</ul>
|
||||
<p>百度网盘存储空间大,但其离线下载限制很多,可能由于某些重要节点被屏蔽的原因,下载国外资料基本都会失败。国外离线网盘空间小,但下载成功率很高。<br>
|
||||
本文介绍一种技术,使用国外离线网盘下载资源,然后一键离线至百度网盘。</p>
|
||||
<p><a href="../index.html">超微浏览器</a>上配置百度离线下载</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>安装<a href="../searchurl/plugins.html">uweb定制Termux应用</a>。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>安装baidupcs-go:</p>
|
||||
<ul>
|
||||
<li>直接下载<a href="https://github.com/felixonmars/BaiduPCS-Go/releases">BaiduPCS-Go</a>,安卓手机请选择arm64版本。</li>
|
||||
<li>解压下载文件</li>
|
||||
<li>移动解压后文件至最终目的地。Termux运行以下命令:<br>
|
||||
<code>mv BaiduPCS-Go /data/data/com.termux/files/usr/bin/.<br>
|
||||
chmod 777 /data/data/com.termux/files/usr/bin/BaiduPCS-Go<br>
|
||||
</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>登录百度网盘, Termux执行如下命令:<br>
|
||||
BaiduPCS-Go login<br>
|
||||
BaiduPCS-Go config set -appid=266719</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>/sdcard/uweb/default.longclick配置如下:<br>
|
||||
百度离线下载:termux/*:BaiduPCS-Go od add "%u";exit 1</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>重启超微浏览器,此时长按链接将会出现菜单“百度离线下载”。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>离线下载资源至国外网盘,下载完成后在超微浏览器内点击资源下载,弹出菜单选择“百度离线下载”,完成整个流程。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>其它支持离线下载的网页也可<a href="../longclick">定义为一键离线</a>。</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
54
zh/logcat/index.html
Normal file
54
zh/logcat/index.html
Normal file
|
@ -0,0 +1,54 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>安卓系统出错诊断</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p><a href="..">超微浏览器</a>如果闪退,会生成出错文件"/sdcard/uweb/error.log"。</p>
|
||||
<p>如果超微或安卓系统或任何应用出现问题,则可利用超微浏览器进行诊断,方法如下:</p>
|
||||
<ul>
|
||||
<li>访问<a href="../searchurl/cmds.html">常用命令网页</a>,点击安装logcat相关的两个命令。</li>
|
||||
<li>清空后台并重启超微浏览器。</li>
|
||||
<li>长按历史按钮,执行命令"清空logcat"。</li>
|
||||
<li>触发有问题的功能。</li>
|
||||
<li>长按历史按钮,执行命令"输出logcat.log".</li>
|
||||
<li>检查文件"/sdcard/uweb/logcat.log"内容。</li>
|
||||
</ul>
|
||||
<p>超微浏览器是手机上调试javascript脚本的最佳工具,无需打包就可有多种方式运行javascript代码。webview dev版自带devtools,运行此工具,打开flag "webview-log-js-console-messages"以后所有js出错信息及console输出会被复制到logcat中。然后用户可根据上一段所述方法诊断。</p>
|
||||
<p>非dev版本webview可点击如下链接运行devtools。<br>
|
||||
<a href="i:16:android.intent.action.VIEW:com.google.android.webview:org.chromium.android_webview.devui.MainActivity">devtools for com.google.android.webview</a></p>
|
||||
<p><a href="i:16:android.intent.action.VIEW:com.android.webview:org.chromium.android_webview.devui.MainActivity">devtools for com.android.webview</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
54
zh/longclick/index.html
Normal file
54
zh/longclick/index.html
Normal file
|
@ -0,0 +1,54 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>长按链接弹出菜单</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/javascript">javascript</a> </li>
|
||||
|
||||
</ul>
|
||||
<h4 id="长按链接运行第三方程序">长按链接运行第三方程序</h4>
|
||||
<p>配置文件<a href="file:///sdcard/uweb/default.longclick">/sdcard/uweb/default.longclick</a>每行格式如下(同<a href="../cmd">default.cmds</a>)<br>
|
||||
菜单名:mimetype:命令路径<br>
|
||||
命令可以包含<a href="../cmd">%c</a>(当前网址cookie)等,执行时会被相应内容自动替换。</p>
|
||||
<h4 id="长按链接运行js文件">长按链接运行js文件</h4>
|
||||
<p>长按链接弹出菜单显示<a href="file:///sdcard/uweb/longclick/">/sdcard/uweb/longclick</a>目录下所有js文件供用户挑选执行。<br>
|
||||
js文件格式如下:</p>
|
||||
<ul>
|
||||
<li>首行可以"//"开头,后面紧跟目标网页url,url中可包含<a href="../cmd">"%u"等</a>,打开网页时会用长按的链接替换。</li>
|
||||
<li>首行非"//"开头者,整个脚本作用于当前网页,不再打开新网页。</li>
|
||||
<li>第二行开始为javascript代码,代码中可用arguments来获取參数。其中arguments[1]为长按的链接; arguments[2]为长按链接的文字描述; arguments[0]为js文件名。</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
45
zh/multiaccount/index.html
Normal file
45
zh/multiaccount/index.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>利用多账号登录获取资源</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p>谈到资源就离不开bt, bt下载费时费力,离线bt是最佳选择。国内离线下载由于关键节点屏蔽,基本没啥用。我的个人体验是彻彻底底完全没用,但别人也许还有点用?国外唯一一个有好体验的是seedr, 不过seedr有个大问题需要解决。</p>
|
||||
<p>其它我曾推荐过的台湾bt, bug实在太多,现在看来也成了半个垃圾。万般无奈之下只能重拾seedr.</p>
|
||||
<p>seedr的问题是首次登录需要google人机验证,登录成功以后可以永久使用,无需小飞机辅助。</p>
|
||||
<p>以前偶尔飞飞一点问题也没有,毕竟1分钟飞行就可解决很长时间问题了。但目前的状态是信息基本被彻底封死,1分钟飞行也成了奢望。所以十分有必要珍惜这来之不易的1分钟飞行成果。</p>
|
||||
<p>现在直接上方案,使用超微浏览器多账号登录。飞行1分钟以后成功登录seedr, 此时退出浏览器,千万不能强退,一定要让运存中的登录信息写到内部存储。然后用户可备份应用内部目录下的.cjar文件,一旦浏览器失去登录状态,可恢复此文件,即可使用多账号登录重新登录,让这1分钟飞行成果保存下来,供万万年使用。需要注意的一点是:用户退出seedr账号会使保存的文件作废。故千万不要退出账号,需要用其它账号登录的请使用多账号登录。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
60
zh/offlinecache/index.html
Normal file
60
zh/offlinecache/index.html
Normal file
|
@ -0,0 +1,60 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>装载网站离线资源</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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>
|
||||
<p><a href="..">uweb浏览器</a>支持装载网站离线资源。只需要将离线资源存为文件"/sdcard/uweb/sitecache/[域名]/[全部路径,包括文件名,?,&,=, 与url一模一样]"。如果应用内部目录有文件夹"sitejs"存在,则“/sdcard/uweb”下的离线资源不再生效,此时生效离线资源为内部目录下的"sitecache"文件夹。</p>
|
||||
<p>打开选项以后超微将自动装载这些离线资源。</p>
|
||||
<p>离线资源可作为缓存提高浏览器性能; 可作为国外网站部分备份修复服务访问; 也可替换部分网站资源达到定制网站的作用。</p>
|
||||
<p>下面以google翻译为例说明如何发现并备份离线资源。</p>
|
||||
<ul>
|
||||
<li>首先使用教程"<a href="../rjs">运行远程javascript</a>"配置google翻译。</li>
|
||||
<li>将文件"/sdcard/uweb/types.sniff"内容清空(不要删除文件,否则会恢复成默认文件)。重启浏览器以后长按设置打开资源嗅探。</li>
|
||||
<li>准备好合适手段保证google系网站能正常访问,长按按钮在主屏运行google翻译。</li>
|
||||
<li>出现google翻译工具条以后,长按设置关闭嗅探。</li>
|
||||
<li>运行termux,安装下载工具wget:<br>
|
||||
<code>apt update;apt install wget</code></li>
|
||||
<li>下载必要离线数据,termux下运行如下命令:
|
||||
<pre><code>cd /sdcard/uweb
|
||||
mkdir sitecache
|
||||
cd sitecache
|
||||
wget -U 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' -x -i ../sniff.log</code></pre>
|
||||
</li>
|
||||
<li>下载结束后,离线资源就准备妥当,供以后随时使用。</li>
|
||||
<li>google翻译的情况下,要对部分js作修改,防止每次访问url不同。</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
87
zh/pccopy/index.html
Normal file
87
zh/pccopy/index.html
Normal file
|
@ -0,0 +1,87 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>操作选中(富)文本/元素</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<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/%e5%89%aa%e8%b4%b4%e6%9d%bf">剪贴板</a> </li>
|
||||
|
||||
<li><a href="../tags/Windows">Windows</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>点击以下链接可安装长按“链接”按钮菜单:<br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::google划词翻译:/uweb:printf 'https://translate.google.cn/?sl=en&tl=zh-CN&op=translate&text=';cat|tr ' ' '%2B'%0A">google划词翻译</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::bing翻译:/uweb:printf 'https://cn.bing.com/translator/?from=&to=zh-Hans&text=';cat|tr ' ' '%2B'%0A">bing翻译</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::papago翻译:/uweb:printf 'https://papago.naver.com/?sk=auto&tk=zh-CN&st=';cat|tr ' ' '%2B'%0A">papago翻译</a></p>
|
||||
<p><a href="i:0g/sdcard/uweb/default.select::iciba:/uweb:printf 'https://m.iciba.com/';cat|tr ' ' '%2B'%0A">iciba</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::百度翻译:/uweb:printf 'https://fanyi.baidu.com/#auto/zh/';cat|tr ' ' '%2B'%0A">百度翻译</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::有道翻译:/uweb:printf 'https://m.youdao.com/translate?type=AUTO&inputtext=';cat|tr ' ' '%2B'%0A">有道翻译</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::搜狗翻译:/uweb:printf 'https://translate.sogou.com/text?transfrom=auto&transto=zh-CHS&model=general&keyword=';cat|tr ' ' '%2B'%0A">搜狗翻译</a></p>
|
||||
<p><a href="i:0g/sdcard/uweb/default.select::彩云小译:/uweb:print 'https://fanyi.caiyunapp.com/#/ {function tE(el,t){var e=new Event(t);el.dispatchEvent(e);}let s=document.querySelector(%22textarea%22);s.value=%60';cat;print '%60;tE(s,%22input%22);tE(s,%22keyup%22)}'%0A">彩云小译</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.select::deepL:/uweb:print 'https://www.deepl.com/translator {function tE(el,t){var e=new Event(t);el.dispatchEvent(e);}let s=document.querySelector(%22textarea%22);s.value=%60';cat;print '%60;tE(s,%22change%22)}'%0A">deepL</a></p>
|
||||
<p><a target="_self" href="i:0g/sdcard/uweb/default.select:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/select.cfg">点击安装"保存文本"等</a></p>
|
||||
<p>重启浏览器,长按“链接”按钮,将弹出菜单。若用户当前窗口并无选中文本,则选取整个页面作相应操作,否则以选中文本为准。</p>
|
||||
<p>配置文件"/sdcard/uweb/default.select"定义了<a href="..">超微浏览器</a>对选中(富)文本/元素进行的操作。没有任何选中元素则以整个网页为操作对象。每行格式如下:<br>
|
||||
[菜单名]:[mimetype]:[命令行]</p>
|
||||
<p>选中(富)文本作为命令行的标准输入,而标准输出根据mimetype进行相应处理。<br>
|
||||
mimetype用来表示命令的输入输出类型。格式为"[输入mimetype]/[输出mimetype]","[输入mimetype]"可为"html"或空(txt格式)或为以超微配置目录为基准的相对路径.js文件名; 输出可为标准的mimetype或超微特殊扩充。如:<br>
|
||||
html/text/html: 选中富文本为html格式, 输出mimetype为text/html。<br>
|
||||
/uweb: 选中文本为txt格式, 输出mimetype为<a href="../cmd">特殊扩充uweb</a>,超微将把输出作为<a href="../links">链接</a>来处理。<br>
|
||||
/termux: 命令运行结果将作为termux下命令运行。<br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/check.js:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/check.js">checked.js</a>: 运行配置目录下checked.js,其返回值作为命令行标准输入。对任何目录型(以“/”结尾)文件url,后面可附"?[文件前缀][<em>[文件后缀]]"。譬如"file:///sdcard/?</em>.png"会列举出"/sdcard"目录下所有.png文件。此时选择选定文件,则可利用checked.js复制文件至PC。(参看下面具体配置)</p>
|
||||
<p>配置/sdcard/uweb/default.select如下:<br>
|
||||
复制文本到地址栏:uweb:printf i:15;cat<br>
|
||||
笔记::(cat;echo;echo;)>>notes.txt<br>
|
||||
富文本笔记:html:(cat;echo '<p></p>';echo;)>>notes.html<br>
|
||||
命名笔记::(cat;echo;echo;)>>%s<br>
|
||||
复制至PC剪贴板::ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -i"<br>
|
||||
复制富文本至PC剪贴板:html:ssh [user:password]@192.168.2.102 "DISPLAY=:0 xsel -i"<br>
|
||||
复制文件至PC:checked.js:while read fname;do scp $fname [user:password]@192.168.2.102:Downloads/.; done</p>
|
||||
<p>如使用剪贴板功能手机需安装uweb定制<a href="../pcdown">Termux</a>,并在termux下安装openssl。<br>
|
||||
此处假定远程PC的IP地址为192.168.2.102,PC已经开通了ssh服务。建议用户配置ssh服务为免密码登录,此时用户无需将密码写入文件default.select。用户PC上安装有xsel剪贴板工具。使用其它工具请酌情修改。</p>
|
||||
<p>采用以上配置,笔记将储存在/sdcard/uweb目录下文件note.txt或note.html中(富文本)。命名笔记储存文件则由用户在地址栏输入框内指定。</p>
|
||||
<p>手机其它应用中的文本可选中后分享给超微浏览器,再由超微浏览器作笔记或进一步分享给PC。如果其它应用无法分享选中文本,这种情况可以先复制文本至剪贴板。长按链接按钮选择适当功能即可复制至PC剪贴板。</p>
|
||||
<h4 id="windows-pc">Windows PC</h4>
|
||||
<p>对Windows PC而言,vista及以后自带clip.exe,此时配置如下:<br>
|
||||
复制文本至PC剪贴板::ssh [user:password]@192.168.2.102 clip.exe</code></p>
|
||||
<p>其它推荐工具(读取PC剪贴板):<br>
|
||||
<a href="http://unxutils.sourceforge.net/">pclip</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
64
zh/pcdown/index.html
Normal file
64
zh/pcdown/index.html
Normal file
|
@ -0,0 +1,64 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>浏览器一键控制台式机/服务器下载资源</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<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/%e4%b8%8b%e8%bd%bd">下载</a> </li>
|
||||
|
||||
</ul>
|
||||
<p>技巧等级:高级</p>
|
||||
<p>小孩要听英文有声书“The lying games”,国内服务器没一个能下的,最后还是在手机上用seedr秒下。但seedr的登录要用google人机交互确认,用过代理、tunnel至手机等方法,台式机死活登录不上。下面言归正传,讲一下超微浏览器直接下载资源至台式机的方法:</p>
|
||||
<p>手机需安装uweb定制<a href="../gnuplot">Termux</a>,并在termux下安装openssl,在Termux窗口下依次敲入如下命令:<br>
|
||||
<code>apt update<br>
|
||||
apt upgrade<br>
|
||||
apt install openssl</code></p>
|
||||
<p>脚本pcdownload内容如下(可放置在任意应用内部目录下,并相应修改default.longclick配置中文件路径):<br>
|
||||
<code>#!/data/data/com.termux/files/usr/bin/sh</code><br>
|
||||
<code>ssh [user:password]@192.168.2.102 "DISPLAY=:0 firefox \"$1\""</code></p>
|
||||
<p>脚本需设置为可执行,Termux下执行命令:<br>
|
||||
chmod 755 /data/data/com.termux/files/usr/bin/pcdownload</p>
|
||||
<p>这里假定用户已经在台式机上设好ssh服务,台式机IP地址为192.168.2.102,准备用firefox下载。如果下载工具不是图形程序,则上述脚本中可删去“DISPLAY=:0”。</p>
|
||||
<p>配置文件/sdcard/uweb/default.longclick如下:<br>
|
||||
<code>PCdown:/data/data/com.termux/files/usr/bin/pcdownload</code></p>
|
||||
<p>重启超微浏览器,点击链接下载时会弹出菜单,选择"PCdown",台式机会启动firefox下载手机指定文档。</p>
|
||||
<p>可能大家有疑问,台式机无法登录,为什么手机可以登录?这是因为手机上应用多哈。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
91
zh/redirect/index.html
Normal file
91
zh/redirect/index.html
Normal file
|
@ -0,0 +1,91 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>重定向国外网址至国内镜像(附编辑本地文件)</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/%e9%87%8d%e5%ae%9a%e5%90%91">重定向</a> </li>
|
||||
|
||||
<li><a href="../tags/%e5%9b%bd%e5%a4%96%e7%bd%91%e5%9d%80">国外网址</a> </li>
|
||||
|
||||
</ul>
|
||||
<p><a href="i:0g/sdcard/uweb/default.redirect::github.com::hub.fastgit.xyz%0A">github mirror:fastgit</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.redirect::github.com::hub.0z.gs%0A">github mirror 2</a><br>
|
||||
<a href="i:0g/sdcard/uweb/default.redirect::github.com::api.mtr.pub%0A">github mirror 3</a></p>
|
||||
<p><a target="_self" href="i:0g/sdcard/uweb/default.redirect:http://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/redirect.cfg">点击添加google recaptcha国内镜像</a></p>
|
||||
<p>使用服务器在国外的搜索引擎体验往往不如国内的引擎。由于网站屏蔽的原因,两者之间索引权重差别很大。国外受欢迎的技术类网站因此难以在百度上搜到;国外引擎能搜到但由于其中不少结果无法访问而体验糟糕。</p>
|
||||
<p>其实,很多技术类网站在国内早有镜像,但由于镜像并非众所周知,其索引权重在百度上微不足道,非专门搜索不可得。</p>
|
||||
<p>本文介绍一种技术,可重定向国外网址至国内镜像,极大的提高国外引擎的体验,让更多用户更客观的理解全球技术。</p>
|
||||
<p>配置/sdcard/uweb/default.redirect:<br>
|
||||
文件每一行格式为:<br>
|
||||
域名:正则表达式:替换表达式</p>
|
||||
<p>其中正则表达式以java语言规定为准,表达式中不能包含':'。正则表达式为空时系统默认为与域名相同。正则表达式,替换表达式同时为空时无重定向作用,但域名会允许CORS跨域访问 (目前仅对"GET" request生效)。</p>
|
||||
<p>例子文件内容如下:<br>
|
||||
developer.android.com::developer.android.google.cn</p>
|
||||
<p>四种使用重定向的方法:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>长按链接<br>
|
||||
添加文件"国内镜像.js"至"/sdcard/uweb/longclick"目录下。<br>
|
||||
文件内容如下:</p>
|
||||
<pre>//e:%u</pre>
|
||||
<p>其中"e:"为uweb特殊url协议,意为"edit",即"编辑"。当后面紧跟url网址的情况下会重定向网址。</p>
|
||||
<p>重启uweb后长按链接弹出菜单选"国内镜像",浏览器将访问网址的国内镜像。若网址为本地文件,则浏览器会自动调用此类文件编辑器。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="../urls">长按工具条图像按钮</a>。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按设置,选中"自定义重定向"。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>长按设置,选中"自定义资源重定向"。此选项除访问url重定向之外,还可重定向网页中一切资源。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>更多重定向网址:<br>
|
||||
<a href="https://www.bilibili.com::www.ibilibili.com">www.bilibili.com::www.ibilibili.com</a><br>
|
||||
pan.baidu.com::pan.baiduwp.com<br>
|
||||
<a href="https://www.docin.com::www.docin365.com">www.docin.com::www.docin365.com</a><br>
|
||||
wenku.baidu.com::wenku.baiduvvv.com<br>
|
||||
detail.tmall.com::detail.tmallvvv.com<br>
|
||||
detail.m.tmall.com::detail.m.tmallvvv.com<br>
|
||||
item.taobao.com::item.taobaovvv.com<br>
|
||||
h5.m.taobao.com::h5.m.taobaovvv.com<br>
|
||||
jd.com::jdvvv.com<br>
|
||||
item.yhd.com::item.yhdvvv.com<br>
|
||||
goods.kaola.com::goods.kaolavvv.com<br>
|
||||
product.dangdang.com::product.dangdangvvv.com<br>
|
||||
item.gome.com.cn::item.gomevvv.com.cn</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
55
zh/searchcat/index.html
Normal file
55
zh/searchcat/index.html
Normal file
|
@ -0,0 +1,55 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||
<title>分类多引擎搜索</title>
|
||||
<script type="text/javascript">
|
||||
function nav2(page){
|
||||
let href = location.href;
|
||||
for(let i=href.length-1;i>0;i--){
|
||||
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||
location.href = href.substring(0,i+1)+page;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</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">
|
||||
|
||||
<li><a href="../tags/%e6%90%9c%e7%b4%a2">搜索</a> </li>
|
||||
|
||||
</ul>
|
||||
<p><a target="_self" href="i:0bhttps://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/searchcat.tar.gz">点击本链接自动安装分类多引擎文件至"/sdcard/uweb/bookmark"目录下</a>。</p>
|
||||
<p><a href="..">超微浏览器</a>中通过“设置”->“总目录”->“↑”->“Download”,点击后缀为.search的下载文件,超微浏览器将自动显示分类多引擎搜索。此时可按菜单键(或长按底部工具条后退按钮)选择“添加到桌面”方便以后访问。</p>
|
||||
<p>.search文件每行格式为如下几种:<br>
|
||||
[搜索引擎名]:[不含%s的url]<br>
|
||||
[搜索引擎名]:[含%s的url]<br>
|
||||
[搜索引擎名]:POST:[含%s的post参数]:[url]</p>
|
||||
<p>.search文件首行必须为第一种类型的搜索引擎。由于其它两种类型的引擎数量稀少,为性能考虑,超微限制了首个引擎的种类。</p>
|
||||
<h4 id="本地引擎">本地引擎</h4>
|
||||
<p>搜索引擎已经支持命令行url,现在可添加离线字典查询至主页。命令行url格式为<br>
|
||||
c:[含%s的命令行]<br>
|
||||
d:mimetype:[含%s的命令行]:[外部资源url]<br>
|
||||
查询时关键词会自动替换命令行中的%s。</p>
|
||||
<p>笔者用来查询各式词典,发现效果非常好。百兆以内的文本文件压缩以后可以直接快速检索,定位至特定位置以后可上下滚动阅读全部文本。</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
34
zh/searchurl/ace.js
Normal file
34
zh/searchurl/ace.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
var editor;
|
||||
onload=function(){
|
||||
var d=document;
|
||||
var ext = location.href.split('.').pop();
|
||||
{
|
||||
var ta=d.getElementById("textarea");
|
||||
var text=ta.value;
|
||||
var e = d.getElementById("editor");
|
||||
|
||||
switch(ext){
|
||||
case "js":
|
||||
ext = "javascript";
|
||||
break;
|
||||
case "py":
|
||||
ext = "python";
|
||||
break;
|
||||
}
|
||||
editor = ace.edit(e);
|
||||
editor.session.setValue(text);
|
||||
}
|
||||
editor.session.setMode("ace/mode/"+ext);
|
||||
editor.setTheme("ace/theme/clouds");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.setOptions({
|
||||
enableBasicAutocompletion: true,
|
||||
enableSnippets: true,
|
||||
enableLiveAutocompletion: true
|
||||
});
|
||||
}
|
||||
|
||||
function onSave(fn){
|
||||
let u8=new TextEncoder().encode(editor.session.getValue());let r='';for(let i=0;i<u8.byteLength;i++)r+=String.fromCharCode(u8[i]);location.href='i:0l'+fn+':'+btoa(r);
|
||||
}
|
||||
|
17
zh/searchurl/ace_t.html
Normal file
17
zh/searchurl/ace_t.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
<style type='text/css' media='screen'>
|
||||
#editor {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
#textarea{display:none}
|
||||
</style>
|
||||
<script src='http://cdn.bootcss.com/ace/1.4.9/ace.js'></script>
|
||||
<script src='http://cdn.bootcss.com/ace/1.4.9/ext-language_tools.js'></script>
|
||||
<pre id='editor'></pre>
|
||||
<script src='ace.js'></script>
|
||||
<textarea id='textarea'>
|
||||
&
|
||||
html.replace(/<font.+\/font>/,'');
|
BIN
zh/searchurl/alipay.png
Normal file
BIN
zh/searchurl/alipay.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
34
zh/searchurl/backup.html
Normal file
34
zh/searchurl/backup.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width" />
|
||||
<script>function g(){
|
||||
let d=document;
|
||||
let f=d.forms[0];
|
||||
window.open("f:"+f.i.value+"::"+f.e.value+"&"+f.u.value+":https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/template/backup.html");
|
||||
return false;
|
||||
}
|
||||
</script><style>
|
||||
input{height:40px;width:100%;border-radius:50px;}
|
||||
</style>
|
||||
<title>备份与恢复</title></head><body>
|
||||
<p>支持安卓6+。</p>
|
||||
|
||||
<p><a href="i:0e/sdcard/uweb:https://dav.jianguoyun.com/dav/%e6%88%91%e7%9a%84%e5%9d%9a%e6%9e%9c%e4%ba%91/uweb.tgz">备份目录"/sdcard/uweb"至坚果云</a> <a href="i:0dhttps://dav.jianguoyun.com/dav/%e6%88%91%e7%9a%84%e5%9d%9a%e6%9e%9c%e4%ba%91/uweb.tgz">恢复</a></p>
|
||||
|
||||
<p><a href="i:0e/data/data/info.torapp.uweb/app_webview/Default/Cookies:https://dav.jianguoyun.com/dav/%e6%88%91%e7%9a%84%e5%9d%9a%e6%9e%9c%e4%ba%91/uweb_c.tgz">备份Cookie至坚果云(webview 76+,<font color="red">注意账号信息泄露危险</font>)</a> <a href="i:0dhttps://dav.jianguoyun.com/dav/%e6%88%91%e7%9a%84%e5%9d%9a%e6%9e%9c%e4%ba%91/uweb_c.tgz">恢复</a></p>
|
||||
|
||||
<p><a href="i:0fhttps://dav.jianguoyun.com">设置坚果云用户及密码</a></p>
|
||||
<hr/>
|
||||
|
||||
用户可将下列表格提交后访问的网址设为书签,方便以后再次备份恢复。<br>
|
||||
<form onsubmit="return g();" style="margin:5px 0 5px 0;padding:0px">
|
||||
<input name=i placeholder="备份目录,多个目录用':'隔开"/><br>
|
||||
<input name=e placeholder="排除目录,多个目录用':'隔开"/><br>
|
||||
<input name=u placeholder="云存储url,包括路径及文件名"/><br>
|
||||
<input type="submit" value="备份与恢复">
|
||||
</form>
|
||||
|
||||
<p><a href="javascript:document.forms[0].u.value='https://dav.jianguoyun.com/dav/%e6%88%91%e7%9a%84%e5%9d%9a%e6%9e%9c%e4%ba%91/uweb.tgz';void(0)">坚果云</a> <a href="javascript:document.forms[0].u.value='https://asytech.cn/cloud/remote.php/webdav/uweb.tgz';void(0)">易云</a><br>
|
||||
<a href="javascript:document.forms[0].i.value='/sdcard/uweb';void(0)">uweb目录</a>
|
||||
<a href="javascript:document.forms[0].i.value='/data/data/info.torapp.uweb/app_webview/Default/Cookies';void(0)">Cookie (webview 76+)</a>
|
||||
</p>
|
||||
|
||||
</body></html>
|
BIN
zh/searchurl/bin/tdict.tar.gz
Normal file
BIN
zh/searchurl/bin/tdict.tar.gz
Normal file
Binary file not shown.
197
zh/searchurl/bml/content/comparecells.js
Normal file
197
zh/searchurl/bml/content/comparecells.js
Normal file
|
@ -0,0 +1,197 @@
|
|||
/**
|
||||
* Try to color the cells of comparison tables based on their contents.
|
||||
*
|
||||
* @title Compare cells
|
||||
*/
|
||||
(function comparecells() {
|
||||
/* Create a new IFRAME to get a "clean" Window object, so we can use its
|
||||
* console. Sometimes sites (e.g. Twitter) override console.log and even
|
||||
* the entire console object. "delete console.log" or "delete console"
|
||||
* does not always work, and messing with the prototype seemed more
|
||||
* brittle than this. */
|
||||
let console = (function () {
|
||||
let iframe = document.getElementById('xxxJanConsole');
|
||||
if (!iframe) {
|
||||
iframe = document.createElementNS('http://www.w3.org/1999/xhtml', 'iframe');
|
||||
iframe.id = 'xxxJanConsole';
|
||||
iframe.style.display = 'none';
|
||||
|
||||
(document.body || document.documentElement).appendChild(iframe);
|
||||
}
|
||||
|
||||
return iframe && iframe.contentWindow && iframe.contentWindow.console || {
|
||||
log: function () {}
|
||||
};
|
||||
})();
|
||||
|
||||
/**
|
||||
* Get the text content for the given element.
|
||||
*/
|
||||
function getTextFromElement(element) {
|
||||
/* TODO: take IMG@alt, BUTTON@value etc. into account */
|
||||
return element.textContent.trim().toLowerCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a Uint8Array of the SHA-256 bytes for the given string.
|
||||
*/
|
||||
async function getSha256Bytes(string) {
|
||||
try {
|
||||
if (
|
||||
typeof crypto === 'object' && typeof crypto.subtle === 'object' && typeof crypto.subtle.digest === 'function'
|
||||
&& typeof Uint8Array === 'function'
|
||||
&& typeof TextEncoder === 'function'
|
||||
) {
|
||||
return new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder('utf-8').encode(string)));
|
||||
}
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function getColorsForValue(value) {
|
||||
/* Cache the calculated values. */
|
||||
getColorsForValue.cellValuesToRgb = getColorsForValue.cellValuesToRgb || {};
|
||||
|
||||
if (!getColorsForValue.cellValuesToRgb[value]) {
|
||||
let normalizedValue = value.trim().toLowerCase();
|
||||
let hash;
|
||||
|
||||
let yesValues = [
|
||||
'✔',
|
||||
'yes',
|
||||
'ja',
|
||||
'oui',
|
||||
'si',
|
||||
'sí'
|
||||
];
|
||||
|
||||
let noValues = [
|
||||
'x',
|
||||
'no',
|
||||
'nee',
|
||||
'neen',
|
||||
'nein',
|
||||
'non',
|
||||
'no'
|
||||
];
|
||||
|
||||
if (yesValues.indexOf(normalizedValue) > -1) {
|
||||
/* Make "Yes" cells green. */
|
||||
getColorsForValue.cellValuesToRgb[value] = [ 150, 255, 32 ];
|
||||
} else if (noValues.indexOf(normalizedValue) > -1) {
|
||||
/* Make "No" cells green. */
|
||||
getColorsForValue.cellValuesToRgb[value] = [ 238, 32, 32 ];
|
||||
} else if ((shaBytes = await getSha256Bytes(normalizedValue))) {
|
||||
/* Give other cells a color based on their content’s SHA
|
||||
* hash to ensure “consistent random colors” every time. */
|
||||
getColorsForValue.cellValuesToRgb[value] = [
|
||||
shaBytes[0],
|
||||
shaBytes[1],
|
||||
shaBytes[2]
|
||||
];
|
||||
} else {
|
||||
/* If the SHA hash could not be calculated, just use random
|
||||
* values. These will change on every execution. */
|
||||
getColorsForValue.cellValuesToRgb[value] = [
|
||||
Math.random() * 255,
|
||||
Math.random() * 255,
|
||||
Math.random() * 255
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/* Calculate/approximate the lightness (tweaked from “RGB to HSL”) to
|
||||
* determine whether black or white text is best suited. */
|
||||
let isLight = 150 < (
|
||||
getColorsForValue.cellValuesToRgb[value][0] * 0.299
|
||||
+ getColorsForValue.cellValuesToRgb[value][1] * 0.587
|
||||
+ getColorsForValue.cellValuesToRgb[value][2] * 0.114
|
||||
);
|
||||
|
||||
return {
|
||||
backgroundColor: 'rgb(' + getColorsForValue.cellValuesToRgb[value].join(', ') + ')',
|
||||
color: isLight
|
||||
? 'black'
|
||||
: 'white',
|
||||
textShadow: isLight
|
||||
? '1px 1px 3px white'
|
||||
: '1px 1px 3px black'
|
||||
};
|
||||
}
|
||||
|
||||
/* The main function. */
|
||||
(function execute(document) {
|
||||
Array.from(document.querySelectorAll('table')).forEach(table => {
|
||||
Array.from(table.tBodies).forEach(tBody => {
|
||||
if (tBody.rows.length < 3) {
|
||||
console.log('Compare cells: skipping table body ', tBody, ' because it only has ', tBody.rows.length, ' rows');
|
||||
return;
|
||||
}
|
||||
|
||||
Array.from(tBody.rows).forEach(tr => {
|
||||
/* Determine the values. */
|
||||
let cellValues = [];
|
||||
let uniqueCellValues = new Set();
|
||||
|
||||
Array.from(tr.cells).forEach((cell, i) => {
|
||||
/* Don't take the header cells into account. */
|
||||
if (cell.tagName.toUpperCase() === 'TH') {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Assume the first cell is a header cell, even if it is not a TH. */
|
||||
if (i === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
cellValues[i] = getTextFromElement(cell);
|
||||
uniqueCellValues.add(cellValues[i]);
|
||||
});
|
||||
|
||||
/* Color (or not) the cells based on the values. */
|
||||
let isFirstValue = true;
|
||||
let firstValue;
|
||||
cellValues.forEach(async function(cellValue, i) {
|
||||
let hasTwoUniqueValues = uniqueCellValues.size == 2;
|
||||
if (isFirstValue) {
|
||||
firstValue = cellValue;
|
||||
isFirstValue = false;
|
||||
}
|
||||
|
||||
let backgroundColor;
|
||||
let color;
|
||||
let textShadow;
|
||||
|
||||
if (
|
||||
uniqueCellValues.size == 1 ||
|
||||
(hasTwoUniqueValues && cellValue === firstValue) ||
|
||||
cellValue.trim() === ''
|
||||
) {
|
||||
backgroundColor = 'inherit';
|
||||
color = 'inherit';
|
||||
textShadow = 'inherit';
|
||||
} else {
|
||||
backgroundColor = (await getColorsForValue(cellValue)).backgroundColor;
|
||||
color = (await getColorsForValue(cellValue)).color;
|
||||
textShadow = (await getColorsForValue(cellValue)).textShadow;
|
||||
}
|
||||
|
||||
tr.cells[i].style.setProperty('background-color', backgroundColor, 'important');
|
||||
tr.cells[i].style.setProperty('color', color, 'important');
|
||||
tr.cells[i].style.setProperty('text-shadow', textShadow, 'important');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/* Recurse for frames and iframes. */
|
||||
try {
|
||||
Array.from(document.querySelectorAll('frame, iframe, object[type^="text/html"], object[type^="application/xhtml+xml"]')).forEach(function (elem) {
|
||||
execute(elem.contentDocument);
|
||||
});
|
||||
} catch (e) {
|
||||
/* Catch exceptions for out-of-domain access, but do not do anything with them. */
|
||||
}
|
||||
})(document);
|
||||
})();
|
1
zh/searchurl/bml/content/designmode.js
Normal file
1
zh/searchurl/bml/content/designmode.js
Normal file
|
@ -0,0 +1 @@
|
|||
(function(){if (document.designMode == 'off'){document.designMode = 'on';}else{document.designMode = 'off';}})()
|
54
zh/searchurl/bml/content/freeviddy.js
Normal file
54
zh/searchurl/bml/content/freeviddy.js
Normal file
|
@ -0,0 +1,54 @@
|
|||
/**
|
||||
* Free the VIDEO elements: get rid of overlays, and enable the native controls.
|
||||
*
|
||||
* Useful on https://www.instagram.com/ where the stupid overlays prevent
|
||||
* showing the controls and triggering the context menu, so you don’t know how
|
||||
* long the video will take and can't play the video in full screen mode.
|
||||
*
|
||||
* @title Free Viddy
|
||||
*/
|
||||
(function freeviddy() {
|
||||
/* Recursively execute the main logic on the document and its sub-documents. */
|
||||
function execute(document) {
|
||||
document.addEventListener('touchmove mousemove', function debouncer(event) {
|
||||
clearTimeout(debouncer.timeoutId);
|
||||
debouncer.timeoutId = setTimeout(function () {
|
||||
let elementsUnderPointer = document.elementsFromPoint(event.clientX, event.clientY);
|
||||
let overlaysToRemove = [];
|
||||
|
||||
for (let i = 0; i < elementsUnderPointer.length; i++) {
|
||||
if ((elementsUnderPointer[i].tagName.toUpperCase() === 'VIDEO' ||
|
||||
elementsUnderPointer[i].tagName.toUpperCase() === 'IFRAME') && !elementsUnderPointer[i].xxxJanFreeViddyProcessed) {
|
||||
let video = elementsUnderPointer[i];
|
||||
video.controls = true;
|
||||
video.xxxJanFreeViddyProcessed = true;
|
||||
|
||||
if (i === 0) {
|
||||
} else {
|
||||
overlaysToRemove = elementsUnderPointer.slice(0, i);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (overlaysToRemove.length) {
|
||||
overlaysToRemove.forEach(element => element.remove());
|
||||
}
|
||||
}, 50);
|
||||
});
|
||||
|
||||
/* Recurse for frames and iframes. */
|
||||
try {
|
||||
Array.from(
|
||||
document.querySelectorAll('frame, iframe, object[type^="text/html"], object[type^="application/xhtml+xml"]')
|
||||
).forEach(
|
||||
elem => execute(elem.contentDocument)
|
||||
);
|
||||
} catch (e) {
|
||||
/* Catch exceptions for out-of-domain access, but do not do anything with them. */
|
||||
}
|
||||
}
|
||||
|
||||
execute(document);
|
||||
})();
|
497
zh/searchurl/bml/content/fullimg.js
Normal file
497
zh/searchurl/bml/content/fullimg.js
Normal file
|
@ -0,0 +1,497 @@
|
|||
/**
|
||||
* Load the full-size versions of resized images based on their "src"
|
||||
* attribute, or their containing link's "href" attribute. Also, make IFRAMEs
|
||||
* take up the entire width of their offset parent (useful for embedded videos
|
||||
* and whatnot). Same goes for the VIDEO elements.
|
||||
*
|
||||
* @title Load full images
|
||||
*/
|
||||
(function fullimg() {
|
||||
/* Create a new IFRAME to get a "clean" Window object, so we can use its
|
||||
* console. Sometimes sites (e.g. Twitter) override console.log and even
|
||||
* the entire console object. "delete console.log" or "delete console"
|
||||
* does not always work, and messing with the prototype seemed more
|
||||
* brittle than this. */
|
||||
var console = (function () {
|
||||
var iframe = document.getElementById('xxxJanConsole');
|
||||
if (!iframe) {
|
||||
iframe = document.createElementNS('http://www.w3.org/1999/xhtml', 'iframe');
|
||||
iframe.id = 'xxxJanConsole';
|
||||
iframe.style.display = 'none';
|
||||
|
||||
(document.body || document.documentElement).appendChild(iframe);
|
||||
}
|
||||
|
||||
return iframe && iframe.contentWindow && iframe.contentWindow.console || {
|
||||
log: function () {}
|
||||
};
|
||||
})();
|
||||
|
||||
/* Get rid of "width=", "height=" etc. followed by numbers or number pairs
|
||||
* in IMG@src query strings. */
|
||||
var parameterNames = [
|
||||
'width',
|
||||
'Width',
|
||||
|
||||
'height',
|
||||
'Height',
|
||||
|
||||
'maxwidth',
|
||||
'maxWidth',
|
||||
'MaxWidth',
|
||||
|
||||
'maxheight',
|
||||
'maxHeight',
|
||||
'MaxHeight',
|
||||
|
||||
'w',
|
||||
'W',
|
||||
|
||||
'h',
|
||||
'H',
|
||||
|
||||
'fit',
|
||||
'Fit',
|
||||
|
||||
'resize',
|
||||
'reSize',
|
||||
'Resize',
|
||||
|
||||
'size',
|
||||
'Size'
|
||||
];
|
||||
|
||||
parameterNames.forEach(function (parameterName) {
|
||||
var selector = 'img[src*="?' + parameterName + '="]'
|
||||
+ ', img[src*="?"][src*="&' + parameterName + '="]';
|
||||
|
||||
/* Match query string parameters (?[…&]name=value[&…]) where the value is
|
||||
* a number (e.g. "width=1200") or a pair of numbers (e.g. * "resize=640x480"). */
|
||||
var parameterReplacementRegexp = new RegExp('(\\?[^#]*&)?' + parameterName + '=[1-9][0-9]+(?:(?:[xX,*:]|%2[CcAa]|%3[Aa])[1-9][0-9]+)?([^&#]*)');
|
||||
|
||||
[].forEach.call(document.querySelectorAll(selector), function (img) {
|
||||
var newSrc = img.src
|
||||
/* Remove the parameter "name=value" pair from the query string. */
|
||||
.replace(parameterReplacementRegexp, '$1$2')
|
||||
|
||||
/* Remove trailing "&" from the query string. */
|
||||
.replace(/(\?[^#]*)&(#.*)?$/, '$1$2')
|
||||
|
||||
/* Remove empty query strings ("?" not followed by
|
||||
* anything) from the URL. */
|
||||
.replace(/\?(#.*)?$/, '$1')
|
||||
|
||||
/* Remove empty fragment identifiers from the URL. */
|
||||
.replace(/#$/, '')
|
||||
;
|
||||
|
||||
changeSrc(img, newSrc, 'found image with parameter "' + parameterName + '" in query string');
|
||||
});
|
||||
});
|
||||
|
||||
/* Show the original image for Polopoly CMS "generated derivatives".
|
||||
*
|
||||
* Example:
|
||||
* https://sporza.be/polopoly_fs/1.2671026!image/1706320883.jpg_gen/derivatives/landscape670/1706320883.jpg
|
||||
* https://sporza.be/polopoly_fs/1.2671026!image/1706320883.jpg
|
||||
*/
|
||||
[].forEach.call(
|
||||
document.querySelectorAll('img[src*="_gen/derivatives/"]'),
|
||||
function (img) {
|
||||
var matches = img.src.match(/(.*\.(jpe?g|png|gif))_gen.*\.\2(\?.*)?$/);
|
||||
if (matches && matches[1]) {
|
||||
changeSrc(img, matches[1], 'found image with Polopoly CMS "generated derivative" URL');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
/* Try to load the originals for images whose source URLs look like
|
||||
* thumbnail/resized versions with dimensions.
|
||||
*/
|
||||
[].forEach.call(
|
||||
document.images,
|
||||
function (img) {
|
||||
var oldSrc = img.src;
|
||||
/* Example:
|
||||
* https://www.cycling-challenge.com/wp-content/uploads/2014/08/IMG_6197-150x150.jpg
|
||||
* https://www.cycling-challenge.com/wp-content/uploads/2014/08/IMG_6197.jpg
|
||||
*/
|
||||
var matches = oldSrc.match(/(.*)[-_.@]\d+x\d+(\.[^\/.]+)/);
|
||||
if (matches && matches[1] && matches[2]) {
|
||||
var newSrc = matches[1] + matches[2];
|
||||
|
||||
return changeSrc(img, newSrc, 'found image whose URL looks like a thumbnail/resized version');
|
||||
}
|
||||
|
||||
/* Example:
|
||||
* https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Kowloon-Walled-City-1898.jpg/220px-Kowloon-Walled-City-1898.jpg
|
||||
* https://upload.wikimedia.org/wikipedia/commons/8/83/Kowloon-Walled-City-1898.jpg
|
||||
*/
|
||||
matches = oldSrc.match(/(.*\/)thumb\/(.*)\/[^\/]+$/);
|
||||
if (matches) {
|
||||
var newSrc = matches[1] + matches[2];
|
||||
|
||||
return changeSrc(img, newSrc, 'found image whose URL looks like a MediaWiki thumbnail/resized version');
|
||||
}
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
/* Try to load the originals for images whose source URLs look like
|
||||
* thumbnail/resized versions with a text label.
|
||||
*
|
||||
* Example:
|
||||
* https://www.crazyguyonabike.com/pics/docs/00/01/27/84/small/DSCF3555.JPG
|
||||
* https://www.crazyguyonabike.com/pics/docs/00/01/27/84/large/DSCF3555.JPG
|
||||
*/
|
||||
var thumbnailPathRegexp = /(.*[/.-])(small|thumb|thumbnail|resized|preview|medium)([/.-].*)/;
|
||||
|
||||
var fullSizePathParts = [
|
||||
'large',
|
||||
'original',
|
||||
'source',
|
||||
'normal',
|
||||
'xlarge',
|
||||
];
|
||||
|
||||
[].forEach.call(
|
||||
document.images,
|
||||
function (img) {
|
||||
var oldSrc = img.src;
|
||||
var matches = oldSrc.match(thumbnailPathRegexp);
|
||||
if (matches) {
|
||||
var newSources = [];
|
||||
|
||||
fullSizePathParts.forEach(function (part) {
|
||||
newSources.push(matches[1] + part + matches[3]);
|
||||
});
|
||||
|
||||
changeSrc(img, newSources, 'found image whose URL looks like a thumbnail/resized version');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
/* Change the IMG@src of linked images to their link's A@href if they look
|
||||
* similar, assuming that the linked version is larger. */
|
||||
[].forEach.call(
|
||||
document.querySelectorAll('a img'),
|
||||
function (img) {
|
||||
if (!img.src) {
|
||||
return;
|
||||
}
|
||||
|
||||
var a = img.parentNode;
|
||||
while (a && a.tagName && a.tagName.toLowerCase() !== 'a') {
|
||||
a = a.parentNode;
|
||||
}
|
||||
|
||||
if (!a) {
|
||||
return;
|
||||
}
|
||||
|
||||
var aHref = a.href;
|
||||
|
||||
if (a.hostname.match(/\.blogspot\.com$/)) {
|
||||
/* Get rid of Blogspot's links to useless HTML wrappers. */
|
||||
aHref = aHref.replace(/\/(s\d+)-h\/([^\/]+)$/, '/$1/$2');
|
||||
}
|
||||
|
||||
if (aHref === img.src) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Simplify a URL for similarity calculation. */
|
||||
function simplifyUrl(url) {
|
||||
return ('' + url)
|
||||
.replace(/\d+/g, '0')
|
||||
.replace(/^https?:/, '');
|
||||
}
|
||||
|
||||
var similarity = getSimilarity(simplifyUrl(img.src), simplifyUrl(a.href));
|
||||
|
||||
if (similarity > 0.66) {
|
||||
changeSrc(img, aHref, 'found linked image with ' + Math.round(similarity * 100) + '% similarity');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
/* Change all Blogspot images that have not been changed yet. */
|
||||
Array.from(
|
||||
document.querySelectorAll('img[src*="bp.blogspot.com/"]')
|
||||
).forEach(img => {
|
||||
let matches;
|
||||
if ((matches = img.src.match(/^(.*\/)s(\d+)(\/[^/]+)$/)) && matches[2] < 9999) {
|
||||
let newSrc = matches[1] + 's9999' + matches[3];
|
||||
changeSrc(img, newSrc, 'found Blogspot image with restricted size (' + matches[2] + ')');
|
||||
}
|
||||
});
|
||||
|
||||
/* Use larger YouTube thumbnails. */
|
||||
Array.from(
|
||||
document.querySelectorAll('img[src*="//yt"][src*=".ggpht.com"]')
|
||||
).forEach(img => {
|
||||
let matches;
|
||||
if ((matches = img.src.match(/^(.*\/)s(\d+)([^/]+\/photo\.[^/.]+)$/)) && matches[2] < 1024) {
|
||||
let newSrc = matches[1] + 's1024' + matches[3];
|
||||
changeSrc(img, newSrc, 'found YouTube avatar with restricted size (' + matches[2] + ')');
|
||||
}
|
||||
});
|
||||
|
||||
/* Get rid of all IMG@srcset attributes that have not been removed in the
|
||||
* previous steps.
|
||||
*/
|
||||
[].forEach.call(
|
||||
document.querySelectorAll('img[srcset]'),
|
||||
function (img) {
|
||||
console.log('Load full images: removing srcset attribute: ', img);
|
||||
|
||||
img.originalSrcset = img.getAttribute('srcset');
|
||||
img.removeAttribute('srcset');
|
||||
}
|
||||
);
|
||||
|
||||
/* Make native VIDEO elements and video IFRAMEs take up the entire width
|
||||
* of their offset parent. */
|
||||
var elementsToEnlargeSelectors = [
|
||||
'video',
|
||||
'iframe.twitter-tweet-rendered',
|
||||
'iframe[src*="embed"]',
|
||||
'iframe[src*="video"]',
|
||||
'iframe[src*="syndication"]',
|
||||
'iframe[class*="altura"]',
|
||||
'iframe[id*="altura"]',
|
||||
'iframe[src*="altura"]',
|
||||
'iframe[src*="//e.infogr.am/"]',
|
||||
'iframe[src*="//www.kickstarter.com/projects/"]',
|
||||
'iframe[src*="//media-service.vara.nl/player.php"]',
|
||||
'iframe[src*="//player.vimeo.com/video/"]'
|
||||
];
|
||||
|
||||
[].forEach.call(
|
||||
document.querySelectorAll(elementsToEnlargeSelectors.join(', ')),
|
||||
function (element) {
|
||||
var scale = element.offsetParent.offsetWidth / element.offsetWidth;
|
||||
var newWidth = Math.round(element.offsetWidth * scale);
|
||||
var newHeight = Math.round(element.offsetHeight * scale);
|
||||
|
||||
console.log(
|
||||
'Load full images: resizing element ', element,
|
||||
' from ' + element.offsetWidth + 'x' + element.offsetHeight
|
||||
+ ' to ' + newWidth + 'x' + newHeight
|
||||
);
|
||||
|
||||
element.xxxJanReadableAllowStyle = true;
|
||||
element.style.width = newWidth + 'px';
|
||||
element.style.height = newHeight + 'px';
|
||||
}
|
||||
);
|
||||
|
||||
/* Show controls on AUDIO and VIDEO elements. */
|
||||
[].forEach.call(
|
||||
document.querySelectorAll('audio, video'),
|
||||
function (element) {
|
||||
element.controls = true;
|
||||
}
|
||||
);
|
||||
|
||||
/* Show controls on YouTube embeds. */
|
||||
[].forEach.call(
|
||||
document.querySelectorAll('iframe[src^="https://www.youtube.com/embed/"][src*="?"][src*="=0"]'),
|
||||
function (iframe) {
|
||||
var beforeAndAfterHash = iframe.src.split('#');
|
||||
var beforeAndAfterQuery = beforeAndAfterHash[0].split('?');
|
||||
|
||||
|
||||
var newPrefix = beforeAndAfterQuery[0];
|
||||
|
||||
var newQueryString = '';
|
||||
if (beforeAndAfterQuery.length > 1) {
|
||||
beforeAndAfterQuery.shift();
|
||||
|
||||
var newQueryParts = beforeAndAfterQuery
|
||||
.join('?')
|
||||
.split('&')
|
||||
.filter(function (keyValuePair) {
|
||||
return !keyValuePair.match(/^(controls|showinfo|rel)=0$/);
|
||||
}
|
||||
);
|
||||
|
||||
if (newQueryParts.length) {
|
||||
newQueryString = '?' + newQueryParts.join('&');
|
||||
}
|
||||
}
|
||||
|
||||
var newHash = '';
|
||||
if (beforeAndAfterHash.length > 1) {
|
||||
beforeAndAfterHash.shift();
|
||||
newHash = '#' + beforeAndAfterHash.join('#');
|
||||
}
|
||||
|
||||
var newSrc = newPrefix + newQueryString + newHash;
|
||||
|
||||
if (newSrc !== iframe.src) {
|
||||
iframe.src = newSrc;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Crudely calculate the similarity between two strings. Taken from
|
||||
* https://stackoverflow.com/a/10473855. An alternative would be the
|
||||
* Levenshtein distance, implemented in JavaScript here:
|
||||
* https://andrew.hedges.name/experiments/levenshtein/
|
||||
*/
|
||||
function getSimilarity(strA, strB) {
|
||||
var result = 0;
|
||||
|
||||
var i = Math.min(strA.length, strB.length);
|
||||
|
||||
if (i === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
while (--i) {
|
||||
if (strA[i] === strB[i]) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strA[i].toLowerCase() === strB[i].toLowerCase()) {
|
||||
result++;
|
||||
} else {
|
||||
result += 4;
|
||||
}
|
||||
}
|
||||
|
||||
return 1 - (result + 4 * Math.abs(strA.length - strB.length)) / (2 * (strA.length + strB.length));
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the IMG@src and fall back to the original source if the new
|
||||
* source triggers an error. You can specify an array of new sources that
|
||||
* will be tried in order. When all of the new sources fail, the original
|
||||
* source will be used.
|
||||
*/
|
||||
function changeSrc(img, newSrc, reason)
|
||||
{
|
||||
var basename = img.src.replace(/[?#].*/, '').replace(/.*?([^\/]*)\/*$/, '$1');
|
||||
|
||||
console.log('[' + basename + '] Load full images: ' + reason + ': ', img);
|
||||
|
||||
if (img.hasNewSource) {
|
||||
console.log('[' + basename + '] Image already has a new source: ', img);
|
||||
return;
|
||||
}
|
||||
|
||||
var newSources = Array.isArray(newSrc)
|
||||
? newSrc
|
||||
: [ newSrc ];
|
||||
|
||||
while ((newSrc = newSources.shift())) {
|
||||
if (newSrc && img.src !== newSrc) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!newSrc) {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('[' + basename + '] → Old img.src: ' + img.src);
|
||||
console.log('[' + basename + '] → Try img.src: ' + newSrc);
|
||||
|
||||
/* Save the original source. */
|
||||
if (!img.originalSrc) {
|
||||
img.originalSrc = img.src;
|
||||
}
|
||||
|
||||
if (!img.originalNaturalWidth) {
|
||||
img.originalNaturalWidth = img.naturalWidth;
|
||||
}
|
||||
|
||||
if (!img.originalNaturalHeight) {
|
||||
img.originalNaturalHeight = img.naturalHeight;
|
||||
}
|
||||
|
||||
/* Save and disable the srcset on the IMG element. */
|
||||
if (img.hasAttribute('srcset')) {
|
||||
img.originalSrcset = img.getAttribute('srcset');
|
||||
img.removeAttribute('srcset');
|
||||
}
|
||||
|
||||
/* Save and disable the srcset in the container PICTURE element's SOURCE descendants. */
|
||||
if (img.parentNode.tagName.toLowerCase() === 'picture') {
|
||||
[].forEach.call(
|
||||
img.parentNode.querySelectorAll('source[srcset]'),
|
||||
function (source) {
|
||||
source.originalSrcset = source.getAttribute('srcset');
|
||||
source.removeAttribute('srcset');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/* When the new source has failed to load, load the next one from the
|
||||
* list of possible new sources. If there are no more left, revert to
|
||||
* the original source. */
|
||||
var errorHandler;
|
||||
|
||||
if (newSources.length) {
|
||||
console.log('[' + basename + '] Setting errorHandler to loadNextNewSrc for ', img, '; newSources: "' + newSources.join('", "') + '"; reason:', reason);
|
||||
errorHandler = function loadNextNewSrc() {
|
||||
img.removeEventListener('error', loadNextNewSrc);
|
||||
changeSrc(img, newSources, reason);
|
||||
};
|
||||
} else {
|
||||
console.log('[' + basename + '] Setting errorHandler to restoreOriginalSrc for ', img, '; originalSrc: "' + img.originalSrc + '"; reason:', reason);
|
||||
errorHandler = function restoreOriginalSrc() {
|
||||
console.log('[' + basename + '] Load full images: error while loading new source for image: ', img);
|
||||
console.log('[' + basename + '] → Unable to load new img.src: ' + newSrc);
|
||||
console.log('[' + basename + '] → Resetting to original img.src: ' + img.originalSrc);
|
||||
|
||||
img.removeEventListener('error', restoreOriginalSrc);
|
||||
|
||||
/* Restore the original source. */
|
||||
img.src = img.originalSrc;
|
||||
|
||||
/* Re-enable the original srcset on the IMG element. */
|
||||
if (img.originalSrcset) {
|
||||
img.setAttribute('srcset', img.originalSrcset);
|
||||
delete img.originalSrcset;
|
||||
}
|
||||
|
||||
/* Re-enable the original srcset in the container PICTURE element's SOURCE descendants. */
|
||||
if (img.parentNode.tagName.toLowerCase() === 'picture') {
|
||||
[].forEach.call(
|
||||
img.parentNode.querySelectorAll('source'),
|
||||
function (source) {
|
||||
if (source.originalSrcset) {
|
||||
source.setAttribute('srcset', source.originalSrcset);
|
||||
delete source.originalSrcset;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
img.addEventListener('error', errorHandler);
|
||||
|
||||
/* When the new source image is smaller than the original image,
|
||||
* treat that as an error, too. */
|
||||
img.addEventListener('load', function () {
|
||||
if (img.naturalWidth * img.naturalHeight < img.originalNaturalWidth * img.originalNaturalHeight) {
|
||||
console.log('[' + basename + '] Load full images: new image (', img.naturalWidth, 'x', img.naturalHeight, ') is smaller than old image (', img.originalNaturalWidth, 'x', img.originalNaturalHeight, '): ', img);
|
||||
|
||||
return errorHandler();
|
||||
}
|
||||
|
||||
if (img.src !== img.originalSrc) {
|
||||
console.log('[' + basename + '] → Success: ' + img.src);
|
||||
img.hasNewSource = true;
|
||||
}
|
||||
});
|
||||
|
||||
/* Finally, actually try to load the image. */
|
||||
img.src = newSrc;
|
||||
}
|
||||
})();
|
1447
zh/searchurl/bml/content/read.js
Normal file
1447
zh/searchurl/bml/content/read.js
Normal file
File diff suppressed because it is too large
Load diff
79
zh/searchurl/bml/content/rmi.js
Normal file
79
zh/searchurl/bml/content/rmi.js
Normal file
|
@ -0,0 +1,79 @@
|
|||
/**
|
||||
* Remove all the IFRAMEs that are off-site or do not have a “src” attribute.
|
||||
* These are typically used for ads and unwanted external content.
|
||||
* navigation etc.
|
||||
*
|
||||
* IFRAMEs without a “src” attribute are also used for sandboxing untrusted
|
||||
* content, e.g. on mailinator.com, but I have not yet found a way to
|
||||
* distinguish between src-less IFRAMEs for ads and src-less IFRAMEs for
|
||||
* “regular” content. Maybe try to guess based on the dimensions? Meh.
|
||||
*
|
||||
* @title rm IFRAMEs
|
||||
*/
|
||||
(function rmi() {
|
||||
/* Create a new IFRAME to get a "clean" Window object, so we can use its
|
||||
* console. Sometimes sites (e.g. Twitter) override console.log and even
|
||||
* the entire console object. "delete console.log" or "delete console"
|
||||
* does not always work, and messing with the prototype seemed more
|
||||
* brittle than this. */
|
||||
let console = (function () {
|
||||
let iframe = document.getElementById('xxxJanConsole');
|
||||
if (!iframe) {
|
||||
iframe = document.createElementNS('http://www.w3.org/1999/xhtml', 'iframe');
|
||||
iframe.id = 'xxxJanConsole';
|
||||
iframe.style.display = 'none';
|
||||
|
||||
(document.body || document.documentElement).appendChild(iframe);
|
||||
}
|
||||
|
||||
return iframe && iframe.contentWindow && iframe.contentWindow.console || {
|
||||
log: function () {}
|
||||
};
|
||||
})();
|
||||
|
||||
/* Keep track of the HTMLDocument instances we have processed. */
|
||||
let processed = new Set();
|
||||
|
||||
/**
|
||||
* Is the given node empty-ish? I.e., does it lack child elements and
|
||||
* non-whitespace text?
|
||||
*/
|
||||
function isEmpty(node) {
|
||||
return !node || (!node.childElementCount && (typeof node.textContent !== 'string' || node.textContent.trim() === ''));
|
||||
}
|
||||
|
||||
/* The main function. */
|
||||
(function execute(document) {
|
||||
if (!document || typeof document.querySelectorAll !== 'function' || processed.has(document)) {
|
||||
return;
|
||||
}
|
||||
|
||||
processed.add(document);
|
||||
|
||||
/* Process all IFRAMEs. */
|
||||
Array.from(document.querySelectorAll('iframe:not(#xxxJanConsole)')).forEach(iframe => {
|
||||
let shouldDelete = false;
|
||||
try {
|
||||
shouldDelete = iframe.contentDocument === null || iframe.src === '';
|
||||
} catch (e) {
|
||||
shouldDelete = true;
|
||||
}
|
||||
|
||||
if (shouldDelete) {
|
||||
console.log('rm IFRAMEs: found suspicious IFRAME to delete: ', iframe);
|
||||
let parentNode = iframe.parentNode;
|
||||
iframe.remove();
|
||||
|
||||
while (parentNode && isEmpty(parentNode)) {
|
||||
console.log('rm IFRAMEs: found empty parent node to delete: ', parentNode);
|
||||
let oldParentNode = parentNode;
|
||||
parentNode = parentNode.parentNode;
|
||||
oldParentNode.remove();
|
||||
}
|
||||
} else {
|
||||
console.log('rm IFRAMEs: found non-suspicious IFRAME to recurse into: ', iframe);
|
||||
execute(iframe.contentDocument);
|
||||
}
|
||||
});
|
||||
})(document);
|
||||
})();
|
94
zh/searchurl/bml/content/rmo.js
Normal file
94
zh/searchurl/bml/content/rmo.js
Normal file
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* Get rid of full-page overlays.
|
||||
*
|
||||
* @title rm overlays
|
||||
*/
|
||||
(function rmo() {
|
||||
function getFirstZIndexedElement(elements) {
|
||||
if (!Array.isArray(elements)) {
|
||||
elements = Array.from(elements);
|
||||
}
|
||||
|
||||
for (let i = 0; i < elements.length; i++) {
|
||||
if (!isNaN(getComputedStyle(elements[i]).zIndex)) {
|
||||
return elements[i];
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/* Recursively execute the logic on the document and its sub-documents. */
|
||||
function execute(document) {
|
||||
/* Look for absolutely positioned (well, Z-indexed) elements that
|
||||
* cover the entire width of the page. Look for them in the vertical
|
||||
* center, to avoid cookie/GDPR/… banners that are typically at the
|
||||
* top or bottom of the window, and slightly away from the edges, to
|
||||
* avoid scrollbars/social sharing toolbars/… */
|
||||
let leftX = 64;
|
||||
let leftY = document.defaultView.innerHeight / 2;
|
||||
let leftOverlay = getFirstZIndexedElement(document.elementsFromPoint(leftX, leftY));
|
||||
if (!leftOverlay)
|
||||
return;
|
||||
|
||||
let rightX = document.defaultView.innerWidth - 64;
|
||||
let rightY = document.defaultView.innerHeight / 2;
|
||||
let rightOverlay = getFirstZIndexedElement(document.elementsFromPoint(rightX, rightY));
|
||||
if (!rightOverlay)
|
||||
return;
|
||||
|
||||
if (leftOverlay !== rightOverlay)
|
||||
return;
|
||||
|
||||
let centerX = document.defaultView.innerWidth / 2;
|
||||
let centerY = document.defaultView.innerHeight / 2;
|
||||
let centerElements = document.elementsFromPoint(centerX, centerY);
|
||||
if (!centerElements.indexOf(leftOverlay) === -1)
|
||||
return;//leftOverlay not in center
|
||||
|
||||
/* Hide the overlay and its “visual descendants” (i.e., the elements
|
||||
* on top of the overlay). */
|
||||
for (let i = 0; i < centerElements.length; i++) {
|
||||
centerElements[i].style.display = 'none';
|
||||
|
||||
if (centerElements[i] === leftOverlay) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Re-enable scrolling on the BODY element. */
|
||||
let currentBodyStyle = document.body.hasAttribute('style')
|
||||
? document.body.getAttribute('style')
|
||||
: '';
|
||||
|
||||
let newBodyStyle = currentBodyStyle +
|
||||
'; overflow: auto !important' +
|
||||
'; position: static !important';
|
||||
|
||||
document.body.setAttribute('style', newBodyStyle);
|
||||
|
||||
/* Re-enable scrolling on Quora.com. */
|
||||
document.body.classList.remove('login_no_scroll');
|
||||
|
||||
/* Re-enable scrolling disabled by inline styles. */
|
||||
[].forEach.call(
|
||||
document.querySelectorAll('[style*="overflow"][style*="hidden"]'),
|
||||
function (elem) {
|
||||
elem.setAttribute('style', elem.getAttribute('style').replace(/overflow\s*:\s*hidden\s*;?/, ''));
|
||||
}
|
||||
);
|
||||
|
||||
/* Recurse for frames and IFRAMEs. */
|
||||
try {
|
||||
Array.from(
|
||||
document.querySelectorAll('frame, iframe, object[type^="text/html"], object[type^="application/xhtml+xml"]')
|
||||
).forEach(
|
||||
elem => execute(elem.contentDocument)
|
||||
);
|
||||
} catch (e) {
|
||||
/* Catch and ignore exceptions for out-of-domain access. */
|
||||
}
|
||||
}
|
||||
|
||||
execute(document);
|
||||
})();
|
1
zh/searchurl/bml/content/vidspeed.js
Normal file
1
zh/searchurl/bml/content/vidspeed.js
Normal file
|
@ -0,0 +1 @@
|
|||
try{var s = prompt("Enter video speed: "); if(s !="" && s!=null && s!=0){document.querySelector('video').playbackRate = s; void 0}}catch(err){}
|
2
zh/searchurl/bookmark/novel.html
Normal file
2
zh/searchurl/bookmark/novel.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
<script>window.onload=function(){var as = document.getElementsByTagName('a');for(var i=as.length-1;i>=0;i--)as[i].href="i:0m6:"+as[i].href;}</script>
|
||||
|
2
zh/searchurl/bookmark/viewtxt.html
Normal file
2
zh/searchurl/bookmark/viewtxt.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
<script>window.onload=function(){var as = document.getElementsByTagName('a');for(var i=as.length-1;i>=0;i--)as[i].href="i:18::"+as[i].href;}</script>
|
||||
|
19
zh/searchurl/cmds.html
Normal file
19
zh/searchurl/cmds.html
Normal file
File diff suppressed because one or more lines are too long
21
zh/searchurl/config.html
Normal file
21
zh/searchurl/config.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
|
||||
Serif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="config.js" charset="utf-8"></script>
|
||||
|
38
zh/searchurl/config.js
Normal file
38
zh/searchurl/config.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
let labels = ["网页默认字体族","cursive字体族","Fantasy字体族","Fixed字体族","Sans-Serif字体族","Serif字体族"];
|
||||
let names = ["font","cursive","fantasy","fixed","sansserif","serif"];
|
||||
|
||||
let text;
|
||||
let d=document;
|
||||
if(d.body)
|
||||
text = d.body.innerHTML;
|
||||
else
|
||||
text = "\n".repeat(labels.length-1);
|
||||
|
||||
let sa = [`<style>input{height:40px;width:100%;border-radius:50px;}</style>
|
||||
<datalist id="family">
|
||||
<option value="sans-serif">
|
||||
<option value="sans-serif-condensed">
|
||||
<option value="sans-serif-smallcaps">
|
||||
<option value="serif">
|
||||
<option value="serif-monospace">
|
||||
<option value="monospace">
|
||||
<option value="cursive">
|
||||
</datalist>
|
||||
<form onsubmit="let d=document;let f=d.forms[0];d.location.href='i:0i/sdcard/uweb/config.html:'+f.font.value+
|
||||
'&'+ f.cursive.value +
|
||||
'&'+ f.fantasy.value +
|
||||
'&'+ f.fixed.value +
|
||||
'&'+ f.sansserif.value +
|
||||
'&'+ f.serif.value +
|
||||
':https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/template/config.html';return false;" accept-charset=utf-8 >`];
|
||||
|
||||
|
||||
let strs = text.split('\n');
|
||||
let i=0;
|
||||
for (i = 0; i < labels.length; i++){
|
||||
sa.push("<label>"+labels[i]+"<input list='family' type='text' name='"+names[i]+"' value='"+strs[i]+"'/></label>");
|
||||
}
|
||||
|
||||
sa.push('<input type="submit" value="Save"></form>');
|
||||
let r = sa.join('<br>');
|
||||
d.documentElement.innerHTML = r;
|
BIN
zh/searchurl/default.hosts.tar.gz
Normal file
BIN
zh/searchurl/default.hosts.tar.gz
Normal file
Binary file not shown.
8
zh/searchurl/donate.html
Normal file
8
zh/searchurl/donate.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body>
|
||||
<p><a href="https://t.me/uwebgroup">tg讨论群uwebgroup</p>
|
||||
<p>支付宝账号: jamesfengcao@gmail.com<br>
|
||||
<a href="intent://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode=https%3A%2F%2Fqr.alipay.com%2Fa6x01298icgcgx4n39qv5aa%3F_s%3Dweb-other&_t=1472443966571#Intent;scheme=alipayqr;package=com.eg.android.AlipayGphone;end">立即捐赠</a></p>
|
||||
<img src="weixin.png" width="250" height="304">
|
||||
<p><img src="alipay.png"></p>
|
||||
|
||||
</body></html>
|
84
zh/searchurl/func.html
Normal file
84
zh/searchurl/func.html
Normal file
|
@ -0,0 +1,84 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width" />
|
||||
<script>function g(t){document.location.href=t+document.forms[0].q.value}
|
||||
var checkBoxes;
|
||||
function checkbox_set(num){var i;for(i=0;i<num;i++)checkBoxes[i].checked=true;return true;}
|
||||
function checkbox_reset(num){var i;for(i=0;i<num;i++)checkBoxes[i].checked=false;return true;}
|
||||
function checkbox_toggle(num){var i;for(i=0;i<num;i++)checkBoxes[i].checked=!checkBoxes[i].checked;return true;}
|
||||
</script>
|
||||
<style>
|
||||
ul{list-style-type:none;}
|
||||
body>ul{padding-left:0;}
|
||||
#NUM{height: 40px; width: 100%;background-color:transparent;border-radius: 50px;}
|
||||
</style>
|
||||
<title>超微浏览器界面配置及杂项功能
|
||||
</title>
|
||||
</head><body>
|
||||
<p>点击以下链接可触发超微浏览器各类相关功能</p>
|
||||
<ul>
|
||||
<li><a href="i:0n">生成全局字体css文件</a>(使用"/sdcard/uweb/app/fonts/"目录下字体文件)</li>
|
||||
<li><a href="i:13" onclick="return checkbox_reset(checkBoxes.length);">恢复默认设置</a>
|
||||
<li><a href="i:11">刷新动态快捷方式(内部目录shortcut或分类书签目录/sdcard/uweb/bookmark下文件)</a></li>
|
||||
<li><a href="i:12">系统转屏模式下反向竖屏切换</a></li>
|
||||
</ul>
|
||||
<hr/>
|
||||
|
||||
<p><a href="i:2516777215" onclick="return checkbox_toggle(checkBoxes.length);">切换</a>/<a href="i:260" onclick="return checkbox_reset(checkBoxes.length);">重置</a>/<a href="i:2616777215" onclick="return checkbox_set(checkBoxes.length);">反置所有</a>/<a href="i:2631" onclick="return checkbox_set(5);">反置前五个</a>/<a href="i:26511" onclick="return checkbox_set(9);">反置前九个</a>以下功能 (点击链接可切换):</p>
|
||||
<ul>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:251'"/>新窗口打开服务 (长按图像/历史按钮等)</label></li>
|
||||
<li>工具按钮短按长按功能互换
|
||||
<ul>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:252'"/>[☰]</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:254'"/>设置</label></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:258'"/>被调用20秒内按后退键后台装载页面</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2516'"/>无安全证书警告</label></li>
|
||||
----------------5---------------
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2532'"/>新窗口打开下个引擎搜索</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2564'"/>自动填充采用从头开始匹配</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:25128'"/>禁用videoplayer.js</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:25256'"/>自动调整文本大小</label></li>
|
||||
----------------9---------------
|
||||
<li><label><input type="checkbox" onchange="location.href='i:25512'"/>长按链接命令菜单切换为常用链接</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:251024'"/>长按链接命令菜单切换为常用命令</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:252048'"/>隐藏地址栏</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:254096'"/>隐藏工具条</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:258192'"/>不使用双列书签</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2516384'"/>主屏使用"query.autoc"常用查询列表</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2532768'"/>全屏播放不自动横屏</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2565536'"/>禁止弹出JS确认框</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:25131072'"/>保存查询历史</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:25262144'"/>切换窗口时保留面板</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:25524288'"/>弹出视频地址时同时弹出iframe地址</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:251048576'"/>关闭窗口保持音频播放</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:252097152'"/>右侧菜单</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:254194304'"/>底部地址栏</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:258388608'"/>最大化使用区域</label></li>
|
||||
<li><label><input type="checkbox" onchange="location.href='i:2516777216'"/>屏蔽外链脚本时屏蔽可疑资源</label></li>
|
||||
</ul>
|
||||
<script>
|
||||
checkBoxes=document.getElementsByTagName("input");
|
||||
</script><script>
|
||||
let len=checkBoxes.length;
|
||||
let flg=%1%;
|
||||
for(let i=0;i<len;i++){
|
||||
if(flg&(1<<i))checkBoxes[i].checked=true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<hr/><br/>
|
||||
<div>
|
||||
<form action="javascript:" style="margin:5px 0 5px 0;padding:0px">
|
||||
<input id="NUM" name=q placeholder="输入配置参数后请点击下面功能列表"/>
|
||||
</form>
|
||||
<a href="javascript:g('i:22')">底部工具栏留空(整数,默认:10)</a> <br/>
|
||||
<a href="javascript:g('i:23')">底部工具栏图标大小(整数,默认:16)</a> <br/>
|
||||
<a href="javascript:g('i:27')">底部工具栏图标间距(整数,参考:22)</a> <br/>
|
||||
<a href="javascript:g('i:14')">界面前景色(十六进制整数,默认黑色:0)</a> <br/>
|
||||
<a href="javascript:g('i:24')">界面字体大小(默认:18。设置后最好正常退出并重启浏览器)</a> <br/>
|
||||
<a href="javascript:g('i:28')">网页字体放大(默认:100)</a> <br/>
|
||||
<a href="javascript:g('i:29')">网页字体大小(默认:16)</a> <br/>
|
||||
<a href="javascript:g('i:2a')">显示历史记录大小(整数,默认:0,单位Kb,例如90)</a> <br/>
|
||||
<a href="javascript:g('i:2b')">地址栏最大行数(默认:2,最大:33)</a> <br/>
|
||||
</div><br/>
|
||||
</body></html>
|
39
zh/searchurl/homescreen.html
Normal file
39
zh/searchurl/homescreen.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width" />
|
||||
<script>function g(){
|
||||
let d=document;
|
||||
let f=d.forms[0];
|
||||
d.location.href="i:19"; setTimeout(function(){ document.location.href="i:0i/sdcard/uweb/home.css:"+f.b.value+":https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/template/home.css";
|
||||
},100);
|
||||
return false;
|
||||
}
|
||||
function g3(iF,filename,fakeurl){
|
||||
let d=document;
|
||||
let f=d.forms[iF];
|
||||
d.location.href="i:0i/sdcard/uweb/"+filename+":"+f.b.value+'&'+fakeurl +":https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/template/refresh.html";
|
||||
return false;
|
||||
}
|
||||
</script><style>
|
||||
input{height:40px;width:100%;border-radius:50px;}
|
||||
</style>
|
||||
<title>主屏设置</title></head><body>
|
||||
<form onsubmit="return g();" style="margin:5px 0 5px 0;padding:0px">
|
||||
<input name=b placeholder="背景图片网址, 可为配置目录下图像文件名"/><br>
|
||||
<input type="submit" value="设置主屏">
|
||||
</form>
|
||||
|
||||
<p>
|
||||
<form onsubmit="return g3(1,'home5.html','file:///sdcard/uweb/home4.search');" style="margin:5px 0 5px 0;padding:0px">
|
||||
<input name=b placeholder="主屏网址" value="https://m.inftab.com"/><br>
|
||||
<input type="submit" value="设置主屏网址">
|
||||
</form>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="i:0h/sdcard/uweb/home6.html:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/nav.cfg">设置第二主屏为默认导航页</a>
|
||||
</p>
|
||||
|
||||
<form onsubmit="return g3(2,'home7.html','file:///sdcard/uweb/home7.search');" style="margin:5px 0 5px 0;padding:0px">
|
||||
<input name=b placeholder="第三主屏网址"/><br>
|
||||
<input type="submit" value="设置第三主屏">
|
||||
</form>
|
||||
</body></html>
|
473
zh/searchurl/input.html
Normal file
473
zh/searchurl/input.html
Normal file
File diff suppressed because one or more lines are too long
19
zh/searchurl/js/beep.js
Normal file
19
zh/searchurl/js/beep.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
//data:charset=utf-8,
|
||||
var audioCtx = new window.AudioContext;
|
||||
function beep(duration, frequency, volume, type, callback) {
|
||||
var oscillator = audioCtx.createOscillator();
|
||||
var gainNode = audioCtx.createGain();
|
||||
|
||||
oscillator.connect(gainNode);
|
||||
gainNode.connect(audioCtx.destination);
|
||||
|
||||
if (volume){gainNode.gain.value = volume;}
|
||||
if (frequency){oscillator.frequency.value = frequency;}
|
||||
if (type){oscillator.type = type;}
|
||||
if (callback){oscillator.onended = callback;}
|
||||
|
||||
oscillator.start(audioCtx.currentTime);
|
||||
oscillator.stop(audioCtx.currentTime + ((duration || 500) / 1000));
|
||||
};
|
||||
beep();
|
||||
self.close();
|
59
zh/searchurl/plugins.html
Normal file
59
zh/searchurl/plugins.html
Normal file
|
@ -0,0 +1,59 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="/uweb/img/favicon.ico">
|
||||
<title>插件汇总
|
||||
</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h3>插件汇总</h3>
|
||||
<p>插件影响到浏览器的安全,故需要完成以下步骤才能开启插件管理系统:</p>
|
||||
<ul>
|
||||
<li>安装<a href="https://pan.lanzou.com/b0qpxnob" target="_blank" rel="noopener">uweb定制Termux应用</a> (
|
||||
<a href="https://cloud.189.cn/t/fiEvMvuequMz">天翼</a>
|
||||
<a href="https://pan.baidu.com/s/17coQj6DCHqghMMNJUyjgrA">百度网盘</a>
|
||||
),需启动termux一次,以完成应用初始化。</li>
|
||||
<li>点击链接<a href="i:0chttps://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/script/filecap_sh.sh">允许插件安装</a>。</li>
|
||||
<li>长按底部工具条设置按钮,勾选文件预处理。</li>
|
||||
<li>正常退出以保存设置,清理后台并重启浏览器。</li>
|
||||
</ul>
|
||||
<p>插件管理系统功能强大,考虑到潜在的安全隐患,使用插件的同学请不要给予超微浏览器或定制termux超级用户的权限。至少要保证每次使用超级用户权限前弹出提醒或警告。本页面亦提供插件关闭插件管理系统,安装完必要的插件后用户应立即关闭插件管理系统。</p>
|
||||
<p>开启插件系统以后,点击下面的链接即可直接安装。插件可反复安装,互相冲突的插件会被新安装覆盖。插件多寡不影响性能。部分插件需浏览器重启后才能生效。插件列表:</p>
|
||||
<ul>
|
||||
<li><p><a href="script/disable_sh.sh" download>关闭插件管理系统</a></p>
|
||||
</li>
|
||||
|
||||
<li><p><a href="script/xzdic.sh" download>扫描"/sdcard/uweb/dict"目录下.xz格式词典</a><br>
|
||||
此插件将配置主屏进行终端下词典检索并可阅读词典全文,按"q"退出终端。<br>
|
||||
.xz格式为纯文本使用xz直接压缩所得,词条以"####"标记以方便检索。
|
||||
<a href="https://pan.baidu.com/s/1Yf_0oL3evvjriTn1RBGpNg">部分xz文档</a>
|
||||
</p>
|
||||
</li>
|
||||
|
||||
<li><p><a href="script/xzgrep.sh" download>扫描"/sdcard/uweb/dict"目录下.xz格式词典,配置主屏全文检索</a><br>
|
||||
此插件将配置主屏进行终端下全文检索,按"q"退出终端。<br> 词典数据很多的用户可将新生成的配置文件home.search改名成dict.search,超微浏览器中打开此文件(设置->总目录)并新建快捷方式。
|
||||
</p>
|
||||
</li>
|
||||
|
||||
<li><p><a href="script/filecap_microsoft.sh" download>在线预览/查看/播放下载资源 (微软服务版)</a><br>允许在线预览/查看/播放网盘文件。其中Microsoft Office文档依赖微软服务,当前UA必需为PC,否则微软会显示空白页。有条件的用户推荐使用google docs服务插件。</p>
|
||||
</li>
|
||||
<li><p><a href="script/filecap_tar.sh" download>预览超大文本文件(.txt), 超大tar文件目录(.tar,.tgz,.tar.gz,.tar.xz)</a></p>
|
||||
</li>
|
||||
<li><p><a href="script/filecap_ziprar.sh" download>预览zip,rar文件目录</a></p>
|
||||
</li>
|
||||
<li><p><a href="script/histuniq.sh" download>添加“历史记录去重”菜单项至长按底部历史按钮弹出菜单</a></p>
|
||||
</li>
|
||||
<li><p><a href="script/baidupcs.sh" download>安装百度离线下载</a></p>
|
||||
</li>
|
||||
<li><p><a href="script/axel.sh" download>安装axel多线程下载(9线程)</a></p></li>
|
||||
<li><p><a href="script/gnuplot.sh" download>利用浏览器地址栏对函数作图 (gnuplot)</a></p>
|
||||
</li>
|
||||
<li><p><a href="script/bc.sh" download>配置浏览器地址栏作为超级计算器(bc)</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
48
zh/searchurl/privacy.html
Normal file
48
zh/searchurl/privacy.html
Normal file
|
@ -0,0 +1,48 @@
|
|||
<html><head><meta name='viewport' content='width=device-width'><meta charset='utf-8'>
|
||||
<title>隐私协议</title></head>
|
||||
<body>
|
||||
<h1>隐私协议</h1>
|
||||
<p>
|
||||
本产品超微浏览器属于常熟道信软件有限公司,请您在使用本产品之前仔细阅读用户隐私协议,这份隐私协议用来阐明超微浏览器会用收集哪些用户信息,以及使用哪些相关的联网服务。并且告知用户,作者如何保证用户的信息安全确保信息不会泄露。
|
||||
</p>
|
||||
|
||||
<b>超微浏览器集成了哪些第三方SDK?</b>
|
||||
<p>我们没有使用任何第三方的SDK。</p>
|
||||
|
||||
<b>超微浏览器会收集哪些用户数据?</b>
|
||||
<p>超微浏览器不收集不保存任何用户数据。所有本地保存的数据如书签,离线保存等均需用户主动明确发出指令。</P>
|
||||
|
||||
<b>保护用户隐私</b>
|
||||
<p>尊重保护用户隐私是我们最起码准则,作为独立开发者不敢保证其安全性超越大型商业软件但我们做到以下几点可以最大限度的保证用户的隐私。</p>
|
||||
|
||||
<p>只申请极少的用户权限,不获取用户手机设备信息(IMEI) 。不提供超微浏览器账户服务。
|
||||
承诺绝不会把用户的信息透露给第三方个人或企业。</p>
|
||||
|
||||
|
||||
<b>设备权限调用情况</b>
|
||||
<p>在您使用超微浏览器过程中,我们需要在必要范围内向您申请获取设备权限。请您知悉,我们不会默认开启您设备的权限。所有权限用户均可关闭。除存储权限外,用户关闭权限以后超微浏览器不再请求。超微浏览器调用的权限、调用权限的目的,以及调用权限前向您询问的情况请见下表:</p>
|
||||
<pre>
|
||||
设备权限 调用权限的目的 是否询问 可否关权限
|
||||
网络权限 访问网站 否 可
|
||||
存储权限 下载文件保存图片 是 可
|
||||
相机权限 网站要求 是 可
|
||||
麦克风权限 网站要求 是 可
|
||||
位置权限 提供网站位置信息 是 可
|
||||
应用安装 安装下载应用 是 可
|
||||
快捷方式 安装快捷方式 是 可
|
||||
悬浮窗口 允许悬浮窗口 是 可
|
||||
</pre>
|
||||
|
||||
|
||||
<b>其他</b>
|
||||
<p>用户通过浏览器访问任何其他网站,会留下您的一些Cookies相关信息,如您在其他网站的使用记录账号信息等,超微浏览器不会读取和收集这些信息,每个网站都有自己的用户隐私策略,这些和超微浏览器本身无关。</p>
|
||||
|
||||
<b>隐私策略调整</b>
|
||||
<p>如果以后该隐私协议会有任何变动,我们会在此更新隐私协议,以便您能够及时了解到最新的内容。
|
||||
本声明自更新之日起生效, 最近的更新时间是:2022年6月16日</p>
|
||||
|
||||
<b>联系</b>
|
||||
<p>关于用户隐私协议的任何问题和疑问,你可以通过邮件联系我,我们会第一时间给与答复。
|
||||
邮件地址:jamefengcao at 189.cn</p>
|
||||
</body>
|
||||
</html>
|
25
zh/searchurl/quickstart.html
Normal file
25
zh/searchurl/quickstart.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>主屏快捷访问</title>
|
||||
<style>
|
||||
a{text-decoration: none;}
|
||||
a.icon>img{width:24px;}
|
||||
a.icon>span{font-size:24px;}
|
||||
.plus{font-size:32px;float:right;right:13px;}
|
||||
</style>
|
||||
</head><body>
|
||||
<p>
|
||||
<a href="..">超微浏览器</a>下点击"+"可自动添加至主屏快捷访问。</p>
|
||||
|
||||
<p><a class=icon href='http://i.ifeng.com'><img src='https://m.hao123.com/static/img/fenghuang20171024-56.png'><span>凤凰</span></a><a class="plus" href="i:0a<a class=icon href='http://i.ifeng.com'><img src='https://m.hao123.com/static/img/fenghuang20171024-56.png'><span>凤凰</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://xw.qq.com'><img src='https://m.hao123.com/static/img/tengxun20171024-56.png'><span>腾讯</span></a><a class="plus" href="i:0a<a class=icon href='http://xw.qq.com'><img src='https://m.hao123.com/static/img/tengxun20171024-56.png'><span>腾讯</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://m.sohu.com'><img src='https://m.hao123.com/static/img/souhu20171024-56.png'><span>搜狐</span></a><a class="plus" href="i:0a<a class=icon href='http://m.sohu.com'><img src='https://m.hao123.com/static/img/souhu20171024-56.png'><span>搜狐</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://3g.163.com'><img src='https://m.hao123.com/static/img/wangyi20171024-56.png'><span>网易</span></a><a class="plus" href="i:0a<a class=icon href='http://3g.163.com'><img src='https://m.hao123.com/static/img/wangyi20171024-56.png'><span>网易</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://m.1905.com'><img src='http://uujian.cn/browser/recommend/video/m.1905.com.png'><span>1905电影</span></a><a class="plus" href="i:0a<a class=icon href='http://m.1905.com'><img src='http://uujian.cn/browser/recommend/video/m.1905.com.png'><span>1905电影</span></a>"> + </a></p>
|
||||
<p><a class=icon href='https://m.ctrip.com'><img src='https://m.hao123.com/static/img/xiecheng20171121wx.png'><span>携程</span></a><a class="plus" href="i:0a<a class=icon href='https://m.ctrip.com'><img src='https://m.hao123.com/static/img/xiecheng20171121wx.png'><span>携程</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://union-click.jd.com'><img src='https://m.hao123.com/static/img/jingdong20171024-56.png'><span>京东</span></a><a class="plus" href="i:0a<a class=icon href='http://union-click.jd.com'><img src='https://m.hao123.com/static/img/jingdong20171024-56.png'><span>京东</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://m.suning.com'><img src='https://m.hao123.com/static/img/suning_20170907.png'><span>苏宁</span></a><a class="plus" href="i:0a<a class=icon href='http://m.suning.com'><img src='https://m.hao123.com/static/img/suning_20170907.png'><span>苏宁</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://m.taobao.com'><img src='https://m.hao123.com/static/img/cxb_taobao.PNG'><span>淘宝</span></a><a class="plus" href="i:0a<a class=icon href='http://m.taobao.com'><img src='https://m.hao123.com/static/img/cxb_taobao.PNG'><span>淘宝</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://m.tmall.com'><img src='https://m.hao123.com/static/img/tm.PNG'><span>天猫</span></a><a class="plus" href="i:0a<a class=icon href='http://m.tmall.com'><img src='https://m.hao123.com/static/img/tm.PNG'><span>天猫</span></a>"> + </a></p>
|
||||
<p><a class=icon href='http://jhs.m.taobao.com'><img src='https://m.hao123.com/static/img/juhuasuan1222icon.png'><span>聚划算</span></a><a class="plus" href="i:0a<a class=icon href='http://jhs.m.taobao.com'><img src='https://m.hao123.com/static/img/juhuasuan1222icon.png'><span>聚划算</span></a>"> + </a></p>
|
||||
|
||||
</body></html>
|
10
zh/searchurl/res.html
Normal file
10
zh/searchurl/res.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>远程资源安装</title>
|
||||
</head><body>
|
||||
<h3>远程资源安装</h3>
|
||||
|
||||
|
||||
<a href="i:0bhttp://jamesfengcao.gitee.io/uwebzh/searchurl/bin/tdict.tar.gz">tdict (需安装brotli)</a>
|
||||
|
||||
</body>
|
||||
</html>
|
40
zh/searchurl/rjs.html
Normal file
40
zh/searchurl/rjs.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>运行javascript脚本</title></head><body>
|
||||
<h3>运行javascript脚本</h3>
|
||||
<p>801+版本远程脚本格式由返回字符串改为返回<span style="color: red;">url数组</span></p>
|
||||
|
||||
<p><a href="../sitejs/">特定网址用户脚本</a></p>
|
||||
<p><b>全局脚本</b>位于js子目录, 长按[☰]按钮配置。点击以下链
|
||||
接安装:<br>
|
||||
<a target=_self" href="i:0h/sdcard/uweb/js/记住密码.js:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/passwdsave.js">记住密码</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/js/极速网页.js:https://fastly.jsdelivr.net/npm/instant.page">极速网页</a></p>
|
||||
|
||||
<p><b>大型脚本</b>可安装到"/sdcard/uweb/bookmarklet"目录下(长按js按钮):<br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/bookmarklet/google翻译.js:https://fastly.jsdelivr.net/gh/damengzhu/js1@main/element.js:%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翻译</a><br>
|
||||
<a target="_self" href='i:0h/sdcard/uweb/bookmarklet/eruda.js:https://fastly.jsdelivr.net/npm/eruda:%0Aeruda.init()'>Eruda</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/bookmarklet/彩云小译.js:https://caiyunapp.com/dest/trs.js">彩云小译</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/bookmarklet/performance.js:https://fastly.jsdelivr.net/gh/micmro/performance-bookmarklet/dist/performanceBookmarklet.min.js">Performance</a><br>
|
||||
<a target="_self" href="i:0h/sdcard/uweb/bookmarklet/移除覆盖物.js:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/bml/content/rmo.js">移除覆盖物</a><br>
|
||||
</p>
|
||||
|
||||
<p><b>远程脚本</b>配置文件default.rjs样列如下,点击以下链接
|
||||
自动安装 (清空后台重启浏览器,长按搜索按钮,则弹出远程脚本菜
|
||||
单):<br>
|
||||
|
||||
<a href="i:04彩云小译:['https://caiyunapp.com/dest/trs.js']">彩云小译:['https://caiyunapp.com/dest/trs.js']</a><br><br>
|
||||
<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><br><br>
|
||||
<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><br><br>
|
||||
<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><br><br>
|
||||
<a href="i:04显示数学公式:['https://fastly.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js']">显示数学公式:['https://fastly.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js']</a><br><br>
|
||||
<a href="i:04md内容的html文件显示:['https://fastly.jsdelivr.net/npm/mdme']">md内容的html文件显示:['https://fastly.jsdelivr.net/npm/mdme']</a><br><br>
|
||||
<a href="i:04md+tex内容的html文件:['https://fastly.jsdelivr.net/npm/texme']">md+tex内容的html文件:['https://fastly.jsdelivr.net/npm/texme']</a><br><br>
|
||||
<a href="i:04新窗口打开链接:;let d=document;b=d.createElement('base');b.setAttribute('target','_blank');d.head.appendChild(b)">新窗口打开链接:;let d=document;b=d.createElement('base');b.setAttribute('target','_blank');d.head.appendChild(b)</a><br><br>
|
||||
<a href="i:04站内搜索:;open('i:15site:' + location.hostname)">站内搜索:;open('i:15site:' + location.hostname)</a><br><br>
|
||||
<a href="i:04编辑器拼写检查:;let t=document.getElementsByTagName('textarea');let v=t[0].spellcheck;if(v==null)v=false;t[0].spellcheck=!v">编辑器拼写检查:;let t=document.getElementsByTagName('textarea');let v=t[0].spellcheck;if(v==null)v=false;t[0].spellcheck=!v</a><br><br>
|
||||
</p>
|
||||
<p>远程及小型脚本可安装到default.rjs文件中。远程脚本对CSP网站仍然有效。(勾选"网址附加内容"并添加空文件"siteextra/[完整域名].html"亦可同样解决CSP问题):<br><a target="_self" href="i:0g/sdcard/uweb/default.rjs:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/txt/rjs.cfg">点击安装google翻译、背景图等</a></p>
|
||||
<p>远程脚本配置文件/sdcard/uweb/default.rjs每行格式如下 (url部分支持js代码运算):<br>[远程脚本名]:[返回url数组的javascript代码]</p>
|
||||
<p>其中url可以为<a href="../html5">本地html5应用</a>脚本地址。譬如'https://local/sdcard/uweb/app[XXX]/....../[XXX].js'。此时,js脚本也可使用<a href="../links">.link文件</a>方式调用。</p>
|
||||
|
||||
|
||||
</body></html>
|
7
zh/searchurl/script/axel.sh
Normal file
7
zh/searchurl/script/axel.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
apt update
|
||||
apt upgrade
|
||||
apt install axel
|
||||
(cat /sdcard/uweb/default.longclick;cat<<HERE )|awk '!s[$0]++'>a.tmp;mv a.tmp /sdcard/uweb/default.longclick
|
||||
axel::cd /sdcard/Download;axel -n 9
|
||||
HERE
|
||||
|
13
zh/searchurl/script/baidupcs.sh
Normal file
13
zh/searchurl/script/baidupcs.sh
Normal file
|
@ -0,0 +1,13 @@
|
|||
(cat /data/data/com.termux/files/usr/etc/apt/sources.list;cat<<EOF )|awk '!s[$0]++'>a.tmp;mv a.tmp /data/data/com.termux/files/usr/etc/apt/sources.list
|
||||
deb [trusted=yes] http://termux.iikira.com stable main
|
||||
EOF
|
||||
|
||||
apt update
|
||||
apt upgrade
|
||||
apt install baidupcs-go
|
||||
BaiduPCS-Go config set -appid=266719
|
||||
(cat /sdcard/uweb/default.longclick;cat<<HERE )|awk '!s[$0]++'>a.tmp;mv a.tmp /sdcard/uweb/default.longclick
|
||||
百度离线下载:/data/data/com.termux/files/usr/bin/BaiduPCS-Go od add
|
||||
HERE
|
||||
BaiduPCS-Go login
|
||||
|
5
zh/searchurl/script/bc.sh
Normal file
5
zh/searchurl/script/bc.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
pkg install bc
|
||||
(cat<<EOF ;cat /sdcard/uweb/default.acmd)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.acmd
|
||||
超级计算器:text/html:echo "%s"|bc -l -q
|
||||
EOF
|
||||
|
1
zh/searchurl/script/disable_sh.sh
Normal file
1
zh/searchurl/script/disable_sh.sh
Normal file
|
@ -0,0 +1 @@
|
|||
sed -i '/^sh:/d;/^deb:/d' /sdcard/uweb/default.filecap
|
14
zh/searchurl/script/filecap_app.sh
Normal file
14
zh/searchurl/script/filecap_app.sh
Normal file
|
@ -0,0 +1,14 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.filecap)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.filecap
|
||||
m3u8:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
mp3:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
||||
m4b:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
||||
mp4:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
mkv:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
doc::am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/vnd.ms-word"
|
||||
xls::am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/vnd.ms-excel"
|
||||
ppt::am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/vnd.ms-powerpoint"
|
||||
docx::am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
||||
xlsx::am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||
pptx::am start --user 0 -a android.intent.action.VIEW -d "%u" -t "application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
||||
EOF
|
||||
|
14
zh/searchurl/script/filecap_microsoft.sh
Normal file
14
zh/searchurl/script/filecap_microsoft.sh
Normal file
|
@ -0,0 +1,14 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.filecap)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.filecap
|
||||
m3u8:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
mp3:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
||||
m4b:text/html:echo '<audio controls width=100% height=100%><source src="%u"></audio>'
|
||||
mp4:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
mkv:text/html:echo '<video controls width=100% height=100%><source src="%u"></video>'
|
||||
doc:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
xls:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
ppt:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
docx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
xlsx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
pptx:uweb:echo https://view.officeapps.live.com/op/view.aspx?src=%U
|
||||
EOF
|
||||
|
4
zh/searchurl/script/filecap_search.sh
Normal file
4
zh/searchurl/script/filecap_search.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.filecap)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.filecap
|
||||
search:termux/*:!mkdir search;cd search;curl %u>%s;
|
||||
EOF
|
||||
|
1
zh/searchurl/script/filecap_sh.sh
Normal file
1
zh/searchurl/script/filecap_sh.sh
Normal file
|
@ -0,0 +1 @@
|
|||
echo 'sh:termux/*:!bash <(curl -s %''u)'>>/sdcard/uweb/default.filecap
|
8
zh/searchurl/script/filecap_tar.sh
Normal file
8
zh/searchurl/script/filecap_tar.sh
Normal file
|
@ -0,0 +1,8 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.filecap)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.filecap
|
||||
txt:text/plain:curl -r 0-10240 -s "%u"
|
||||
tar.xz:text/plain:curl -r 0-10240 -s "%u"|tar -J -t
|
||||
tar.gz:text/plain:curl -r 0-10240 -s "%u"|tar -J -t
|
||||
tgz:text/plain:curl -r 0-10240 -s "%u"|tar -J -t
|
||||
tar:text/plain:curl -r 0-10240 -s "%u"|tar -t
|
||||
EOF
|
||||
|
7
zh/searchurl/script/filecap_ziprar.sh
Normal file
7
zh/searchurl/script/filecap_ziprar.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.filecap)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.filecap
|
||||
zip:text/plain:curl -r -1024 -s "%u">tmp.zip;unzip -l tmp.zip
|
||||
rar:text/plain:curl -r 0-1024 -s "%u">tmp.rar;unrar l tmp.rar
|
||||
EOF
|
||||
apt install unzip unrar
|
||||
|
||||
|
7
zh/searchurl/script/gnuplot.sh
Normal file
7
zh/searchurl/script/gnuplot.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
pkg install gnuplot
|
||||
(cat<<EOF ;cat /sdcard/uweb/default.acmd)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.acmd
|
||||
命令:text/plain:%s
|
||||
函数作图:image/svg+xml:gnuplot -e 'set term svg;set output; plot %s'
|
||||
函数作图(3d):image/svg+xml:gnuplot -e 'set term svg;set output; splot %s'
|
||||
EOF
|
||||
|
4
zh/searchurl/script/histuniq.sh
Normal file
4
zh/searchurl/script/histuniq.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.cmds)|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/default.cmds
|
||||
历史记录去重::awk -F'\t' '!s[\$2]++' /sdcard/uweb/history.log>a.tmp;mv a.tmp /sdcard/uweb/history.log
|
||||
EOF
|
||||
|
29
zh/searchurl/script/hosts_ad.sh
Normal file
29
zh/searchurl/script/hosts_ad.sh
Normal file
|
@ -0,0 +1,29 @@
|
|||
(cat<<EOF ;cat /sdcard/uweb/default.hosts)|awk '!s[$0]++'>a.tmp;mv a.tmp /sdcard/uweb/default.hosts
|
||||
lianmeng.360.cn
|
||||
appjiagu.com
|
||||
adm-cnzz.net
|
||||
alimama.com
|
||||
ipinyou.com
|
||||
mct01.com
|
||||
tanx.com
|
||||
wrating.com
|
||||
cpro.baidu.com
|
||||
pos.baidu.com
|
||||
share.baidu.com
|
||||
bcebos.com
|
||||
e.qq.com
|
||||
gdt.qq.com
|
||||
l.qq.com
|
||||
push.qq.com
|
||||
beacon.sina.com.cn
|
||||
mix.sina.com.cn
|
||||
go.sohu.com
|
||||
inte.sogou.com
|
||||
epro.sogou.com
|
||||
golden1.sogou.com
|
||||
uranus.sogou.com
|
||||
inte.sogoucdn.com
|
||||
lu.sogoucdn.com
|
||||
theta.sogoucdn.com
|
||||
ad.xiaomi.com
|
||||
EOF
|
2
zh/searchurl/script/js_caiyun.sh
Normal file
2
zh/searchurl/script/js_caiyun.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
mkdir -p /sdcard/uweb/bookmarklet
|
||||
curl 'https://caiyunapp.com/dest/trs.js' >/sdcard/uweb/bookmarklet/彩云小译.js
|
4
zh/searchurl/script/xzdic.sh
Normal file
4
zh/searchurl/script/xzdic.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
apt install less
|
||||
cd /sdcard/uweb/dict
|
||||
(cat /sdcard/uweb/home5.search;ls *.xz|awk '{print $0 ":c:xz -cdfq -- /sdcard/uweb/dict/" $0,"|less -n +\"/^####%s\""}')|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/home5.search
|
||||
|
4
zh/searchurl/script/xzgrep.sh
Normal file
4
zh/searchurl/script/xzgrep.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
apt install xz-utils grep less
|
||||
cd /sdcard/uweb/dict
|
||||
(cat /sdcard/uweb/home5.search;ls *.xz|awk -F: '{print $0 "G:c:xz -cdfq /sdcard/uweb/dict/" $0,"|grep -i \\\\'%s\\\\'|less" }')|awk -F: '!s[$1]++'>a.tmp;mv a.tmp /sdcard/uweb/home5.search
|
||||
|
153
zh/searchurl/sdcard/uweb/bookmark/movie_zh.search
Normal file
153
zh/searchurl/sdcard/uweb/bookmark/movie_zh.search
Normal file
|
@ -0,0 +1,153 @@
|
|||
OK资源(💯):http://okzyzy.cc/index.php?m=vod-search&wd=
|
||||
乐猫TV-30ts(💯):http://www.30ts.com/index.php?m=vod-search&&wd=
|
||||
zuidazy:http://zuidazy1.net/index.php?m=vod-search&wd=
|
||||
八戒资源(💯):http://zy.bajieziyuan.com/index.php?m=vod-search&wd=
|
||||
嘀哩哩TV(💯):https://www.dlili.tv/?s=
|
||||
007影视(优+):https://www.007ts.com/search/-------------.html?wd=
|
||||
皮皮龟(优+):https://m.pipigui.cc/vod-search-wd-%s-p-1.html
|
||||
笨笨鸡(优+):http://m.benbenji.com/index.php?s=vod-search-wd-%s.html
|
||||
狗带TV(优+):http://www.vultr1.com/search.php?searchword=
|
||||
TV6(优+):https://www.tv6.com/index.php/vod/search.html?wd=%s&submit=
|
||||
乐猫TV(优+):http://m.lemaotv.net/search-pg-1-wd-%s.html
|
||||
VIP影院(优+):https://7k.yixiangyh.com/index.php/vod/search.html?wd=
|
||||
156资源(优+):http://156zy.cc/index.php?m=vod-search&wd=
|
||||
131资源(优+):http://131zy.vip/index.php?m=vod-search&wd=
|
||||
在线之家(优+):https://www.zxzjs.com/vodsearch/-------------.html?wd=
|
||||
速播资源(优):https://www.subo8988.com/index.php?m=vod-search&wd=
|
||||
6U资源(优):http://zy.ataoju.com/index.php?m=vod-search&submit=search&wd=
|
||||
Go1977资源(优):http://www.go1977.com/index.php?m=vod-search&wd=
|
||||
精品资源(优):http://www.jingpinzy.com/index.php?m=vod-search&wd=
|
||||
安亚弦视频(优):https://v.anyaxian.cn/vod/search.html?wd=
|
||||
4K屋(优):http://m.kkkkmao.com/vod-search-wd-%s.html
|
||||
365天天看(优):http://www.365ttk.com/vodsearch/-------------.html?wd=
|
||||
最大资源4(优):http://zuidazy.net/index.php?m=vod-search&wd=
|
||||
酷云资源(优):http://www.kuyunzy.cc/search.asp?searchword=
|
||||
我爱资源(优):http://www.5252zy.com/search.asp?searchword=
|
||||
222资源(优):http://www.222zy.com/index.php?m=vod-search&wd=
|
||||
最新资源网-推荐(优):http://www.zuixinzy.com/index.php?m=vod-search&wd=
|
||||
酷播资源-推荐(优):http://www.kubozy.net/index.php?m=vod-search&wd=
|
||||
135资源网(优):http://135zyw.com/index.php?m=vod-search&wd=
|
||||
605资源(优):http://www.605zy.com/index.php?m=vod-search&wd=
|
||||
火腿影视网(优):http://www.hamysw.com/index.php/vod/search/wd/%s.html
|
||||
强强资源(优):http://caiji.000o.cc/index.php?m=vod-search&wd=
|
||||
资源盘(优):http://www.ziyuanpian.com/index.php?m=vod-search&wd=
|
||||
看看屋(优-):https://m.kankanwu.com/vod-search-wd-%s-p-1.html
|
||||
云播TV(优-):https://www.yunbtv.com/search.php?searchword=
|
||||
YYFF电影网(优-):https://m.97yyff.com/vod-search-wd-
|
||||
卧龙资源.net(优-):http://wolongzy.net/search.html?searchword=
|
||||
卧龙资源.cc(优-):http://wlziyuan.cc/search.html?searchword=
|
||||
坑搜网盘:http://www.kengso.com/s?wd=
|
||||
58网盘:http://m.58wangpan.com/so?keyword=%s&page=1&url_path=so
|
||||
永久资源:http://yongjiuzy.net/index.php?m=vod-search&wd=
|
||||
GimyTV:http://in.gimy.tv/search.php?searchword=
|
||||
看吧影院:http://m.aaqqy.com/vod-search-wd-%s.html
|
||||
奇影酷:http://m.qydy8.com/vod-search-pg-1-wd-%s.html
|
||||
奇奥影视:http://www.qiaotv.cc/search.php?searchword=
|
||||
思古影视:http://v.sigu.me/search.php?wd=
|
||||
百万资源网:http://www.baiwanzy.com/index.php?m=vod-search&wd=
|
||||
就找大猫影院:http://www.885nm.com/search?wd=
|
||||
暧昧资源网:http://www.imeizy.com/index.php?m=vod-search&wd=
|
||||
没事影院:http://m.8mmj.com/search.php?searchword=
|
||||
柠檬观看网:http://www.nmgk.com/index.php?s=vod-search-name&wd=
|
||||
久久看影院:https://www.99kvod.com/vod/search/wd/%s/
|
||||
超牛资源网-推荐:http://zy.wlzhan.com//index.php?m=vod-search&wd=
|
||||
凶间影院:http://www.xiongjian44.com/index.php?m=vod-search&wd=
|
||||
初心视频:http://v.bwcxy.com/vodsearch/-------------.html?wd=
|
||||
卧龙资源:https://wlziyuan.cc/search.html?searchword=
|
||||
快牛影院:http://dianying333.cn:443/index.php?m=vod-search&wd=
|
||||
鬼马影院:http://www.dy821.cn/index.php?m=vod-search-wd-%s.html
|
||||
新片屋电影:https://www.xinpianwu.com/index.php?m=vod-search&wd=
|
||||
77K影院:http://www.77kyy.com/vod-search-wd-%s.html
|
||||
7K电影:http://www.hk7k.com/ssvod-%s-1.html
|
||||
星梦电影网:https://www.52xmw.com/index.php/vod/search.html?wd=
|
||||
樱花动漫:http://m.imomoe.net/search.asp?searchword=
|
||||
搁浅影视:http://www.gqtv.vip/index.php/vod/search/wd/%s.html
|
||||
全家看:http://www.tpodgd.cn/index.php/vod/search/wd/%s.html
|
||||
快看影视:https://m.kuaikan66.com/search/%s.html
|
||||
BT云搜:http://www.btyunsou.info/search?kw=
|
||||
苦瓜影院V2:http://2.mp4l.com/?m=vod-search&wd=
|
||||
88影视V2:http://m.88ysw.tv/index.php?m=vod-search&wd=
|
||||
1907VIP:https://z1.m1907.cn/?jx=
|
||||
BT天堂:http://www.3bt.cc/vod-search-wd-%s.html
|
||||
91美剧:http://91mjw.com/?s=
|
||||
八点影院:https://www.bdhdy.com/search.php?&searchword=%s&searchtype=
|
||||
1787电影3:http://www.1787.tv/index.php?m=vod-search&wd=
|
||||
海龟影院:http://www.hgyxz.cc/vod-search-wd-%s.html
|
||||
2678资源:http://www.dy2678.com/index.php?m=vod-search&wd=
|
||||
全视频:http://www.qsptv.com/search/?wd=
|
||||
思古影视:http://v.bbbbbb.me/search/?so=
|
||||
高清资源:http://gaoqingzy.com/index.php?m=vod-search&wd=
|
||||
BT蜘蛛:http://www.zhizhud.com/q?kw=
|
||||
mp4吧:http://www.mp4pa.com/search.php?searchword=
|
||||
豆瓣电影only:https://m.douban.com/search/?query=
|
||||
觅片网:http://tv.cqyes.cn/index.php/vod/search.html?wd=
|
||||
尘落电影网:https://www.50s.wang/?c=search&wd=
|
||||
初夏影院:http://v.chuxiawl.com/search/%s.html
|
||||
火腿影视网:https://www.hamysw.com/index.php/vod/search/wd/%s.html
|
||||
叶子影院:http://www.79tv.com/search.php?searchword=
|
||||
19影视:https://www.19kan.com/vodsearch.html?wd=
|
||||
酷视猪影视:http://qq.a3l3.cn/search/%s.html
|
||||
口袋影院:http://www.kdyy.cc/search.php?searchword=
|
||||
胖猫TV:http://v.canyinren.com.cn/search.php?searchword=
|
||||
神马影院:https://m.jiaosm.com/search/-------------.html?wd=
|
||||
嗨哆咪影视:http://m.haiduomi.com/search.html?wd=
|
||||
柠檬影院:https://www.317ka.com/vodsearch/-------------.html?wd=
|
||||
CK电影网:http://m.ckck.vip/search/?Key=
|
||||
海兔影院:http://www.haitum.com/search/
|
||||
发烧屋:http://www.hifiwu.com/index.php?s=/vod-search-wd-%s.html
|
||||
7E电影网:http://www.7edy.net/index.php?m=vod-search&wd=
|
||||
扒一剧:http://www.81ju.cn/index.php?m=vod-search&wd=
|
||||
Q2002影视院:http://www.wmxwm.com/search?wd=
|
||||
左手吃斋影视:https://v.xiangkanju.com/index.php?m=vod-search&wd=
|
||||
优片库:http://m.iupian.com/index.php?s=vod-search&wd=
|
||||
哇有视频:https://www.wayoutv.com/index.php/vod/search.html?wd=
|
||||
TVK88影视:http://tvk88.net/index.php?m=vod-search-wd-
|
||||
极品影视:http://m.jipinys.cc/search/?wd=
|
||||
院线电影:http://apis.xiexie.fun/index.php/vod/search.html?wd=
|
||||
看剧吧:http://www.kanjuba.tv/search.php?searchword=
|
||||
影视精灵:http://www.ysjltv.com/index.php?m=vod-search&wd=
|
||||
烽火影视2:https://m.fenghuo.tv/search/?wd=
|
||||
92TV电影网:http://www.92tv.cc/index.php?m=vod-search&wd=
|
||||
新剧集影院:http://www.xinjuji.com/search.asp?searchword=
|
||||
233电影网:https://www.233dyw.com/vodsearch/-------------/?wd=
|
||||
豌豆影视:https://www.wandouys.com/video/search/%s.html
|
||||
放放TV:https://m.fangfangtv.net/search/?wd=
|
||||
扎巴野影院:http://www.zabaye.com/search.php?searchword=
|
||||
就要玩电影:http://www.915dy.com/index.php?m=vod-search&wd=
|
||||
1717资源:http://zy.itono.cn/index.php?m=vod-search&wd=
|
||||
电影天堂:http://2w2w.tv/index.php?m=vod-search&wd=
|
||||
青苹果影院:http://www.hnyue.com/index.php/vod/search.html?wd=
|
||||
恐怖世界:http://www.kongbu44.com/index.php?m=vod-search&wd=
|
||||
看电影:http://www.kandy.cc/?s=search-index-wd-%s.html
|
||||
筋斗云资源:http://www.jdyzy.cc/index.php?m=vod-search&wd=
|
||||
追剧窝:http://yd.junjunys.vip/index.php?m=vod-search&wd=
|
||||
要爱电影:https://www.12dvd.com/search/?wd=
|
||||
琪琪影院:https://m.qiqi321.com/index.php?m=vod-search&&wd=
|
||||
七七铺:http://m.qiqipu.com/search.asp?searchword=
|
||||
人人视频3:http://www.rrdvd.cn/index.php/vod/search.html?wd=
|
||||
唐末:http://m.cctv-yn.cn/index.php/vod/search/page/1/wd/%s.html
|
||||
九八零影院:https://www.tv980.com/search.php?page=1&searchword=%s&searchtype=
|
||||
风车动漫2:http://m.fengchedm.com/common/search.aspx?key=
|
||||
黑米影院:http://www.heimidy.cc/search.php?searchword=
|
||||
99496动漫:http://www.99496.com/search/%s.html
|
||||
搜播影院:https://m.sobo.me/index.php?m=vod-search&wd=
|
||||
首播影院:http://m.aaqqc.com/vod-search-pg-1-wd-%s.html
|
||||
全能影视:http://so.qnvod.net:8881?searchtype=vodsearch&keyword=%s&keytype=1
|
||||
豆瓣资源:http://doubanzy.com/index.php?m=vod-search&wd=
|
||||
最大资源网-推荐:http://zuidazy.com/index.php?m=vod-search&wd=
|
||||
思古影视:http://v.sigu.me/search.php?wd=
|
||||
01资源网:http://www.01zy.com/index.php?m=vod-search&wd=
|
||||
被窝电影网:http://m.beiwo.tv/index.php?s=vod-search-wd-%s-p-1.html
|
||||
88影视:http://m.88ys.tv/index.php?m=vod-search&wd=
|
||||
看看屋:http://m.kankanwu.com/vod-search-wd-%s-p-1.html
|
||||
神马影院:http://www.9rsm.com/search?wd=
|
||||
卡哇猪:http://www.kwpig.com/sousuo-%s-p-1.html
|
||||
粤之家:http://m.yuezj.com/index.php?m=vod-search&wd=
|
||||
琪琪影院:http://m.77kp.com/index.php?m=vod-search&&wd=
|
||||
泡泡影视:http://m.ppys.vc/tv-search-wd-%s.html
|
||||
蓝海视频:http://v.yingselanhai.com/seacher.php?sousuo=
|
||||
磁力屋:https://www.cl5.org/kw/%s.html
|
||||
新世界动漫:http://m.x4jdm.com/vod-search?wd=
|
||||
一部影院:http://www.yibuyy.com/search.php?searchword=
|
||||
一米猫迅雷:https://m.yimimao.com/vod-search-wd-%s-p-1.html
|
||||
网盘007:https://m.wangpan007.com/wap/search?keyword=
|
135
zh/searchurl/sdcard/uweb/bookmark/novel_zh.search
Normal file
135
zh/searchurl/sdcard/uweb/bookmark/novel_zh.search
Normal file
|
@ -0,0 +1,135 @@
|
|||
稻草人书屋:http://www.daocaorenshuwu.com/plus/search.php?q=
|
||||
网易云阅读:http://yuedu.163.com/search.do?type=4&key=
|
||||
17k小说网:http://search.17k.com/search.xhtml?c.st=0&c.q=
|
||||
顶点208:https://www.208xs.com/searchbook.php?search_key=
|
||||
无弹窗小说网:http://www.22ff.org/s_
|
||||
铅笔小说:https://www.23qb.com/modules/article/search.php?searchkey=
|
||||
天籁小说:https://www.23txt.com/search.php?keyword=
|
||||
2K小说:https://m.2kxs.com/modules/article/search.php?searchtype=keywords&searchkey=
|
||||
31小说网:POST:keyword=%s:http://www.xx31xs.org/search.php
|
||||
官术网:http://www.3dllc.cc/search.php?keyword=
|
||||
3G书城:POST:keytype=0&search_key=%s&ver=new:http://www.3gsc.com.cn/search/index/show/pic
|
||||
风雨小说:http://www.44pq.cc/modules/article/search.php?searchtype=articlename&searchkey=
|
||||
武林中文网:https://www.50zw.la/modules/article/search.php?searchkey=
|
||||
55小说:POST:searchkey=%s&searchtype=articlename:http://www.liushuba.com/modules/article/search.php
|
||||
56书库:http://zhannei.baidu.com/cse/search?s=8536225359155591069&entry=1&ie=gbk&q=
|
||||
无限小说:http://www.61ww.com/modules/article/search.php?searchkey=
|
||||
恋上你看书网:http://zhannei.baidu.com/cse/search?s=13795276983184408042&ie=gbk&q=
|
||||
88读书:http://www.88dushu.com/search/so.php?search_field=0&q=
|
||||
88小说:http://www.88xiaoshuo.com/modules/article/search.php?searchkey=
|
||||
九九藏书:http://www.99lib.net/book/search.php?s=13139900387823019677&type=%E7%AB%99%E5%86%85&q=
|
||||
九桃小说:POST:searchkey=%s:https://www.9txs.com/search.html
|
||||
爱尚小说:http://www.a306.com/modules/article/soso.php?searchkey=%s&searchtype=articlename
|
||||
ABC小说网:http://www.abcxs.com/s.php?s=3166108066185075505&ie=gbk&q=
|
||||
阿里文学:http://www.aliwx.com.cn/search?keyword=
|
||||
百书斋:https://baishuzhai.com/searchbook.php?keyword=
|
||||
八月居小说:http://www.bayueju.com/Search/Index/lists.html?g=Search&m=Index&a=lists&type=title&keyword=
|
||||
笔趣馆:https://sou.xanbhx.com/search?siteid=biquguancom&q=
|
||||
笔趣库:https://sou.xanbhx.com/search?t=920895234054625192&siteid=biqukuco&q=
|
||||
QQ阅读:http://chuangshi.qq.com/search/searchindex/type/all/wd/%s.html
|
||||
创世中文网:http://chuangshi.qq.com/search/searchindex/type/all/wd/%s.html
|
||||
创世中文网:http://chuangshi.qq.com/search/searchindex/type/all/wd/%s.html
|
||||
子午书简:https://5kindle.com/?s=
|
||||
精品电子书下载:https://bookset.me/search/
|
||||
掌上书苑:POST:q=%s:https://www.soepub.com/search/index/
|
||||
爱下电子书:https://www.ixdzs.com/bsearch?q=
|
||||
苦瓜书盘:POST:keyboard=%s&show=title%2Cbooksay%2Cbookwriter&tbname=download&tempid=1:https://www.kgbook.com/e/search/index.php
|
||||
我的小书屋:http://mebook.cc/?s=
|
||||
书荒部落:http://noveless.com/?s=
|
||||
盘多多:http://www.panduoduo.net/s/comb/n-%s&f-f2
|
||||
请看小说网:POST:show=title%2Csmalltext%2Cwriter&tbname=txt&tempid=1&keyboard=%s&Submit22=%CB%D1%CB%F7:https://www.qinkan.net/e/search/index.php
|
||||
书语者:https://book.shuyuzhe.com/search/
|
||||
添喜郎:POST:hh=LK&show=title%2Csoftwriter&keyboard=%s&Submit22=%E6%90%9C%E7%B4%A2:https://www.tianxilang.com/e/search/index.php
|
||||
知轩藏书:http://www.zxcs8.com/?keyword=
|
||||
读一读:http://du1du.org/search.htm?keyword=
|
||||
QQ读书:http://chuangshi.qq.com/search/searchindex/type/all/wd/%s.html
|
||||
读书369:http://www.dushu369.com/book/search.asp?Keyword=%s&select=Article&Field=Title
|
||||
读书族:http://www.dushuzu.com/modules/article/search.php?searchkey=
|
||||
飞卢小说:http://b.faloo.com/l/0/1.html?t=1&k=
|
||||
风华居:http://www.fenghuaju.cc/search.php?searchkey=
|
||||
凤鸣轩:http://so.fmx.cn/so/?q=%s&f=_all&ie=gbk
|
||||
格格党:http://zhannei.baidu.com/cse/search?s=10855655014424708676&ie=gbk&q=
|
||||
长佩文学:https://www.gongzicp.com/novel/search/novel/novel/keyword/
|
||||
刺猬猫(欢乐书客):http://www.ciweimao.com/get-search-book-list/%s/1
|
||||
黑岩阅读网:http://www.heiyan.com/search/?queryString=
|
||||
恒言中文网:http://www.hengyan.com/so/?key=%s&s=
|
||||
顺隆书院:https://www.hkslg.net/modules/article/search.php?searchkey=
|
||||
红薯中文网:POST:keyword=%s&keytype=1:http://www.hongshu.com/bookstore.html
|
||||
红袖添香:https://www.hongxiu.com/search?kw=
|
||||
花语女生网:http://search.zongheng.com/search/all/%s/1.html
|
||||
iCiyuan轻小说:http://www.iciyuan.com/index.php/search#keyword=
|
||||
凤凰书城:POST:query=%s:http://www.yc.ifeng.com/book/search/
|
||||
轻文轻小说:https://www.iqing.in/worksearch/#/?q=%s&type=book
|
||||
掌阅小说网:http://yc.ireader.com.cn/books/k%s/
|
||||
爱下电子书:https://www.ixdzs.com/bsearch?q=
|
||||
鲸鱼阅读:http://www.jingyu.com/search/?kw=
|
||||
晋江文学城:http://www.jjwxc.net/search.php?kw=%s&t=1
|
||||
聚书名网:POST:action=search&q=%s:http://www.jsmw266.com/home/search.html
|
||||
卡夜阁:https://m.kayege.com/index/so?searchkey=
|
||||
啃文书库:http://zhannei.baidu.com/cse/search?s=14794566617686326772&entry=1&q=
|
||||
小说大全:http://book.km.com/search.html?search_type=&keyword=
|
||||
连城读书:http://my.lc1001.com/esou/q?dowhat=query&kw=%s&type=1000
|
||||
乐文小说:POST:searchkey=%s:http://www.lewenxiaoshuo.com/novel.php?action=search
|
||||
猎文网:https://www.liewen.cc/search.php?keyword=
|
||||
领域文学:POST:searchkey=%s:https://www.lingyu.org/modules/article/search.php
|
||||
凌云文学网:http://www.lingyun5.com/index.php/Book/Booklist/?key=
|
||||
轻之文库:http://www.linovel.net/search/?kw=
|
||||
阅文书城:https://mcp.yuewen.com/moon/search.html?wd=
|
||||
妙笔读:http://www.miaobidu.com/search.html?searchtype=novelname&searchkey=
|
||||
笔趣阁:http://www.mibaoge.com/search.php?keyword=
|
||||
陌上香坊:http://so.msxf.net/book/search/?t=all&q=
|
||||
亚马逊图书:https://www.amazon.cn/s/ref=nb_sb_noss_2?url=search-alias%3Dstripbooks&field-keywords=
|
||||
中国图书网:http://www.bookschina.com/book_find2/?stp=%s&sCate=0
|
||||
当当读书:http://e.dangdang.com/media/h5/ddreader50/search-page.html?keyword=
|
||||
豆瓣读书:https://book.douban.com/subject_search?search_text=%s&cat=1001
|
||||
中国国家图书馆:http://find.nlc.cn/search/doSearch?actualQuery=
|
||||
泡书吧:http://www.paoshuba.cc/modules/article/search.php?searchkey=
|
||||
品书文学:http://www.pinshu.com/search?searchkey=
|
||||
飘柔文学:http://www.prwx.com/novel.php?action=search&searchtype=articlename&searchkey=
|
||||
起点中文网:https://m.qidian.com/search?kw=
|
||||
奇迹作品:https://www.qijizuopin.com/search/
|
||||
求小说网:http://www.qiuxiaoshuo.com/search.htm?keyword=
|
||||
秋语阁小说:POST:searchkey=%s:https://www.qiuyuge.org/modules/article/search.php
|
||||
棋子小说:POST:searchkey=%s:http://www.qizi.la/modules/article/search.php
|
||||
全书网:http://www.quanshuwang.com/modules/article/search.php?searchkey=%s&searchtype=articlename
|
||||
小说阅读网:https://m.readnovel.com/search?kw=
|
||||
SF轻小说:http://s.sfacg.com/?Key=%s&S=1&SS=0
|
||||
书林文学:http://zhannei.baidu.com/cse/search?s=11488190379777616912&entry=1&ie=gbk&q=
|
||||
书荒啦:https://sou.xanbhx.com/search?siteid=shuhuanglacom&t=920895234054625192&q=
|
||||
书农文学:POST:tbname=bookname&show=title&tempid=1&keyboard=%s:http://www.qxswk.com/e/search/index.php
|
||||
书山中文网:http://yc.ireader.com.cn/books/k%s/
|
||||
四大名著文学网:https://book.sidamingzhu.org/modules/article/search.php?searchtype=all&searchkey=
|
||||
思路客小说:https://www.siluke.tw/search.php?keyword=
|
||||
新浪小说:http://vip.book.sina.com.cn/weibobook/search.php?sk=
|
||||
少年文学:http://www.snwx8.com/modules/article/search.php?searchkey=
|
||||
多多看书(搜狗):https://xiaoshuo.sogou.com/0_0_0_0_heat/?keyword=
|
||||
随想轻小说:POST:searchtype=articlename&searchkey=%s:http://book.suixw.com/modules/article/search.php
|
||||
速阅阁:POST:searchkey=%s:http://www.suyuege.com/modules/article/uso.php
|
||||
书香云集:http://www.sxyj.net/Book_Search.html?keyword=
|
||||
塔读文学:POST:query=%s:http://www.tadu.com/search
|
||||
铁血读书:https://book.tiexue.net/SearchResults.aspx?keywords=%s&noveltype=0
|
||||
uc书盟:http://www.uctxt.com/modules/article/search.php?searchkey=
|
||||
U小说:https://www.uxiaoshuo.com/searchbook.php?keyword=
|
||||
望书阁:http://zhannei.baidu.com/cse/search?s=8391094249448323495&entry=1&ie=gbk&q=
|
||||
文学迷:http://www.wenxuemi.com/search.php?keyword=
|
||||
无图小说网:POST:searchtype=articlename&searchkey=%s:http://www.wutuxs.com/modules/article/search.php
|
||||
梧州中文台:http://www.wzzw.tv/search.htm?keyword=
|
||||
小红花阅读网:https://xhhread.com/lib/searchStoryByKeyword.jhtml?keyword=
|
||||
香网言情小说:http://www.xiang5.com/search.php?keyword=
|
||||
小说族:http://www.xiaoshuozu.com/s.php?ie=gbk&q=
|
||||
言情小说吧:https://www.xs8.cn/search?kw=
|
||||
新笔趣阁:https://www.xxbiquge.com/search.php?keyword=
|
||||
潇湘书院:http://www.xxsy.net/search?s_wd=
|
||||
雅文小说:https://www.yawenb.com/modules/article/search.php?searchtype=keywords&ie=gbk&searchkey=
|
||||
衍墨轩:http://www.ymoxuan.com/search.htm?keyword=
|
||||
云来阁:POST:searchkey=%s:http://www.yunlaige.com/modules/article/search.php
|
||||
云起书院:http://chuangshi.qq.com/search/searchindex/type/all/wd/%s.html
|
||||
着笔中文:https://www.zbzw.la/s.php?ie=gbk&q=
|
||||
斋书苑:POST:s=%s:https://www.zhaishuyuan.com/search/
|
||||
爪机书屋:POST:searchKey%s:https://www.zhuaji.org/search/3673/1.html
|
||||
追书网:https://www.zhuishu.tw/search.aspx?keyword=
|
||||
逐浪小说:POST:k=%s:http://www.zhulang.com/search/index.html
|
||||
杂志虫:POST:searchkey=%s:https://www.ab74.com/modules/article/search.php
|
||||
纵横中文网:http://search.zongheng.com/search/all/%s/1.html
|
||||
E小说:https://www.zwda.com/search.php?keyword=
|
||||
八一中文:https://www.zwdu.com/search.php?keyword=
|
31
zh/searchurl/sdcard/uweb/default.hosts
Normal file
31
zh/searchurl/sdcard/uweb/default.hosts
Normal file
|
@ -0,0 +1,31 @@
|
|||
lianmeng.360.cn
|
||||
appjiagu.com
|
||||
adm-cnzz.net
|
||||
alimama.com
|
||||
ipinyou.com
|
||||
mct01.com
|
||||
tanx.com
|
||||
wrating.com
|
||||
pos.baidu.com
|
||||
union.baidu.com
|
||||
share.baidu.com
|
||||
baidu.com ^.?pro
|
||||
e.qq.com
|
||||
gdt.qq.com
|
||||
l.qq.com
|
||||
beacon.sina.com.cn
|
||||
mix.sina.com.cn
|
||||
sina.com.cn ^(d|ad|sax).$
|
||||
aty.sohu.com
|
||||
go.sohu.com
|
||||
sohu.com
|
||||
inte.sogou.com
|
||||
epro.sogou.com
|
||||
union.sogou.com
|
||||
golden1.sogou.com
|
||||
uranus.sogou.com
|
||||
inte.sogoucdn.com
|
||||
lu.sogoucdn.com
|
||||
theta.sogoucdn.com
|
||||
ad.xiaomi.com
|
||||
ifengimg.com ^/feather/
|
254
zh/searchurl/search.html
Normal file
254
zh/searchurl/search.html
Normal file
|
@ -0,0 +1,254 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>浏览器多搜索引擎一键直达</title></head><body>
|
||||
<h3>浏览器多搜索引擎一键直达</h3>
|
||||
<p>
|
||||
<a href="..">超微浏览器</a>下点击搜索引擎配置链接可自动添加到主屏。</p>
|
||||
|
||||
推荐引擎(将下面文本添加到/sdcard/uweb/home5.search中):<br>
|
||||
|
||||
<p><a href="i:00顺序:i:40%s_00">顺序:i:40%s_00</a></p>
|
||||
<p><a href="i:00google镜像:https://go-xyz.xyz/search?q=">google镜像:https://go-xyz.xyz/search?q=</a></p>
|
||||
<p><a href="i:00apkdl:https://apkdl.in/app/search?q=">apkdl:https://apkdl.in/app/search?q=</a></p>
|
||||
<p><a href="i:00apkbog:https://www.apkbog.com/en/apks/search/">apkbog:https://www.apkbog.com/en/apks/search/</a></p>
|
||||
<p><a href="i:00知乎:https://www.zhihu.com/search?type=content&q=">知乎:https://www.zhihu.com/search?type=content&q=</a></p>
|
||||
<p><a href="i:00bilibili:https://m.bilibili.com/search?keyword=">bilibili:https://m.bilibili.com/search?keyword=</a></p>
|
||||
<p><a href="i:00抖音:https://www.douyin.com/search/%s?source=normal_search">抖音:https://www.douyin.com/search/%s?source=normal_search</a></p>
|
||||
<p><a href="i:00高德地图:https://ditu.amap.com/search?query=">高德地图:https://ditu.amap.com/search?query=</a></p>
|
||||
<p><a href="i:00京东:https://search.jd.com/Search?enc=utf-8&keyword=">京东:https://search.jd.com/Search?enc=utf-8&keyword=</a></p>
|
||||
<p><a href="i:00淘宝:https://taobao.com/search?q=">淘宝:https://taobao.com/search?q=</a></p>
|
||||
<p><a href="i:00苏宁:https://m.suning.com/search/%s/">苏宁:https://m.suning.com/search/%s/</a></p>
|
||||
<p><a href="i:00拼多多:http://mobile.yangkeduo.com/search_result.html?search_key=">拼多多:http://mobile.yangkeduo.com/search_result.html?search_key=</a></p>
|
||||
<p><a href="i:00优惠券:http://mall.yhm11.com/index.php?r=l&kw=">优惠券:http://mall.yhm11.com/index.php?r=l&kw=</a></p>
|
||||
<p><a href="i:00百度图片:http://image.baidu.com/search/index?tn=baiduimage&word=">百度图片:http://image.baidu.com/search/index?tn=baiduimage&word=</a></p>
|
||||
<p><a href="i:00bing图片:http://bing.com/images/search?q=">bing图片:http://bing.com/images/search?q=</a></p>
|
||||
<p><a href="i:00搜狗表情:https://pic.sogou.com/pic/emo/searchList.jsp?keyword=">搜狗表情:https://pic.sogou.com/pic/emo/searchList.jsp?keyword=</a></p>
|
||||
<p><a href="i:00微信:https://weixin.sogou.com/weixin?type=2&s_from=input&query=">微信:https://weixin.sogou.com/weixin?type=2&s_from=input&query=</a></p>
|
||||
<p><a href="i:00大百科全书:http://h.bkzx.cn/search?sublibId=2&query=">大百科全书:http://h.bkzx.cn/search?sublibId=2&query=</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:00维基:POST:kw=%s:https://www.wanweibaike.com/search">维基:POST:kw=%s:https://www.wanweibaike.com/search</a></p>
|
||||
<p><a href="i:00wiki:POST:kw=%s:https://en.wanweibaike.com/search">wiki:POST:kw=%s:https://en.wanweibaike.com/search</a></p>
|
||||
<p><a href="i:00volupedia:https://en.volupedia.org/wiki/Special:Search?search=">volupedia:https://en.volupedia.org/wiki/Special:Search?search=</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:00答案答案:https://daandaan.com/search?q=">答案答案:https://daandaan.com/search?q=</a></p>
|
||||
<p><a href="i:00问答库:https://m.asklib.com/s/">问答库:https://m.asklib.com/s/</a></p>
|
||||
<p><a href="i:00ACG:http://www.acgsou.com/?bound=content&local=1&keyword=">ACG:http://www.acgsou.com/?bound=content&local=1&keyword=</a></p>
|
||||
<p><a href="i:00动漫花园:https://share.dmhy.org/topics/list?keyword=">动漫花园:https://share.dmhy.org/topics/list?keyword=</a></p>
|
||||
<p><a href="i:00末日动漫:https://share.acgnx.se/search.php?keyword=">末日动漫:https://share.acgnx.se/search.php?keyword=</a></p>
|
||||
<p><a href="i:00慢慢买:http://s.manmanbuy.com/default.aspx?key=">慢慢买:http://s.manmanbuy.com/default.aspx?key=</a></p>
|
||||
<p><a href="i:00快搜比价:https://ks.pconline.com.cn/product.shtml?q=">快搜比价:https://ks.pconline.com.cn/product.shtml?q=</a></p>
|
||||
<p><a href="i:00比一比价:http://www.b1bj.com/s.aspx?key=">比一比价:http://www.b1bj.com/s.aspx?key=</a></p>
|
||||
<p><a href="i:00盒子比价:http://www.boxz.com/search/">盒子比价:http://www.boxz.com/search/</a></p>
|
||||
<p><a href="i:00buzz:https://search.buzz.im/?search=">buzz:https://search.buzz.im/?search=</a></p>
|
||||
<p><a href="i:00toplinks:https://www.toplinks.cc/s/?keyword=">toplinks:https://www.toplinks.cc/s/?keyword=</a></p>
|
||||
|
||||
<p>注:顺序搜索需文件engine.search,格式与home5.search相同,但其中url关键词部分必须用“%s”标识。用此引擎搜索的网页按前进键自动用下一引擎搜索。</p>
|
||||
|
||||
<p>除了批量添加引擎外,超微可以将任意支持搜索的网址添加为搜索引擎。方法如下:
|
||||
<ul>
|
||||
<li>访问网站并搜索。</li>
|
||||
<li>按菜单键,没有的话可长按底部工具条前进按钮弹出菜单。</li>
|
||||
<li> 选择"添加为搜索引擎",对话框中将出现的地址适当编辑。不少网址后半部分为用"&"分割的等式,将包含搜索条目的等式移动到最后,删除搜索条目本身,其余等式可删可留。
|
||||
若无等式,一般在网址中直接删除搜索条目本身即可。</li>
|
||||
</ul></p>
|
||||
|
||||
<p>常用引擎,供用户查漏添加:<br>
|
||||
<p><a href="i:00google:https://google.com/search?q=">google:https://google.com/search?q=</a></p>
|
||||
<p><a href="i:00必应:http://cn.bing.com/search?q=">必应:http://cn.bing.com/search?q=</a></p>
|
||||
<p><a href="i:00必应4:http://www4.bing.com/search?q=">必应4:http://www4.bing.com/search?q=</a></p>
|
||||
<p><a href="i:00百度:https://m.baidu.com/s?wd=">百度:https://m.baidu.com/s?wd=</a></p>
|
||||
<p><a href="i:00Fsou:https://fsoufsou.com/search?q=">Fsou:https://fsoufsou.com/search?q=</a></p>
|
||||
<p><a href="i:00paulgo:https://paulgo.io/search?q=">paulgo:https://paulgo.io/search?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:00neeva:https://neeva.com/search?q=">neeva:https://neeva.com/search?q=</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:00神马:http://m.sm.cn/s?q=">神马:http://m.sm.cn/s?q=</a></p>
|
||||
<p><a href="i:00夸克AI:https://quark.sm.cn/s?q=">夸克AI:https://quark.sm.cn/s?q=</a></p>
|
||||
<p><a href="i:00无追:https://www.wuzhuiso.com/s?q=">无追:https://www.wuzhuiso.com/s?q=</a></p>
|
||||
<p><a href="i:00360:http://www.so.com/s?q=">360:http://www.so.com/s?q=</a></p>
|
||||
<p><a href="i:00搜狗:https://m.sogou.com/web?query=">搜狗:https://m.sogou.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:00萌搜:https://mengso.com/search?q=">萌搜:https://mengso.com/search?q=</a></p>
|
||||
<p><a href="i:00头条:https://m.toutiao.com/search/?keyword=">头条:https://m.toutiao.com/search/?keyword=</a></p>
|
||||
<p><a href="i:00magi:https://magi.com/search?q=">magi:https://magi.com/search?q=</a></p>
|
||||
<p><a href="i:00Lookao:https://lookao.com/search?q=">Lookao:https://lookao.com/search?q=</a></p>
|
||||
<p><a href="i:00answers:https://www.answers.com/search?q=">answers:https://www.answers.com/search?q=</a></p>
|
||||
<p><a href="i:00影视:https://www.cupfox.com/search?key=">影视:https://www.cupfox.com/search?key=</a></p>
|
||||
<p><a href="i:00努努影院:https://www.nunuyy.top/so/%s---.html">努努影院:https://www.nunuyy.top/so/%s---.html</a></p>
|
||||
<p><a href="i:004444影视:http://k.4444.li/search.php?searchword=">4444影视:http://k.4444.li/search.php?searchword=</a></p>
|
||||
<p><a href="i:00nfmovies:https://www.nfmovies.com/search.php?searchword=">nfmovies:https://www.nfmovies.com/search.php?searchword=</a></p>
|
||||
<p><a href="i:00电影狗:https://www.dianyinggou.com/so/">电影狗:https://www.dianyinggou.com/so/</a></p>
|
||||
<p><a href="i:00pianku:https://www.pianku.la/search/%s-------------.html">pianku:https://www.pianku.la/search/%s-------------.html</a></p>
|
||||
<p><a href="i:00novip:https://www.novipnoad.com/s=">novip:https://www.novipnoad.com/s=</a></p>
|
||||
<p><a href="i:00zhenbuka:https://www.zhenbuka5.com/vodsearch/-------------/?wd=">zhenbuka:https://www.zhenbuka5.com/vodsearch/-------------/?wd=</a></p>
|
||||
<p><a href="i:007080:https://7080.wang/so.html?wd=">7080:https://7080.wang/so.html?wd=</a></p>
|
||||
<p><a href="i:001090:https://1090hd.com/search.html?wd=">1090:https://1090hd.com/search.html?wd=</a></p>
|
||||
<p><a href="i:00微博:https://s.weibo.com/weibo/">微博:https://s.weibo.com/weibo/</a></p>
|
||||
<p><a href="i:00疯狂音乐:http://music.myepoch.cn/?type=netease&name=">疯狂音乐:http://music.myepoch.cn/?type=netease&name=</a></p>
|
||||
<p><a href="i:00墨灵音乐:https://music.mli.im/music.web?auto-action=true&action=search&wd=">墨灵音乐:https://music.mli.im/music.web?auto-action=true&action=search&wd=</a></p>
|
||||
<p><a href="i:00apkdl:https://apkdl.net/search?q=">apkdl:https://apkdl.net/search?q=</a></p>
|
||||
<p><a href="i:00apkpure:https://apkpure.com/search?t=app&q=">apkpure:https://apkpure.com/search?t=app&q=</a></p>
|
||||
<p><a href="i:00豌豆荚:http://m.wandoujia.com/search?key=">豌豆荚:http://m.wandoujia.com/search?key=</a></p>
|
||||
<p><a href="i:00360手机助手:http://m.app.so.com/search/index?q=">360手机助手:http://m.app.so.com/search/index?q=</a></p>
|
||||
<p><a href="i:00应用宝:http://app.qq.com/#id=search&key=">应用宝:http://app.qq.com/#id=search&key=</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:00boardreader:https://boardreader.com/s/%s.html">boardreader:https://boardreader.com/s/%s.html</a></p>
|
||||
<p><a href="i:00Feeling lucky:https://google.com/search?btnl=1&q=">Feeling lucky:https://google.com/search?btnl=1&q=</a></p>
|
||||
<p><a href="i:00pix:https://www.google.com/search?tbm=isch&q=">pix:https://www.google.com/search?tbm=isch&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&advsearchKeywords=</a></p>
|
||||
<p><a href="i:00audiobay:http://audiobookbay.nl/?s=">audiobay:http://audiobookbay.nl/?s=</a></p>
|
||||
<p><a href="i:00book_google:https://whogles.herokuapp.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://whogles.herokuapp.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</a></p>
|
||||
<p><a href="i:00book:https://booksc.org/s/?q=">book:https://booksc.org/s/?q=</a></p>
|
||||
<p><a href="i:00book2:https://b-ok.cc/s/?q=">book2:https://b-ok.cc/s/?q=</a></p>
|
||||
</p><p>
|
||||
语言学习:<br>
|
||||
<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:00britannica:https://www.britannica.com/search?query=">britannica:https://www.britannica.com/search?query=</a></p>
|
||||
<p><a href="i:00freedictionary:https://www.thefreedictionary.com/">freedictionary:https://www.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: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&acc_id=65585&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: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&q=</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:00dict.naver:https://dict.naver.com/enendict/english/#/search?query=">dict.naver:https://dict.naver.com/enendict/english/#/search?query=</a></p>
|
||||
<p><a href="i:00柯林斯双解:http://www.iciba.com/">柯林斯双解:http://www.iciba.com/</a></p>
|
||||
<p><a href="i:00柯林斯汉英大词典:https://www.hjdict.com/w/">柯林斯汉英大词典:https://www.hjdict.com/w/</a></p>
|
||||
<p><a href="i:00剑桥双解:https://dictionary.cambridge.org/dictionary/english-chinese-simplified/">剑桥双解:https://dictionary.cambridge.org/dictionary/english-chinese-simplified/</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:00趣词:https://www.quword.com/w/">趣词:https://www.quword.com/w/</a></p>
|
||||
<p><a href="i:00quword etymology:https://www.quword.com/etym/s/">quword etymology:https://www.quword.com/etym/s/</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:00牛津搭配:http://www.freecollocation.com/search?word=">牛津搭配:http://www.freecollocation.com/search?word=</a></p>
|
||||
<p><a href="i:00eudic:http://dict.eudic.net/mdicts/en/">eudic:http://dict.eudic.net/mdicts/en/</a></p>
|
||||
<p><a href="i:00hollis.harvard:https://hollis.harvard.edu/primo-explore/search?tab=everything&search_scope=everything&vid=HVD2&mode=advanced&offset=0&query=any,contains,">hollis.harvard:https://hollis.harvard.edu/primo-explore/search?tab=everything&search_scope=everything&vid=HVD2&mode=advanced&offset=0&query=any,contains,</a></p>
|
||||
<p><a href="i:00现代日汉双解:https://dict.hjenglish.com/jp/jc/">现代日汉双解:https://dict.hjenglish.com/jp/jc/</a></p>
|
||||
<p><a href="i:00訓詁:POST:word=%s:http://www.kaom.net/book_xungu8.php">訓詁:POST:word=%s:http://www.kaom.net/book_xungu8.php</a></p>
|
||||
<p><a href="i:00ctext:https://ctext.org/dictionary.pl?char=">ctext:https://ctext.org/dictionary.pl?char=</a></p>
|
||||
<p><a href="i:00漢後:https://ctext.org/post-han?searchu=">漢後:https://ctext.org/post-han?searchu=</a></p>
|
||||
<p><a href="i:00先秦兩漢:https://ctext.org/pre-qin-and-han?searchu=">先秦兩漢:https://ctext.org/pre-qin-and-han?searchu=</a></p>
|
||||
<p><a href="i:00汉字:http://www.guoxuedashi.net/zidian/so.php?kz=1&sokeyzi=">汉字:http://www.guoxuedashi.net/zidian/so.php?kz=1&sokeyzi=</a></p>
|
||||
<p><a href="i:00字:https://zi.tools/zi/">字:https://zi.tools/zi/</a></p>
|
||||
<p><a href="i:00说文解字:http://www.shuowen.net/so.php?s=">说文解字:http://www.shuowen.net/so.php?s=</a></p>
|
||||
<p><a href="i:00登樓古籍:POST:text=%s:https://denglou.pgdict.com">登樓古籍:POST:text=%s:https://denglou.pgdict.com</a></p>
|
||||
<p><a href="i:00cnkgraph:https://cnkgraph.com/Book/Search?MetaDataKey=&ContentKey=">cnkgraph:https://cnkgraph.com/Book/Search?MetaDataKey=&ContentKey=</a></p>
|
||||
<p><a href="i:00漢語大字典:POST:search_type=term&keyword=%s:https://homeinmists.ilotus.org/hd/hydzd2.php">漢語大字典:POST:search_type=term&keyword=%s:https://homeinmists.ilotus.org/hd/hydzd2.php</a></p>
|
||||
<p><a href="i:00漢語大字典页码:https://homeinmists.ilotus.org/hd/hydzd3.php?st=term&kw=">漢語大字典页码:https://homeinmists.ilotus.org/hd/hydzd3.php?st=term&kw=</a></p>
|
||||
<p><a href="i:00漢語大词典:POST:search_type=term&keyword=%s:https://homeinmists.ilotus.org/hd/hydcd2.php">漢語大词典:POST:search_type=term&keyword=%s:https://homeinmists.ilotus.org/hd/hydcd2.php</a></p>
|
||||
<p><a href="i:00漢語大词典全文:POST:search_type=description&keyword=%s:https://homeinmists.ilotus.org/hd/hydcd2.php">漢語大词典全文:POST:search_type=description&keyword=%s:https://homeinmists.ilotus.org/hd/hydcd2.php</a></p>
|
||||
<p><a href="i:00guoxuemi:http://www.guoxuemi.com/search/?keyword=">guoxuemi:http://www.guoxuemi.com/search/?keyword=</a></p>
|
||||
<p><a href="i:00二十四史:http://www.guoxuemi.com/24shi/?keyword=">二十四史:http://www.guoxuemi.com/24shi/?keyword=</a></p>
|
||||
<p><a href="i:00四库全书:http://www.guoxuemi.com/search/skqs.php?keyword=">四库全书:http://www.guoxuemi.com/search/skqs.php?keyword=</a></p>
|
||||
<p><a href="i:00古今图书集成:http://www.guoxuemi.com/gjtsjc/?keyword=">古今图书集成:http://www.guoxuemi.com/gjtsjc/?keyword=</a></p>
|
||||
<p><a href="i:00汉典:https://www.zdic.net/hans/">汉典:https://www.zdic.net/hans/</a></p>
|
||||
<p><a href="i:00萌典:https://www.moedict.tw/">萌典:https://www.moedict.tw/</a></p>
|
||||
<p><a href="i:00異體字:http://jf.xmu.edu.cn/variants/cc.html?q=">異體字:http://jf.xmu.edu.cn/variants/cc.html?q=</a></p>
|
||||
<p><a href="i:00诗词:http://www.guoxuedashi.net/shici/so.php?kt=44&sokeysc=">诗词:http://www.guoxuedashi.net/shici/so.php?kt=44&sokeysc=</a></p>
|
||||
<p><a href="i:00汉典重光:https://wenyuan.aliyun.com/home/search-word?keyword=">汉典重光:https://wenyuan.aliyun.com/home/search-word?keyword=</a></p>
|
||||
</p><p>
|
||||
科技教材:<br>
|
||||
<p><a href="i:00化学品:http://www.basechem.org/search?q=">化学品:http://www.basechem.org/search?q=</a></p>
|
||||
<p><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: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&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><p>
|
||||
直达官方文档的国外引擎:<br>
|
||||
<p><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:00metager:https://metager.org/meta/meta.ger3?eingabe=">metager:https://metager.org/meta/meta.ger3?eingabe=</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:00duck:https://duckduckgo.com/?q=">duck:https://duckduckgo.com/?q=</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:00gigablast:https://www.gigablast.com/search?c=main&qlangcountry=en-us&q=">gigablast:https://www.gigablast.com/search?c=main&qlangcountry=en-us&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:00yandex image:https://yandex.com/images/search?text=">yandex image:https://yandex.com/images/search?text=</a></p>
|
||||
<p><a href="i:00searx:https://searx.be/?q=">searx:https://searx.be/?q=</a></p>
|
||||
<p><a href="i:00tiekoetter:https://searx.tiekoetter.com/search?q=">tiekoetter:https://searx.tiekoetter.com/search?q=</a></p>
|
||||
<p><a href="i:00lukol:https://www.lukol.com/s.php?q=">lukol:https://www.lukol.com/s.php?q=</a></p>
|
||||
<p><a href="i:00hotbot:https://www.hotbot.com/web?q=">hotbot:https://www.hotbot.com/web?q=</a></p>
|
||||
</p><p>
|
||||
网盘搜索:<br>
|
||||
<p><a href="i:00哎哟喂:http://www.aiyoweia.com/search/">哎哟喂:http://www.aiyoweia.com/search/</a></p>
|
||||
<p><a href="i:00飞飞盘:https://www.feifeipan.com/#/main/search?keyword=">飞飞盘:https://www.feifeipan.com/#/main/search?keyword=</a></p>
|
||||
<p><a href="i:0056盘:https://www.56wangpan.com/search/kw">56盘:https://www.56wangpan.com/search/kw</a></p>
|
||||
</p><p>
|
||||
学术搜索:<br>
|
||||
<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:00semanticscholar:https://www.semanticscholar.org/search?sort=relevance&q=">semanticscholar:https://www.semanticscholar.org/search?sort=relevance&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><p>
|
||||
开发者友好搜索:<br>
|
||||
<p><a href="i:00git:https://github.com/search?type=Repositories&q=">git:https://github.com/search?type=Repositories&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:00greasyfork:https://greasyfork.org/en/scripts?filter_locale=0&sort=updated&q=">greasyfork:https://greasyfork.org/en/scripts?filter_locale=0&sort=updated&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:00goobe:https://goobe.io/search.aspx?k=">goobe:https://goobe.io/search.aspx?k=</a></p>
|
||||
</p><p>
|
||||
应用内搜索:<br>
|
||||
<p><a href="i:00淘宝:taobao://s.m.taobao.com/h5?q=">淘宝:taobao://s.m.taobao.com/h5?q=</a></p>
|
||||
<p><a href="i:00百度地图:bdapp://map/place/search?query=">百度地图:bdapp://map/place/search?query=</a></p>
|
||||
<p><a href="i:00有道词典:yddict://dict/query?q=">有道词典:yddict://dict/query?q=</a></p>
|
||||
<p><a href="i:00知乎:zhihu://search?q=">知乎:zhihu://search?q=</a></p>
|
||||
<p><a href="i:00应用商店:market://search?q=">应用商店:market://search?q=</a></p>
|
||||
<p><a href="i:00微博:sinaweibo://searchall?q=">微博:sinaweibo://searchall?q=</a></p>
|
||||
<p><a href="i:00bilibili:bilibili://search?keyword=">bilibili:bilibili://search?keyword=</a></p>
|
||||
<p><a href="i:00dianping:dianping://shoplist/search?keyword=">dianping:dianping://shoplist/search?keyword=</a></p>
|
||||
<p><a href="i:00bmap:bmap://?action=search&keyword=">bmap:bmap://?action=search&keyword=</a></p>
|
||||
<p><a href="i:00meituan:imeituan://www.meituan.com/search?q=">meituan:imeituan://www.meituan.com/search?q=</a></p>
|
||||
<p><a href="i:00拼多多:pinduoduo://com.xunmeng.pinduoduo/search_result.html?search_key=">拼多多:pinduoduo://com.xunmeng.pinduoduo/search_result.html?search_key=</a></p>
|
||||
<p><a href="i:00小红书:xhsdiscover://search/result?keyword=">小红书:xhsdiscover://search/result?keyword=</a></p>
|
||||
<p><a href="i:00抖音:snssdk1128://search/result?keyword=">抖音:snssdk1128://search/result?keyword=</a></p>
|
||||
<p><a href="i:00eudic:eudic://dict/">eudic:eudic://dict/</a></p>
|
||||
<p><a href="i:00高德地图:androidamap://arroundpoi?sourceApplication=softname&dev=0&keywords=">高德地图:androidamap://arroundpoi?sourceApplication=softname&dev=0&keywords=</a></p>
|
||||
</p><p>
|
||||
本地引擎(需安装定制termux及相应工具如bc,gnuplot等):<br>
|
||||
<p><a href="i:00计算器:d:text/html:echo \'%s\'|bc -l -q:">计算器:d:text/html:echo \'%s\'|bc -l -q:</a></p>
|
||||
<p><a href="i:00函数作图:d:image/svg+xml:gnuplot -e \'set term svg;set output; plot %s\':">函数作图:d:image/svg+xml:gnuplot -e \'set term svg;set output; plot %s\':</a></p>
|
||||
<p><a href="i:003d函数作图:d:image/svg+xml:gnuplot -e \'set term svg;set output; splot %s\':">3d函数作图:d:image/svg+xml:gnuplot -e \'set term svg;set output; splot %s\':</a></p>
|
||||
</p>
|
||||
<p><a href="../searchcat">分类搜索</a></p>
|
||||
<p>更多引擎可参看:<br><a href="https://github.com/pathologicalhandwaving/SkittleSearchURLs/blob/master/skittles.md">Skittle</a><br><a href="https://github.com/matomo-org/searchengine-and-social-list/blob/master/SearchEngines.yml">searchengine</a>
|
||||
<a href="https://adzhp.cn/wang-pan-sou-suo.html">网盘搜索</a><br><a href="https://adzhp.cn/bt-sou-suo.html">BT磁力</a><br><a href="https://github.com/Dictionaryphile/All_Dictionaries">词典</a><br><a href="https://www.zhihu.com/question/20251786">有哪些特殊的搜索引擎</a><br><a href="http://scholar.hedasudi.com">google镜像</a> <a href="https://ac.scmor.com">镜像2</a> </p>
|
||||
|
||||
|
||||
</body></html>
|
BIN
zh/searchurl/searchcat.tar.gz
Normal file
BIN
zh/searchurl/searchcat.tar.gz
Normal file
Binary file not shown.
1
zh/searchurl/sitecss/m.baidu.com.css
Normal file
1
zh/searchurl/sitecss/m.baidu.com.css
Normal file
|
@ -0,0 +1 @@
|
|||
.ec_wise_ad,.ec_wise_pp,.na-like-container{transform:scale(0)!important;display:none!important}
|
17
zh/searchurl/sitejs/m.baidu.com.js
Normal file
17
zh/searchurl/sitejs/m.baidu.com.js
Normal file
|
@ -0,0 +1,17 @@
|
|||
(function () {
|
||||
class removeDom {
|
||||
constructor(classList = []) {
|
||||
this.adClassList = classList;
|
||||
};
|
||||
|
||||
remove() {
|
||||
this.adClassList.forEach((c) => {
|
||||
$(`${c}`).length > 0 && $(`${c}`).remove();
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
let adClassList = ['.ec_wise_ad', '.ec_wise_pp', '.na-like-container'];
|
||||
let ad = new removeDom(adClassList);
|
||||
ad.remove();
|
||||
})();
|
10
zh/searchurl/template/backup.html
Normal file
10
zh/searchurl/template/backup.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width" />
|
||||
<title>备份与恢复</title></head><body>
|
||||
<p>使用超微浏览器点击下面链接将备份(恢复)下列目录/文件至"%2%":<br>
|
||||
%1%
|
||||
</p>
|
||||
<p><a href="i:0e%1%:%2%">备份</a> <a href="i:0d%2%">恢复</a></p>
|
||||
|
||||
<p><a href="i:0f%2%">设置用户及密码</a></p>
|
||||
|
||||
</body></html>
|
25
zh/searchurl/template/config.html
Normal file
25
zh/searchurl/template/config.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
%1%
|
||||
%2%
|
||||
%3%
|
||||
%4%
|
||||
%5%
|
||||
%6%
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script charset="utf-8" src="https://cdn.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/config.js"></script>
|
4
zh/searchurl/template/font.css
Normal file
4
zh/searchurl/template/font.css
Normal file
|
@ -0,0 +1,4 @@
|
|||
@font-face{
|
||||
font-family:%1%
|
||||
src:url("https://local/sdcard/uweb/app/fonts/%1%")}
|
||||
body{font-family:%1%}
|
21
zh/searchurl/template/home.css
Normal file
21
zh/searchurl/template/home.css
Normal file
|
@ -0,0 +1,21 @@
|
|||
<style>
|
||||
a{color:inherit;text-decoration:inherit;}.O{display:none}
|
||||
.L{line-height:1;}.G{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;}input{height:40px;width:100%;border-radius:50px;}
|
||||
a.icon{display:inline-block;margin:0 10px 0 10px;text-align:center;}a.icon>img{width:40px;height:40px;font-size:28px;border-radius:20px;position:relative;}a.icon>img:after{content:attr(alt);font-size:28px;display:block;position:absolute;z-index:2;top:0;left:0;width:100%;height:100%;background-color:#fff;}a.icon>span{display:block;overflow:hidden;height:24px;line-height:24px;}
|
||||
|
||||
input{background:rgba(255,255,255,0.7);}
|
||||
|
||||
body::after {
|
||||
content: "";
|
||||
background-image: url(%1%);
|
||||
opacity: 0.5;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
</style>
|
1
zh/searchurl/template/refresh.html
Normal file
1
zh/searchurl/template/refresh.html
Normal file
|
@ -0,0 +1 @@
|
|||
<meta http-equiv="refresh" content="0; url=i:70%1%:%2%">
|
86
zh/searchurl/textarea.js
Normal file
86
zh/searchurl/textarea.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
var textarea;
|
||||
onload=function(){
|
||||
textarea=document.getElementsByTagName('textarea')[0];
|
||||
}
|
||||
|
||||
function getNewlinePos_back(text,pos){
|
||||
while(pos>=0 && text.charAt(pos)!='\n') pos--;
|
||||
return pos;
|
||||
}
|
||||
|
||||
function getNewlinePos_forth(text,pos){
|
||||
let len = text.length;
|
||||
while(pos<len && text.charAt(pos)!='\n') pos++;
|
||||
return pos;
|
||||
}
|
||||
|
||||
function deleteLine(ta){
|
||||
let text = ta.value;
|
||||
let lStart = getNewlinePos_back(text,ta.selectionStart-1);
|
||||
let lEnd = getNewlinePos_forth(text,ta.selectionEnd);
|
||||
ta.value = text.substring(0,lStart+1) + text.substring(lEnd+1);
|
||||
ta.selectionStart = ta.selectionEnd = lStart +1;
|
||||
ta.focus();
|
||||
}
|
||||
|
||||
function moveUp(ta){
|
||||
let text = ta.value;
|
||||
let start = ta.selectionStart;
|
||||
let end = ta.selectionEnd;
|
||||
let lStart = getNewlinePos_back(text,start-1);
|
||||
let lEnd = getNewlinePos_forth(text,end);
|
||||
let prevS = getNewlinePos_back(text,lStart-1);
|
||||
ta.value = text.substring(0,prevS+1)+text.substring(lStart+1,lEnd+1)+
|
||||
text.substring(prevS+1,lStart+1) + text.substring(lEnd+1);
|
||||
ta.selectionStart = start - (lStart - prevS);
|
||||
ta.selectionEnd = end - (lStart - prevS);
|
||||
ta.focus();
|
||||
}
|
||||
|
||||
function move2Top(ta){
|
||||
let text = ta.value;
|
||||
let start = ta.selectionStart;
|
||||
let end = ta.selectionEnd;
|
||||
let lStart = getNewlinePos_back(text,start-1);
|
||||
let lEnd = getNewlinePos_forth(text,end);
|
||||
ta.value = text.substring(lStart+1,lEnd+1)+text.substring(0,lStart+1)+
|
||||
text.substring(lEnd+1);
|
||||
ta.selectionStart = start - lStart-1;
|
||||
ta.selectionEnd = end - lStart-1;
|
||||
ta.focus();
|
||||
}
|
||||
|
||||
function move2Bottom(ta){
|
||||
let text = ta.value;
|
||||
let start = ta.selectionStart;
|
||||
let end = ta.selectionEnd;
|
||||
let lStart = getNewlinePos_back(text,start-1);
|
||||
let lEnd = getNewlinePos_forth(text,end);
|
||||
ta.value = text.substring(0,lStart+1)+text.substring(lEnd+1)+
|
||||
text.substring(lStart+1,lEnd+1);
|
||||
ta.selectionStart = start + text.length - lEnd-1;
|
||||
ta.selectionEnd = end + text.length - lEnd-1;
|
||||
ta.focus();
|
||||
}
|
||||
|
||||
function moveDown(ta){
|
||||
let text = ta.value;
|
||||
let start = ta.selectionStart;
|
||||
let end = ta.selectionEnd;
|
||||
let lStart = getNewlinePos_back(text,start-1);
|
||||
let lEnd = getNewlinePos_forth(text,end);
|
||||
let nextE = getNewlinePos_forth(text,lEnd+1);
|
||||
ta.value = text.substring(0,lStart+1) + text.substring(lEnd+1,nextE+1) +
|
||||
text.substring(lStart+1,lEnd+1)+text.substring(nextE+1);
|
||||
ta.selectionStart = start + (nextE - lEnd);
|
||||
ta.selectionEnd = end + (nextE - lEnd);
|
||||
ta.focus();
|
||||
}
|
||||
|
||||
function save(fn){
|
||||
let u8=new TextEncoder().encode(textarea.value);let r='';for(let i=0;i<u8.byteLength;i++)r+=String.fromCharCode(u8[i]);location.href='i:0l'+fn+':'+btoa(r);
|
||||
}
|
||||
|
||||
function onSave(){
|
||||
save(location.pathname);
|
||||
}
|
22
zh/searchurl/textarea_t.html
Normal file
22
zh/searchurl/textarea_t.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
<style>div{position:fixed;}button{width:13%;height:30px}
|
||||
textarea{margin-top:30px;width:100%;height:100%;border:none;outline:none}</style>
|
||||
<script src="textarea.js"></script>
|
||||
<div>
|
||||
<button onclick='onSave()'>Save</button>
|
||||
<button onclick="onDelete()">╳</button>
|
||||
<button onclick="onUp()">↑</button>
|
||||
<button onclick="onDown()">↓</button>
|
||||
<button onclick="onTop()">⤒</button>
|
||||
<button onclick="onBottom()">⤓</button>
|
||||
</div>
|
||||
<textarea autofocus />
|
||||
H1
|
||||
h2
|
||||
h3
|
||||
h4
|
||||
h5
|
||||
h6
|
||||
h7
|
||||
h8
|
||||
h9
|
||||
ha
|
12
zh/searchurl/txt/accusoft.html
Normal file
12
zh/searchurl/txt/accusoft.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
<script src="https://fastly.jsdelivr.net/npm/@accusoft/pdf-viewer@latest/bundle.js"></script>
|
||||
<div id="viewer"></div>
|
||||
<script>
|
||||
let url = location.search.substring(6);
|
||||
(async () => {
|
||||
const pdfViewer = await window.Accusoft.PdfViewerControl.create({
|
||||
sourceDocument: url,
|
||||
container: document.getElementById('viewer')
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
|
12
zh/searchurl/txt/checked.js
Normal file
12
zh/searchurl/txt/checked.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
(function(){let d=document;
|
||||
let ea=d.querySelectorAll('input:checked');
|
||||
let s="";
|
||||
for(let i=0;i<ea.length;i++){
|
||||
let sibling = ea[i].nextElementSibling;
|
||||
if(sibling==null) sibling=ea[i].previousElementSibling;
|
||||
let str = sibling.getAttribute("href");
|
||||
if(null==str) str=sibling.getAttribute("src");
|
||||
s = s+str+"\n";
|
||||
}
|
||||
return s;
|
||||
})()
|
1
zh/searchurl/txt/clearfont.css
Normal file
1
zh/searchurl/txt/clearfont.css
Normal file
|
@ -0,0 +1 @@
|
|||
*{font-family:initial!important}
|
7
zh/searchurl/txt/cmds.cfg
Normal file
7
zh/searchurl/txt/cmds.cfg
Normal file
|
@ -0,0 +1,7 @@
|
|||
打开剪贴板链接:clip/uweb:/system/bin/toybox grep -m1 -Eo '(http|https)://[^ "'\'']+'
|
||||
行编辑器:text/html:cat %f|while read LINE; do echo "<a href=\"i:AA${LINE//\"/%22}\">$LINE</a><br>";done
|
||||
代码编辑器:text/html:printf "<style>#div{position:fixed;top:2px}#editor{position: absolute;top:30;right:0;bottom:0;left:0;}#textarea{display:none}</style><script src='http://cdn.bootcss.com/ace/1.4.9/ace.js'></script><script src='http://cdn.bootcss.com/ace/1.4.9/ext-language_tools.js'></script><script src='https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/searchurl/ace.js'></script><div id='div'><button onclick='onSave(\"%f\")'>Save</button> <a href=''>Run</a></div><pre id='editor'></pre><textarea id='textarea'>";cat "%f";
|
||||
淘宝比价:clip/uweb:grep -m1 -Eo '(http|https)://[^ "'\'']+'|curl -s "`cat`"|grep -m1 -Eo '(http|https)://[^ ?]+'|grep -Eo '[0-9]+'|echo "http://tool.manmanbuy.com/historyLowest.aspx?url=https://detail.tmall.com/item.htm?id=`cat`"
|
||||
markdeep:text/html:cat %f;echo "<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>"
|
||||
显示本地md:text/html:echo "<script src=https://fastly.jsdelivr.net/npm/mdme></script><textarea>";cat %f
|
||||
texme:text/html:echo "<script src=https://fastly.jsdelivr.net/npm/texme></script><textarea>";cat %f
|
6
zh/searchurl/txt/default.rc
Normal file
6
zh/searchurl/txt/default.rc
Normal file
|
@ -0,0 +1,6 @@
|
|||
export LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib
|
||||
export PATH=/data/data/com.termux/files/usr/bin:/data/data/info.torapp.uweb/files/bin:/system/bin:/system/xbin
|
||||
export HOME=/data/data/com.termux/files/home
|
||||
cd
|
||||
#tcron /sdcard/a "cloud189-go sign;toybox touch /sdcard/a" 24
|
||||
#node Loon/jd_xxl.js
|
51
zh/searchurl/txt/djvu.html
Normal file
51
zh/searchurl/txt/djvu.html
Normal file
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<header>
|
||||
<meta charset="utf-8">
|
||||
<script src="https://djvu.js.org/assets/dist/djvu.js"></script>
|
||||
<script src="https://djvu.js.org/assets/dist/djvu_viewer.js"></script>
|
||||
|
||||
<style>
|
||||
#for_viewer {
|
||||
height: 80vh;
|
||||
width: 90vw;
|
||||
margin: 5vh auto;
|
||||
border: 1px solid black;
|
||||
}
|
||||
</style>
|
||||
</header>
|
||||
|
||||
<body>
|
||||
<div id="for_viewer"></div>
|
||||
<script>
|
||||
// save as a global value
|
||||
window.viewer = new DjVu.Viewer();
|
||||
viewer.render(document.querySelector("#for_viewer"));
|
||||
{
|
||||
//?url=#page=
|
||||
let url = location.search.substring(5);
|
||||
let page = 1;
|
||||
let lhash = location.hash;
|
||||
if(lhash)
|
||||
page = parseInt(lhash.substring(6),10);
|
||||
viewer.loadDocumentByUrl(url,{"pageNumber": page,});
|
||||
}
|
||||
window.addEventListener('hashchange', function() {
|
||||
let page = 1;
|
||||
let lhash = location.hash;
|
||||
if(lhash)
|
||||
page = parseInt(lhash.substring(6),10);
|
||||
viewer.configure({pageNumber: page,});
|
||||
/*
|
||||
viewer.store.dispatch({
|
||||
type: DjVu.Viewer.ActionTypes.SET_NEW_PAGE_NUMBER_ACTION,
|
||||
pageNumber: page,
|
||||
shouldScrollToPage: true,
|
||||
});
|
||||
*/
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
10
zh/searchurl/txt/dplayer.html
Normal file
10
zh/searchurl/txt/dplayer.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
<div id="dplayer"></div>
|
||||
<script src="https://fastly.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script>
|
||||
<script>
|
||||
const dp = new DPlayer({
|
||||
container: document.getElementById('dplayer'),
|
||||
video: {
|
||||
url: location.search.substring(3),
|
||||
},
|
||||
});
|
||||
</script>
|
352
zh/searchurl/txt/epub.html
Normal file
352
zh/searchurl/txt/epub.html
Normal file
|
@ -0,0 +1,352 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
|
||||
<title>EPUB</title>
|
||||
<script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
|
||||
<script src="https://fastly.jsdelivr.net/npm/epubjs@0.3.88/dist/epub.min.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const html = document.querySelector('html')
|
||||
let fontSize = window.innerWidth / 10
|
||||
fontSize = fontSize > 50 ? 50 : fontSize
|
||||
html.style.fontSize = fontSize + 'px'
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.mask {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.meun {
|
||||
display: flex;
|
||||
height: 1rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#toc {
|
||||
flex: 1;
|
||||
z-index: 100;
|
||||
font-size: .3rem;
|
||||
padding-left: .4rem;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
#page {
|
||||
z-index: 100;
|
||||
font-size: .3rem;
|
||||
color: #333;
|
||||
padding-right: 0.4rem;
|
||||
text-align: right;
|
||||
flex: 0 0 .5rem;
|
||||
}
|
||||
|
||||
#load {
|
||||
z-index: 100;
|
||||
font-size: .3rem;
|
||||
color: #333;
|
||||
padding-right: 0.4rem;
|
||||
text-align: right;
|
||||
flex: 0 0 .5rem;
|
||||
}
|
||||
|
||||
#toc-content {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 102;
|
||||
min-width: auto;
|
||||
max-width: 80%;
|
||||
height: 100%;
|
||||
background: white;
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
#toc-mask {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 101;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(51, 51, 51, .8);
|
||||
}
|
||||
|
||||
.intro {
|
||||
width: 100%;
|
||||
height: 2.4rem;
|
||||
padding: .2rem .4rem;
|
||||
box-sizing: border-box;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
border-bottom: .1rem solid #f4f4f4;
|
||||
}
|
||||
|
||||
.txt {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
align-items: center;
|
||||
padding: 0 .2rem;
|
||||
font-size: .3rem;
|
||||
}
|
||||
|
||||
#content {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.item {
|
||||
padding: .2rem .4rem;
|
||||
border-bottom: .07rem solid #f4f4f4;
|
||||
font-size: .4rem;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
#open {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
z-index: 100;
|
||||
font-size: .4rem;
|
||||
color: #333;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
|
||||
}
|
||||
|
||||
#open span {
|
||||
padding: .3rem .3rem;
|
||||
border: .05rem solid #333;
|
||||
border-radius: .2rem;
|
||||
}
|
||||
|
||||
.read {
|
||||
display: flex;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
#prev {
|
||||
flex: 0 0 2rem;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
#viewer {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
#next {
|
||||
flex: 0 0 2rem;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.save {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.box {
|
||||
padding: .2rem .2rem;
|
||||
justify-content: center;
|
||||
border-bottom: .1rem solid #f4f4f4;
|
||||
}
|
||||
|
||||
.jump {
|
||||
display: flex;
|
||||
height: 1rem;
|
||||
border-bottom: .1rem solid #f4f4f4;
|
||||
}
|
||||
|
||||
.jump input {
|
||||
flex: 1;
|
||||
padding: .1rem .1rem;
|
||||
margin: .2rem .2rem .2rem .4rem;
|
||||
outline: none;
|
||||
font-size: .3rem;
|
||||
}
|
||||
|
||||
.jump span {
|
||||
flex: 0 0 1rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="ebook">
|
||||
<div class="mask">
|
||||
<div id="open">
|
||||
<span
|
||||
onclick="document.getElementById('input').click();document.getElementById('open').style.display = 'none'">选择本地书籍</span>
|
||||
<input type="file" id="input" style="display: none;">
|
||||
</div>
|
||||
<div class="read">
|
||||
<div id="prev" onclick="rendition.prev()"></div>
|
||||
<div id="viewer"></div>
|
||||
<div id="next" onclick="rendition.next()"></div>
|
||||
</div>
|
||||
<div class="meun">
|
||||
<div id="toc" onclick="showhide()"></div>
|
||||
<div id="page"></div>
|
||||
<div id="load"></div>
|
||||
</div>
|
||||
<div id="toc-mask" style="display: none;" onclick="showhide()"></div>
|
||||
<div id="toc-content" style="display: none;">
|
||||
<div class="intro">
|
||||
<img id="cover">
|
||||
<div style="display: flex;flex: 1;flex-direction: column;overflow-y: auto;">
|
||||
<div id="title" class="txt"></div>
|
||||
<div id="author" class="txt"></div>
|
||||
<div id="publisher" class="txt"></div>
|
||||
<div id="pubdate" class="txt"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="save">
|
||||
<div class="txt box" onclick="save()">存档</div>
|
||||
<div class="txt box" onclick="get()">读档</div>
|
||||
<div class="txt box" onclick="del()">删档</div>
|
||||
</div>
|
||||
<div class="jump">
|
||||
<input id="jump" type="number" placeholder="0-1之间的数字,如0.25"
|
||||
oninput="if(value>1)value=1;if(value<0)value=0">
|
||||
<span class="txt" onclick="jump()">跳转</span>
|
||||
</div>
|
||||
<div id="content"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
let url = location.search.substring(3);
|
||||
if (url !== "") {
|
||||
var book = ePub(url);
|
||||
document.getElementById("open").style.display = "none"
|
||||
} else {
|
||||
var book = ePub();
|
||||
var inputElement = document.getElementById("input");
|
||||
inputElement.addEventListener('change', function (e) {
|
||||
var file = e.target.files[0];
|
||||
if (window.FileReader) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = openBook;
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
});
|
||||
function openBook(e) {
|
||||
var bookData = e.target.result;
|
||||
book.open(bookData, "binary");
|
||||
}
|
||||
}
|
||||
//渲染
|
||||
var rendition = book.renderTo("ebook", {
|
||||
with: window.innerWidth,
|
||||
height: window.innerHeight - 20
|
||||
});
|
||||
rendition.display();
|
||||
|
||||
book.ready
|
||||
.then(() => {
|
||||
var local = localStorage.getItem(book.key() + '-locations');
|
||||
if (local) {
|
||||
return book.locations.load(local);
|
||||
} else {
|
||||
return book.locations.generate();
|
||||
}
|
||||
})
|
||||
.then(locations => {
|
||||
localStorage.setItem(book.key() + '-locations', book.locations.save());
|
||||
})
|
||||
|
||||
// 目录
|
||||
book.loaded.navigation.then(toc => {
|
||||
var read = localStorage.getItem(book.key() + '-read');
|
||||
if (read) {
|
||||
rendition.display(read);
|
||||
}
|
||||
var $content = document.getElementById("content");
|
||||
toc.forEach(item => {
|
||||
var div = document.createElement("div");
|
||||
div.className = "item";
|
||||
div.textContent = item.label;
|
||||
div.addEventListener("click", () => {
|
||||
rendition.display(item.href);
|
||||
showhide()
|
||||
});
|
||||
$content.appendChild(div)
|
||||
})
|
||||
})
|
||||
//简介
|
||||
book.loaded.metadata.then(meta => {
|
||||
var $title = document.getElementById("title");
|
||||
var $author = document.getElementById("author");
|
||||
var $cover = document.getElementById("cover");
|
||||
var $publisher = document.getElementById("publisher");
|
||||
var $pubdate = document.getElementById("pubdate");
|
||||
$title.textContent = `书名:${meta.title}`;
|
||||
$author.textContent = `作者:${meta.creator}`;
|
||||
$publisher.textContent = `出版社:${meta.publisher}`;
|
||||
$pubdate.textContent = `时间:${meta.pubdate}`;
|
||||
if (book.archive) {
|
||||
book.archive.createUrl(book.cover)
|
||||
.then(url => {
|
||||
$cover.src = url;
|
||||
})
|
||||
} else {
|
||||
$cover.src = book.cover;
|
||||
}
|
||||
});
|
||||
//进度显示
|
||||
rendition.on('relocated', location => {
|
||||
var percent = book.locations.percentageFromCfi(location.start.cfi);
|
||||
var $page = document.getElementById("page");
|
||||
var $load = document.getElementById("load");
|
||||
$page.textContent = location.end.displayed.page + '/' + location.end.displayed.total;
|
||||
$load.textContent = Math.fround(percent * 100).toFixed(1) + '%';
|
||||
})
|
||||
//章节名显示
|
||||
rendition.on("rendered", section => {
|
||||
var $toc = document.getElementById("toc");
|
||||
$toc.textContent = "目录";
|
||||
$toc.textContent = book.navigation.get(section.href).label;
|
||||
})
|
||||
function showhide() {
|
||||
var $toc_content = document.getElementById("toc-content")
|
||||
var $mask = document.getElementById("toc-mask")
|
||||
if ($toc_content.style.display == "none") {
|
||||
$toc_content.style.display = ""
|
||||
$mask.style.display = ""
|
||||
} else {
|
||||
$toc_content.style.display = "none"
|
||||
$mask.style.display = "none"
|
||||
}
|
||||
}
|
||||
function jump() {
|
||||
$jump = document.getElementById("jump").value;
|
||||
rendition.display(book.locations.cfiFromPercentage($jump));
|
||||
showhide();
|
||||
document.getElementById("jump").value = "";
|
||||
}
|
||||
function save() {
|
||||
localStorage.setItem(book.key() + '-read', rendition.currentLocation().start.cfi)
|
||||
showhide()
|
||||
}
|
||||
function get() {
|
||||
rendition.display(localStorage.getItem(book.key() + '-read'));
|
||||
showhide()
|
||||
}
|
||||
function del() {
|
||||
localStorage.removeItem(book.key() + '-read');
|
||||
showhide()
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue