Popularity
7.9
Stable
Activity
6.5
-
1,232
26
351

Programming language: Go
License: ISC License
Tags: Networking    

ftp alternatives and similar packages

Based on the "Networking" category.
Alternatively, view ftp alternatives based on common mentions on social networks and blogs.

  • fasthttp

    Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
  • kcptun

    A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.
  • Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
    Promo www.influxdata.com
    InfluxDB Logo
  • quic-go

    A QUIC implementation in pure Go
  • dns

    9.5 7.7 ftp VS dns
    DNS library in Go
  • gnet

    🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
  • Netmaker

    Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
  • gopacket

    Provides packet processing capabilities for Go
  • httpstat

    It's like curl -v, with colours.
  • kcp-go

    A Crypto-Secure, Production-Grade Reliable-UDP Library for golang with FEC
  • gobgp

    BGP implemented in the Go Programming Language
  • req

    8.8 8.4 ftp VS req
    Simple Go HTTP client with Black Magic
  • netpoll

    A high-performance non-blocking I/O networking framework focusing on RPC scenarios.
  • ssh

    8.7 4.6 ftp VS ssh
    Easy SSH servers in Golang
  • HTTPLab

    The interactive web server
  • mqttPaho

    The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
  • fortio

    Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.
  • heimdall

    An enhanced HTTP client for Go
  • go-getter

    Package for downloading things from a string URL using a variety of protocols.
  • water

    A simple TUN/TAP library written in native Go.
  • nbio

    Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
  • mdns

    Simple mDNS client/server library in Golang
  • sftp

    SFTP support for the go.crypto/ssh package
  • gobetween

    :cloud: Modern & minimalistic load balancer for the Сloud era
  • gev

    8.0 0.0 ftp VS gev
    🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
  • NFF-Go

    NFF-Go -Network Function Framework for GO (former YANFF)
  • gosnmp

    An SNMP library written in Go
  • grab

    A download manager package for Go
  • requests

    HTTP requests for Gophers
  • gmqtt

    Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.x and V5 in golang
  • cidranger

    Fast IP to CIDR lookup in Golang
  • vssh

    Go Library to Execute Commands Over SSH at Scale
  • lhttp

    go websocket, a better way to buid your IM server
  • go-stun

    A go implementation of the STUN client (RFC 3489 and RFC 5389)
  • gotcp

    A Go package for quickly building tcp servers
  • easytcp

    :sparkles: :rocket: EasyTCP is a light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.
  • bine

    Go library for accessing and embedding Tor clients and servers
  • gopcap

    A simple wrapper around libpcap for the Go programming language
  • peerdiscovery

    Pure-Go library for cross-platform local peer discovery using UDP multicast :woman: :repeat: :woman:
  • tcp_server

    DISCONTINUED. golang tcp server
  • gaio

    High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング
  • stun

    DISCONTINUED. Fast RFC 5389 STUN implementation in go
  • raw

    6.6 4.7 ftp VS raw
    DISCONTINUED. Package raw enables reading and writing data at the device driver level for a network interface. MIT Licensed.
  • winrm

    Command-line tool and library for Windows remote command execution in Go
  • ftpserverlib

    golang ftp server library
  • gNxI

    gNXI Tools - gRPC Network Management/Operations Interface Tools
  • arp

    6.2 0.0 ftp VS arp
    Package arp implements the ARP protocol, as described in RFC 826. MIT Licensed.
  • go-cleanhttp

    Get easily stdlib HTTP client, which does not share any state with other clients.
  • dnsmonster

    Passive DNS Capture and Monitoring Toolkit
  • ethernet

    Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. MIT Licensed.
  • buffstreams

    A library to simplify writing applications using TCP sockets to stream protobuff messages

Do you think we are missing an alternative of ftp or a related project?

Add another 'Networking' Package

README

goftp

Units tests Coverage Status golangci-lint CodeQL Go ReportCard Go Reference

A FTP client package for Go

Install

go get -u github.com/jlaffaye/ftp

Documentation

https://pkg.go.dev/github.com/jlaffaye/ftp

Example

c, err := ftp.Dial("ftp.example.org:21", ftp.DialWithTimeout(5*time.Second))
if err != nil {
    log.Fatal(err)
}

err = c.Login("anonymous", "anonymous")
if err != nil {
    log.Fatal(err)
}

// Do something with the FTP conn

if err := c.Quit(); err != nil {
    log.Fatal(err)
}

Store a file example

data := bytes.NewBufferString("Hello World")
err = c.Stor("test-file.txt", data)
if err != nil {
    panic(err)
}

Read a file example

r, err := c.Retr("test-file.txt")
if err != nil {
    panic(err)
}
defer r.Close()

buf, err := ioutil.ReadAll(r)
println(string(buf))