Skip to content

Architecture ​

text
sitemanager.xml -> SiteManager -> selected Server
                                      |
                               factory.toConfig()
                                      |
                         Dockline SDK / FTP / SFTP

FileZilla core reads configuration and has no transport dependency. FileZilla bridge packages map saved settings to the published Dockline clients. Applications own credentials, host approval, allowed paths and recovery policy.

Layout and ownership ​

DirectoryResponsibility
packages/coreXML reading, Server model, selection, metadata identities/snapshots and enums
packages/cliSaved-site queries, read-only connection checks and transfer recipes
packages/connector-abstractFileZilla factory/registry contracts and shared Dockline exports
packages/connector-ftpFileZilla FTP/FTPS configuration mapping
packages/connector-sftpFileZilla SFTP configuration mapping and host-key import
scriptsBuild, package and consumer validation
docsIndependently built VitePress documentation

State and resources ​

SiteManager retains normalized Server objects rather than original XML. JSON projections redact passwords; explicitly selected credential properties remain accessible. Remote-directory decoding stays lazy until requested or mapped for connection use.

Dockline owns protocol state, streams, cancellation and retry behavior. A returned read belongs to its caller until consumed or cancelled. SDK local-file methods own their local handles and await completion. withConnection owns the session for its callback lifetime.

FileZillaHostKeyStore reads FileZilla's modern hostkeys.xml; it does not write approvals or copy insecure algorithm policy. SiteIdentityStore offers explicit JSON import/export with application-owned persistence. See security and Dockline integration.

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