Automated download, installation, desktop integration, and clean removal of FTPRush on Debian-based Linux systems.
🚀 Quick Install • 📖 User Guide • ✨ Features • 🔧 Troubleshooting • 🤝 Contributing
curl -fsSL https://raw.githubusercontent.com/ReadyPixels/FTPRush_Linux_Install_Script/main/install_ftprush.sh | sudo bash -s -- --yes install| 📋 Changelog | 👥 Credits | ✅ Tasks | 📄 License |
|---|---|---|---|
| Version history | Contributors | Project progress | GPL-3.0 License |
🔧 Essential Commands
# 🚀 Install FTPRush
curl -fsSL https://raw.githubusercontent.com/ReadyPixels/FTPRush_Linux_Install_Script/main/install_ftprush.sh | sudo bash -s -- --yes install
# 🗑️ Uninstall FTPRush
sudo install_ftprush.sh uninstall
# 🎯 Launch FTPRush
ftprushThis repository provides a Bash script, install_ftprush.sh, that installs FTPRush on Linux by:
| 🔽 Download | 📦 Extract | 🖥️ Desktop Integration | 🧹 Cleanup | 🗑️ Uninstall |
|---|---|---|---|---|
| Official tarball | /opt/FTPRush |
Desktop entry | Temp artifacts | Complete removal |
💡 Interactive Experience: The script guides you through installation or uninstallation with user-friendly prompts.
| 🐧 | Operating System | Debian-based Linux distribution |
| 🔐 | Privileges | sudo access required |
| 🌐 | Network | Internet connection for downloads |
| 🟢 Fully Supported | 🟡 Compatible | 📋 Requirements |
|---|---|---|
| Ubuntu (current versions) | Kubuntu, Xubuntu | Debian-based |
| Debian 10+ | Elementary OS | apt package manager |
| Linux Mint 19+ | Zorin OS | systemd (recommended) |
| Pop!_OS 20.04+ | MX Linux | 64-bit architecture |
You can install the script to a convenient location (e.g., /usr/local/bin) and run it with various options.
# 📥 Download the installer
sudo wget https://raw.githubusercontent.com/ReadyPixels/FTPRush_Linux_Install_Script/main/install_ftprush.sh -O /usr/local/bin/install_ftprush.sh
# 🔧 Make executable
sudo chmod +x /usr/local/bin/install_ftprush.shStep 1: Copy the script to system location
sudo cp install_ftprush.sh /usr/local/bin/Step 2: Set executable permissions
sudo chmod +x /usr/local/bin/install_ftprush.shThis guide will walk you through installing and using FTPRush on your Linux system.
The fastest way to install FTPRush is using our one-line installer:
curl -fsSL https://raw.githubusercontent.com/ReadyPixels/FTPRush_Linux_Install_Script/main/install_ftprush.sh | sudo bash -s -- --yes installThis command will:
- Download the installer script
- Install FTPRush to
/opt/FTPRush - Create a desktop entry for easy access
- Set up the command-line wrapper
After installation, you can launch FTPRush in several ways:
From Desktop:
- Look for "FTPRush" in your applications menu
- Click the FTPRush icon on your desktop (if created)
From Command Line:
ftprushFrom File Manager:
- Navigate to
/opt/FTPRush - Double-click the
ftprushexecutable
When you first launch FTPRush:
- The application will start with a clean interface
- Configure your FTP/SFTP connections using the connection manager
- Set your preferences in the settings menu
If you want to install FTPRush to a different directory:
sudo install_ftprush.sh --prefix=/your/custom/path installBefore major updates or system changes:
sudo install_ftprush.sh --backup=/path/to/backup installTo restore a previous configuration:
sudo install_ftprush.sh --restore=/path/to/backup installTo completely remove FTPRush:
sudo install_ftprush.sh uninstallTo uninstall while keeping a backup of your settings:
sudo install_ftprush.sh --backup=/path/to/backup uninstall# 🔇 Skip all prompts
sudo install_ftprush.sh --yes install# 🛠️ Create wrapper
sudo install_ftprush.sh --create-wrapper💡 Result: Creates
/usr/local/bin/ftprushfor easy GUI access
| 🖱️ Interactive Mode | ⚡ Non-Interactive Mode |
|---|---|
| Menu-driven interface | Direct command execution |
| User-friendly prompts | Automation-friendly |
| Default behavior | Requires explicit actions |
sudo install_ftprush.sh📋 Available Commands
# 🚀 Install FTPRush
sudo install_ftprush.sh install
# 🗑️ Uninstall FTPRush
sudo install_ftprush.sh uninstall
# 🤖 Silent installation
sudo install_ftprush.sh --yes install| 🔧 Options | ||
|---|---|---|
--yes / -y |
🤖 | Automatic yes to all prompts |
--no-cleanup |
🗂️ | Skip cleanup of temporary files |
--custom-dir DIR |
📁 | Install to custom directory |
--create-wrapper |
🔗 | Create command-line wrapper |
--help / -h |
❓ | Show help message |
| ⚡ Actions | ||
|---|---|---|
install |
🚀 | Install FTPRush |
uninstall |
🗑️ | Remove FTPRush |
backup |
💾 | Create backup |
restore |
🔄 | Restore from backup |
🎯 Basic Installation
# 🖱️ Interactive installation
sudo install_ftprush.sh
# 🤖 Silent installation
sudo install_ftprush.sh --yes install🛠️ Custom Installation
# 📁 Install to custom directory
sudo install_ftprush.sh install --custom-dir /opt/custom/ftprush
# 🔗 Install with wrapper creation
sudo install_ftprush.sh --yes install --create-wrapper🔧 Maintenance Workflow
# 💾 Create backup before update
sudo install_ftprush.sh backup
# 🗑️ Uninstall old version
sudo install_ftprush.sh uninstall
# 🚀 Install new version
sudo install_ftprush.sh --yes install
# 🔄 Restore if needed (optional)
sudo install_ftprush.sh restoreEasy terminal access to FTPRush GUI
| Command | Description | Example |
|---|---|---|
ftprush |
🚀 Launch FTPRush | Basic startup |
ftprush /path/to/file |
📁 Launch with file | Open specific file |
ftprush & |
🔄 Launch in background | Non-blocking execution |
Flexible wrapper management for different use cases
# 🗑️ Remove wrapper only
sudo rm /usr/local/bin/ftprush
# 🔄 Recreate wrapper
sudo install_ftprush.sh --create-wrapperInteractive Mode:
sudo install_ftprush.shOne-Line Installation:
curl -fsSL https://raw.githubusercontent.com/ReadyPixels/FTPRush_Linux_Install_Script/main/install_ftprush.sh | sudo bash -s -- --yes installAutomated Process: The script handles everything for you!
| 1️⃣ | Check Installation | Verify if FTPRush is already installed |
| 2️⃣ | Download | Fetch latest FTPRush Linux version |
| 3️⃣ | Extract | Install to /opt/FTPRush |
| 4️⃣ | Desktop Integration | Create application menu entry |
| 5️⃣ | Cleanup | Remove temporary files (optional) |
| 📱 Applications Menu | 💻 Terminal | 🖥️ Desktop |
|---|---|---|
| Search for "FTPRush" | ftprush command |
Desktop shortcut |
Run the installer without arguments to use the interactive menu:
sudo install_ftprush.shFor automated installations, you can use command-line arguments:
# 🚀 Install with default options (non-interactive)
sudo install_ftprush.sh --yes install
# 📁 Install to a custom directory
sudo install_ftprush.sh --yes --prefix=/opt/custom/path install
# 🗑️ Uninstall (removes all files)
sudo install_ftprush.sh --yes uninstall- 🤖
--yesor--silent: Run in non-interactive mode, automatically answering 'yes' to all prompts - 📁
--prefix=PATH: Install to a custom directory (e.g.,--prefix=/opt/custom/path) - 💾
--backup=DIR: Backup configuration to the specified directory during installation/uninstallation - ⏭️
--no-backup: Skip configuration backup during uninstallation - 🔄
--restore=DIR: Restore configuration from the specified directory during installation - 🔄
--no-update-check: Skip checking for script updates - 🔗
--install-wrapper: Install command-line wrapper (requires root) - 🗑️
--remove-wrapper: Remove command-line wrapper (requires root) - 📊
--versionor-v: Show version information - 🚀
install: Install FTPRush - 🗑️
uninstall: Remove FTPRush - ❓
-hor--help: Show help message
# Basic installation
sudo install_ftprush.sh install
# Install silently to a custom directory
sudo install_ftprush.sh --yes --prefix=/opt/myapps/FTPRush install
# Install with configuration backup
sudo install_ftprush.sh --backup=/path/to/backup install
# Install and restore configuration
sudo install_ftprush.sh --restore=/path/to/backup install
# Install command-line wrapper (requires root)
sudo install_ftprush.sh --install-wrapper
# Remove command-line wrapper (requires root)
sudo install_ftprush.sh --remove-wrapper
# Check version information
sudo install_ftprush.sh --version
# Uninstall with backup to a specific directory
sudo install_ftprush.sh --backup=/path/to/backup uninstall
# Uninstall without backup
sudo install_ftprush.sh --no-backup uninstall
# Skip update check (useful for automation)
sudo install_ftprush.sh --no-update-check installAfter installation, you can run FTPRush from the command line using the wrapper script. The wrapper script is installed to /usr/local/bin/ftprush and provides a convenient way to launch FTPRush.
The wrapper is automatically installed during the main installation if you run the installer as root. If you need to install it separately:
sudo install_ftprush.sh --install-wrapperOnce installed, you can simply run:
ftprushTo remove the wrapper script:
sudo install_ftprush.sh --remove-wrapperThe wrapper script:
- Automatically detects the FTPRush installation directory
- Launches the FTPRush binary with any provided arguments
- Provides helpful error messages if FTPRush is not found
- Works with both default and custom installation paths
When you run the script, you will be prompted with:
1. Install FTPRush
2. Uninstall FTPRush
🚀 Option 1: Install FTPRush
The script will perform these actions:
| 📥 | Download | Archive to /tmp/FTPRush_linux.tar.bz2 |
| 📦 | Extract | Contents to /opt/FTPRush |
| 🔧 | Permissions | Set execute on /opt/FTPRush/ftprush |
| 🖼️ | Desktop Entry | Create /usr/share/applications/ftprush.desktop |
| 🧹 | Cleanup | Optional removal of temporary files |
🗑️ Option 2: Uninstall FTPRush
The script will remove:
- 📁
/opt/FTPRushdirectory - 🖥️
/usr/share/applications/ftprush.desktopentry - 🔗 Command-line wrapper (if installed)
⚠️ Note: Configuration files in user directories are preserved unless explicitly removed
-
🤖 Automated Installation
- 📥 Downloads FTPRush tarball with checksum verification
- 📦 Extracts to
/opt/FTPRush(or custom path) with proper permissions - 🖥️ Creates desktop entry at
/usr/share/applications/ftprush.desktop - 🎨 Downloads and sets up application icon
-
⚙️ Flexible Configuration
- 📁 Custom installation directory via
--prefixoption - 🔇 Non-interactive mode with
--yes/--silentfor automation - 🖱️ Interactive prompts for user-friendly manual installation
- 📁 Custom installation directory via
-
💾 Configuration Management
- 🛡️ Backup user configuration before uninstallation or upgrade
- 🔄 Restore configuration from backup during installation
- 📂 Specify custom backup/restore directories
- ⏭️ Skip backup with
--no-backupflag
-
🔒 Safety Features
- ✅ Checksum verification of downloaded files
- 🧹 Proper cleanup of temporary files
⚠️ Clear confirmation before removing existing installations- 🛠️ Graceful handling of partial installations
- 💾 Automatic backup before uninstallation
-
🗑️ Uninstallation
- 🧽 Complete removal of all installed files
- 📋 Option to keep or remove configuration files
- 🎯 Works with both default and custom installation paths
- 💾 Optional configuration backup
-
💾 Configuration Management
- 📁 Only backs up common configuration directories (
~/.config/FTPRushand~/.FTPRush) - 🏠 Does not back up files outside the user's home directory
- 🔓 Backup is not encrypted
- 📁 Only backs up common configuration directories (
-
🔗 System Integration
- 🛤️ Not added to system
PATHby default (use full path or create alias) - 🖥️ No desktop environment detection for optimal icon placement
- 🛤️ Not added to system
This project includes a comprehensive test suite that runs in a Linux environment, including WSL (Windows Subsystem for Linux).
- 🐚 Bash
- 🦇 BATS (Bash Automated Testing System)
- 🔍 ShellCheck (for static code analysis)
-
Using WSL (Windows Subsystem for Linux):
# Navigate to your project directory in WSL cd /mnt/g/Projects/FTP/FTPRush_Linux_Install_Script # Make the test script executable chmod +x run_tests.sh # Run the tests ./run_tests.sh
-
On Native Linux:
# Make the test script executable chmod +x run_tests.sh # Run the tests ./run_tests.sh
- 📊 Version Check: Verifies the
--versionflag works correctly - ❓ Help System: Tests the
--helpflag and command-line help output ⚠️ Error Handling: Verifies proper error messages for invalid options- ⚙️ Basic Functionality: Ensures the installer can be executed without errors
- 🧪
test/test_install_ftprush.bats: Main test file with test cases - 🛠️
test/test_helper/: Helper files for BATS testing - ⚙️
.shellcheckrc: Configuration for ShellCheck
- 🧪
test/test_install_ftprush.bats: Main test file with test cases - 🛠️
test/test_helper/: Helper files for BATS testing - ⚙️
.shellcheckrc: Configuration for ShellCheck
- 🧪 Add more test cases for edge cases
- 🔄 Implement CI/CD with GitHub Actions
- 🖥️ Desktop environment detection for better integration
- 🐧 Support for more Linux distributions
- 📦 Package manager integration (deb/rpm)
🔐 Permission denied
Problem: Script fails with permission errors
Solution:
# ✅ Run with sudo privileges
sudo install_ftprush.sh🌐 Download fails
Problem: Cannot download FTPRush archive
Solutions:
- ✅ Check internet connection
- ✅ Verify firewall settings
- ✅ Try different network
💾 Extraction fails
Problem: Archive extraction errors
Solutions:
- ✅ Ensure sufficient disk space in
/tmp - ✅ Check
/optdirectory permissions - ✅ Verify archive integrity
🖥️ Desktop entry not appearing
Problem: FTPRush not in applications menu
Solutions:
# 🔄 Update desktop database
sudo update-desktop-database
# 🔄 Or logout and login again| Step | Action | Description |
|---|---|---|
| 1️⃣ | Check Output | Review script error messages |
| 2️⃣ | Verify Privileges | Ensure sudo access |
| 3️⃣ | Test Connection | Verify internet connectivity |
| 4️⃣ | Check Space | Ensure sufficient disk space |
| 5️⃣ | Verbose Mode | Run with --verbose flag |
| 🏠 Repository | 🐛 Issues | 📦 Releases |
|---|
This project is licensed under the GPL-3.0 License
📋 See the LICENSE file for details