In All Directions

In All Directions

Article from Issue 210/2018

This cool tool helps you exchange files and directories between computers with Linux, Mac OS, Windows, and Android.

There are many tools for exchanging data on heterogeneous local networks. NitroShare promises to make this task as easy as possible. In addition to Linux, NitroShare also supports Mac OS, Windows, and Android.

In this article, my test included a network of computers running Debian "Sid," Windows 10, Ubuntu, Ubuntu MATE, Fedora, and the Android app. Users with Debian Sid, Ubuntu, Fedora, Gentoo, and openSUSE will find the software in their respective repositories; for Arch Linux users, check out the AUR user archive. If necessary, compile the program for other distributions from the source code.

Qt5 as a Basis

Packages for Nautilus (Gnome), Nemo (Cinnamon), and Caja (MATE) are available for integration in file managers. Although NitroShare is based on the Qt5 framework, not all distributions have appropriate extensions. Packages for integration into Dolphin and Konqueror were only available for openSUSE as dolphin-plugin-nitroshare and for Fedora as nitroshare-kservice. Fedora also offers a plugin for use in the terminal.

The installation on Debian and Fedora is quickly done (Listing 1); the package itself is only 150KB with just one dependency on a small 40KB Qt web server. If you do not want to use the Personal Package Archive (PPA) in Ubuntu, use the same command as in Debian. For Windows, executables for 32- and 64-bit systems are available on the project's website [1], and a DMG package is available for Mac OS from version 10.8.

Listing 1

NitroShare Installation on Debian and Fedora

# Debian:
apt update
apt install nitroshare
# Fedora
sudo dnf install nitroshare
# Ubuntu-PPA:
sudo apt-add-repository ppa:george-edison55/nitroshare
sudo apt-get update
sudo apt-get install nitroshare
sudo apt install nitroshare-nautilus
# Arch from the AUR:
tar xf nitroshare.tar.gz
cd nitroshare
makepkg -sri

Immediately Ready for Operation

After installation and an initial start from the respective menu, the program is installed in the system tray (Figure 1). From there, it offers the exchange of files and directories with computers on the LAN on which the software is also installed. NitroShare automatically detects the corresponding devices and offers them as transfer targets.

Figure 1: NitroShare is located in the toolbar's system area under Debian.

The software is ready for use immediately after installation; no further configuration is required. In the Settings menu, you have the option of configuring a number of settings depending on your distribution and desktop (Figure 2 and Figure 3).

Figure 2: NitroShare offers more options in Settings under Debian than anywhere else.
Figure 3: Ubuntu MATE offers some options that aren't present in Debian.

Checking Auto start after login causes the program to launch whenever the system is booted. Automatic detection of other devices can take up to five minutes the first time. At the end of this phase, the tool displays a message with the results.

In the Settings dialog, you can also specify a name other than the hostname for each device and a default folder for downloads in the General tab. Under Advanced, you can change the port, buffer, time out, and interval, if necessary.

Encryption Is Possible

Although not normally necessary on your own network, the software also offers the possibility to encrypt transfers via Transport Layer Security (TLS) in the Security tab. A description of the corresponding configuration (Figure 4) can be found on the NitroShare wiki [2].

Figure 4: NitroShare offers the possibility of encrypting data in transit using TLS.

The menu also offers the Send Files and Send Directory options, which allow you to select files or directories and then specify the desired transfer destination. During data transfer, the software displays its history. You can close this dialog without affecting the transfer. After the transfer has completed, you see a message to this effect.

NitroShare does not limit the size of the data sent and can thus theoretically achieve high speeds on networks designed for this purpose. Behind the scenes, the program uses IPv4 broadcasts to send User Datagram Protocol (UDP) packets to other devices on the LAN. These contain information that allows other devices to initiate transmissions without having to worry about broadcast addresses and the like. By default, NitroShare sends all UDP packets on port 40816 to any active network interface with an IPv4 broadcast address. You can change the port individually in the settings, if necessary.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • File Exchange

    For the occasional local file transfer, a few simple tools can do the job quickly and efficiently.

  • Tool Tips

    We review htop 2.0.1, Metastore 1.1.0, fgallery 1.8.1, UniversalCodeGrep 0.2.1, hping 3.0.0, and NitroShare 0.3.1. 

  • SuperTuxKart

    Fast-moving fun and original ideas are what characterize the free SuperTuxKart racing game. This article gives readers some playing tips.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More