Cool Tools for the Raspberry Pi

Drive-by Testing

Linux repositories are full of useful tools for the Raspberry Pi. We explore some network tools you might not have noticed.

Samba Specialist

GAdmin-Samba 0.2.9 lets you configure file shares for Windows computers without the need to modify configuration files.

The Raspberry Pi can act as a rudimentary file server when it is equipped with one or more large USB hard drives. To configure file sharing for Windows computers, all you have to do is install and configure the Samba system service. The GAdmin-Samba interface helps with this task and saves you the trouble of poking about in text files with an editor. However, you still need to make sure you have root user rights.

The GAdmin-Samba user interface contains all of the important configuration options and summarizes related settings in tabs. For instance, the Server settings tab contains settings for the basic configuration. The Users and Shares directories are responsible for the administration of users and shares. In the Machines tab, you can limit the file server access to specific computers. The Connections tab displays all current connections to the server. You will have to use Refresh regularly because the connection overview does not update itself automatically. The Disc and Security tabs describe the state of the hard drive in the system and display current error messages. Configuration provides an overview of all settings.

Be aware that when you start GAdmin-Samba for the first time, it will try to overwrite the existing default configuration with its own standard settings. This behavior could be a problem because the tool makes some settings overly restrictive. In my case, the restrictions meant that the Samba server did not work anymore. Consequently, you need to expand and adjust the GAdmin-Samba settings very carefully when you use the tool for the first time. You can keep the default configuration and use it as a template, which you can then adapt with GAdmin-Samba; so if problems arise, it is easy to fix erroneous settings.

GAdmin-Samba 0.2.9


License: GPLv3

Source: Raspbian repository


Web Lightweight

The lightweight web server Lighttpd 1.4.31 can use all of its features on the Rasp Pi. Lighttpd offers important functions, is supported by many content management systems, and needs only minimal system resources. The Rasp Pi is well suited to act as a platform for web applications; however, using the complex and gigantic Apache web server is overkill. Lighttpd is known for its economic consumption of system resources. Moreover, Lighttpd emphasizes security through the use of chroot and a protected document directory. SSL is available for secure communication and can be integrated as a module.

In terms of functionality, Lighttpd can hold its own compared with Apache. Features include adjustable error pages, output of directory contents, URL transcription, HTTP forwarding, virtual hosts, output compression, and load balancing using Fast-CGI. Scripting languages such as PHP or Perl are supported by both CGI and Fast-CGI. Lighttpd integrates all extended functions in the form of modules, and you can adapt the modules to your needs using configuration files.

The structure of the configuration files and directories is similar to the Apache environment. The file lighttpd.conf in the /etc/lighttpd directory contains the core configuration, with settings for the currently executing user or the document directory.

The configuration files of the individual modules are in the /etc/lighttpd/conf-available directory. To activate a module, copy its configuration file to the directory /etc/lighttpd/conf-enable and then restart Lighttpd. Lighttpd can be executed right after installation using the standard configuration found in Raspbian. If you want to make further adjustments to the web server, you will find detailed information on the websites for the Lighttpd project and coding examples for all configurable options.

Lighttpd 1.4.31


License: BSD

Source: Raspbian repository


Network Control Console

The powerful network manager Wicd makes for quick and uncomplicated network configuration.

The Network Manager tool is familiar to most Gnome users and counts as a prevailing standard for many Linux distributions. If you are looking for an alternative network configuration tool that is more economical in its use of resources, you will find it with Wicd. The Wicd tool consists of several components, which are all contained in the Raspbian repository and can be quickly installed with apt-get.

The Wicd demon functions as a core component, which launches when the system starts. Wicd executes with root rights and starts up, among other things, all interfaces, obtains an IP address from the DHCP server, and activates WPA encryption for the WiFi network. Several interactive Wicd clients are available for diverse desktops, which allows you to control all these functions. Wicd-gtk and Wicd-kde serve as the two common graphical user interfaces, and Wicd-curses provides the functionality via a text-based interface in a console window. The console option is ideal for running the Rasp Pi in headless mode. Additionally, the console program Wicd-cli is available for automated configuration of the configuration file.

After you start Wicd, the interactive clients display all potential connections. The connections are divided according to whether they are wireless or cable dependent. It Sometimes Wicd does not recognize the WiFi interface automatically. If this is the case, you should enter the WiFi device in the settings. You can also define global DNS servers or determine external programs for various tasks. If the WiFi interface is recognized, Wicd immediately scans for available networks. You can configure the connection with each network on an individual basis. In addition to the WPA key, you can specify static IP addresses or DNS servers.



License: GPLv2

Source: Raspbian repository


Port Administrator

Sslh 1.13 lets you bundle all services that are important for secure communication behind a single port. This technique saves configuration work for the home firewall and circumvents the limits of many providers.

Frequently, users who want mobile access to servers in their own network are confronted with two fundamental questions: How many ports should I activate in the firewall? Does the hotspot provider permit access?

The access issue often proves problematic, because many providers only permit HTTP(S). The port multiplexer Sslh offers a remedy. Sslh makes a number of transfer protocols available on a single TCP port. This tool, which was originally developed to make HTTPS and SSH accessible over one port, now also supports HTTP, OpenVPN, Tinc, and XMPP. All of these services are reachable from the outside via a single port.

Sslh recognizes the protocol for a particular connection on the basis of the content of the first few bytes that are transferred. The Sslh daemon then directs the data packet to the corresponding service for further processing. The service can be either on the same system or on a completely different computer.

When making the connection, Sslh tries all configured protocols in sequence. If it does not find one that matches, Sslh routes the connection onto the first protocol in the configuration and passes back its error message. The developers recommend that SSH always be defined as the first protocol. If you need support for additional protocols, set up a filter for the desired protocol in the configuration file by means of regular expressions.

The configuration is divided into list and protocol areas. The list area lets you know on which of the interfaces and ports Sslh expects inbound connections. The protocol area lists each supported protocol by name, target computer, target port, and the accompanying sample information. The sample information helps Sslh identify the protocol.

If you want to do without a configuration file, you can also transfer the connection data as a parameter to Sslh. However, this approach only works with standard protocols. The Sslh version in the Raspbian repository does not use the configuration file in a standard fashion. Instead, Raspbian configures Sslh via command-line parameters in the /etc/default/sslh file. In Raspbian, a sample configuration that you can use for several adaptations is tucked away in the /usr/share/doc/sslh directory.

Sslh 1.13


License: GPLv3

Source: Raspbian repository


Buy this article as PDF

Express-Checkout as PDF

Pages: 4

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content