再见 FTP/SFTP!是时候拥抱下一代文件传输利器了!
关注「开源Linux」,选择“设为星标”
回复「学习」,有我为您特别筛选的学习资料~
两台电脑之间该如何传送档案,其实方法有超多种的,像是 FTP 或透过 SSH 方式来传送档案,但是这些方法步骤都有点复杂,FTP 需要搭建 FTP 服务,SSH 要学习 SCP 指令,那有没有更好的方式从单一电脑点对点传送档案到另一台呢?
传送过程需要快速又要安全,本文将介绍一套用 Go 语言写的工具叫 Croc,此工具有以下功能及优势。
工具特点及优势
用 Relay 方式让任意两台电脑传送档案
点对点加密 (使用 PAKE)
跨平台传送文件 (Windows, Linux, Mac)
一次可以传送多个文件或整个目录
支持断点续传
不需要自行搭建服务器或使用 port-forwarding 相关技术
优先使用IPv6,而 IPv4 当作备用
可以使用 Socks5 proxy
Croc 项目地址:https://github.com/schollz/croc
安装
下载适用于您系统的最新版本,用命令行安装最新版本:
$ curl https://getcroc.schollz.com | bash
在macOS上,您可以使用Homebrew安装最新版本:
$ brew install croc
使用方式
一个发送端,一个接收端,如下图所示:
发送端 接收端
传送端只需要执行 croc send file.txt 即可
$ croc send ~/Downloads/data.csv
Sending 'data.csv' (632.9 kB)
Code is: cabinet-rodeo-mayday
On the other computer run
croc cabinet-rodeo-mayday
上面可以看到会自动产生一个 secret code,接着在另外一台电脑执行底下指令
$ croc cabinet-rodeo-mayday
Accept 'data.csv' (632.9 kB)? (y/n) y
Receiving (<-111.243.108.9:51032)
当然你也可以自订 secret code
croc send --code appleboy ~/Downloads/data.csv
由于此工具是通过 relay server 方式来进行传送,所以指令会预设连到官方所搭建的服务器
// DEFAULT_RELAY is the default relay used (can be set using --relay)
var (
DEFAULT_RELAY = "croc.schollz.com"
DEFAULT_RELAY6 = "croc6.schollz.com"
DEFAULT_PORT = "9009"
DEFAULT_PASSPHRASE = "pass123"
)
假设你想要自己部署一个 Relay Server 呢?很简单,该工具也让使用者可以很快架设一台自己的 Relay Server,只需要执行下面的命令:
$ croc relay
[info] 2021/02/16 11:38:59 starting croc relay version v8.6.7-05640cd
[info] 2021/02/16 11:38:59 starting TCP server on 9010
[info] 2021/02/16 11:38:59 starting TCP server on 9012
[info] 2021/02/16 11:38:59 starting TCP server on 9009
[info] 2021/02/16 11:38:59 starting TCP server on 9013
[info] 2021/02/16 11:38:59 starting TCP server on 9011
可以指定单一 Port:
$ croc relay --ports 3001
[info] 2021/02/16 11:39:22 starting croc relay version v8.6.7-05640cd
[info] 2021/02/16 11:39:22 starting TCP server on 3001
接着在传送档案时也要跟着换掉 Relay Server
$ croc --relay 127.0.0.1:3001 send ~/Downloads/data.csv
Sending 'data.csv' (632.9 kB)
Code is: saddle-origin-horizon
On the other computer run
croc --relay 127.0.0.1:3001 saddle-origin-horizon
可以看到只需要加上 --relay 127.0.0.1:3001 就可以完成了,所以部署 Relay Server 是很简单的,即使官方服务挂了,你也可以在任意一台电脑装上 Relay Server 了。
心得
Croc 工具强调的就是: 简单 + 安全 + 快速,三大优势,让大家可以更容易点对点传送文件,加上 CLI 工具在任何平台都可以下载 (Windows,Mac, 及 Linux),只需要一个指令就可以装好此工具,跟其他用户快速进行文件传输。
原文:https://blog.wu-boy.com/2021/02/share-files-between-two-computer-using-croc-tool/
关注「开源Linux」加星标,提升IT技能
再见 FTP/SFTP!是时候拥抱下一代文件传输利器了!的更多相关文章
- linux - sftp, scp, rz, sz(文件传输命令)
1. sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃 ...
- 再见 Docker,是时候拥抱下一代容器工具了
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
- 【FTP】FTP(文件传输协议)工作原理(SFTP)
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- ftp (文件传输协议)
ftp (文件传输协议) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议” ...
- FTP(文件传输协议)工作原理
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识
第35章 FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...
- vsftpd-基于ftp协议的文件传输服务器软件
第一部分:在Linux上部署vsftpd服务 1. vsftpd简介 1.1 vsftpd是什么? ftp(File Transfer Protocol)文件传输协议.(实现不同操作系统之间文件的传输 ...
- 【计算机网络】2.3 文件传输协议:FTP
第二章第三节 文件传输协议:FTP 在一个典型的FTP(File Transfer Protocol,文件传输协议)会话中,用户坐在一台主机(本地主机)前面,向一台远程主机传输(或接收来自远程主机的) ...
- Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )
https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...
随机推荐
- kafka中的broker 是干什么的?
broker 是消息的代理,Producers往Brokers里面的指定Topic中写消息,Consumers从Brokers里面拉取指定Topic的消息,然后进行业务处理,broker在中间起到一 ...
- SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?
答:一般用@Controller注解,也可以使用@RestController,@RestController注解相当于@ResponseBody + @Controller,表示是表现层,除此之外, ...
- Spring-boot-菜鸟-properties配置
如果测试结果出现中文乱码: 结果": Person{lastName='张胜男', age=11, boss=false, birth=Wed Nov 11 00:00:00 CST 202 ...
- 什么是 Spring 的 MVC 框架?
Spring 配备构建 Web 应用的全功能 MVC 框架.Spring 可以很便捷地和其他 MVC 框架集成,如 Struts,Spring 的 MVC 框架用控制反转把业务对象和控制逻 辑清晰地隔 ...
- 阿里低代码引擎 | LowCodeEngine - 如何配置并调用请求
首发于 语雀文档@blueju 前言 发送请求是前端中很重要也很常见的一部分,阿里低代码引擎自然也不会缺少这一块.在阿里低代码引擎中,请求是在数据源中配置,数据源位置如下图: 配置 配置界面如下图:其 ...
- <img> 标签 图片加载失败时候处理方案
应用场景 在开发中,经常遇到一种情况,数据库不存在图片地址,或者存在图片地址,但图片已经被删除,这个时候会出现加载失败情况.提供以下解决方案 解决方案 在 img 标签 加上onerror=" ...
- [开源] 分享自己用的 GitHub 分组管理工具.
CODELF 的 GitHub Star 管理工具, 简洁快速,从开发者角度考虑,用完就走,不给开发者更多的管理负担. http://unbug.github.io/codelf/ 这个工具目前在 G ...
- python-筛法求素数
[题目描述]用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数. [练习要求]请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释. [输入格式 ...
- Spark入门之idea编写Scala脚本
一.安装Scala插件 1.File->Settings 2.Plugins->Msrketplace->搜索Scala并安装 (或者自己下载合适的scala版本,教程:自己给ide ...
- M1芯片使用cocoapods 报错[!] Oh no, an error occurred
[解决方式] 命令行1(编译): sudo arch -x86_64 gem install ffi 命令行2(安装): arch -x86_64 pod install 原出处:https://gi ...