网页里的文件服务器
网页里的文件服务器
试用地址 (仅支持 10Mb 以内文件,流量好贵!) | 微信聊天群
git clone https://github.com/ppz-pro/file-bridge.git
cd file-bridge
node file_bridge.js
如果没有公网服务器或 http,但想试一下, 可以使用 github 的 codespace 功能,提供免费的、可公网访问的测试服务器和 https:
node file_bridge.js
一般 codespace 会用网页版 vscode 打开,执行
node file_bridge.js
之后,会提示你“在浏览器中打开”。 如果未提示,需要在“终端”面板旁边的“端口”面板里手动添加端口映射(现在用的是 6666),添加之后,旁边会有访问链接。
两个“客户端”之间没法直接“传递数据”,因为没有公网地址,于是就需要一个“桥”,连接两个“客户端”。
提供文件供人下载的,我在这里叫它“提供端”,另一个叫“下载端”。
其实第 5 步的“每隔 1 秒”很膈应,但原生 Node.js 对 Websocket 支持度比较低,而专门封装一个 Websocket 可能需要几十甚至上百行代码,于是作罢。反正,,,,这只是个有趣的项目,我是说,,,一开始就没以实用为目的。当然,适当地改造一下,也可以很实用,但谁能拒绝“仅使用原生模块”的诱惑呢。
这个项目更加深我那个刻板印象:编程的难点不在于“让人使用”,而是“不让人使用”,比如“非法用户”和“未付费用户”。其实“未付费用户”就是“非法用户”。