Best SFTP and FTPS Servers That Are Free to Use (Windows And Linux)

Sooner or later, every network administrator will need to transfer files from one system to another. And when they do, chances are they’ll use some form of File Transfer Protocol. Throughout the history of the Internet, several different protocols have seen the light, each successive one addressing some shortcomings of its ancestors. Today, we’re having a look at the best free SFTP and FTPS server for Windows and Linux. Why these two specific protocols? Because of security concerns. Both protocols transfer files in an encrypted fashion, making it ideal for use on public networks, such as the Internet.

But before we have a look at the actual list if the best free SFTP and FTPS servers, we’ll start off by discussing the differences between the multiple File Transfer Protocols available today. Then, we’ll introduce the best servers for Windows including a few “portable” options, i.e. servers that don’t require installation. Next, we’ll go over the best Linux free SFTP and FTPS servers.

File Transfer Protocols, What Are The Differences?

FTP is the granddaddy of all file transfer protocols. It was invented in the early 70’s as one of the primary ways of transferring files between systems. It has become so commonplace that nowadays, most operating systems–including Windows, macOS, and Linux–have some form of FTP client. FTP is an unencrypted protocol, making it less than ideal for use on public networks. This is especially true when you consider that not only the transferred files but also the login credential are unencrypted. Anyone intercepting traffic would be able to capture usernames and password. This is why SFTP and FTPS were invented.

Although it may look at first sight like SFTP and FTPS vary only by the placement of the “S”, they are actually quite different beasts. Both we developed to add security to FTP file transfers but they do it in a completely different way. Let’s see how each one operates.

The FTPS–which stands for File Transfer Protocol Secure and is also referred to as FTPES–is simply a secure version of the FTP protocol which adds an encryption layer using either the SSL (Secure Sockets Layer) or TLS (Transport Layer Security) protocols. It’s really nothing more than the FTP protocol that’s been improved to allow data encryption negotiation. FTPS was introduced in the mid 90’s shortly after Netscape released their Secure Sockets Layer extension and is now widely used. It was later improved to allow TLS in addition to SSL encryption, providing even better security.

SFTP–which stands for Secure File Transfer Protocol–is another secure way of transferring files in an encrypted fashion but it is not based on the FTP protocol but instead, on Secure SHell, or SSH. In fact, SFTP is just an extension of the SSH protocol that includes an FTP-like file transfer facility and “understands” FTP commands. As such, its security is the same as that of any SSH session.

It is important not to confuse Secure File Transfer Protocol and Simple File Transfer Protocol, both referred to as SFTP. The latter is a now-defunct protocol that was developed to be a compromise between the elementary TFTP protocol and the full-featured FTP protocol. It is no longer used but its name still exists for historical reasons.

The description of SFTP might remind you of yet another similar protocol called SCP or Secure Copy.SCP is yet another file transfer protocol that operates inside an SSH connection. This is where the similarity ends, though, as SCP only provide file transfer but has none of the advanced file management capabilities of the other protocols.

To learn more about SCP, read our recent article: Best Free SCP Servers Available for Windows, Linux and macOS.

Best Free SFTP and FTPS servers for Windows

As we’ve seen, SFTP and FTPS are very different. For that reason, not many servers will work with both protocols. Typically, FTP servers will often include FTPS capability while SSH server will allow SFTP. For each of the best servers we’re about to discuss, we’ll let you know whether they do SFTP, FTPS, or both.

1. SolarWinds SFTP/SCP Server (FREE DOWNLOAD)

You might already know SolarWinds. After all, they make some of the best network management and monitoring software. And SolarWinds as also famous for making several free software utilities. These include our number one choice, the SolarWinds Free SFTP/SCP server.

As its name implies, the server will do both TFTP and SCP. It won’t, unfortunately, do FTPS. Running as a Windows service, the server’s operation should be a no-brainer for any system admin. And if you’re new to this, its easy user interface will make you feel comfortable very quickly.

SolarWinds Free SFTP-SCP server

The SolarWinds free server does not use system accounts for user authentication. Instead, it uses virtual users that you create within the application for the purpose of copying files. These virtual users offer heightened security. If, for whatever reason, an account was compromised, it couldn’t be used to log into the system directly. Another feature that can improve the server’s security is that it can be configured to only allow incoming connections from specific IP addresses or ranges.

