使用腾讯云轻量部署FirefoxSend临时文件分享服务
Posted 福儿fule
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用腾讯云轻量部署FirefoxSend临时文件分享服务相关的知识,希望对你有一定的参考价值。
Firefox Send是火狐旗下的临时网盘,它可以在全平台使用,网页式操作,不需要附加组件(而且不限速),可以在任何现代浏览器中使用。以超链接形式分享,可设置分享的文件下载次数、时间和密码,达到指定下载次数或时长后文件自动过期,并自动从 Send 服务器中删除,在某种程度上相当于阅后即焚。
更重要的是,Firefox Send是一款开源软件。(GitHub地址)
这意味着任何用户都可以搭建属于自己的Firefox Send
可惜的是,因为不法分子的恶意使用,在2020年9月17日,官方团队Mozilla正式宣布:永久关闭用于传输文件的Firefox Send服务。
以下记录一下自己部署FirefoxSend的过程
准备
- 一台云服务器
- 安装宝塔面板
最近的腾讯云618活动很不错,其中的轻量 2核4G5M一年仅需288.
618活动链接:https://cloud.tencent.com/act/618go
腾讯云轻量服务器链接:https://cloud.tencent.com/act/pro/lighthouse2021
安装
Firefox Send基本的搭建至少需要Node.js 10.x
在宝塔安装pm2管理器和redis
在pm2管理器内选择适合的node版本(需要10.x版本及以上)
官方给的安装过程用root用户执行npm run build的话会出问题,报错如下:
mode: production
/var/www/send/node_modules/webpack/lib/optimize/ConcatenatedModule.js:679
throw err;
^
SyntaxError: Unexpected token (3:25)
| !(function webpackMissingModule() var e = new Error("Cannot find module 'webcrypto-core'"); e.code = 'MODULE_NOT_FOUND'; throw e; ());
|
| class LinerError extends !(function webpackMissingModule() var e = new Error("Cannot find module 'webcrypto-core'"); e.code = 'MODULE_NOT_FOUND'; throw e; ())
| constructor()
| super(...arguments);
...
所以我们新建一个普通用户
useradd -d /home/firefoxsend -m send
cd /home/firefoxsend
进入文件夹,进入执行git clone https://github.com/mozilla/send.git
从GitHub拉取源码
国内服务器拉github太慢的话,可先在https://github.com/mozilla/send/releases下载到本地,然后上传到服务器
将firefoxsend目录用户权限改为新建用户send
chown -R send:send firefoxsend
之后我们修改Webpack.config.js关闭自动检查,如果不修改参数关闭自动检查,绑定域名之后无法访问。
在下图所示位置加入disableHostCheck: true,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVPQBQYO-1624007056453)(https://www.gejiba.com/view.php/d14b348b0ab0d0c5006f3d1fdf9a3a35.png)]
然后我们进行安装
切换用户 su send
在源码的文件夹内执行npm install
使用:npm run build
编译生产环境。
最后运行 npm run prod
访问地址为ip:1443
不要忘记开启端口
域名访问
我们使用宝塔的反代就可以了.
在配置文件里加上以下内容:
location /api/ws
proxy_redirect off;
proxy_pass http://0.0.0.0:1443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
需要代理/api/ws这个路径,是因为firefox-send文件上传使用的是websocket协议
配置后台启动
使用npm run prod启动后,关闭ssh,服务也就关闭了.我们可以使用screen或者pm2管理器来使其后台运行
在宝塔pm2管理器,如图配置即可
以上是关于使用腾讯云轻量部署FirefoxSend临时文件分享服务的主要内容,如果未能解决你的问题,请参考以下文章