0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Go语言的Croc工具的特点及优势

Linux爱好者 来源:Linux爱好者 作者:小恶魔 2021-07-05 16:32 次阅读

两台电脑之间该如何传送档案,其实方法有超多种的,像是 FTP 或透过 SSH 方式来传送档案,但是这些方法步骤都有点复杂,FTP 需要搭建 FTP 服务,SSH 要学习 SCP 指令,那有没有更好的方式从单一电脑点对点传送档案到另一台呢?

传送过程需要快速又要安全,本文将介绍一套用Go语言写的工具叫 Croc,详细的介绍可以参考看看作者的 Blog 介绍,此工具有以下功能及优势。

工具特点及优势

用 Relay 方式让任意两台电脑传送档案

点对点加密 (使用 PAKE)

跨平台传送文件 (Windows, Linux, Mac)

一次可以传送多个文件或整个目录

支持断点续传

不需要自行搭建服务器或使用 port-forwarding 相关技术

优先使用IPv6,而 IPv4 当作备用

可以使用 Socks5 proxy

Croc 项目地址:https://github.com/schollz/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 1159 starting croc relay version v8.6.7-05640cd

[info] 2021/02/16 1159 starting TCP server on 9010

[info] 2021/02/16 1159 starting TCP server on 9012

[info] 2021/02/16 1159 starting TCP server on 9009

[info] 2021/02/16 1159 starting TCP server on 9013

[info] 2021/02/16 1159 starting TCP server on 9011

可以指定单一 Port:

$ croc relay --ports 3001

[info] 2021/02/16 1122 starting croc relay version v8.6.7-05640cd

[info] 2021/02/16 1122 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),只需要一个指令就可以装好此工具,跟其他用户快速进行文件传输。

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9037

    浏览量

    85223
  • 电脑
    +关注

    关注

    15

    文章

    1681

    浏览量

    68708

原文标题:再见 FTP/SFTP,是时候拥抱下一代文件传输利器 Croc 了!

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在学习go语言的过程踩过的坑

    作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go
    的头像 发表于 11-11 09:22 118次阅读

    ARM汇编语言工具

    电子发烧友网站提供《ARM汇编语言工具.pdf》资料免费下载
    发表于 11-06 09:12 0次下载
    ARM汇编<b class='flag-5'>语言</b><b class='flag-5'>工具</b>

    TMS320C28x汇编语言工具

    电子发烧友网站提供《TMS320C28x汇编语言工具.pdf》资料免费下载
    发表于 11-01 09:32 0次下载
    TMS320C28x汇编<b class='flag-5'>语言</b><b class='flag-5'>工具</b>

    C语言与Java语言的对比

    C语言和Java语言都是当前编程领域中的重要成员,它们各自具有独特的优势特点,适用于不同的应用场景。以下将从语法特性、内存管理、跨平台性、性能、应用领域等多个方面对C
    的头像 发表于 10-29 17:31 222次阅读

    ChatGPT 的多语言支持特点

    )技术迎来了巨大的挑战和机遇。ChatGPT,作为一个领先的语言模型,其多语言支持的特点成为了它在众多应用场景中不可或缺的优势。 1. 多语言
    的头像 发表于 10-25 17:30 705次阅读

    go语言如何解决并发问题

    作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分,开发速度真的是比
    的头像 发表于 10-23 13:38 114次阅读
    <b class='flag-5'>go</b><b class='flag-5'>语言</b>如何解决并发问题

    Agv小车有哪些车型?特点优势是什么?适用哪些场景?

    AGV小车,全称自动导向车,也称为自动导向搬运车、自动引导搬运车,是一种无人驾驶的短途运输工具。其车型多样,以下是一些主要的AGV小车类型及其特点优势,以及它们适用的场景: 一、主要车型 潜伏式
    的头像 发表于 10-23 13:22 181次阅读
    Agv小车有哪些车型?<b class='flag-5'>特点</b>和<b class='flag-5'>优势</b>是什么?适用哪些场景?

    三十分钟入门基础Go Java小子版

    前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态、强类型、编译型语言
    的头像 发表于 08-12 14:32 689次阅读
    三十分钟入门基础<b class='flag-5'>Go</b> Java小子版

    CapCut Pro APK的特点功能及优势

    APK 的优势 直观的界面:CapCut Pro 拥有友好的用户界面,既适合新手也适合有经验的编辑人员,确保提供流畅无障碍的编辑体验。 强大的编辑工具:CapCut Pro 拥有多种编辑工具和功能,让
    发表于 05-20 06:57

    关于go中接口类型的表示方法

    go是一个静态性语言,每个变量都有静态的类型,因此每个变量在编译阶段中有明确的变量类型,比如像:int、float32、MyType。
    的头像 发表于 04-28 10:13 342次阅读

    Go语言中的函数、方法与接口详解

    Go 没有类,不过可以为结构体类型定义方法。方法就是一类带特殊的接收者参数的函数。方法接收者在它自己的参数列表内,位于 func 关键字和方法名之间。(非结构体类型也可以定义方法)
    的头像 发表于 04-23 16:21 763次阅读

    多次脉冲电缆故障测试仪的优势特点

    多次脉冲电缆故障测试仪的优势特点  多次脉冲电缆故障测试仪是一种用于检测电缆故障的高精度、高效率工具。本文将从测试仪的工作原理、测试能力、测试效果、使用方便性等多个方面详尽、详实、细致地介绍多次脉冲
    的头像 发表于 12-19 15:36 554次阅读

    使用go语言实现一个grpc拦截器

    在开发grpc服务时,我们经常会遇到一些通用的需求,比如:日志、链路追踪、鉴权等。这些需求可以通过grpc拦截器来实现。本文使用go语言来实现一个 grpc一元模式(Unary)拦截器,上报链路追踪信息。
    的头像 发表于 12-18 10:13 639次阅读
    使用<b class='flag-5'>go</b><b class='flag-5'>语言</b>实现一个grpc拦截器

    Go编程语言-你应该知道的一切

    Go 编程语言的故事始于 Google,当时三位工程师 Robert Griesemer、Rob Pike 和 Ken Thompson 对 C++ 的复杂性以及缺乏提供高效编译和执行的简单语言感到厌倦。
    的头像 发表于 12-11 17:37 623次阅读

    javascript语言特点

    JavaScript是一种广泛应用于Web开发的脚本语言,具有许多独特的特点优势。在本篇文章中,我将详尽、详实、细致地解释JavaScript的特点,让你全面了解这门
    的头像 发表于 12-03 11:31 920次阅读