The SolarWinds Free SFTP/SCP server can be used to securely transfer files up to 4 GB in size. It can also handle concurrent transfers from multiple devices. It downloads as a zip file that extracts into a Windows MSI installer. Once installed, configuration as simple as can be. You just start its control panel application and specify a few options such as permitted protocols and transfer options.

LINK: Download SolarWinds SFTP/SCP Server for free

2. FileZilla Server

FileZilla is probably one of the best-known FTP clients but it’s also a very good FTP server. Although the FileZilla client supports both FTPS and SFTP, the server component, which solely runs on Windows will only allow FTPS–and, of course, FTP–file transfers.

FIleZilla Server

Like its client counterpart, the FileZilla server is an open-source software which can be downloaded for free and used with no restrictions. FileZilla supports the transfer of files of up to 4 GB. It also supports pause and resume. Drag-and-drop support, remote file editing, and remote file search make it simple and easy to use without compromising security.

3. Microsoft IIS FTP Server

If you’re running Internet Information Services (IIS) on your Windows server, you might not need any extra software to handle FTPS. Although IIS is primarily a web server, it also includes a built-in FTP server. And just like the web server will support both HTTP and HTTPS, the FTP server will also support FTPS.

Microsoft IIS FTP Site Setup

All you need to do to use it is to add the FTP server role and create certificates. This will result in a full-featured FTPS server without having to install anything more. And since it’s part of the Windows OS, chances are it won’t cause any issues or conflicts with other software you might be running. The only limitation is that it won’t do SFTP which is based on SSH.

4. FreeFTPd

A close cousin of FreeSSHd, FreeFTPd is a full-featured FTP server for Windows. It is one of the rare servers that will support both SFTP and FTPS, thanks to its SSH lineage. As its name implies, FreeFTPd is a free FTP server for Any version of Windows from NT 4.0. It supports the creation of local users–rather than using Windows domain accounts.

FreeFTPd

FreeSFTP can be configured during installation to run as-needed as an application or to run as a system service. Running it as a service means that it will always be available to your SFTP users. There was a vulnerability discovered in version 1.0.11 but it was quickly fixed in version 1.0.12. Make sure the version you install is at least 1.0.12. The latest one you can download from the developer’s website is 10.0.13.

5. Syncplify.me Server!

The full-featured SFTP and FTPS server from Syncplify.me is really a server on steroids. It will do much more than just server files. It was created with security in mind. One of its main features, called Syncplify.me Protector™, uses artificial intelligence to automatically identify attacks. Even unknown ones.

Syncplify.me Server!

The Syncplify.me Server! can be installed in a high-availability mode where two servers will act as one, eliminating downtime. It boasts several advanced configuration options and can be expanded using scripts in JavaScript, C++, Pascal or Basic to automate your document management and workflow.

The Server supports will run on Windows Server 2008 and up, in both 32- and 64-bit versions. Although this is a paid piece of software, there’s a free/evaluation edition which has all the features of the Ultimate edition. It will, however, only accept a single connection and it can’t be used in a production. environment.

6. Bitvise SSH/SFTP Server

Bitvise specializes in secure remote access software for Windows. Its primary products are the Bitvise SSH Server and SSH Client. Since SFTP is just an extension of SSH, their server will also support it. The Bitvise server is known to be one of the fastest around. Files will transfer as quickly as the client and the network connection will allow. Furthermore, an unlimited number of simultaneous connections is supported. The only real limitation you’ll encounter when using it will be that of the hardware on which it runs.

Bitvise Server

Security-wise, Bitvise leaves nothing to be desired as it uses Crypto++ 5.3, one of the best encryption libraries, to secure connections. The server also supports virtual accounts to ensure your system accounts are never exposed or compromised. The only drawback of Bitvise is that it’s not really free. It is for personal and non-commercial use but any other use required purchasing a license after a thirty-day evaluation period. At less than $100 dollars per server, the price is well worth it. They also have site licenses and worldwide limited licenses for larger organizations.

7. SYSAX Multi Server

