WiFiCopy Official Site

User Guide

WiFiCopy User Guide

Version: 1.7
Last Updated: October 6, 2025


๐Ÿ“ฅ Installation

From Google Play Store (Recommended)

  1. Open Google Play Store on your Android device
  2. Search for "WiFiCopy"
  3. Tap Install
  4. Wait for installation to complete
  5. Tap Open to launch the app

Manual Installation (APK)

  1. Download the latest APK from the official website
  2. Enable "Install from Unknown Sources" in Android Settings:
    • Go to Settings โ†’ Security โ†’ Unknown Sources (Android 7-9)
    • Or Settings โ†’ Apps โ†’ Special Access โ†’ Install Unknown Apps (Android 10+)
  3. Open the downloaded APK file
  4. Tap Install
  5. Tap Open when installation completes

System Requirements

  • Android Version: 7.0 (API 24, Nougat) or higher
  • Target SDK: Android 14 (API 36)
  • Storage: Minimum 50 MB free space
  • Network: WiFi connection (for file transfers)
  • Permissions: File access, network access (granted during setup)

๐Ÿš€ Quick Start Guide

Step 1: Grant Permissions

When you first open WiFiCopy, you'll be asked to grant permissions:

  1. File Access - Tap Allow to let WiFiCopy access your files
    • On Android 13+, you can choose specific media types
  2. Notifications - Tap Allow to receive backup progress notifications
  3. WiFi State - Automatically granted for WiFi detection

Step 2: Choose Your Protocol

WiFiCopy supports three protocols:

  • SMB - For Windows shares, NAS devices, Samba servers
  • FTP - For FTP servers (unencrypted, use on trusted networks)
  • SFTP - For SSH/SFTP servers (encrypted, recommended for security)

Tap the protocol selector at the top of the screen to choose.

Step 3: Configure Server Connection

For SMB (Windows/NAS):

  1. Tap "+ Add SMB Configuration"
  2. Fill in the details:
    • Configuration Name: A friendly name (e.g., "Home NAS")
    • Server Address: IP address or hostname (e.g., 192.168.1.100 or nas.local)
    • Share Name: The network share name (e.g., backup)
    • Username: Your SMB username
    • Password: Your SMB password
    • Domain: (Optional) Windows domain name
    • Destination Path: Folder on the share (e.g., /phone-backup)
  3. Tap Test to verify the connection
  4. If successful, tap Save

For FTP:

  1. Tap "+ Add FTP Configuration"
  2. Fill in the details:
    • Configuration Name: A friendly name (e.g., "FTP Server")
    • Server Address: IP address or hostname
    • Port: Usually 21 for FTP
    • Protocol: Select FTP
    • Username: Your FTP username
    • Password: Your FTP password
    • Destination Path: Target folder (e.g., /uploads)
  3. Tap Test to verify the connection
  4. If successful, tap Save

For SFTP (Secure):

  1. Tap "+ Add FTP Configuration"
  2. Fill in the details:
    • Configuration Name: A friendly name (e.g., "SSH Server")
    • Server Address: IP address or hostname
    • Port: Usually 22 for SFTP
    • Protocol: Select SFTP (SSH)
    • Username: Your SSH username
    • Password: Your SSH password
    • Destination Path: Target folder (e.g., /home/user/backup)
  3. Tap Test to verify the connection
  4. On first connection, you'll see the SSH host key fingerprint
  5. Tap Trust to save the fingerprint (prevents man-in-the-middle attacks)
  6. If successful, tap Save

Step 4: Select Files to Copy

  1. Tap "Select Files" button
  2. Choose your selection method:
    • Select Multiple Files - Pick individual files
    • Select Folder - Choose an entire folder
  3. Browse and select your files/folders
  4. Selected files will appear in the "File Selection" card

Step 5: Start Copy

  1. Review your selected files and total size
  2. Ensure you've selected a server configuration
  3. Tap "Start Copy" button
  4. Monitor progress in the "Copy Progress" card
  5. You can Pause, Resume, or Cancel the operation

๐Ÿ“… Scheduled Backups

Creating a Scheduled Backup

  1. Tap the "Scheduled Backups" card
  2. Tap "+ Add Backup Job"
  3. Configure your backup:
  • Job Name: Descriptive name (e.g., "Daily Photos")
  • Protocol: Choose SMB, FTP, or SFTP
  • Configuration: Select your saved server config
  • Source Files: Select files/folders to backup
  • Frequency: Choose backup interval:
    • Every 2 Hours
    • Every 6 Hours
    • Every 12 Hours
    • Daily
    • Weekly
    • Monthly
  • Start on Boot: Enable to auto-start after device reboot
  • WiFi Trigger: Enable to run when specific WiFi network is available
    1. Tap Save

