Pages

Thursday, 28 March 2019

用firefox send分享文件

现在Firefox的开发组织Mozilla有个新方案,不论你用手机、平板电脑、以及一般桌面电脑,都可以很容易秘密分享档案.

李建军:这个由Firefox开发组织提供的新方案,叫Firefox Send,其实它是一个网站,网址是send.firefox.com。这个新方案最大特点,在于不用安装任何应用程式,只要你的浏览器的加密功能是完整的,简单而言,你用最新版的浏览器,如Safari、Chrome或Firefox,无感染任何木马或病毒,就可以轻易分享档案。

这网站如果没登记任何帐户,可以上传1GB的档案,如果登记了它们的帐户,就可以传送2.5GB的档案,但我相信,大部分人1GB已经十分足够。你上传后,系统会产生一条连结,你将连结交给朋友,朋友就可以下载你传给他的档案。而这容许多人接收档案,你亦可以加入密码保护,以及时间限制,时间一到系统便自动将档案删除,相信这网站的功能配合VPN翻墙,应可以满足大部分人传送档案给朋友的需要。

问:为何只用浏览器都可以实现点对点传送?

李建军:其实现代浏览器,透过TLS 1.3,都支援十分强大的点对点加密功能,否则亦不会有网上银行以及电子商贸的蓬勃发展,而Firefox Send就充分运用新一代浏览器的强大加密能力,再加上Mozilla长期收取捐款,以及与谷歌等公司分享广告收益等安排,有经费可以向用户免费提供临时储存,因此,可以做到变相的点对点传送。事实上是两个点来的,一个点是上传者将档案上传到Mozilla机构的主机、另一个点是收的特定连结的人,由Mozilla机构的主机下载档案,实际上,Mozilla机构是扮演临时储存档案者的角色。

亦因这个理由,所以Mozilla只容许未登记用户上传1GB档案,登记了的可以上传2.5GB,Mozilla组织始终并非商业机构,而是一个收取捐款的非牟利组织。如果你有超大型档案要传送,Google Drive、AWS S3或Dropbox一类要收费的商业服务,仍然是唯一有效的方法来的。

问:有甚么浏览器,是用不到Firefox这个新网站的档案传送功能?

李建军:系统内置检测程式,检查你使用的浏览器以及版本,如果你用IE,基本上是肯定不能使用这个网站,系统会将IE用户全部拒诸门外,这当然与IE的保安机制过时有关。而太旧版的Firefox和Chrome一样会拒诸门外,所以如果你想使用Firefox Send的功能,一定要将浏览器更新到最新版。

如果你使用Windows XP而用不了最新版的浏览器,这代表你已到换机的时候,因为在可见的将来,愈来愈多翻墙工具不会支援Windows XP;使用现代的作业系统,是使用现代翻墙工具不可或缺的一步.
---------

使用Firefox Send搭建一个临时文件分享系统

代码开源了,也有几个小伙伴搭建的时候遇到了点问题,要博主发个教程,这里就水一下手动搭建和Docker搭建。

手动安装
Github地址:https://github.com/mozilla/send
所需环境:Node.js 10+、Redis,如果你服务器,特别是CentOS,内存512M或以下的话,建议加点虚拟内存,不然后面可能会安装失败.
1、安装Nodejs

#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y nodejs git

#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs -y
yum -y groupinstall "Development Tools"

2、安装Redis
CenOS 6系统:

#安装EPEL
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
#安装Redis
yum install redis git -y
#启动Redis
service redis start
#设置开机自启
chkconfig redis on

CenOS 7系统:

#安装EPEL
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安装Redis
yum install redis -y
#启动Redis
systemctl start redis
#设置开机自启
systemctl enable redis

Debian/Ubuntu系统:

apt install redis-server -y

3、安装Firefox Send

git clone https://github.com/mozilla/send.git
cd send
#安装依赖
npm install
#构建生产环境
npm run build
#运行
npm run prod

基本上官方安装方法是这样,不过貌似使用root用户构建生产环境的时候会有点小问题,普通用户倒是没问题的。

一般我们玩的服务器都是直接给的root用户,所以这里就需要新建一个普通用户进行构建操作。

先使用root登录SSH客户端,使用命令:

#新建一个moerats用户,指定该用户的主目录为/home/moerats

#Debian/Ubuntu系统
useradd -d /home/moerats -m moerats

#CentOS系统,以下命令会自动给你创建一个/home/moerats主目录
useradd moerats

然后继续使用命令:

#进入到/home/moerats目录下载send项目
cd /home/moerats
git clone https://github.com/mozilla/send.git
#将send目录用户权限改为新建用户moerats
chown -R moerats:moerats send
#切换moerats用户
su - moerats
#进入项目文件夹
cd send
#安装依赖
npm install
#构建生产环境
npm run build
#运行
npm run prod

不出意外的话,构建和运行都没问题,不过运行的话root用户和新建的moerats用户都是可以运行的。

访问地址为ip:1443,然后一般情况下CentOS还需要开启防火墙1443端口,使用命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 1443 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7
firewall-cmd --zone=public --add-port=1443/tcp --permanent
firewall-cmd --reload

Docker安装
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、拉取镜像
这里就直接使用博主制作的镜像,使用命令:
docker run --name send -d -p 1443:1443 moerats/send

然后使用ip:1443访问即可,如果你想用其它端口,就更改前面的1443参数,比如8888:1443

No comments:

Post a Comment