The SYSAX Multi Server supports multiple protocols. It will allow connections using both SFTP and FTPS but it will also handle FTP and HTTPS-based file transfers. And to make it even better, it’s also a telnet and SSH server.  The server supports the use of both Windows accounts and locally-created “virtual” accounts. It is easy to manage and configure–even remotely–thanks to its user-friendly web-based interface.

SYSAX Multi Server

The server is available in several different versions. The Personal edition is free but it is restricted to one connection at a time and it won’t fo HTTPS file transfers. It is also restricted to a personal or non-commercial use. There are also Standard, Professional, and Enterprise editions each supporting a few more feature that the other. Prices range from $197 to $697.

8. CompleteFTP Free Edition

CompleteFTP Free Edition from EnterpriseDT has a full graphical user interface and it is very easy to use and configure. It will support both FTP and FTPS file transfers and has several interesting features such as support for unlimited users which is not common with free products and the creation of virtual file system to control what users can access.

Complete FTP Free Edition

Another nice feature of the product is that detailed user guides are built right into the product. you simply need to click Step-by-step guides at the top of the windows to learn how to use the different features and options. Like the previous entry, in addition to the free version, several other versions with progressively more features are also available at prices between $299 and $999. All the paid versions will, among other improvements, add support for SFTP file transfers.

9. XLight FTP server

The Xlight FTP server is a simple Windows FTP, SFTP, and FTPS server. It is a powerful program with low memory and CPU usage. It is designed for high performance and can handle thousands of simultaneous FTP connections. The server supports Active Directory users, LDAP users, or local users, making it a great fit in many different situations.

Xlight FTP Server

The Xlight FTP Server has many useful features and it has a free edition for personal use. It is limited to 5 concurrent connections whereas the Standard edition at $40 allows 50 and the Professional edition at $130 is unlimited. Note that an additional license is required for SSH and therefore SFTP. The software will run on Windows 2000, XP, Vista, 7, 10, 2003, 2008 and 2012.

Portable free SFTP servers

The next couple of entries on our list are interesting because they are portable solutions. That is, solutions that require no installation on the server computer. They can come in very handy for ad-hoc situations when you quickly need a server. You can carry it with you on a USB flash drive and always have it ready to use.

10. Syncplify.me Micro SFTP server

Syncplify.me, who brought us their full-featured SFTP and FTPS server–number 5 on our list, also offers a Micro SFTP server for Windows. Self-contained and completely portable, this SFTP server can be run from a USB stick without requiring any installation. And unlike its big brother, the Syncplify.me SFTP and FTPS server, the Micro SFTP server edition is truly free and can be used in any situation including production or commercial uses.

Syncplify.me Micro Server

Of course, the software has some limitations. It only supports one user profile, one root folder, and incoming connections from one client at a time. For that reason, many use it as a test platform for SFTP client software or to test in-software file transfer features. Others use it as a personal secure file transfer server for their small home network.

11. Core Mini SFTP Server

Like the previous selection, the Core Mini FTP server is a free (S)FTP server that doesn’t require any installation. Just go to the Core FTP server’s web page to download it.  Once you’ve downloaded the executable file which is available in 23- or 64-bit versions and is less than 2 Mb in size, you simply run it. You’ll need to specify the FTP username and password to be used as well as the port and root directory and you’re good to go.

Core Mini FTP Server

Just keep in mind that the server will run with your user account and will have access to all of your files. Make sure you specify a root directory where damage by users is of no consequences. Other than that, it’s a great little server that’s easy to use albeit somewhat limited.

Best Free SFTP and FTPS servers for Linux

With Linux being open-source, it’s no surprise that there are many open-source and free SFTP and FTPS servers for the popular operating system. In fact, pretty much every distribution has an open source FTP server which, if not pre-installed, is available through the distribution’s package manager. Here are our top 3 servers.

12. vsftp

Vsftp is a well-known free FTP server for many Unix-like systems, including Linux. It is very stable, fast, and it won’t use many systems resources. It has a long feature list which, among others, includes support for virtual users (defined locally within the server) and per-user configuration including rate limiting or throttling.

Several well-known Linux distributions use vsftp as their default FTP server. That should tell you a lot about the product’s security and stability. And for even better security, the software’s maintainer, Chris Evans, has a history of discovering security vulnerabilities.

