MCPcopy Index your code
hub / github.com/crazy-max/ftpgrab

github.com/crazy-max/ftpgrab @v7.13.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v7.13.0 ↗ · + Follow
262 symbols 829 edges 55 files 102 documented · 39%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Documentation GitHub release Total downloads Build Status Docker Stars Docker Pulls

Go Report Codecov Become a sponsor Donate Paypal

About

FTPGrab is a command-line tool for pulling files from remote FTP and SFTP servers to your NAS, server, or computer. It is built for unattended transfers: you can point it at one or more remote sources, run it on a schedule, filter what should be downloaded, and avoid re-downloading files that were already grabbed. It can also send notifications after runs, so you can keep track of successful downloads, failures, and other activity without babysitting the job.

It works well for seedboxes, home servers, and any setup where files need to move reliably from a remote server to local storage. FTPGrab is available as a single executable and as a container image.

[!TIP] Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!

Documentation

Documentation can be found on https://crazymax.dev/ftpgrab/

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! :pray:

License

MIT. See LICENSE for more details.

Icon credit to Nick Roach.

Extension points exported contracts — how you extend this code

Handler (Interface)
Handler is a notifier interface
internal/notif/notifier/notifier.go
Handler (Interface)
Handler is a server interface
internal/server/client.go

Core symbols most depended-on inside this repo

Close
called by 44
internal/server/client.go
Name
called by 39
internal/notif/notifier/notifier.go
Run
called by 22
internal/app/ftpgrab.go
GetDefaults
called by 12
internal/config/db.go
Add
called by 11
internal/journal/client.go
GetSecret
called by 11
internal/secret/secret.go
NewTimeoutConn
called by 8
internal/server/client.go
Read
called by 6
internal/server/client.go

Shape

Method 124
Function 86
Struct 45
TypeAlias 4
Interface 3

Languages

Go99%
Python1%

Modules by API surface

internal/server/ftp/client.go32 symbols
internal/server/ftp/client_test.go22 symbols
internal/grabber/grabber_test.go21 symbols
internal/grabber/grabber.go15 symbols
internal/server/client.go10 symbols
internal/db/client_test.go10 symbols
internal/server/sftp/client.go9 symbols
internal/db/client.go8 symbols
internal/server/client_test.go6 symbols
internal/config/config_test.go6 symbols
internal/notif/client_test.go5 symbols
internal/app/ftpgrab.go5 symbols

For agents

$ claude mcp add ftpgrab \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact