|
| 1 | +# Created with WinGet Releaser using komac v2.15.0 |
| 2 | +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json |
| 3 | + |
| 4 | +PackageIdentifier: axpnet.AeroFTP |
| 5 | +PackageVersion: 3.1.3 |
| 6 | +PackageLocale: en-US |
| 7 | +Publisher: axpnet |
| 8 | +PublisherUrl: https://github.com/axpnet |
| 9 | +PublisherSupportUrl: https://github.com/axpnet/aeroftp/issues |
| 10 | +Author: axpnet |
| 11 | +PackageName: AeroFTP |
| 12 | +PackageUrl: https://github.com/axpnet/aeroftp |
| 13 | +License: GPL-3.0 |
| 14 | +LicenseUrl: https://github.com/axpdev-lab/aeroftp/blob/HEAD/LICENSE |
| 15 | +ShortDescription: A modern, multi-protocol file manager and FTP client with integrated AI, cloud sync, and military-grade encryption. |
| 16 | +Description: |- |
| 17 | + AeroFTP is an open-source, multi-protocol file manager built with Tauri 2 (Rust + React 18 + TypeScript). |
| 18 | + It supports 16 protocols (FTP, FTPS, SFTP, WebDAV, S3, Google Drive, Dropbox, OneDrive, MEGA, Box, pCloud, Azure Blob, 4shared, Filen, Zoho WorkDrive, and Cryptomator vaults), |
| 19 | + features an AI assistant with 45 tools and 15 LLM providers, military-grade encrypted vaults (AES-256-GCM-SIV + Argon2id), |
| 20 | + bidirectional real-time sync, a built-in code editor, SSH terminal, and media player with visualizers. |
| 21 | + Available in 47 languages with 4 themes. |
| 22 | +Moniker: aeroftp |
| 23 | +Tags: |
| 24 | +- cloud-storage |
| 25 | +- encryption |
| 26 | +- file-manager |
| 27 | +- file-transfer |
| 28 | +- ftp |
| 29 | +- ftp-client |
| 30 | +- multi-protocol |
| 31 | +- rust |
| 32 | +- s3 |
| 33 | +- sftp |
| 34 | +- sync |
| 35 | +- tauri |
| 36 | +- webdav |
| 37 | +ReleaseNotes: |- |
| 38 | + [3.1.3] - 2026-03-26 |
| 39 | + AeroCloud Hardening — Production-Grade Sync Engine |
| 40 | + Comprehensive AeroCloud sync overhaul: 6-phase sprint covering engine hardening, protocol fixes (OpenDrive, FileLu, 4shared), selective sync, file versioning, and .aeroignore support. Audited by 5 parallel Opus 4.6 agents — 10 findings identified and resolved. |
| 41 | + Added |
| 42 | + - Selective sync: Exclude remote folders from sync via tree-view checkbox UI in CloudPanel settings. Backend skips excluded folders in both scan and comparison phases. New SelectiveSyncTree component with collapse/expand, parent cascade, and dirty-state tracking |
| 43 | + - File versioning (.aeroversions/): Automatic backup of overwritten/deleted files during sync. Three strategies — TrashCan (cleanup after N days), Simple (keep last N copies), Staggered (1/hour for 24h, 1/day for 30d, 1/week older). New VersionBrowser component with restore, cleanup, and disk usage display |
| 44 | + - .aeroignore file: Gitignore-compatible pattern exclusion in sync root. Supports */** globs, ! negation (re-include), # comments, directory-only trailing /. Default template created on setup. Applied to all 3 scan paths (local, FTP remote, provider remote) |
| 45 | + - Protocol maturity badges: Stable/Beta/Alpha classification for all 21 AeroCloud protocols in setup wizard, dashboard, and wizard preview. Tooltip with one-line limitation per protocol |
| 46 | + - Re-authorization banner: Token revocation detection for OAuth 1.0a providers (4shared) — red banner with "Re-authorize" button in CloudPanel, triggered via cloud-reauth-required Tauri event |
| 47 | + - FileLu content hash: hash field captured from FileLu API responses, propagated as content_hash metadata for hash-based sync comparison (no mtime modification of local files) |
| 48 | + - Tauri commands: update_excluded_folders, list_remote_folders_tree, list_file_versions, restore_file_version, cleanup_versions, versions_disk_usage |
| 49 | + Changed |
| 50 | + - Conflict naming: Dropbox-style format report (AeroCloud conflict 2026-03-26 14-30-22 hostname).pdf replaces report_conflict_20260326143052.pdf. Includes machine hostname for multi-device disambiguation |
| 51 | + - Timestamp fallback: Size-only comparison when file timestamps are absent (providers like FileLu). timestamps_equal(None, None) now returns true. Sync index comparison falls back to size-only when cached mtime is None. Prevents infinite re-sync loops |
| 52 | + - OpenDrive session management: Proactive session refresh at 50-minute threshold via ensure_session(). Automatic re-authentication on 401 with single retry in list(). last_activity tracking across all operations (list, cd, download, upload, mkdir, delete, rename) |
| 53 | + - 4shared auth hardening: check_auth_status() applied to all 4 HTTP methods (GET, POST, DELETE, PUT). 401 responses produce AuthenticationFailed("4shared_token_revoked: ...") — sync loop aborts and emits frontend event |
| 54 | + - Default exclude patterns: .aeroignore and .aeroversions added to default exclude_patterns in CloudConfig |
| 55 | + - File watcher: .aeroversions added to EXCLUDED_HIDDEN list to prevent watcher events from versioning directory |
| 56 | + Fixed |
| 57 | + - FTP download versioning: Archive hook was missing in FTP sync path — local files were overwritten without backup. Now both FTP and provider paths archive before download (SEC audit finding #7) |
| 58 | + - Version restore safety: restore() now archives the current file before overwriting, preventing data loss on restore operations (audit finding #10) |
| 59 | + - Restore path traversal: restore_file_version command validates archive_path is within .aeroversions/ and rejects .. traversal (SEC audit finding #8) |
| 60 | + - Local scan excluded_folders: scan_local_folder() now skips directories listed in excluded_folders, preventing unwanted uploads of excluded content (audit finding #9) |
| 61 | + - OpenDrive operations coverage: ensure_session() added to download_to_bytes, mkdir, delete, rmdir_recursive, rename — previously only list/cd/download/upload were covered (audit findings #1-3) |
| 62 | + - 4shared PUT auth check: signed_put_form now calls check_auth_status() — previously 401 on rename/move produced generic error instead of triggering sync abort (audit finding #4) |
| 63 | + Security |
| 64 | + - 10 audit findings identified by parallel Opus 4.6 agents (2 HIGH, 4 MEDIUM, 4 LOW), all resolved |
| 65 | + - Path traversal protection in restore_file_version (validates archive path prefix + rejects ..) |
| 66 | + - Token revocation detection prevents continued API calls with revoked credentials |
| 67 | + Downloads: |
| 68 | + - Windows: .msi installer or .exe |
| 69 | + - macOS: .dmg disk image |
| 70 | + - Linux: .deb, .rpm, .snap, or .AppImage |
| 71 | +ReleaseNotesUrl: https://github.com/axpdev-lab/aeroftp/releases/tag/v3.1.3 |
| 72 | +ManifestType: defaultLocale |
| 73 | +ManifestVersion: 1.12.0 |
0 commit comments