13. ProFTPd

It’s clear, when you look at its configuration file, that ProFTPd’s developers were big fans of the Apache web server. The format of the configuration file is almost identical to Apache’s. And just like Apache, it uses modules to load needed functionality. There are modules that can be added to the basic FTP server to add SFTP and FTPS capabilities.

To ease the pain of configuring the server, The ProFTPd website has several example configurations to help you get started quickly. In addition to a basic config file, there’s one for anonymous FTP, two for using virtual hosts, and one which makes use of MySQL user authentication. The software can be downloaded as a tarball from the developer’s website. Alternatively, many distributions include it as part of their optional packages.

14. PureFTPD

Another great open-source SFTP server, PureFTPD not only work on Linux but also on most Unix-like operating systems such as BSD or Solaris. The project’s goal is to provide a standards-compliant FTP server. All the messages have been translated into multiple languages, making this an ideal choice for multi-lingual environments.

PureFTPD is free and comes with absolutely no limitations. all of its features are available to any user. And talking about features, we can mention the server’s ability to limit connections bandwidth, to run sessions it in a virtual file system, to set upload and or download limits, and several more great features. Pre-built packages are available for several Linux distributions including Mandriva, Debian, Ubuntu, PLD Linux, and Slackware. It’s also available as source code that can be compiled with no modification and run on any other supported OS.

15. Using OpenSSH

SFTP runs on SSH. And since SSH is built into most Linux system, SFTP is also there are ready to be used. It’s not the case for FTPS as it requires TLS libraries which are not always included. But if you have SFTP, why not use it and forget about FTPS?

On a typical Linux system, most users–as long as they have SSH access–should be able to use an SFTP client and connect to the server. That would allow them to transfer files to and from their home directory. Keep in mind that port 22–used by SFTP–could be blocked by default. You might need to dig a little to figure how to open it.

Wrapping  It Up

To this day, FTP is still a very popular way of transferring files. Its lack of security gave birth to FTPS and SFTP which, although they do it in very different ways, both address security concerns. Chances are these improved protocols will still be used for years to come. Some of our top software will only do one protocol or the other while some will do both but all will do an excellent job. However, we can’t help but prefer our number one pick, the SolarWinds SFTP/SCP server as it is not only a great product but also because it is from a company that has an excellent reputation for providing some of the best network admin software including some amazing free tools.

Read Best SFTP and FTPS Servers That Are Free to Use (Windows And Linux) by Renaud Larue-Langlois on AddictiveTips – Tech tips to make you smarter

How To Use Deluge WebUI On Linux

Many torrent clients on Linux support a server mode aka a “web UI”. All of them have something to bring to the table, including Deluge. The main reason to go with the Deluge client or the Deluge WebUI over others is the fact that its one of the most versatile and feature-filled clients out there.

Without going on and on about Deluge, it’s worth pointing out that if you love advanced features this is the software for you. It supports everything from a terminal mode, to a server mode, and even custom connection types like Socks5 proxies and custom port settings. In this article, we’ll go over how to install and set up a Deluge torrent server on Linux, enable the Deluge WebUI, as well as Deluge Daemon and etc.

Note: ideally, install and use a Deluge torrent server on a Linux computer running as a server. Keep in mind that this doesn’t mean that a Deluge torrent server will not work on desktop Linux, but it is not recommended.

Install Deluge Console, DelugeD And Deluge WebUI

The first step in this process is to install the Deluge software. Open up a terminal and follow the commands that match the operating system you use.

Ubuntu

Ubuntu and Ubuntu server has a pretty up-to-date version of the Deluge torrent client. That said, it’s always good to have the official PPA for security sake. Use this command to add the PPA.

sudo add-apt-repository ppa:deluge-team/ppa

Now that the PPA is on the system, refresh Ubuntu’s software sources using the apt update command.

sudo apt update

Running update will undoubtedly reveal that some programs need updating. Install these updates and do not ignore them, as these could be patches that help Ubuntu run better.

sudo apt upgrade -y

Now that everything is up to date, install the latest version of the Deluge software.

sudo apt install deluged deluge-console deluge-webui

Debian

sudo apt-get install deluged deluge-console deluge-webui

Arch Linux

sudo pacman -S deluge

