跳转到内容
登录关注  
洛汐

BeamCafe:无需上传即可分享你的文件

已推荐帖子

BeamCafe是一个功能强大的文件共享程序,功能主打快速安全,匿名的共享文件。

使用BeamCafe你不需要将文件上传到服务器,而是直接通过你的本地计算机流式传输。

我搭建了一个试了一下,挺不错的,ui也很漂亮,下面使用Debian10部署。

程序分为前端和后端两部分,先安装所有需要用到的软件:

apt -y update
apt -y install build-essential nginx python-certbot-nginx git curl
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt -y install nodejs
npm install -g pm2

拉取前端和后端项目文件:

cd /opt
git clone https://github.com/dot-cafe/beam.cafe.git
git clone https://github.com/dot-cafe/beam.cafe.backend.git

构建前端,先进入到项目目录:

cd /opt/beam.cafe

然后编辑这个文件:

nano webpack.config.prod.js

把WS_ENDPOINT和HTTPS_ENDPOINT后面的域名换成你自己的:

    plugins: [
        new webpack.DefinePlugin({
            'env': {
                'NODE_ENV': JSON.stringify('production'),
                'VERSION': JSON.stringify(resolveAppVersion()),
                'BUILD_DATE': JSON.stringify(Date.now()),
                'WS_ENDPOINT': JSON.stringify('wss://beam.imlala.best/ws'),
                'HTTPS_ENDPOINT': JSON.stringify('https://beam.imlala.best')
            }
        }),

然后安装依赖就可以构建了:

npm install
npm run build

将构建好的前端资源文件移动到nginx的站点目录:

mv dist/ /var/www/beam

接下来构建后端,没什么需要注意的地方,进到目录就可以开始:

cd /opt/beam.cafe.backend
npm install
npm run build

后端构建完成之后,使用pm2启动后端并设置开机自启:

pm2 start dist/src/app.js --name beam.cafe.backend
pm2 startup
pm2 save

如果后端运行正常的话,使用下图的命令你将可以看到status是online以及监听了8080端口:

lala.im_2020-06-22_14-22-31.png

现在新建一个nginx站点配置文件:

nano /etc/nginx/conf.d/beam.conf

写入如下配置:

server {
   listen               80;
   server_name          beam.imlala.best; # 换成你的域名
   client_max_body_size 0;
   root                 /var/www/beam;
   index                index.html;

location ~ ^/(d|b) {
    proxy_pass                  http://127.0.0.1:8080$request_uri;
    proxy_buffering             off;
    proxy_request_buffering     off;
}

location /ws {
    proxy_pass                  http://127.0.0.1:8080;
    proxy_buffering             off;
    proxy_set_header Host       $http_host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_http_version          1.1;
    proxy_set_header Upgrade    $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout          86400;
}

}

最后使用certbot签发一个ssl证书:

certbot --nginx --agree-tos --no-eff-email --email xxxxx@qq.com

访问你的域名就能看到这个程序的界面了,我试着传输了2个文件:

lala.im_2020-06-22_14-28-37.png

复制你的文件分享地址给别人访问,可以选择是直接下载这个文件还是在线播放(mp4等格式)

lala.im_2020-06-22_14-30-30.png

你可以看到当前文件的传输状态:

lala.im_2020-06-22_14-34-48.png

查看完整帖子

分享这篇帖子


链接帖子

参与讨论

你现在可以发表并稍后注册。 如果你有帐户,现在就登录参与讨论。

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   你的链接已自动嵌入.   显示为链接来代替

×   你之前的内容已恢复.   清除编辑器

×   你无法直接粘贴图片。要从网址上传或插入图片。

登录关注  

×
×
  • 创建新的...