使用腾讯云轻量部署FirefoxSend临时文件分享服务

2021-06-18 18:15:07 浏览数 (1)

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的话会出问题,报错如下:

代码语言:txt复制
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);

...

所以我们新建一个普通用户

代码语言:txt复制
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

代码语言:txt复制
chown -R send:send firefoxsend

之后我们修改Webpack.config.js关闭自动检查,,如果不修改参数关闭自动检查,绑定域名之后无法访问。

在下图所示位置加入disableHostCheck: true,

然后我们进行安装

切换用户 su send

在源码的文件夹内执行npm install

使用:npm run build 编译生产环境。

最后运行 npm run prod

访问地址为ip:1443 不要忘记开启端口

域名访问

我们使用宝塔的反代就可以了.

在配置文件里加上以下内容:

代码语言:txt复制
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管理器,如图配置即可

0 人点赞