Fedora

sudo dnf install deluge deluge-common deluge-daemon deluge-web

OpenSUSE

sudo zypper install deluge

Configure Deluge WebUI

All the software required for Deluge is installed and ready to go. Now it’s time to turn on the Deluge Daemon. Go to terminal and run the deluged command. There are two ways to run this daemon: with the systemd init tool, or with the deluged command. To start it with systemd, use the systemctl command.

First, make the DelugeD service.

sudo -s

cd /etc

cd systemd

cd system

touch deluged.service

nano /etc/systemd/system/deluged.service

Paste the code below into the new file:

[Unit]
Description=Deluge Bittorrent Client Daemon
Documentation=man:deluged
After=network-online.target
[Service]
Type=simple
User=deluge
Group=deluge
UMask=007
ExecStart=/usr/bin/deluged -d
Restart=on-failure
# Time to wait before forcefully stopped.
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target

sudo systemctl start deluged

Additionally, enable the Daemon at boot with:

sudo systemctl enable deluged

If you don’t want to fuss with Systemd, the Daemon can run without it. For best results, try using the /dev/null command to put the Deluge Daemon in the background as the current user.

nohup deluged &>/dev/null &

Disconnect it from your user (if you want) with:

disown

It’s time to set up the user for Deluge Daemon. Use echo to push a new user to the configuration file. Change “user” to the name of the existing user on the system. Be sure that you enter the same password as your system user.

Note: 10 means your system user has full access to modify Deluge.

echo "user:password:10" >> ~/.config/deluge/auth

Now that the user is correctly configured, kill the daemon and start it back up. This can be done with systemd or killall.

sudo systemctl stop deluged

sudo systemctl start deluged

or

killall deluged
nohup deluged &>/dev/null &

Using the command-line, interact with Deluge and change the settings so that the Daemon will allow remote connections:

config -s allow_remote True

Now that the config change is done in Deluge Console, exit it with quit.

quit

Lastly, enable the Deluge WebUI connection.

deluge-web --fork

Using Deluge WebUI

Your Deluge Torrent server is working perfectly and can be accessed from any location via the web browser. To use the new Web UI, open up a new browser tab and visit the following URL:

http://ip-address-or-hostname-of-server:8112

Not sure what your device’s IP address is? Try this command:

ip addr show | grep 192.168

Once you’ve gotten the Deluge Web UI page to load, you’ll need to provide a password, as the web interface is secured. The default password to log in is “deluge”.

Upon successful login, the system will prompt you to change the default password. Follow the prompts on screen to do it, then click “OK” when finished. The password should update automatically.

A Note On Legality

It’s no secret that torrent sites and torrent clients are used to share and download copyright protected content. We do not encourage this and the purpose of this post isn’t to show you how you can download such content. A torrent client, and torrent files themselves are a good way to share files and not necessarily a synonym for copyright infringement. If you choose to use a torrent client to download copyright protected content, you are likely breaking a law. Do so at your own risk.

Read How To Use Deluge WebUI On Linux by Derrik Diener on AddictiveTips – Tech tips to make you smarter

How To Install Openbox Themes On Linux

Openbox is an incredible window manager, with dozens of themes available. Sadly, due to how little publicity it gets, not a lot of Linux users know how to install OpenBox themes. That’s why in this tutorial, we’ll go over exactly how to install Openbox themes.

Install Obconf

Before installing any new themes to the Openbox window manager, you’ll need to install the Obconf tool. “Obconf”, or Openbox Configuration tool is an app that Linux users can install to modify a lot of different settings in the Openbox window manager. With it, users can switch between themes, change dock settings, and more.

Usually, installing an Openbox session on Linux also pulls down the Obconf package, but this isn’t always the case. If you need to install the program separately, open up a terminal window and do the following.

Ubuntu

sudo apt install obconf

Debian

sudo apt install obconf

Arch Linux

sudo pacman -S obconf

Fedora

sudo dnf install obconf

OpenSUSE

sudo zypper install obconf

Other Linuxes

The Obconf tool is a big part of Openbox, so any Linux distribution that already distributes Openbox easily should also have the Obconf tool available for installation. To install it, open up a terminal and use your package manager to search for “obconf”. From there, just use the install command to get it working on your Linux PC.

