SFTP client and server implementation for Go, providing file system operations over SSH connections.
pkg/sftp is a Go package that provides both SFTP client and server implementations for secure file transfer operations over SSH connections. It enables Go applications to perform remote file system operations like reading, writing, listing, and managing files on SSH servers. The package integrates with Go's standard crypto/ssh package and offers an API that mirrors Go's os package for familiarity.
Go developers who need to implement SFTP functionality in their applications, whether as clients connecting to remote servers or as servers providing file access to SFTP clients. This includes developers building automation tools, backup systems, or file management applications.
Developers choose pkg/sftp because it provides a complete, idiomatic Go implementation of both SFTP client and server with an API that feels native to Go. Unlike generic SFTP libraries, it's specifically designed for Go's ecosystem and integrates seamlessly with Go's existing SSH infrastructure.
SFTP support for the go.crypto/ssh package
The API mirrors Go's standard os package, making it intuitive for Go developers, as noted in the README where it states 'The basic operation of the package mirrors the facilities of the os package.'
Provides both SFTP client and server implementations in one package, enabling versatile use cases like building automation tools or serving files securely.
Built on top of Go's crypto/ssh package, ensuring secure connections and seamless integration with existing SSH infrastructure, as highlighted in the project description.
Offers a clean, idiomatic Go implementation specifically for the Go ecosystem, making it a natural fit for developers building Go applications with SFTP needs.
The README's roadmap admits 'There is way too much duplication in the Client methods,' which could impact code maintainability and future development.
Examples and usage are referenced externally to pkg.go.dev, lacking comprehensive built-in documentation that might slow down initial adoption or debugging.
Focuses on core SFTP operations without built-in support for features like batch transfers, resumable uploads, or protocol extensions, requiring additional implementation effort.
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
Pure Go implementation of the WebRTC API
Reliable UDP Transmission Optimizer based on KCP: Enhancing network efficiency in poor connectivity environments.
Cloudflare Tunnel client
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.