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
ftprush
This 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.sh
Step 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.sh
This 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 install
This 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:
ftprush
From File Manager:
- Navigate to
/opt/FTPRush
- Double-click the
ftprush
executable
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 install
Before major updates or system changes:
sudo install_ftprush.sh --backup=/path/to/backup install
To restore a previous configuration:
sudo install_ftprush.sh --restore=/path/to/backup install
To completely remove FTPRush:
sudo install_ftprush.sh uninstall
To 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/ftprush
for 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 restore
Easy 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-wrapper
Interactive Mode:
sudo install_ftprush.sh
One-Line Installation:
curl -fsSL https://raw.githubusercontent.com/ReadyPixels/FTPRush_Linux_Install_Script/main/install_ftprush.sh | sudo bash -s -- --yes install
Automated 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.sh
For 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
- π€
--yes
or--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) - π
--version
or-v
: Show version information - π
install
: Install FTPRush - ποΈ
uninstall
: Remove FTPRush - β
-h
or--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 install
After 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-wrapper
Once installed, you can simply run:
ftprush
To remove the wrapper script:
sudo install_ftprush.sh --remove-wrapper
The 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/FTPRush
directory - π₯οΈ
/usr/share/applications/ftprush.desktop
entry - π 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
--prefix
option - π Non-interactive mode with
--yes/--silent
for 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-backup
flag
-
π 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/FTPRush
and~/.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
PATH
by 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
--version
flag works correctly - β Help System: Tests the
--help
flag 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
/opt
directory 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