Finding Openbox themes

There are many places users can find decent Openbox WM themes on the internet, but probably the best place to look is Box Look. It’s a website that has dozens of Openbox WM themes available for download. Look to the sidebar on the page and click on “Openbox Themes”.

Box Look sorts themes in two different ways: “Latest” and “Top”. To find the newest Openbox themes click the “latest” section. Alternatively, click the “Top” section to sort through the most popular Openbox themes available on the website.

Installing Themes – Pre-made themes

Openbox themes downloaded from the website usually come in several different formats. Some formats are the compiled OBT format, and others are compressed archives that the user needs to build manually. In this tutorial, we’ll cover both ways to install themes. Let’s start off by installing a compiled theme.

Find a theme to download from Box Look. In this example, we’ll be working with the 1977 Openbox theme. Go to the theme page, select “Files” and start the download. Once the download is complete, open up the Obconf tool and select the “Theme” tab.

Inside the theme tab, find “Install a new theme” and click on it. From here, use the theme browser and browse for the 1977 Openbox OBT file on your Linux PC. Click on it to open, and it should install into Openbox and register as a new theme.

Installing Themes – Compiling Your Own

The second method of installing Openbox themes — like mentioned before — is compiling a theme manually. This is sometimes needed as not every Openbox theme developer puts an OBT file up for download. Luckily, doing it yourself doesn’t take too long and isn’t really that complicated. To start off, find a theme to work with. In this tutorial, we’ll focus on the Arch Blue theme.

Head over to the page, click “Files” and download the latest Tar archive. Once downloaded, open up a terminal window and use the Tar tool to completely extract the theme archive to a folder.

cd ~/Download

tar xvjf 74000-arch.blue.tar.bz2

Now that everything is extracted, open up the Obconf tool and click on “theme”. Look at the bottom of the app for the “Create a theme archive (.obt)” button and click on it. Using the file browser that appears, browse for the folder that the Arch Blue theme extracted to and open it.

Within a few seconds, Obconf will print a message that the new theme was “successfully created”. Go back to Obconf and select the “Install a new theme” button. Use the file browser to find the new OBT file. Keep in mind that these new files usually save in /home/username/.

Switching Themes

Switching to different themes in Openbox is pretty easy. Start off by opening up the Obconf tool. When Obconf is open, look for “Themes” and click on it. From there, just scroll through the list and click on any of the items in the list. Openbox should switch to it instantly.

Other Theme Settings

Looking to make tweaks to Openbox, so that your themes look better? Inside Obconf, click on the “Appearance” button on the left. Inside this area, users can change different Openbox WM settings. To change the way Openbox WM draws borders, uncheck “Windows retain a border when undecorated”. Additionally, uncheck “Animate iconify and restore” to change the animation settings.

When you’re satisfied with these changes, click the “close” button at the bottom to exit.

Read How To Install Openbox Themes On Linux by Derrik Diener on AddictiveTips – Tech tips to make you smarter

How To Block Advertisements Using The Pi-Hole Linux Tool

Did you know that it’s possible to block advertisements in your home before they even get to the network? Introducing Pi-Hole, the software that can transform an ordinary Raspberry Pi into an advertisement blocking machine.

Pi-Hole doesn’t have its own Pi Linux distribution. Instead, anyone looking to use the software must first choose a Linux distribution. Pi-Hole officially supports a whole lot of distributions. That said, Addictivetips recommends the Raspbian operating system, as it’s officially supported by the Raspberry Pi developers themselves.

To learn how to install Raspbian, please follow our in-depth walk-through. When Raspbian is fully installed on your Raspberry Pi device, return to this guide to continue.

Note: Raspbian is the focus of this article, but other Pi distributions exist as well. The instructions for installing Pi-Hole are universal, so it’s safe to follow along with this guide even if you’re not using the operating system we use. Keep in mind that you’ll be responsible for troubleshooting any errors that come up.

Install Pi-Hole

The Pi-Hole blocking software isn’t a traditional Linux installer package. Instead, it’s a universal, “run-once” bash script. To start the installation, open up a terminal on Raspbian and execute the following command. If you choose to do this installation remotely, be sure your user can log in to the Pi over the SSH protocol.