Managing Scheduled Backups

  • Run Now - Tap to execute backup immediately
  • Edit - Tap to modify backup settings
  • Delete - Tap to remove the backup job
  • Enable/Disable - Toggle to activate/deactivate without deleting

Monitoring Scheduled Backups

  • Active scheduled backups show a notification icon
  • Tap the notification to see backup progress
  • Backups run in the background even when app is closed
  • Notifications show completion status

๐Ÿ”ง Advanced Features

File Selection Options

Add More Files:

  • Tap "Add More" in the File Selection card
  • Add additional files to your current selection

Share File List:

  • Tap "Share List" to export your file selection
  • Share via email, messaging, or save as text file

Clear Selection:

  • Tap the X icon next to individual files to remove them
  • Or select new files to replace the current selection

Configuration Management

Edit Configuration:

  1. Tap the Edit icon on any saved configuration
  2. Modify settings as needed
  3. Tap Test to verify changes
  4. Tap Save to update

Delete Configuration:

  1. Tap the Delete icon on any saved configuration
  2. Confirm deletion
  3. Note: This doesn't delete scheduled backups using this config

Test Connection:

  • Tap Test in any configuration dialog
  • Verifies server connectivity
  • Shows success/failure message

Copy Progress Controls

Pause/Resume:

  • Tap Pause to temporarily stop the copy operation
  • Tap Resume to continue from where you paused

Cancel:

  • Tap Cancel to stop and abort the copy operation
  • Partially copied files may remain on the server

Retry:

  • After a failed or cancelled copy, tap Retry
  • Restarts the copy operation from the beginning

SFTP Host Key Management

Current Status: โš ๏ธ Host key verification is currently disabled in this version to prevent connection hangs.

How SFTP Connections Work:

  • SFTP connections proceed without host key verification
  • This allows connections to work reliably without blocking
  • Security note: This means the app cannot detect man-in-the-middle attacks on SFTP connections

For Maximum Security:

  • Use SFTP only on trusted networks (home WiFi, VPN)
  • Verify server identity through other means if needed
  • Future versions will re-enable host key verification with improved implementation

Technical Details:

  • Host key verification feature exists in the codebase but is disabled
  • The SftpHostKeyRepository and verification dialogs are present but not active
  • This was disabled to resolve connection hanging issues
  • Re-enabling is planned for a future update with proper non-blocking implementation

Alternative Security:

  • SFTP still provides full SSH encryption for data in transit
  • Username/password authentication is still required
  • Use strong passwords for SFTP accounts
  • Consider using SMB3 with encryption if host key verification is critical

๐ŸŒ Language Settings

Changing App Language (Android 13+)

  1. Open Android Settings
  2. Go to Apps โ†’ WiFiCopy
  3. Tap Language
  4. Select your preferred language from the list
  5. App language changes immediately

Changing App Language (Android 12 and below)

The app follows your system language setting:

  1. Open Android Settings
  2. Go to System โ†’ Languages & Input
  3. Change system language
  4. Reopen WiFiCopy

Fully Supported Languages (100% Translated)

WiFiCopy is available in 12 languages with complete translations:

Language Native Name Code
๐Ÿ‡ฌ๐Ÿ‡ง English English en
๐Ÿ‡ช๐Ÿ‡ธ Spanish Espaรฑol es
๐Ÿ‡ต๐Ÿ‡น Portuguese Portuguรชs pt
๐Ÿ‡ฉ๐Ÿ‡ช German Deutsch de
๐Ÿ‡ซ๐Ÿ‡ท French Franรงais fr
๐Ÿ‡ฎ๐Ÿ‡น Italian Italiano it
๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesian Bahasa Indonesia id
๐Ÿ‡ฎ๐Ÿ‡ณ Hindi เคนเคฟเคจเฅเคฆเฅ€ hi
๐Ÿ‡ฏ๐Ÿ‡ต Japanese ๆ—ฅๆœฌ่ชž ja
๐Ÿ‡ฐ๐Ÿ‡ท Korean ํ•œ๊ตญ์–ด ko
๐Ÿ‡จ๐Ÿ‡ณ Chinese (Simplified) ็ฎ€ไฝ“ไธญๆ–‡ zh-CN

Translation Coverage:

  • โœ… All UI elements and buttons
  • โœ… All dialogs and messages
  • โœ… All error messages and notifications
  • โœ… All configuration screens
  • โœ… All help text and descriptions
  • โœ… Complete accessibility support

