之前有象友推荐了一个健康码项目(https://alive.bar/@boop/109265900174401155 ),它给出了两个需要翻墙的在线地址. 这只是一个前端项目而已,有没有可能不联网,在本地运行呢?其实只要下载源码,并运行一个 HTTP server 就可以了. 具体的操作步骤如下(android 手机为例):
1. 下载项目源码(https://github.com/ilovexjp/health-code-index/releases ),将
health-code-index.zip 解压到手机上;
2. 下载安装一个 HTTP server 服务,比如 ServDroid(https://f-droid.org/en/packages/org.servDroid.web/ ),仅 0.9 Mb;
3. 打开 ServDroid,右上三个点,Settings,Document Path,改成步骤 1 那个文件夹;
4. 回到 ServDroid 首页,点击那个 Off 将 server 打开(再点一下可以关闭);
5. 打开手机浏览器,输入 0.0.0.0:8080 即可正常使用;
6. 可以添加到主屏幕(pwa 功能)以全屏.
其他系统如 ios 思路一样,找一个 HTTP server 就好了~
@zero 試了下,安卓手機上可以運行了。🙏 感謝象友
不知道是不是chrome瀏覽器原因,在桌面創建圖標后,點擊還是會顯示網址欄。
蘋果手機的Safari創建的桌面圖標,打開后就沒有地址欄。
@lutetium 哈哈别客气,可能是浏览器的原因吧,我用 Firefox 也会有地址栏,最后我找到一个 kiwi browser,添加到主页后就是全屏的,供你参考~
@bingbing 右上角三个点,添加到主屏幕(?)
@zero 可以了谢谢,不过title太顶了hhh 感觉相对完美低破绽的浏览器还是via和Firefox
@zero 看到项目owner留言说之后会更新离线功能
@Yawn 哦?那敢情好呀!期待~
@zero 哇超级超级感谢!
@zero 好奇怪,它总显示找不到我的文件
@frankyujiukk 可能是 code-【 】index 这里有一个空格?
@zero 🤔 好历害,您怎么发现的!!!可以了,谢谢!!非常感谢!!!
@frankyujiukk 哈哈哈哈比较幸运吧!一眼就发现了~别客气~
@aospont1 我也不知道……截个其他浏览器无法连接的图?
@aospont1 你确定这个时候 chrome 真的能打开吗?我怀疑这个时候 chrome 也打不开……
看一眼 HTTP server 那个软件上显示的 server URL,是不是以 192.168 开头的?
@zero 真打不开了orz,这个时候是指什么特别的时候吗? 又及经过po主你的提醒,我发现打不开因为期间不小心是把后台杀掉了😂 sorry!!
@aospont1 我是看你连上了 WiFi,更换网络环境会导致 server URL 发生变化,你可以读一下我昨天写的补充:https://1234.as/@zero/109314398710144882
看看能不能有所帮助~
@zero 非常感谢~
@zero
扫码时,无法开启摄像头,显示为"请确保源码部署在https环境下"怎么处理?谢谢
@qIANg_yogi 我个人的使用经验是,使用 kiwi browser,然后利用 pwa(右上角三个点,添加到主屏幕),这样就能正常使用摄像头. 但我不知道原理是怎么回事,我在 kiwi browser 里面也会出同样的错误,其他浏览器也都不行,感觉是卡到了某种奇怪的 bug 我不确定你那边能成功复刻,可以试试看?
@zero 十分感谢
@zero firefox浏览器点击右上角三个点——设置——定制——手势——滚动时隐藏工具栏,就看不到地址栏了
@goodrich 好的,谢谢!
@jbk 截个 server 那边的图看看?
@jbk 实话说我也不懂了!有可能是权限的问题(ServDroid 没有权限读取这个目录). 可以尝试一下的方法是,把 Document Path 恢复默认,在它后面写上新的目录,比如 /storage/emulated/0/servdroid/var/www/healthcodeindex/
确认 /storage/emulated/0/servdroid/var/www 这个目录已经被自动创建好了,然后把项目文件夹整个放到这里面试一下.
如果还是不行的话,我恐怕想不到什么别的方法了,有可能是 healthcodeindex/ 这个目录本身的权限问题?
@zero 感谢提醒,ServDriod的权限默认全部关闭了,我打开了存储权限后能正常访问了
@ChuckL 奇怪的 bug 吧……我也不知道耶,换换浏览器啥的试试?
@zero 换别的浏览器就可以了!谢谢你!特别感谢!但就是地址还是有点隐藏不了就是了,不过已经很感动了呜呜呜呜呜
看了一下说火狐比较好,我试了试,慢点划拉就行hhhhh
@zero 之前看到说会出离线版本就没搞 现在发现无了 悔不当初……
@Handmade_eve 离线版本出了啊,好像是 13 号出的,还是原来那个 demo 页,用过的就会主动缓存然后离线就能使用了.
GitHub 上的项目可能是作者主动撤下的吧~
@zero 我当时也没存demo页 方便求个地址吗
@zero 感谢!!!
@zero 感谢分享,也补充一个自己遇见的情况:如果是国产手机,应用权限设置控制得比较死的话,如果出现 500 找不到服务器的情况,可以检查下 ServDroid 是不是没给本地文件读取/存储权限……刚一直500最后发现是因为没授权
@whitesand 感谢分享~
@whitesand 感谢!真是茅塞顿开,折腾了一天一直internal server error没往手机应用权限上想
补充:
根据象友反馈,如果连着 WiFi,软件上会给出一个局域网的地址,以 192.168 开头,那样的话就在浏览器里输入这个局域网地址就好~
使用流量或关掉网络时才会显示 0.0.0.0 的. 使用其他 HTTP server 也是类似,都按照软件上显示的地址输入就好,我这里只是举个例子,一般 0.0.0.0 也可能显示成 127.0.0.1 或 localhost.
可能原始嘟文写得过于简略了,有问题可以再问我,或者大家互相帮助!这不是啥牛逼的技术,我这里的主要贡献是找到了那个 ServDroid 软件. 这个软件巨难找,我试了乱七八糟一大堆(就差自己写一个了),最后总算找到这么一个能用/好用的.