curl -sSL https://install.pi-hole.net | bash

Using Curl to pipe the installation script directly to bash is very efficient, but doesn’t always work. If the above method fails, for whatever reason, grab the code via Github:

git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole

cd "Pi-hole/automated install/"

sudo bash basic-install.sh

Regardless of the way you use to grab the Pi-Hole software, they’ll both automatically run the automatic installation script. When the script runs, it’ll let you know that it was “called with non-root privileges”. Pi-Hole’s installation tool can’t modify anything on the system without root, so you’ll be prompted to enter a password.

Note: running the setup the Github way will not run into root privilege issues.

The installation is completely automatic, so no interaction is required.

Configure Pi-Hole

Once Pi-Hole is installed, the next step is to configure it. Directly after the installation script, a prompt appears. Read through and click “OK” with the enter key till the section on setting up a “Static IP address” appears.

Before the software can give Raspbian a dedicated IP address on the network, a DNS provider needs to enabled. Having a third-party DNS provider is essential, as going it alone with your own DNS server is slow. Choose one of the options (Google DNS, OpenDNS, etc.) and continue.

Following the selection of a DNS provider, Pi-Hole can set up an IP address. It’ll manually generate a new, permanent IP. Don’t forget it, as this will be important later on.

Finish the installation by allowing Pi-Hole to install the web interface. When complete, open up a new browser tab and visit the URL shown on the screen.

Note: be sure to write down the password that Pi-Hole gives you at the end of the installation process.

http://x.x.x.x/admin

Whitelisting Websites

Have some websites you want to support with advertising? Don’t worry, Pi-Hole makes it easy! Start off by logging in to the web interface. From there, click the side-bar menu, then select “Whitelist”. In the Whitelist area, type out the domain name you’d like to whitelist.

Blocking Websites

In addition to a Whitelist system that allows users to allow ads from certain websites, there is also a manual “blacklist” tool. If for some reason websites are coming through the ad-blocking system, you’ll need to add it to the blacklist. To add items to the blacklist, open up the Pi-Hole web UI, look to the side-bar menu and select “blacklist”.

Enter the IP address or domain name to the offending website. Pi-Hole should instantly block advertisements from the site right away.

Use Pi-Hole As Router DNS server

Pi-Hole at its core is a DNS server on the network. It works very well but falls flat if it’s not being used. To remedy this, you’ll need to change the default DNS settings on your home router to the IP address of the Pi-Hole. Keep in mind that each home router is different, and has its own unique user interface. To solve this problem, refer to your router’s manual (or do a quick Google search) to find out where the DNS settings are located.

Inside the DNS area of the router, delete any and all IP addresses from it and replace it with the Pi-Hole IP address. For ad-blocking to work, all other IP addresses in DNS must be gone. When done, click “save” to apply the changes, and allow your router to restart. When it comes back online, your entire network will be protected with Pi-Hole!

Read How To Block Advertisements Using The Pi-Hole Linux Tool by Derrik Diener on AddictiveTips – Tech tips to make you smarter

How To Set Up A Kid-Friendly Linux PC

These days the internet is a crazy place, with lots of gross and potentially dangerous content available. Due to how extreme the internet can sometimes be, parents turn to parental controls and commercial filtering solutions. These work well but fail when it comes to setting up a kid-friendly Linux PC.

Fortunately, there’s a great open source program for Linux users that promises great parental control features for the web. The program is DansGuardian, and it’s an open source web filtering system that is easy to set up. Unlike commercial filters, it doesn’t merely work based on a list of “banned sites”. Instead, users can custom-tailor the filter to their needs, to protect their children from inappropriate content online.

The DansGuardian filtration software works on all Linux distributions. That said, Ubuntu is a great starting point for most beginners. As a result, we’ll primarily focus on getting it working with Ubuntu Linux. However, if you use another operating system of choice, feel free to follow along and check the official website for further information.

Install DansGuardian

Start off by opening a terminal window and entering the following command:

sudo apt install iptables dansguardian squid

After installing the software, it’s also a good idea to update Ubuntu. This will ensure that everything is running the absolute latest patches.

sudo apt update

sudo apt upgrade -y

Ubuntu has all important upgrades installed and the latest version of DansGuardian is on the system. The next step is to set up a proxy system.