Note: The app automatically displays in your device's language if supported, or defaults to English.


๐Ÿ”’ Security & Privacy

Credential Storage

  • All passwords are encrypted with AES-256-GCM encryption
  • Encryption keys are stored in Android's hardware-backed Keystore
  • Credentials are never stored in plaintext
  • SMB and FTP passwords stored in separate encrypted containers

Data Privacy

  • No data collection - Zero analytics or tracking
  • No advertising ID - App does not use or access advertising identifiers
  • No third-party SDKs - No analytics, crash reporting, or ad libraries
  • No internet connection - App works entirely offline (except for server connections)
  • Local processing only - All operations on your device
  • No cloud services - Direct connection to your servers
  • Production builds - Code obfuscated with R8 for additional security

Backup Security

  • Sensitive data excluded from Android Auto Backup
  • Passwords, configurations, and keys not backed up
  • Reinstalling requires re-entering credentials (security best practice)

Network Security

  • SMB3 encryption supported (auto-negotiated)
  • SFTP provides full SSH encryption
  • FTP is unencrypted (use only on trusted networks)
  • Host key verification prevents man-in-the-middle attacks (SFTP)

โ“ Troubleshooting

Connection Issues

"Connection failed" error:

  • Verify server address and port are correct
  • Ensure server is powered on and accessible
  • Check firewall settings on server
  • Verify username and password are correct
  • For SMB: Check share name and permissions
  • For FTP: Ensure FTP service is running
  • For SFTP: Verify SSH service is running on port 22

"Network unreachable" error:

  • Ensure device is connected to WiFi
  • Verify device and server are on same network
  • Check router settings and network configuration
  • Try pinging server from another device

SMB "Authentication failed" error:

  • Verify username and password
  • Check domain name (if applicable)
  • Ensure SMB user has share permissions
  • Try without domain if connection fails

FTP "501 Server can't accept argument" error:

  • Server may have strict command parsing
  • App automatically tries fallback methods
  • If persistent, contact server administrator

SFTP connection hangs or times out:

  • Ensure SSH service is running on port 22 (or configured port)
  • Check firewall allows SSH connections
  • Verify username and password are correct
  • Try increasing connection timeout in configuration
  • Note: Host key verification is currently disabled, so this error won't occur

File Transfer Issues

"Permission denied" error:

  • Verify user has write permissions on destination
  • Check destination path exists
  • For SMB: Ensure share permissions allow write
  • For FTP/SFTP: Check folder permissions

"No files to copy" error:

  • Ensure you've selected files in File Selection card
  • Verify files are accessible (not deleted)
  • Check file permissions on device

Transfer stops or fails:

  • Check WiFi connection stability
  • Ensure sufficient disk space on server
  • Verify server isn't blocking large transfers
  • Check server logs for errors

Scheduled Backup Issues

Backup not running:

  • Verify backup job is enabled (toggle on)
  • Check WiFi trigger settings if enabled
  • Ensure device isn't in battery saver mode
  • Grant background execution permission
  • Check notification settings are enabled
  • Disable battery optimization for WiFiCopy (Settings โ†’ Battery)

Backup runs but fails:

  • Verify server configuration is correct
  • Test connection manually
  • Check server is accessible at scheduled time
  • Review notification for error details
  • Check server logs for connection issues

Backup doesn't restore after update:

  • App automatically restores on update (v1.1.2+)
  • If not working, manually toggle backup off/on
  • Check app has boot permission (for auto-restore)

Folder backups not capturing new files:

  • Ensure you selected a folder (not individual files)
  • Folder permissions must remain granted
  • New files added to selected folders are automatically included (v1.7+)
  • Hidden files (starting with '.') are skipped

Performance Issues

Slow transfer speeds:

  • WiFi signal strength affects speed
  • Server disk speed impacts performance
  • Network congestion can slow transfers
  • Try transferring smaller batches

App crashes or freezes:

  • Ensure device has sufficient RAM
  • Close other apps to free memory
  • Clear app cache in Android settings
  • Reinstall app if problem persists

๐Ÿ’ก Tips & Best Practices

For Best Performance

  1. Use WiFi 5GHz - Faster than 2.4GHz for large transfers
  2. Keep device awake - Enable "Stay awake while charging" in Developer Options
  3. Stable connection - Stay close to WiFi router during transfers
  4. Batch transfers - Transfer related files together for efficiency

For Security

  1. Use SFTP - Encrypted transfers for sensitive data
  2. Strong passwords - Use complex passwords for server access
  3. Trusted networks - Only use on trusted WiFi networks
  4. Regular updates - Keep app updated for security patches
  5. Verify host keys - Always verify SFTP fingerprints on first connection

