最近发现了一个不错的项目:ffsend,本质上是之前介绍过的Firefox Send的命令行版本。
Firefox Send是一个网页版的临时文件分享服务,但是只能适用于安装了浏览器的桌面级操作系统。用过云服务器的各位应该都考虑过「如何将本地写好的配置文件上传到服务器」这个问题,ffsend则为这个问题提供了又一个有力的回答。
与其他几种上传方式:(s)ftp、托管网站、自带ftp功能的远程软件(finalshell)等相比,ffsend有配置简单、传输安全、阅后即焚等优点。当然选择和取舍看个人习惯,仁者见仁智者见智。
关于Firefox Send的介绍和服务器搭建,请参考之前的文章:NPS-轻量级内网穿透代理服务器
交流群:Newlearnerの水群
下载与安装
-
macOS
1、Releases地址:https://github.com/timvisee/ffsend/releases
下载对应Mac版本的release,默认保存路径在~/Downloads
并且确保你的电脑已经安装了homebrew
:
1 2 3 4 5 6 7 8 9 10 11 |
# Install openssl dependency brew install openssl@1.1 # Rename file to ffsend mv ~/Downloads/ffsend-* ~/Downloads/ffsend # Mark binary as executable chmod a+x ~/Downloads/ffsend # Move binary into path, to make it easily usable sudo mv ~/Downloads/ffsend /usr/local/bin/ |
2、直接使用homebrew安装:brew install ffsend
,简单快捷。
3、也可以用docker部署:docker pull timvisee/ffsend
,需要docker环境。
-
Linux
1、yum和apt里面有没有这个安装包(19.5.18),作者推荐大家使用snap:snap install ffsend
,需要安装snapd。
2、也可以直接从releases下载:
1 2 3 4 5 6 7 8 9 10 11 |
#Download the latest release frome github wget https://glare.now.sh/timvisee/ffsend/linux-x64-static # Rename binary to ffsend mv ./linux-x64-static ./ffsend # Mark binary as executable chmod a+x ./ffsend # Move binary into path, to make it easily usable mv ./ffsend /usr/local/bin/ |
3、为了简化操作我写了一个简单的sh脚本,也是咱第一次写(请多包涵):
1 2 3 |
wget https://raw.githubusercontent.com/Newlearner365/sh/master/ffsend-linux-x64.sh chmod +x ffsend-linux-x64.sh ./ffsend-linux-x64.sh |
4、用docker部署:docker pull timvisee/ffsend
,需要docker环境。
-
Windows
每次都把Windows扔在最后是因为我日常真的不用,这里和大家简单介绍下:
1、作者推荐大家使用scoop安装
:scoop install ffsend
2、Releases地址:https://github.com/timvisee/ffsend/releases
下载对应Windows版本的release,并安装OpenSSL 1.1.0j:传送门
1 2 3 |
#powershell cd到下载目录 move .\ffsend.exe C:\Windows\System32\ffsend.exe |
3、基于.msi
的安装版本将会在以后提供
使用
⚠️值得注意的是,想要用命令行下载Firefox Send托管的文件,必须使用ffsend。上传则没有这方面的限制,网页版Firefox Send和ffsend均可。
非Docker版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#上传文件 $ ffsend upload my-file.txt Share link: https://send.firefox.com/#sample-share-url # 高级设置 # 设置下载次数为20(default为0),并设置密码 $ ffsend upload --downloads 20 --password my-file.txt Password: ****** Share link: https://send.firefox.com/#sample-share-url # 使用自建的Firefox Send服务器 $ ffsend u -h https://example.com/ my-file.txt Share link: https://example.com/#sample-share-url # 通过Share link下载到本地 $ ffsend download https://send.firefox.com/#sample-share-url |
Docker版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Invoke without arguments docker run --rm -it -v $(pwd):/data timvisee/ffsend # Upload my-file.txt docker run --rm -it -v $(pwd):/data timvisee/ffsend upload my-file.txt # Download from specified link docker run --rm -it -v $(pwd):/data timvisee/ffsend download https://send.firefox.com/#sample-share-url # Show help docker run --rm -it -v $(pwd):/data timvisee/ffsend help # To update the used image docker pull timvisee/ffsend |
在Linux和macOS下面,可以通过alias
来减少输入量:
1 |
alias ffsend='docker run --rm -it -v "$(pwd):/data" timvisee/ffsend' |
Further more:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 查看文件是否有效 $ ffsend exists https://send.firefox.com/#sample-share-url Exists: yes # 查看远端文件信息 $ ffsend info https://send.firefox.com/#sample-share-url # 查看已上传的文件(上传端) $ ffsend history # 在上传后改变文件密码(上传端) $ ffsend password https://send.firefox.com/#sample-share-url Password: ****** # 删除文件(上传端) $ ffsend delete https://send.firefox.com/#sample-share-url #查看更多 $ ffsend --help |
那么以后想要上传本地配置文件到服务器,只需要两行命令就足够了,配合上自建Firefox Send服务,极大程度地保证了隐私和传输安全。
附:一些文件托管服务网站
⚠️你将文件托管到别人的服务器上,需自行承担可能造成的后果
之前一直用的 temp.website 网站今年突然失联,永远怀念.jpg!
参考文章:
优雅地从 GitHub 下载 latest releases