curl, mc, ssh, openssl) to distinguish AeroFTP regressions from server misconfigFull local environment, containers exposed on localhost only. The files are published in the docs repository under tools/docker-harness, outside the site's public tree so that generated keys can never be copied into a site build: the compose file, the SFTP image and setup.sh, which generates the SSH test keys on your machine. No key is committed, and the credentials below are for these local containers only.
| Service | Host port | Protocol | Credentials |
|---|---|---|---|
aeroftp-test-ftps | 2121 | FTP (vsftpd), plain FTP without TLS | ftpuser / password123 |
aeroftp-test-sftp | 2223 | SFTP (OpenSSH) | user_key with key, user_pwd with password, user_mixed with key and password |
aeroftp-test-webdav | 8080 | WebDAV (bytemark/webdav) | webdavuser / password123 |
aeroftp-test-minio | 9000 / 9001 | S3 (MinIO) | admin / password123 |
Quick start, from the docker-harness directory:
./setup.sh
docker compose up -d --buildmc alias set test http://127.0.0.1:9000 admin password123
mc mb --ignore-existing test/aeroftp-testThe Provider Coverage Matrix assigns each provider a Coverage Class (A, B, C, D) and a numeric score out of 100 derived from a deterministic, speed-independent rubric.
| Class | Label | Score | Meaning |
|---|---|---|---|
| A | Primary | 90-100 | Full matrix green, ready for critical workloads |
| B | Extended | 70-89 | Core operations solid, minor gaps on advanced features |
| C | Compatible | 50-69 | Base works, known non-blocking limitations |
| D | Observer | < 50 | Partially covered, not recommended for production |
Rubric (100 pt total):
| Dimension | Weight | What it measures |
|---|---|---|
| Core Operations | 30 | connect, ls, put, get, stat, mkdir, rm, mv |
| Data Integrity | 20 | SHA-256 end-to-end + hashsum parity |
| Navigation & Discovery | 15 | tree, find, head, cat, recursive stat |
| Advanced Features | 15 | share links, trash/restore, versions, server-side copy, quota |
| Encoding Robustness | 10 | unicode, spaces, special characters in file names |
| Reconciliation | 10 | check, sync-doctor, reconcile post-sync matches |
Throughput is deliberately excluded from scoring: it depends on distance from the provider endpoint and local network conditions, not on the client implementation.
Symbols used in tables:
Matrices are plain HTML tables without custom styling. The test-reports section uses a full-width layout to host them even when the grid is dense.
The DAG engine review and the comparative battery measure AeroFTP against other clients on the same link. They follow these rules:
aeroftp-cli export rclone and aeroftp-cli export cyberduck, so every tool talks to the same endpoint with the same credentials and TLS mode.What these measurements do not establish: a ranking of clients in general. They describe one station, one link and one set of servers.
The comparative harness itself is a maintainer script bound to the lab profiles and is not published. The rules above, the commands listed on each page and aeroftp-cli export are enough to rebuild an equivalent battery against your own servers.
This suite is not:
It's an operational regression-testing log, published for transparency.