Skip to content

Dockline and FileZilla JS ​

The transfer implementation is provided by the independent h2ooooooo/Dockline monorepo. FileZilla JS reads saved configuration and maps a selected site into ordinary Dockline connection settings. Dockline has no dependency on FileZilla models, XML, factories or configuration readers.

RepositoryOwns
FileZilla JSSite Manager reading, selection, credential decoding, metadata identities/snapshots, FileZilla protocol mapping, read-only FileZilla host-key import and query/check CLI
DocklineFTP/FTPS/SFTP connections, authentication and trust callbacks, streams, local file convenience methods, errors, retries, progress, bandwidth, pools, publication, checksums, copy, traversal and managed known hosts

Independently installable packages ​

PackageOwnsRuntime dependency boundary
@jalsoedesign/dockline-abstractShared configuration, errors, transfer contracts, pools and stream utilitiesNo FTP or SFTP client
@jalsoedesign/dockline-coreShared SDK and protocol selectionAbstract only; detects the installed protocol package on use
@jalsoedesign/dockline-ftp-clientFTP/FTPS connector, encoding and TLS behaviorAbstract and FTP dependencies; no SSH client
@jalsoedesign/dockline-sftp-clientSFTP connector, authentication and managed known hostsAbstract and SSH dependencies; no FTP client

FileZilla's abstract, FTP and SFTP bridges depend on the corresponding Dockline package. Selecting one bridge does not install the other protocol. The CLI intentionally supports both protocols. Add @jalsoedesign/dockline-core separately when you want Dockline.withConnection or local-file convenience methods; a missing selected client produces an actionable installation error.

The fifth package, @jalsoedesign/dockline-cli, is an optional standalone command-line utility for download, upload, list and remove. It uses YAML connection configuration and independently installed protocol clients. It is not a dependency of FileZilla bridges or the FileZilla CLI; FileZilla's CLI retains its saved-site list/get/check workflow.

Simple connection configuration ​

Both concrete FileZilla factories expose static and instance toConfig(server, options?) methods. They do not connect, prompt or change the saved configuration. They return a plain FtpTransferConfig or SftpTransferConfig, accepted by Dockline.create, Dockline.connect and Dockline.withConnection.

username and root are the common fields. FTP's internal user, secure and initialPath become the shared names and protocol discriminator; SFTP's initialPath becomes root. Existing trust, credential-provider, timeout, retry, filename and TLS options survive conversion. The returned object may intentionally contain credentials and callbacks; do not log or serialize it as metadata.

Saved FileZilla protocolDockline protocol
FTP, FTPESftps, explicit TLS with no plaintext fallback
FTPSftps-implicit
INSECURE_FTPftp
SFTPsftp

The quick start loads a selected site's credential, maps its configuration, connects and transfers one local file. The root is a starting directory, not a confinement boundary. Remote permissions and server capabilities still determine which guarantees are possible.

Existing integrations remain supported ​

FtpConnectorFactory.fromServer and SftpConnectorFactory.fromServer still create disconnected adapters. Existing connector packages re-export the actual Dockline classes and errors, preserving class identity and instanceof checks within one compatible installed dependency tree. There is no second transport implementation to maintain.

The FileZilla ConnectorFactory, numeric-protocol ConnectorRegistry, concrete settings factories and FileZillaHostKeyStore remain here because they understand FileZilla data. Generic KnownHostsStore belongs to Dockline. The compatibility imports in the older transfer guides remain valid and describe the same implementation. New applications without FileZilla configuration should import Dockline directly.

The CLI retains list, get and the opt-in read-only check command. That command uses the FileZilla mapping layer and Dockline transport. Standalone transfers are available through the Dockline CLI.

Scope and known limits ​

Saved Site Manager XML and FileZilla's host-key file remain read-only. There is no new XML writer. Identity JSON export and managed Dockline trust persistence are separate APIs with their existing ownership rules.

See the Dockline documentation for generic transfer APIs, protocol configuration and guarantees.

Documentation for the filezilla-js library. An independent project.