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