Set Up Squid Proxy

Squid is a web caching proxy. It works with DG to better filter things. It also speeds up web traffic too. There’s not much to do with Squid except to modify some port settings. Using the sed tool, modify http_port.

sudo sed -i 's/http_port 3128/http_port 3128 transparent/g' /etc/squid/squid.conf

After modifying the http_port, you’ll also need to change the always_direct setting to “allow all”. Use the sed tool to update it.

sudo sed -i 's/# always_direct allow local-servers/always_direct allow all/g' /etc/squid/squid.conf

Squid is correctly configured. Turn it on with the start command.

sudo squid start

Configure DansGuardian

The Squid proxy is up and running. Now it’s time to change the “ban lists” in the filter software. In this part of the tutorial, we won’t be giving out a specified “ban list” for sites, URLs, etc., because every parent’s needs are different. Using the Nano editing tool, go through and specify content in these configuration files that you’d like to block.

Note: keep in mind that kids are creative and will find ways to get around blocks, so you’ll have to do some research for the best possible results. Consult on parenting forums for best results.

To edit the list of banned extensions for DG, do:

sudo nano /etc/dansguardian/lists/bannedextensionlist

Edit the list of banned websites in DG with:

sudo nano /etc/dansguardian/lists/bannedsitelist

Finally, edit the list of banned URLs in DG with:

sudo nano /etc/dansguardian/lists/bannedurllist

Save all edits with Ctrl + O. Exit Nano with Ctrl + X.

Do keep in mind that DG may require IP addresses for URL’s and websites, in addition to their domain. Find an IP address for a public website with ping in the terminal. For example:

ping facebook.com -c1

The public IP address for Facebook is the number in parenthesis.

Squid Configuration

Squid is now working. All that’s left is to change a few more options. Start off by removing “unconfigured” from the config file.

sudo sed -i 's/UNCONFIGURED - Please remove this line after configuration/#UNCONFIGURED - Please remove this line after configuration/g' /etc/dansguardian/dansguardian.conf

Next, change the “filterip option to equal the localhost IP (127.0.0.1).

sed -i 's/filterip =/filterip = 127.0.0.1/g' /etc/dansguardian/dansguardian.conf

Change the daemonuser entry in the configuration file for DG to proxy.

sed -i 's/#daemongroup = 'dansguardian'/daemongroup = 'proxy'/g' /etc/dansguardian/dansguardian.conf

Change accessdeniedaddress in the dansguardian.conf file to point to the correct URL.

sed -i 's/accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'/accessdeniedaddress = 'http://localhost/cgi-bin/dansguardian.pl'/g' /etc/dansguardian/dansguardian.conf

Next, block all connections on the PC, besides ones going through the proxy.

sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j DROP
sudo bash -c "iptables-save > /etc/dansguardian/iptables.save"
sudo sed -i "/exit 0/d" /etc/rc.local
sudo echo "iptables-restore /etc/dansguardian/iptables.save

exit 0
" >> /etc/rc.local

Alternatively, use this command to unblock a specific user, and block everyone else. Replace “owner” with your user.

sudo iptables -A OUTPUT -o lo -p tcp --dport 3128 -m owner --uid-owner USER -j ACCEPT
sudo bash -c "iptables-save > /etc/dansguardian/iptables.save"
sudo sed -i "/exit 0/d" /etc/rc.local
sudo echo "iptables-restore /etc/dansguardian/iptables.save

exit 0
" >> /etc/rc.local

Lastly, change the ownership of the DG log files on Ubuntu so that the proxy user can access it, and start DG.

sudo chown -R proxy:proxy /var/log/dansguardian

sudo systemctl enable dansguardian

sudo systemctl start dansguardian

Proxy Settings

To start using DansGuardian, open up a terminal and enter the following proxy commands:

gsettings set org.gnome.system.proxy mode 'manual' 

gsettings set org.gnome.system.proxy.http host 'localhost'

gsettings set org.gnome.system.proxy.http port 8080

Close the terminal when done. Ubuntu should soon be using the DG proxy.

Read How To Set Up A Kid-Friendly Linux PC by Derrik Diener on AddictiveTips – Tech tips to make you smarter