乱角的怪物是鹿 发表于 2021-6-18 22:22

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

https://www.gejiba.com/view.php/91e5207f3d7cd56ba3f735b9a257a873.jpg
Firefox Send是火狐旗下的临时网盘,它可以在全平台使用,网页式操作,不需要附加组件(而且不限速),可以在任何现代浏览器中使用。以超链接形式分享,可设置分享的文件下载次数、时间和密码,达到指定下载次数或时长后文件自动过期,并自动从 Send 服务器中删除,在某种程度上相当于阅后即焚。

更重要的是,Firefox Send是一款开源软件。GitHub地址:https://github.com/mozilla/send


这意味着任何用户都可以搭建属于自己的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,
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协议

https://www.gejiba.com/view.php/cb283afb66103e3a013e36af847db45f.png
配置后台启动
使用npm run prod启动后,关闭ssh,服务也就关闭了.我们可以使用screen或者pm2管理器来使其后台运行

在宝塔pm2管理器,如图配置即可
https://www.gejiba.com/view.php/31c0ff938a27609ed95f7127a2c0ade1.png

萌壹 发表于 2021-6-19 06:17

非常不错的

laoda1228 发表于 2021-6-19 06:22

不错不错, 这个是不是可以做一个分发呀?   下载速度是自己服务器的速度还是其他速度?

XziXmn 发表于 2021-6-19 08:09

感谢分享

FFF全部成为F 发表于 2021-6-19 08:40

最近的腾讯云618活动很不错,其中的轻量 2核4G5M一年仅需288.
亏大了,我前阵子买的,600多块钱,而且带宽只有3M{:301_972:}

不负韶华 发表于 2021-6-19 08:55

楼主,链接里没看到有你说的那个套餐呀,

乱角的怪物是鹿 发表于 2021-6-20 00:24

laoda1228 发表于 2021-6-19 06:22
不错不错, 这个是不是可以做一个分发呀?   下载速度是自己服务器的速度还是其他速度?

下载速度是自己服务器的速度

laoda1228 发表于 2021-6-20 06:28

乱角的怪物是鹿 发表于 2021-6-20 00:24
下载速度是自己服务器的速度

嗷嗷,知道了, 谢谢楼主。
页: [1]
查看完整版本: 使用腾讯云轻量部署FirefoxSend临时文件分享服务