tree: bd7490a75e42711e0c05dbf1ac6e7a91c5b99983 [path history] [tgz]
  1. examples/
  2. server_standalone/
  3. .gitignore
  4. .travis.yml
  5. attrs.go
  6. attrs_stubs.go
  7. attrs_test.go
  8. attrs_unix.go
  9. client.go
  10. client_integration_darwin_test.go
  11. client_integration_linux_test.go
  12. client_integration_test.go
  13. client_test.go
  14. CONTRIBUTORS
  15. debug.go
  16. example_test.go
  17. LICENSE
  18. other_test.go
  19. packet.go
  20. packet_test.go
  21. README.md
  22. release.go
  23. server.go
  24. server_integration_test.go
  25. server_stubs.go
  26. server_unix.go
  27. sftp.go
README.md

sftp

The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem.

UNIX Build Status GoDoc

usage and examples

See godoc.org/github.com/pkg/sftp for examples and usage.

The basic operation of the package mirrors the facilities of the os package.

The Walker interface for directory traversal is heavily inspired by Keith Rarick's fs package.

roadmap

  • Currently all traffic with the server is serialized, this can be improved by allowing overlapping requests/responses.
  • There is way too much duplication in the Client methods. If there was an unmarshal(interface{}) method this would reduce a heap of the duplication.
  • Implement integration tests by talking directly to a real opensftp-server process. This shouldn't be too difficult to implement with a small refactoring to the sftp.NewClient method. These tests should be gated on an -sftp.integration test flag. in progress

contributing

We welcome pull requests, bug fixes and issue reports.

Before proposing a large change, first please discuss your change by raising an issue.