ReWeb

Restricted Web · 受限制的网页浏览器

只打开允许的网页。

ReWeb 是一个带白名单的浏览器。把孩子能看的、员工该用的、展台要放的网站列进去, 其余一律挡在外面。需要扫码、拍照、录音的业务网页,还能直接调用原生能力。

网站白名单 实时导航 · 受管状态
  1. zh.wikipedia.org已放行
  2. casino-bonus.example不在白名单
  3. oa.corp.example/approve含子域名
  4. javascript:alert(1)非 http(s)
  5. kids.example/cartoon/42路径前缀
  6. kids.example/cartoons路径边界不符
白名单为空 = 全部阻断 绝不失效开放

没有「模式」开关

同一套配置,表达四种截然不同的设备:关掉地址栏,它是儿童浏览器; 列上内网域名,它是企业门户;设一个默认站点再全屏,它是展示终端; 给站点勾上扫码,它是一把扫码枪。

01 家庭

给孩子一台
只装着这几个网站的平板

家长把动画、百科、学习网站加进白名单,关掉首页地址栏 —— 孩子能点的只剩这些图标。链接跳到别处会被挡下,提示里不回显网址, 也就没有东西可以去搜。

  • 精确到路径只允许 /cartoon 栏目,/cartoons 不算数
  • 长按不弹菜单默认禁止选中与复制,系统菜单里「在浏览器打开」这类出口一并去掉
  • 设置要密码连续输错指数退避,强杀应用也清不掉计数
  • 全屏也能退出按住屏幕一角 10 秒,只弹密码框,不会直接退出

02 企业

内部系统的门户,
出不了公司的边界

把 OA、报销、工单、知识库的域名列进白名单,开启「包含子域名」, 新上线的子系统不用逐个登记。前台、仓库、门店的共用设备从此只做一件事: 办公。

  • 严格限制页面内资源图片、脚本也只从自家与白名单域名加载,第三方统计和外链资源进不来
  • 桌面图标走 reweb://快捷方式不会被系统默认浏览器接管,管控不留后门
  • 密码不进配置文件导出的配置分发给其他设备,管理凭据留在本机密钥库
  • 防钓鱼网页顶部始终显示一行域名,用户知道自己在谁的站点上

03 展示终端

展台、门店、大堂,
一块没人守着也不掉线的屏

设一个默认站点,开机即全屏,屏幕常亮,定时刷新内容。 断网、白屏、页面崩溃都会自己恢复 —— 会展现场没人会去点「重试」。

  • 断网无限重试2s → 5s → 15s → 60s,之后每分钟一次,网络回来画面就回来
  • 白屏也算失败后端返回空页、脚本崩溃,同样触发重载
  • 每日定时重载长时间运行的内存增长,在凌晨悄悄清掉
  • 观众退不出去无按钮、无地址栏,退出手势再加一道密码

04 原生能力

仓库的网页版 WMS,
拿起手机就是扫码枪

网页里的扫码通常又慢又挑光线。ReWeb 把原生扫码引擎交给白名单网页: 连续扫描、自动去重、手电筒、十余种条码格式,一行 JavaScript 调起。 不用为仓库另做一个 App。

  • 扫码二维码、Code 128、EAN-13、PDF417、Data Matrix……连续盘点不重复计数
  • 拍照前后摄像头与相册,签收单、破损件直接回传
  • 长时录音熄屏、切后台不中断,断网后原生续传
  • 逐站授权管理员给哪个站点勾了哪项能力,它才有哪项能力

管控不是加一层皮。

这些细节决定了一台受管设备是否真的受管。

i

失效即阻断

白名单为空、配置写错,结果是全部拦截,而不是全部放行。

ii

挡住绕过手法

user@host 伪装、后缀伪装、javascript: 粘贴、.. 路径穿越,逐条有用例。

iii

密码认真存

PBKDF2 31 万次迭代,存系统密钥库;一次性恢复码,只显示一次。

iv

录音必须可见

录音期间常驻指示条,系统级的录音标识同时亮起。

给网页开发者

同一份页面,在普通浏览器里走 Web 方案,在 ReWeb 里自动用上原生能力。 按 capabilities() 判断,不按平台名判断。

  • reweb.scanner 单次 / 连续扫码、识别图片
  • reweb.camera 拍照、相册
  • reweb.recorder 后台长时录音、暂停续录、原生上传
  • reweb.files 本地流式地址、断点重试上传
  • reweb.device 屏幕常亮、振动

每项能力都有一张对接参考页,源码可直接拷走:打开参考页 →

if (!window.reweb) {
  // 普通浏览器 → 走 getUserMedia / <input type=file>
} else if (!(await reweb.capabilities()).scanner) {
  showHint('请联系管理员为本站开启「扫码」');
} else {
  const code = await reweb.scanner.scan({ torch: 'auto' });
  fill(code.text);
}

获取 ReWeb

iOS · iPadOS 即将上架 App Store
Android 即将上架
macOS · Windows · Linux 开发中

想第一时间试用,或需要为团队批量部署?在下方留言,我们会联系你。

意见反馈

遇到问题、想要的功能、你的使用场景 —— 都欢迎告诉我们。 每一条我们都会读。

也可以直接写信 info@mostlink.com

反馈类型