For Scheduled Backups

  1. Test first - Run manual backup before scheduling
  2. WiFi-only - Enable WiFi trigger to save mobile data
  3. Off-peak hours - Schedule during low-usage times
  4. Monitor notifications - Check backup completion status
  5. Start on boot - Enable for automatic restoration after reboot

For Reliability

  1. Save configurations - Keep server configs for reuse
  2. Descriptive names - Use clear names for configs and backups
  3. Test connections - Verify before important transfers
  4. Check permissions - Ensure proper file/folder access
  5. Monitor progress - Watch copy progress for large transfers

๐Ÿ“ž Support & Help

Getting Help

In-App Support:

  • Tap Support link at bottom of main screen
  • Opens support website with documentation

Website:

  • Visit: https://www.wificopy.app
  • Documentation, FAQs, and guides available

Privacy Policy:

  • Tap Privacy Policy link in app
  • Opens detailed privacy information

Open Source Licenses:

  • Tap View Licenses button in app
  • Shows all third-party library licenses

Reporting Issues

When reporting issues, include:

  • App version (Settings โ†’ About)
  • Android version
  • Device model
  • Server type (SMB/FTP/SFTP)
  • Error message (if any)
  • Steps to reproduce

Feature Requests

We welcome feature suggestions:

  • Visit support website
  • Describe your use case
  • Explain desired functionality

๐Ÿ“š Additional Resources

Protocol Information

SMB (Server Message Block):

  • Used by: Windows, NAS devices, Samba servers
  • Ports: 445 (SMB), 139 (NetBIOS)
  • Encryption: SMB3 supports encryption
  • Best for: Windows networks, home NAS

FTP (File Transfer Protocol):

  • Used by: FTP servers, web hosting
  • Port: 21 (default)
  • Encryption: None (unencrypted)
  • Best for: Internal networks, legacy systems

SFTP (SSH File Transfer Protocol):

  • Used by: Linux servers, SSH servers
  • Port: 22 (default)
  • Encryption: Full SSH encryption
  • Best for: Secure transfers, cloud servers

Network Configuration

Finding Server IP Address:

Windows:

  1. Open Command Prompt
  2. Type: ipconfig
  3. Look for IPv4 Address

Mac/Linux:

  1. Open Terminal
  2. Type: ifconfig or ip addr
  3. Look for inet address

Router:

  1. Access router admin page
  2. Check connected devices list
  3. Find device by name

Configuring SMB Share (Windows):

  1. Right-click folder โ†’ Properties
  2. Go to Sharing tab
  3. Click Advanced Sharing
  4. Check "Share this folder"
  5. Set permissions
  6. Note share name

Configuring FTP Server:

  • Varies by server software
  • Ensure FTP service is running
  • Configure user accounts
  • Set folder permissions
  • Open firewall port 21

Configuring SFTP (Linux):

  1. Install OpenSSH: sudo apt install openssh-server
  2. Start service: sudo systemctl start ssh
  3. Configure: Edit /etc/ssh/sshd_config
  4. Create user account
  5. Set folder permissions

๐Ÿ”„ Version History

v1.7 (Current - October 2025)

  • Enhanced security logging with SecureLog utility
  • ProGuard/R8 obfuscation for production builds
  • Improved credential protection
  • Code shrinking and resource optimization
  • Multi-language support (12 languages)
  • Per-app language preferences (Android 13+)
  • Enhanced SMB3 encryption detection
  • Dynamic folder backup (captures new files)
  • Improved scheduled backup reliability
  • Better notification management
  • UI/UX improvements and translations

v1.1.2

  • Automatic scheduler restoration
  • Last protocol memory
  • Enhanced security logging
  • Hardware-backed encryption
  • OWASP compliance

v1.1.1

  • Scheduled backup queueing
  • Manual backup priority
  • Bug fixes and improvements

v1.0.0

  • Initial release
  • SMB, FTP, SFTP support
  • Scheduled backups
  • File selection

๐Ÿ“„ License & Credits

WiFiCopy

  • Developer: Keith Neilson
  • License: Proprietary
  • Website: https://www.wificopy.app

Open Source Libraries:

  • SMBJ - SMB protocol implementation
  • Apache Commons Net - FTP protocol
  • JSch - SFTP/SSH implementation
  • Android Security Crypto - Encryption
  • WorkManager - Background jobs

Full license information available in app via "View Licenses" button.


Thank you for using WiFiCopy! ๐ŸŽ‰

For the latest updates, visit: https://www.wificopy.app