Using a 5 GHz WiFi USB adapter (WiFi 5, 802.11ac)

If you’re using a Raspberry Pi and need a WiFi USB adapter, it’s important to note that most 2.4 GHz adapters work “out of the box.” However, this is not necessarily the case with 5 GHz WiFi USB adapters. Therefore, this article provides insights into the compatibility of three 5 GHz WiFi USB adapters with Raspberry Pi. We’ll also discuss the availability of driver software and the performance of these adapters based on our long-term observation.

Remark: Since TorBox v.0.4.0, the additional needed network drivers have already been installed on the provided TorBox image. There is also the possibility of (re)installing the drivers using the Update and Maintenance sub-menu, which may be necessary with a Raspberry Pi 5.

We want to focus mainly on the nano-sized adapters because they usually have a lower power consumption. Nevertheless, as an alternative, we tested the AC1300 from TP-Link. It is a modern adapter that is relatively large and has two internal antennas. The tests were performed mainly on a Raspberry Pi 4 Model B. The following adapters were (by chance) available for the test (more adapters may be tested on request – let me know):

The Netgear AC1200

The Netgear AC1200 is not supported “out of the box” by the Raspberry Pi. To make it work, we need to install the Realtek RTL8812BU driver. The installation is straightforward:

# Updating the kernel headers and installing essential tools
sudo apt-get install -y raspberrypi-kernel-headers bc build-essential dkms
# Clone the driver to the Raspberry Pi
git clone https://github.com/morrownr/88x2bu-20210702.git
cd 88x2bu-20210702
# Install the driver
sudo ./install-driver.sh NoPrompt
# Revome the cloned repository
cd
sudo rm -r 88x2bu-20210702

After the driver’s installation and a reboot, the Netgear AC 12000 adapter is discovered by the Raspberry Pi and is ready to use. In the TorBox main menu, using entry 6, we get into Torbox’s Wireless Manager (TWM) and see all available 2,4 GHz and 5 GHz networks. During our test, the adapter lost the connection to the Internet after a few hours. A possible root of the problem could be a too-high power consumption or a too-big accumulation at the USB interface or the adapter. It may be a combination of both factors because both the USB interface of the Raspberry Pi and the adapter are heated a lot during operation. Maybe because of that, we didn’t see any speed advantages: the network performance on the 5 GHz network was not higher than a simple 2,4 GHz USB WiFi adapter.

The TP-Link Archer T2U Nano AC600

Also, the TP-Link Archer T2U Nano AC600 does not work “out of the box”. To make it work, we need to install the Realtek RTL8812au driver. The installation is straight forward:

# Updating the kernel headers and installing essential tools
sudo apt-get install -y raspberrypi-kernel-headers bc build-essential dkms
# Clone the driver to the Raspberry Pi
git clone https://github.com/morrownr/8812au-20210820.git
cd 8812au-20210820
# Install the driver
sudo ./install-driver.sh NoPrompt
# Revome the cloned repository
cd
sudo rm -r 8812au-20210820

After successfully installing the driver and a reboot, the TP-Link Archer T2U Nano AC600 adapter is discovered by the Raspberry Pi and is ready to use. In contrast to the Netgear AC1200, the TP-Link Archer T2U Nano AC600 showed stable operation during the tests. The adapter did not lose connection to the network even during hours of operation. However, the heat development on the USB interface and the adapter was comparable to the Netgear AC1200. It seems that this is a general problem of nano-sized adapters, which have a lack of surface to dissipate heat. Again, no higher network performance than simple 2,4 GHz WiFi USB adapters could be observed.

The TP-Link Archer T4U AC1300

AC1200 (Realtek RTL8812BU), which can be installed as described above. After installing the driver, our surprise was enormous. The TP-Link Archer T4U AC1300 showed higher stability than the Netgear AC1200. The adapter showed stable operation during the tests – at 2.4 GHz and 5 GHz, and even operated with battery power. It did not lose connection to the network even during hours of operation. As expected, connected with a 5GHz network, the TP-Link Archer T4U AC1300 shows a significantly higher network performance. Random influxes cannot be excluded, but when downloading the LibreOffice package, constant data rates could be detected, which were at least twice as high as with the other two adapters or with simple 2,4 GHz USB WiFi adapters. Possibly, the two available antennas with the multi-user MIMO technology will come into play here. Interestingly, the adapter only slightly warms itself and the USB interface, probably due to the significantly larger surface of the adapter and the ventilation holes.

A Raspberry Pi 4 Model B with the "giant" TP-Link Archer T4U AC1300.
A Raspberry Pi 4 Model B with the “giant” TP-Link Archer T4U AC1300.
Conclusion

In general, simple, low-powered USB WiFi adapters lead to fewer problems. 5 GHz WiFi USB adapters don’t work “out of the box” with a Raspberry Pi. Searching and installing the necessary network drivers can be challenging. Unfortunately, nano-sized adapters don’t deliver what they promise – it is more or less throwing money out of the window. In contrast, the excellent test results of the TP-Link Archer T4U AC1300 surprised us positively. The purchase of this adapter could be worthwhile because of the availability of the 5 GHz networks and because of the higher throughput due to the multi-user MIMO technology. The TP-Link Archer T2U AC600 also ran reliably, impressed with its stability. Although it opens up the world of 5 GHz networks, higher throughput rates are not to be expected with this adapter. In contrast, the Netgear AC1200 left somewhat mixed feelings. It also allows docking to 5 GHz networks without providing higher throughput rates. However, this adapter makes a much less stable impression in daily use. Regularly, after a few hours, it loses its connection to the network, which is unacceptable. The biggest problem with all these more complex adapters is that they are not supported out of the box by the Raspberry Pi OS.

Update in Spring 2024: I used the TP-Link Archer T4U AC1300 for the last 3,5 years on my TorBox, which I use for daily operations. It is still remarkable how reliable and fast this adapter is working. Although the adapter is still being sold, we will soon test two new WiFi 6 USB adapters.

For more up-to-date information on USB-WiFi under Linux see here.

The Raspberry Pi 4 and the trouble with its USB-C connector

A look at the underside of the Raspberry
Pi 4 reveals the board revision. If there is
a transistor directly next to the “MICRO”
lettering of the MicroSD card slot (below),
then it is the new board revision 1.2
without the USB-C bug. With an old
Raspberry Pi 4 (above), the transistor is
still located at the edge of the board
(Source: Thomas Koch and Mirko Dölle,
“Voll aufgebort: USB-C-Anschluss des
Raspberry Pi 4 ausnutzen”, C’T Heft 10,
2020, p. 136ff).

With the Raspberry Pi 4, the USB Micro-B connector has been replaced by a USB-C connector for the power supply. This was also necessary because, so far, no other Raspberry Pi model has drawn that much power. USB-C supports an electrical supply of at least 20V / 3A / 60W up to a maximum of 20V / 5A / 100W. This would be enough for a Raspberry Pi 4 under full load and additional USB devices, even if the official Raspberry Pi 4 Power Supply Unit (PSU) provides “only” 15.3W. In contrast, the sold USB Micro-B to USB-C adapter is not a long-lasting solution because the maximum power delivery of such an adapter is 12.5W. Especially in the beginning, when the Raspberry Pi 4 was new on the market, there were power supply problems if the official PSU of the Raspberry Pi Foundation was not used. 

Even if the overall power consumption of the Raspberry Pi 4 was significantly improved with the firmware updates in late autumn 2019, this has not been the only problem with the USB-C connector. Due to a faulty circuit, many existing USB-C power supplies and cables cannot power the Raspberry Pi 4. Only “dumb” cables without a SOP controller are working. 

Actually, the bug was fixed with board revision 1.2, which theoretically should be available in stores starting from the end of February. However, since this is not visible on the labeling, buying a Raspberry Pi 4 is like playing Russian Roulette. By looking at the packaging, the revision of the board inside is not recognizable. If the board finally ends up in your hands, you can tell by a transistor right next to the “MICRO” lettering of the MicroSD card slot that this is board revision 1.2 or not (see image on the right side). If the board is already in operation, there are several commands to check the board revision:

# Variant 1
cat /sys/firmware/devicetree/base/model

# Variant 2
cat /proc/cpuinfo | grep Model

EXPERIMENTAL: TorBox on Ubuntu Server 20.04 LTS (32/64 bit) and other hardware platforms

We recommend running TorBox on a Raspberry Pi 3 (Model B / Model B+) or a Raspberry Pi 4 Model B under Raspberry Pi OS “Buster” Lite. However, we created a new installation script that installs TorBox on Ubuntu Server 20.04 LTS (32/64 bit) and, therefore, might run on other hardware platforms (this script is currently in an experimental state).

Please give us feedback if you are using other hardware than the Raspberry Pi and have tried this installation script under Ubuntu.

The Coronavirus Pandemic and the Technological Progress

It is not surprising that technology is playing an essential role in the fight against the coronavirus pandemic. However, this pandemic is the first of its kind to use modern technologies such as artificial intelligence (AI) for almost real-time responses. This can be seen, for example, with Nextstrain, where the geographic spread and mutation of the virus can be tracked by examining its genetic code. Sequencing is an important, fundamental technology here that makes a detailed understanding of the virus and insights into combating the pandemic possible. It has been possible to identify the nucleotide sequence of a DNA or RNA molecule since 1995. However, there has since been breathtaking progress that has revolutionized the biological sciences.

The ways of spreading the coronavirus are convoluted. It has spread across the entire planet from its start in China. The colors represent different geographic regions. (Source: Nextstrain).

The progress of the past 25 years can be seen in the speed with which the coronavirus could be sequenced entirely. While the SARS (SARS-CoV) virus took about three months to sequence, the novel coronavirus was sequenced within a month, with the results published January 10, 2020, by Professor Zhang Yong-Zhen of the Shanghai Public Health Clinical Center. While globalization made it possible for the virus to spread worldwide quickly, global networking is helping to investigate the virus with its unique scope and nature. Specialized laboratories that have acquired the necessary molecules for a few thousand dollars can use the published genome sequence to assemble a copy of the virus, inject it into a cell, and activate it. Of course, there is also a certain risk associated with this ability, as was demonstrated 20 years ago when a deadly virus was produced from an emailed genome sequence. In order to prevent this technology from falling into the wrong hands and being used for the wrong purpose, orders placed in the United States for specific pieces of DNA are recorded in a database and are only delivered to authorized laboratories. Besides, the technological hurdles for the laboratories remain quite high (for now). The big advantage of this technology is that specialized laboratories around the world can research a virus without the need for a live sample from a contaminated area. Ralph S. Baric, a US coronavirus expert, sees this technology as the future of how the medical research community will respond to new viral threats. In 2008, his laboratory at the University of North Carolina had synthesized a coronavirus for study purposes that have been not existing in nature.

We are at the point where the best of the best can start to synthesize this new virus contemporaneously with the outbreak. But that is just a few labs. Fortunately, we are still far from the point when lots of people can synthesize anything.

Nicholas G. Evans, cited in Antonio Regalado, “Biologists Rush to Re-Create the China Coronavirus from Its DNA Code“, MIT Technology Review, 15.02.2020.

Technologies based on AI not only accelerate the sequencing and analysis of genomes but are also used to support diagnostics and research. Although the analysis of a nasopharyngeal swab is the most common method of a COVID-19 diagnosis, if there is a lack of test kits or if the patient population is very high, AI techniques can use CT scans of the lungs on a triage basis to identify those patients that are most likely to be infected. However, it is rather questionable whether this technique alone can also be used to diagnose an infection. Besides, the diagnosis of a nasopharyngeal swab is more reliable and cheaper if there are enough test kits. By contrast, the use of AI makes more sense when searching for and developing effective treatment and vaccination options. For example, Insilico Medicine used AI techniques to identify thousands of molecules for potential drugs in just four days and published the results on its website. Nevertheless, AI cannot solve every problem: before new treatment methods, or vaccination options can be used, they have to pass time-consuming clinical tests, which cannot be accelerated with modern technologies. It is, therefore, still unlikely that vaccination will be available on the market before the third quarter of 2021. An overview of all the currently researched treatment methods and vaccination options can be found here.

At the beginning of the coronavirus pandemic, there was not only a shortage of test kits in some countries, but with the high number of patients in intensive care units, there were also not enough valves and face masks needed to support the breathing of patients. There was also an inadequate supply of personal protective equipment for medical personnel. In part, such supply issues could be alleviated by using 3-D printers. For example, the Italian start-up Isinnova reverse-engineered a valve that is important for patient ventilation with the permission of its manufacturer Intersurgical3-D printed it, and made it available to hospitals in northern Italy. Isinnova has also manufactured a valve that can be used together with the Decathlon Easybreath snorkel mask as an oxygen mask in hospitals. The company Materialise, in turn, is offering a wide range of different products from its 3-D printers: face mask holders, face shield holdersrespiratory masksdoor openers, and shopping cart holders. In a comprehensive article that he is continuously updatingMichael Petch is tracking the wealth of 3-D printed products being created in response to the coronavirus pandemic.

Encrypting ransomware lurks in the background of this 
alleged corona tracking app.

Networking plays a central role in all of these technological approaches. However, this networking can have negative consequences when the widespread fear and high demand for information are exploited. In the early stages of the coronavirus pandemic in Europe in particular, false information that spread via WhatsApp and Telegram encouraged panic buying. Since the retailers were unable to replenish their shelves quickly enough for logistical and personnel reasons, the gaps suggested a non-existent supply problem, which only exacerbated the hoarding.

In the area of cybercrime, attacks using phishing emails are increasingly being used. These emails usually pretend to contain important information or offer behind a link or a document that presents itself as time-sensitive, but then download malicious and spy software or steal data, as was the case with the two alleged emails from the German bank Sparkasse and the WHO. However, even the mere dissemination of false information can cause physical damage, as demonstrated, for example, by the probable 2,850 methanol poisonings and the resulting 480 deaths in Iran. In this case, it was claimed that drinking industrial alcohol would kill the virus. As another example, in the UK, 5G cell towers were set alight because conspiracy theories claimed that the coronavirus pandemic and 5G were relatedRansomware is a particular type of malware that encrypts the contents of data carriers and only decrypts them once a “ransom” has been paid. For example, ransomware for smartphones lurked in an alleged corona tracking app. Computers in hospitals and medical laboratories are also being targeted by ransomware. In mid-March, for example, the Champaign-Urbana Public Health District in Illinois paid a $350,000 ransom to get its decrypted data.

How a contact tracing app works.

The threats to society that arise from the expansion and increasing use of surveillance options are at a more strategic level. Already end of April, 23 countries had introduced digital contact tracing, and 43 apps existed worldwide that enabled contact tracing. However, not all of these apps are effective or secure. The apps, all of which only use GPS, fail to provide enough precision to prevent false reports. Ten countries have gone even further and have been using facial recognition cameras (in Russia, for example); others have been added heat sensors (for example, China and Singapore), surveillance drones (for example, AustraliaChina, and India), and networked video surveillance systems (for example, Singapore). Censorship measures have been tightened in at least twelve countries (for example, in ChinaCambodia, and Singapore), and internet access has been restricted in at least four countries.

The Swiss École polytechnique fédérale de Lausanne is testing its decentralized contact tracing app, with members of the Swiss armed forces helping as test subjects.

If data is to be recorded, collected, and evaluated using a contact tracing app, for example, to combat the coronavirus pandemic, certain basic conditions must be observed from an ethical perspective. Proportionality must be the first priority, i.e., data collection must be proportionate to the seriousness of the threat to public health or the restriction of public life. The consequences that the restrictive measures designed to contain the pandemic will have on other freedoms and the health consequences in the absence of such restrictive measures fundamentally affirm an ethically justifiable use of contact tracing apps. However, such apps, as well as the data collected and evaluated by them, must be restricted in such a way that they are used only for this one goal, i.e., to warn someone that has come into contact with a person diagnosed as infected. The app and data must not be misused for other purposes, lawful or otherwise, such as criminal investigations, anti-terrorism efforts, etc. In addition, there needs to be scientific proof that the solution delivers the intended added value, which is why contact tracing apps based exclusively on GPS are ethically questionable due to their inaccuracy. Besides, the data collected should be anonymized effectively and stored as decentrally as possible. Information on the recording, collection, and evaluation of data must be provided transparently; this also includes keeping the source code for such apps open. The purpose of the transfer of data to third parties must be clear to the data subjects, and they must be able to rescind permission to such data collection in the future. The use of such apps, as well as the provision of the data, must be voluntary and only for a limited time. When an effective vaccine becomes available, the data collection must be stopped, the app and existing data have to be deleted.

TorBox v.0.3.1 released — all about bridges

Our goal with TorBox is not only to simplify the use of Tor as an anonymizing router but also to bring the use of bridges closer to those who want to get around censorship easily — with all their network traffic, not just their browser traffic.

TorBox v.0.3.1 comes one step closer to this goal. Not only has the management of OBFS4 bridges been improved once again, but it’s also now possible to check the status of bridges (online, offline, or doesn’t exist anymore) and based on that to enable, disable and delete them. For operators of a bridge relay, the possibility to backup and restore the relay data has been implemented. Also, other smaller improvements and wishes have been taken into account, which are listed in detail below.

Since we also had to update the configuration files, we recommend using the new image rather than updating an existing system. We have added a short guide at the end of this post for those who absolutely must update from the previous version (not older!).

TorBox Image (about 675 MB): v.0.3.1 (30.05.2020) – SHA-256 values
TorBox Menu only: v.0.3.1 (30.05.2020) – SHA-256 values

We would appreciate feedback so that we can make further improvements. The three most valuable feedbacks will get a ProtonMail $100 Gift Card (sent as a PDF). Additionally, we have still one Raspberry Pi 3 Model B to give away — of course, installed with the latest TorBox version. If you are interested, just send us an email.

Changelog: v.0.3.0 (12.01.2020) –> v.0.3.1 (30.05.2020)
  • Update: The system is based on Raspberry Pi OS “Buster” Lite with Linux Kernel 4.19.118 and Tor version 0.4.2.7.
  • New: The list of OBFS4 bridges displays now the status of the bridge (online, offline, or doesn’t exist anymore – see image below). The bridge management is rewritten. You can now easily activate, deactivate, and remove bridges in three ways: all, based on a specific status of the bridge or only selected. For example, you could activate all bridges, deactivate only the offline ones, and remove bridge #3 and #5.
  • New: The ability to backup and restore your bridge relay configuration, including your identity keys. This is important because when upgrading your bridge relay or moving it on a different computer, the important part is to keep the same identity keys. Keeping backups of the identity keys so you can restore a relay in the future is the recommended way to ensure the reputation of the relay won’t be wasted. The backup is stored / can be placed in the home directory, in which you can download / upload it with an SFTP client (using the same login / password as the SSH client).
  • New: An arrow in the main menu indicates from where you get the Internet.
  • New: USB Tethering with Android devices should now work (main menu entry 7). As I do not have an Android test device, this point needs to be tested further, and I rely on your feedback. I want to thank everyone who has been in active email correspondence with me on this point over the past weeks.
  • New: Added “Just fixing and cleaning” into TorBox’s Update & Reset sub-menu.
  • Improved: The countermeasure against a disconnect when idle feature (entry 10 in the Countermeasure sub-menu)shows now its status and can be deactivated.
  • Improved: Before Tor is compiled  (option 3 in the Update & Reset sub-menu), the current version is checked, compared with the one in the repository, and the user can decide if he wants to aboard before wasting time if no new version is available. Important: Currently, Tor can be updated with option 1 “Update the base system” in the Update & Reset sub-menu (main menu entry 12), and it is not necessary to compile Tor fresh.
  • Improved: The overall reliability of the update script.
  • Improved: The overall reliability of the installation script. It is adapted to the new Raspberry Pi OS, and we hope that this is the beginning of a platform-independent use of TorBox .
  • Improved: Cleaned up the code and outsourced more essential functions into a library. This helps to maintain the code in future releases properly.
  • Fixed: After shutting down the Bridge Relay, the two ports remained open (at least in some instances).
  • Fixed: If the Bridge Relay is deactivated and Tor is freshly started, the message appears that the ports are opened to the outside, even if this is not the case.
  • Fixed: An error in changing the password of the Tor control port broke the enforcing of a new exit node with a new IP (main menu entry 2).
  • Fixed (post-release): rfkill blocks the Raspberry Pi’s onboard WiFi chip and impossibles to create TorBox’s WiFi (it seems to be newly activated with Raspberry Pi OS) – we set rfkill unblock all in /etc/rc.local and had to rebuild the image again on Sunday, Mai 31, 2020 (we kept the same filenames).
How to update from TorBox v.0.3.0 (12.01.2020)?

Important: You cannot automatically update on TorBox installations, which are older then v.0.3.0 (12.01.2020)! If you need help, then please contact us.

With a TorBox v.0.3.0 (12.01.2020) installation, you can perform the following tasks. This deletes all your custom made configuration, but not alter your bridge relay keys. Nevertheless, we recommend, if possible, to use the new image.

Your feedback is welcome!!

We hope this version pleases you. However, we are dependent on feedback. It’s not just about fixing bugs and improving usability, but also about supporting additional interfaces and hardware in future releases:

  • What do you like?
  • What should be improved (and how)?
  • What would you like to see next? Which features do you request?

Review: Tor router on Raspberry Pi

TorBox running on Hoek’s hardware configuration.

Hoek wrote on his website 0ut3r Space, a very nice guide / review about the TorBox. He used a Raspberry Pi 4 Model B in combination with a 3.5inch RPi Display (TFT) with an XPT2046 touch screen controller. Of course, the touch functionality won’t work in the shell terminal. The TFT and a beautiful matching case can be found on Aliexpress. I ordered it today to write a new guide for the advanced section because the Pimoroni’s Pibow PiTFT+ case for the PiTFT 3.5″ resistive touch 320×480 from Adafruit is is not available for the Raspberry Pi 4. Possibly we will implement the driver installation in a future version of TorBox in the configuration sub-menu.

Thank you, Hoek, for your kind review!

Delay on the TorBox project due to the COVID-19 pandemic

Updated on May 6th, 2020
  • All comments and questions are now answered. Thanks for your patience.
  • The documentation for TorBox v.0.3.0 is now revised, and the rest of the website is adapted to this latest version. Also, additional entries in the FAQ have been added, based on the questions received.
  • Important: You can safely update TorBox v.0.3.0 (initially with Linux v.4.19.75 and Tor v.0.4.2.5 to Linux v.4.19.97 and Tor v.0.4.2.7) using the first entry “Update the base system” in the “Update and Reset sub-menu” (main menu entry 12). An update is recommended because Tor v.0.4.2.5 shouldn’t be used anymore. We are going to build a new image in the next weeks and TorBox v.0.3.1 is already in the making.
Original post:

Initially, it was planned to update the TorBox website according to the latest version of the TorBox by the end of April. Primarily the documentation is still focused on the older version. I also intended to add more fixes and even some newer features to the TorBox itself.

Unfortunately, due to the COVID-19 pandemic, I found myself In my professional job under enormous working pressure. So far, I haven’t even had time to answer all the comments and questions on the TorBox website and on GitHub, or the many email messages. Sorry, folks; I’m sure some users are already upset with me.

Since my holidays were canceled at the end of April, all projects related to TorBox — especially checking and fixing possible bugs, as well as updates to the operating system and core components — have been postponed to the end of July or beginning of August. However, if the work situation continues to calm down over the next few days, I’ll start answering the comments on the website and on GitHub as well as the emails addressed to me in the coming weeks.

I’m sorry for this inconvenience and hope to bring the TorBox project back up to date as soon as possible.

TorBox v.0.3.0 released — now even easier to use

Update on January 13th, 2020

In the version dated January 1st, 2020, we had a little error in one of the script-files, which activated not only the obfs4 functionality but also uncommented “BridgeRelay 1” in /etc/tor/torrc. This led to conflict and blocked Tor to function. In a revised version, dated January 12th, 2020, we fixed this (and some other minor) bugs (see changelog below)

TorBox Image: v.0.3.0 (12.01.2020)SHA-256 values
TorBox Menu only: v.0.3.0 (12.01.2020)SHA-256 values

How to update from v.0.3.0 (01.01.2020) to v.0.3.0 (12.01.2020)?

Because we also switched curl for wget, the update from the previous version to version 0.3.0 (12.01.2020) cannot be done with the update sub-menu. Please proceed as follow (all settings remain unchanged):

  1. If not already done, go into the countermeasure sub-menu and toggle bridge mode from on to off. This comments out the line “BridgeRelay 1” in /etc/torrc. With the command “less /etc/tor/torrc” in the SSH shell, /etc/tor/torrc can be checked: all lines beginning with “Bridge” must have a # in front.
  2. Type following commands in the SSH shell:
    cd
    wget https://www.torbox.ch/data/torbox030-20200112.zip
    rm -r torbox    
    unzip torbox030-20200112.zip
    mv torbox030-20200112 torbox
    rm torbox030-20200112.zip
    cd torbox
    ./menu
    
Main Menu TorBox v.0.2.5 - cleaned up!
Main Menu TorBox v.0.3.0 – cleaned up!
Changelog: v.0.3.0 (01.01.2020) –> v.0.3.0 (12.01.2020)
  • New: Added to the “install” folder script and batch files to avoid a “Tor over Tor” situation if TorBox and the Tor Browser are used together. For more information, see here.
  • Fixed: Obfs4 functionality because it was broken due to a little error in one of the script-files. The bug resulted in uncommenting the line “BridgeRelay 1” in /etc/tor/torrc, which led to conflict and blocked Tor to function.
  • Fixed: Replaced curl with wget in the update script to avoid an error if the link is redirected to another destination.
Original post:

Based on feedback, difficulties with the correct operation of cable-based clients, and the need to offer a greater variety of connection options when connecting to the internet (also for future developments), the main menu of the TorBox was rewritten entirely. We would appreciate feedback so that we can make further improvements and adjustments in the next release (planned for mid-2020).

The idea behind the new main menu is that the user only has to specify where the TorBox gets its internet from. After that, the clients are served via TorBox’s wireless network, and if connected, simultaneously via ethernet cable. Also, other smaller improvements and wishes have been taken into account, which are listed in detail below. These are the corresponding links to download and install the newest version of TorBox (typically, you need only the image file):

Since we also had to update the configuration files, we recommend using the new image rather than updating an existing system. If you need to update your old TorBox, we recommend to replace the old TorBox menu with the new one and then update the configuration files via the update and reset sub-menu entry 6, which overwrites all old configuration files. However, the old files are saved as .bak. For further information, please contact us.

We update the TorBox website over the next weeks. Until then, some information could be outdated and refer to the older version.

Changelog: v.0.2.5 (24.09.2019) –> v.0.3.0 (01.01.2020)
  • Update: The system is based on Raspbian “Buster” lite with Linux Kernel 4.19.75 and Tor version 0.4.2.5.
  • New: The main menu is completely rewritten. You only have to specify where the TorBox gets its internet from. By default, it establishes a wireless network, which can be accessed by client devices. If available and connected, client devices are served by ethernet cable.
  • New: TorBox supports now internet connectivity with the Point-to-Point Protocol (ppp0, for example, for cellular shields/HATs) and/or over USB adapters (usb0).
  • New: By default TorBox’s wireless network is established by the onboard chip (wlan0). This can be switched with a USB wireless adapter (wlan1) so that TorBox can access external hotspots on the 5 GHz band, which is probably not supported by a cheap low-powered USB wireless adapter.
  • New: The TorBox configuration sub-menu supports now the changing from 2.5 GHz (20 MHz / 40 MHz) to 5 GHz (40 MHz / 80 MHz) and back. Additionally, the WLAN channel to be used can be selected and changed.
  • New: We integrated an update sub-menu that also comprises all the reset features, which are now removed from the countermeasures sub-menu. 
  • New: Support for Sixfab Cellular Shields/HATs. The following Sixfab Shields are supported: Raspberry Pi GSM/GPRS Shield, Raspberry Pi 3G-4G/LTE Base Shield V2, Raspberry Pi 3G/4G&LTE Base HAT, Raspberry Pi Cellular IoT Application Shield,  Raspberry Pi Cellular IoT HAT, Raspberry Pi Tracker HAT.
  • New: Beginning with this release, we provide to all our files SHA-256 hashes, so that you can verify the integrity of the downloaded files.
  • Improved: Cleaned up of the code. and outsourced essential functions into a library. This will help to maintain the code in future releases properly. 
  • Improved:  Setting and changing the WLAN regulatory domain  is now more user-friendly.
  • Improved: Because we could clean up the main menu, we added an entry to show the Tor log file. Sometimes, especially if you run a bridge relay, Tor needs minutes to start up. Using this menu entry is an easy way to follow the progress on loading.
  • Fixed: The gpg key for Torproject’s Debian repository is now fetched more reliably (used in the update script), and additional post-update configurations will prevent the breaking of the bridge relay functionality.
  • Experimental: A new script to install TorBox from scratch on a Raspberry Pi with Raspbian light.
  • Removed: CABLE MODE– no longer necessary
TorBox connecting the internet via a cellular connection using a Raspberry Pi 3G-4G/LTE Base Shield V2 by Sixfab and a Quectel EC25 Mini PCle 4G/LTE Module.  
Your feedback is welcome!!

We hope that this version will please you. However, we are dependent on feedback. It’s not just about fixing bugs and improving usability, but also about supporting additional interfaces and hardware in future releases:

  • What do you like?
  • What should be improved (and how)?
  • What would you like to see next? Which features do you request?

TorBox Cellular

TorBox doesn’t support only internet access and client connections via WiFi (an additional USB WiFi adapter is necessary) or cable, it also supports internet access via a cellular network. Below, we show you how you can upgrade your Raspberry Pi.

Used Items

Support software installation and configuration

  1. Go to the Configuration & Update submenu and choose the menu entry 10 to start the installation and configuration of the support software.
    Attention: you have to have internet connectivity for that step. In other words: you have to install the support software before you need a cellular connection!
  2. Choose the correct Sixfab Shiel/Hat.
    According to our recommendation above, it would be the “3G, 4G/LTE Base Shield”.
  3. What is your carrier APN?
    You find the APN settings of most carriers here.
  4. Does your carrier need username and password?
    Again, you find this information on most carriers here.
  5. What is your device communication port?
    If you use the Sixfab Shield with the USB connector (as in our image above), you should choose ttyUSB3.
  6. Do you want to activate auto connect / reconnect service at RPi boot up?
    We recommend choosing yes.
  7. At the end of the installation script, pressing ENTER reboots the Raspberry Pi. If you want to avoid it, press CTRL-C.

How can I securely route my data stream through the cellular connection?
After assembling all the hardware, installing and configuring the support software correctly, choose entry 7 in the main menu to route all your encrypted data through the cellular connection.

TorBox v.0.2.5 released, featuring Bridge Relay support!

Almost a month ago, the Tor Project called for support:

We currently have approximately 1,000 bridges, 600 of which support the obfs4 obfuscation protocol. Unfortunately, these numbers have been stagnant for a while. It’s not enough to have many bridges: eventually, all of them could find themselves in block lists. We therefore need a constant trickle of new bridges that aren’t blocked anywhere yet. This is where we need your help. By setting up an obfs4 bridge, you can help censored users connect to the open internet through Tor.

Based on this call we put a bridge relay into the net a week ago, and – if everything works out – we will add a second one. However, that was not enough for us. Mostly during the last few weekends, we’ve implemented a TorBox feature that allows anyone with a public IP address, 24/7 internet connectivity over a long time, and a bandwidth of at least 1 Mbps to configure their bridge relay at the touch of a button and put it on the net. Besides, we have added and improved some other details, so that we can now release the resulting image as TorBox v.0.2.5. Below are the corresponding links (typically, you need only the image file):

Main Menu TorBox v.0.2.5
Main Menu TorBox v.0.2.5

Changelog v.0.2.4-rpi4 (08.08.2019) —> v.0.2.5 (24.09.2019)
New: This version introduces the support for setting up a bridge relay.
Updated : The system is based on Raspbian “Buster” lite with Linux Kernel 4.19.66 and Tor version 0.4.1.5.
New: A little message (“TOR is working“) in the right corner of the main menu shows you immediately if you are connected with the Tor network (meaning https://check.torproject.org returns a positive result). Since a missing response does not automatically mean that there is no connection to the Tor network, no error message is displayed. In other words, if this message is missing, there may or may not be a connection problem.
New: We use the same method as mentioned above for the final message box after selecting (or changing) a connection (main menu entry 6-11). In case of success, the message starts with “CONGRATULATION !!” otherwise with “HMMM… THAT DOESN’T LOOK GOOD…“. In contrast to the positive message, negative feedback does not necessarily mean that an error has occurred. Since the check does not last more than 5 seconds, Tor may not have been ready yet; the check site may have been down, etc.
New: Support for Adafruit’s PiTFT displays (PiTFT 3.5″ resistive touch 320×480, PiTFT 2.8“ capacitive touch 240×320, PiTFT 2.4″, 2.8″ or 3.2″ resistive 240×320, PiTFT 2.2″ no touch 240×320, Braincraft 1.54″ display 240×240). Note: TorBox’s menus and dialog boxes have only been adapted for the PiTFT 3.5 (320×480) or any other display, which displays in textual mode at least 25×80 characters.
Improved: Menus and dialog boxes should now work more smoothly on 25×80 textual screens as well as on smartphone and tablet clients. For that reason, we added for some message boxes scroll texts, which are visible with the “scroll down” remark in the title of the message box.
Improved: Revised version of the Tor reset functionality in the „Countermeasure & Troubleshooting“ menu.
Improved: Cleaning up in the shell scripts (used more variables, combine certain parts into functions, etc.).
Updated: Pre-configured Bridges (we also added our bridge relay)
Fixed: While adding bridges, TorBox activates/deactivates the new bridges depending on the current bridge modus.
Fixed: Some more non-critical bugs and typos in the text files.

The pre-v.0.2.6 release is expected at the end of the year.

The functionality of Tor easily explained

If you look at the various forums about Tor, there is a lot of skepticism, misunderstandings, and questions, especially among newcomers, about how Tor works and the possibilities (or limitations) it offers. This is due in particular to the fact that many people are unfamiliar with how Tor works, and feel that it is far too complicated to understand. With an excellent video of Computerphile, Dr. Mike Pound shows that it doesn’t have to be complicated. Very simple and easy for beginners to understand, he shows how Tor works and mentions its limitations.

Sneak Peek on TorBox 0.2.5

My first Tor Bridge Relay is properly working – see here.

With TorBox v.0.2.5 (coming soon) everyone with direct internet connection will be able to set up a Tor Bridge Relay — only with a view „clicks“.

Bridges are essential for people in authoritarian countries to reach the open internet. TorBox v.0.2.4 offers such client functionality already, but soon, users with a direct internet connection can help others by setting up their relay.

More information
Run Tor Bridges to Defend the Open Internet

TorBox To Go 2.0

Due to the size of the Raspberry Pi and the necessary accessories, TorBox is very easy to use on the road. Below, we show you the recommended minimal accessories for portable use. Nevertheless, all the stuff still fits into a waterproof, compact plastic container. Below the images, you find further information about the items used with the corresponding links.

• • •

• • •

• • •

Although the Raspberry Pi takes up little space, the problem lies in the fact that the official power adapters to the Raspberry Pi are not very compact and therefore waste valuable space. There are smaller power adapters, such as the 12W USB Power Adapter by Apple shown in our example, but when directly connected to the Raspberry Pi, they can cause power problems. This also applies to power banks: the power supply is usually not sufficient for a long stable operation of the Raspberry Pi. The Raspberry Pi 3 Model B was still satisfied with 12W, but Model B+ and the Raspberry Pi 4 Model B require at least 15W (see here: Raspberry Pi 3 B+ Review and Performance Comparison and this Power Consumption Benchmarks). There is also another problem with the Raspberry Pi 4 Model B: because of a flaw in how the USB-C power input is behaving, currently, the Raspberry Pi 4 B does not work with most third-party power adapter and power banks. By contrast, the PiJuice HAT works reliably with almost all Raspberry Pi versions and models, and virtually any power adapter or power bank can be connected to it, so the somewhat weak standard battery doesn’t run out too quickly. With the PiJuice alone, TorBox can be operated for an estimated 1-2 hours, depending on the load.

Used Items

TorBox v.0.2.4-rpi4 released, featuring Raspberry Pi 4 Model B support!

I’m pleased to announce this new version of TorBox, which introduces the support for the Raspberry Pi 4 Model B. The image file was completely rebuilt based on Raspbian “Buster” lite with the Linux Kernel 4.19.58 and Tor version 0.4.0.5. This version does support not only the new Raspberry Pi 4 Model B but also the previous Raspberry Pi 3 (Model B / Model B+).

In contrast to the previous versions, the Raspberry Pi 4 Model B has a higher power consumption, which is why we also recommend the use of a Pimoroni’s chunky heatsink in combination with a Pibow Coupé 4 case (see photo above).

The TorBox pre-v.0.2.5 release is expected at the end of the year.

Updated: Useful browser add-ons to improve anonymity, security and/or usability

Along with the release of TorBox v.0.2.4, we were updating our website and added some new information in the FAQ section. We also heavily updated our recommended browser add-ons, which are mainly available for Firefox (our number one choice for web browsers alongside the Tor Browser). Here you can find a copy of the updated recommendations (the original list can be found here):

  • https-everywhere: Automatically makes websites use a more secure HTTPS connection instead of HTTP if they support it. With HTTPS, even the connection between the Tor exit node and the web server is encrypted. Tor Browser also uses this add-on. (USED BY TOR BROWSER; ESSENTIAL for SECURITY / ANONYMITY; available for Firefox, Firefox for Android, Chrome, and Opera).
    https-everywhere: How it works.
    https-everywhere: How it works.
  • NoScript: Allows JavaScript, Java, Flash, and other plugins to be executed only by trusted web sites of the users choice. NoScript also provides powerful anti-XSS and anti-Clickjacking protection. Tor Browser also uses this add-on. (USED BY TOR BROWSER; ESSENTIAL for SECURITY / ANONYMITY; available for Firefox and Chrome).
  • First Party Isolation: First Party Isolation, also known as Cross-Origin Identifier Unlinkability, is a concept from the Tor Browser. The idea is to key every source of browser identification with the domain in the URL bar (the first party). This makes all access to identifiers distinct between usage in the website itself and through third-party. Think of it as blocking Third-party cookies, but more exhaustively. (USED BY TOR BROWSER; ESSENTIAL for SECURITY / ANONYMITY; available for Firefox).
  • uBlock Origin: The only real working and independent ad blocker (ESSENTIAL for SECURITY / ANONYMITY / USABILITY; available for Firefox, Chrome, Safari, and Opera).
  • Smart Referer: Prevents Cross Domain Referer Leakage (ESSENTIAL for ANONYMITY; available for Firefox).
  • CanvasBlocker: Allows users to prevent websites from using the Javascript canvas API for fingerprinting them. (ESSENTIAL for ANONYMITY; available for Firefox)
  • Decentraleyes: This browser add-on emulates Content Delivery Networks (CDN) by finding supported resources locally, and injecting them into the environment. All of this happens automatically, so no prior configuration is required. Here is a testing utility to find out if you are properly protected against a CDN vulnerability (ESSENTIAL for ANONYMITY; available for Firefox, Chrome, Opera).
    Decentraleyes: How it works.
    Decentraleyes: How it works.
  • Neat URL: Cleans URLs, removing parameters such as Google Analytics’ utm parameters. (ESSENTIAL for ANONYMITY; available for Firefox)
  • Skip Redirect: Some web pages use intermediary pages before redirecting to a final page. This add-on tries to extract the final url from the intermediary url and goes there straight away if successful. (ESSENTIAL for PRIVACY / USABILITY; available for Firefox)
  • Privacy Pass: Allow users to redeem validly signed tokens instead of completing captcha solutions. Clients receive 30 signed tokens for each captcha that is initially solved. Cloudflare currently supports Privacy Pass. (ESSENTIAL for USABILITY; available for Firefox and Chrome).
  • uMatrix: Point and click matrix to filter net requests according to its source, destination, and type (available Firefox, Chrome, and Opera).
  • Privacy Badger: A balanced approach to internet privacy between consumers and content providers by blocking advertisements and tracking cookies that do not respect the Do Not Track setting in a user’s web browser (available for Firefox, Chrome, and Opera).
  • FoxyProxy: FoxyProxy is an advanced proxy management tool (see also here; available for Firefox, Chrome, Safari, Opera, and others).
  • Bypass Paywalls: Let’s say you are a researcher and one of your sources is an article in the Washington Post. Would you subscribe, only for that one article? Yes, we thought so, too 😉 (available for Firefox and Chrome).

Do you have another very useful browser add-on? Let me know in the comment section below!

TorBox v.0.2.4 released, featuring OBFS4 Bridges support!

I’m pleased to announce the release of TorBox v.0.2.4. As promised, the focus of this release was on supporting OBFS4 bridges, which help to overcome censorship measures in certain countries (for example Turkey). Below are the links for the latest TorBox v.0.24 (typically, you need only the image-file):

Main Menu TorBox v.0.2.4
Main Menu TorBox v.0.2.4

Changelog v.0.2.3 (09.02.2019) —> v.0.2.4 (25.05.2019)
Updated: The system is based on Raspbian “Stretch” lite with Linux Kernel 4.19.2 and Tor version 0.3.5.8.
New: Instead of the “advanced submenu”, we split old and new functionalities into two separate submenus: “countermeasures & troubleshooting” and “configuration & update”.
New: We implemented in the “countermeasures & troubleshooting” submenu a user-friendly way to activate, configure, and change the OBFS4 bridge’s functionality. There are 15 pre-configured OBFS4 bridges in the configuration, which were fully functional at the time of the release. We hope to help with this approach beginners. We urgently need your feedback to develop this functionality further.
New: Since TorBox v.0.2.3, nyx does a good job as a statistics tool (main menu entry 1). However, there are certain cases, when Tor hangs during bootstrap, that nyx doesn’t start either. Therefore we have added an alternative method in the submenu “countermeasures & troubleshooting” (entry 11) to quickly display the log file of Tor and update the display if necessary.
New: TorBox is now providing a SOCKS v5 proxy functionality on port 9050 to its connected clients. If you use that capability, applications which support SOCKS v5 proxy connectivity and “DNS over proxy” (for example Firefox or the add-on FoxyProxy) can access directly .onion sites. For more information, see here.
Improved: We again reduced the size of the image file, which is now about 865 Mbyte.
Changed: All scripts are now executed by bash instead of sh. The change was needed to enable the handling with arrays.
Fixed: Some minor bugs and cleaned up the code.
Removed: The experimental section (for now).

The pre-v.0.2.5 release is expected at the end of the year.

Press and Internet censorship in Turkey

Article 26 paragraph 2 of the Turkish constitution guarantees freedom of the press and expression. At the same time, it legitimizes a regulatory system for “publications by radio, television, cinema or similar means”. Finally, in paragraph 2, the above mentioned rights of freedom are again undermined by a large number of arbitrarily applicable exemptions. At the same time, a vague formulation about the protection of “the reputation or rights of others and their private or family life” opens the door to restrict freedom of the press and expression. Nevertheless, the government often uses the argument “support of a terrorist organization” as justification for any repression. Accordingly, many journalists find themselves behind bars: at the end of December 2018, there were 68 in jail – no other country (followed by China, Egypt, and Saudi Arabia) imprisoned so many journalists. On average, jailed Turkish journalists spend more than a year in detention awaiting trial, and after that, imposing long prison sentences is the norm. In some cases, even sentences of life without parole have been handed down (“Turkey: Massive Purge“, Reporters Without Borders, 2018).

Cartoon by Tjeerd Royaards.

While Turkey has never been a model for guaranteeing freedom and human rights, the situation has worsened in stages after 2006, 2013, and 2016. The EU has criticized Turkey from early on, and the relationship is often strained not the least because of apparent shortcomings in freedom and human rights. Despite an association agreement in 1963 and a customs union at the end of 1995, the EU renounced accession negotiations in 1997 (to the annoyance of Turkey in contrast to the Eastern European countries and Cyprus), which in the short term led to a break in talks between the EU and Turkey. Quasi for reconciliation, at the end of 1999, Turkey was categorized as an “applicant country” by the European Council. At the same time, the European Council stated that the fulfillment of the Copenhagen criteria would be a prerequisite for the opening of accession negotiations or entry to the EU. The Copenhagen criteria include “institutional stability, democratic and constitutional order, respect for human rights and respect for and protection of minorities”.

In fact, at the beginning of the 2000s, Turkey was trying to meet these criteria. For example, a comprehensive reform of Turkish civil law was undertaken, the death penalty was abolished even in times of war, torture was forbidden, the freedom of assembly and demonstration expanded, and the rights of the Kurds were strengthened. Ironically, today’s Turkish President Recep Tayyip Erdoğan and his Justice and Development Party (Adalet ve Kalkınma Partisi, AKP) were behind many of these reforms. Nevertheless, the new standards were often paper tigers, because, in practice, it proved lacking. For instance, in its report last year, Amnesty International stated that torture is still occurring among people in police custody and that public authorities do not effectively prevent it (“Turkey 2017/2018“, Amnesty International).

Amnesty International activists ride a boat on the Spree, Berlin. They demand the release of Taner Kılıç, founder and president of the Turkish section of Amnesty International. Kılıç was detained by Turkish authorities on 6 June 2017 and charged with use of the smartphone program ByLock and membership of a terrorist organization. One of Turkey’s supreme courts declared in September 2017 that having ByLock installed on the phone of an accused person was sufficient to establish that person’s membership of the Gülen movement. He remained in detention until 15 August 2018.
Amnesty International activists ride a boat on the Spree, Berlin. They demand the release of Taner Kılıç, founder and president of the Turkish section of Amnesty International. Kılıç was detained by Turkish authorities on 6 June 2017 and charged with use of the smartphone program ByLock and membership of a terrorist organization. One of Turkey’s supreme courts declared in September 2017 that having ByLock installed on the phone of an accused person was sufficient to establish that person’s membership of the Gülen movement. He remained in detention until 15 August 2018.
The limited successes of the reform efforts were short-lived. As early as 2006, an intensification of the anti-terrorist legislation led to an increase in journalist arrests. There were also restrictions on the use of the Internet. In May 2007, Law No. 5651 on the regulation and the fight against crime on the Internet came into force. This law was initially promoted to combat sexual exploitation and abuse of children, prostitution, and gambling, but over the years it has increasingly been used as a basis to block all kinds of content the government finds disagreeable. Based on this law, in addition to blocking websites, access to Facebook, Twitter, YouTube, Instagram, WhatsApp, and Skype is repeatedly temporarily blocked, the connection speed is throttled, or access to the Internet is completely blocked (Burcu Selin Yılmaz, Hümeyra Doğru, and Volkan Bahçeci, “What If You Cannot Access the Internet in the Surveillance Society? Individuals’ Perceptions Related to The Internet Censorship and Surveillance in Turkey“, Journal of Media Critiques, vol. 3, no. 11, 10 September 2017, p. 74f). This law has been used as the basis for completely blocking all content on Wikipedia since the end of April 2017. However, the Internet is not only partially blocked: since November 2011, there is also a nationwide filter system. Finally, for the first time, in September 2012, an Internet user was sentenced to one year in prison for insulting the Turkish President Abdullah Gül on Facebook. The increasing censorship of Internet content is also reflected in the evaluation by Freedom House: since 2009, this rating has steadily worsened and has been rated as “not free” since 2016.

A further sustained restriction of freedom of the press and expression – both in the classical sense as well as on social media – took place in 2013. This was due to several events, which, together with social media and conventional reporting had a negative impact on the then-Prime Minister Erdoğan, his political environment, and the AKP. Starting in 2012 and particularly in 2013, several hundred Turkish officers were jailed for past or suspected coups or attempted coups. Overlapping, the conflict with the Kurdistan Workers’ Party (PKK) flared up from October 2011 to March 2013 (and later again from 2015). However, the most influential were the demonstrations starting in late May 2013 in Istanbul against a planned construction project on the grounds of Gezi Park. These demonstrations increasingly became a nationwide, anti-government protest and culminated in December 2013 with the publication of massive allegations of corruption against the AKP government.

The Turkish media have embarrassed themselves. While the whole world was broadcasting from Taksim Square, Turkish television stations were showing cooking shows. It is now very clear that we do not have press freedom in Turkey. — Koray Çalışkan, a political scientist at Istanbul’s Boğaziçi University, cited in Constanze Letsch, “Social Media and Opposition to Blame for Protests, Says Turkish PM“, The Guardian, 3 June 2013.

Because of the lack of coverage by pro-government media, social media played a decisive role in organizing the demonstrations and protests for the Occupy Gezi movement (Erkan Saka, “Social Media in Turkey as a Space for Political Battles: AKTrolls and Other Politically Motivated Trolling“, Middle East Critique, vol. 27, no. 2, 3 April 2018, p. 161). As a result, access to social media and anti-government content on the Internet has been severely restricted. When incriminating recordings of the corruption scandal were published on YouTube and Twitter, the government reacted by temporarily blocking these services entirely. Erdoğan described social media as “the worst menace to society” and the government arrested Turkish Twitter users for the first time. Despite Erdoğan’s negative attitude towards social media, in the fall of 2013 the AKP announced that it wanted to build a 6,000-strong team of young, tech-savvy party members, which would silence government-critical voices on social media (like a Troll army; Erkan Saka, “The AK Party’s Social Media Strategy: Controlling the Uncontrollable“, Turkish Review, vol. 4, no. 4, 7 August 2014, p. 418–23).

2011 protests against internet censorship in Turkey.
2011 protests against internet censorship in Turkey.
The press in Turkey can hardly be called free. Almost all media companies are owned by large holding companies that have connections to political parties. Around a dozen journalists, who had reported positively about the demonstrators during the protests in 2013, were fired. After facing massive amounts of pressure in their media companies in 2014, hundreds of journalists who had previously investigated corruption cases quit their jobs. Law No. 5651, which was strengthened by the AKP in February 2014, expanded state monitoring capabilities. Internet service providers (including Internet cafés and free Wi-Fi providers) were required to keep their users’ activity data up to two years instead of the original one year. This data had to be provided at the request of the authorities without requiring any judicial order (Bilge Yesil and Efe Kerem Sozeri, “Online Surveillance in Turkey: Legislation, Technology and Citizen Involvement“, Surveillance & Society, vol. 15, no. 3/4, 9 August 2017, p. 545). However, parts of the strengthening, such as the two-year retention period, were reversed in December 2016 by a Turkish Constitutional Court ruling.

Starting in 2014, charges against journalists and students for insulting government officials increased. From the beginning of Erdoğan’s presidency at the end of August 2014 until the failed coup attempt in mid-July 2016, 1,845 people were charged with insulting the Turkish president – a criminal offense punishable by up to four years in jail under Turkish law. As a gesture of national solidarity Erdoğan dropped almost all the charges after the failed coup attempt (except for pro-Kurdish parliament members and the German satirist Jan Böhmermann). Since then, however, there have been new charges.

A Turkish soldier who took part in the attempted coup is kicked and beaten by the crowd (Photo: Selcuk Samiloglu).
A Turkish soldier who took part in the attempted coup is kicked and beaten by the crowd (Photo: Selcuk Samiloglu).

After the failed coup attempt in mid-July 2016, repression has once again noticeably increased. To date, more than 96,000 people (including 319 journalists) have been arrested, and around half a million have been investigated (including more than 2,000 young people under the age of 18), more than 150,000 people have been fired (including more than 6,000 academics and nearly 4,500 judges). In addition, 189 media outlets were closed during this period (“Monitoring Human Rights Abuses in Turkey’s Post-Coup Crackdown“, Turkey Purge, 19 April 2019). As of November 2016, 114,000 websites were blocked for political or social reasons. These include news agencies as well as online forums reporting on LGBTI issues, ethnic minorities (especially pro-Kurdish content), and social unrest or show anti-Muslim content.

Page views of the Turkish Wikipedia https://tr.wikipedia.org/ in 2017.
Page views of the Turkish Wikipedia https://tr.wikipedia.org/ in 2017.
Since December 2016, a large number of VPN providers and Tor entry nodes have been blocked. Public censorship can be bypassed with a reasonably stable connection if the Tor client uses OBFS4 bridges. However, this approach only works if web pages are blocked; there is no solution if the overall connection to the Internet is throttled or the connection is blocked entirely (Yılmaz, Doğru, and Bahçeci, p. 78f). Offiziere.ch is aware of a case in which a relatively reliable, permanent connection was made with 15 bridges. In TorBox version 0.2.3, the possibility to use bridges is experimentally implemented, but not yet in a user-friendly way (there is a well-documented configuration file for savvy users). A more user-friendly implementation will be provided with the pre-version 0.2.4 – planned for the middle of this year. Currently, the following VPN providers are available in Turkey: ExpressVPN, NordVPN, AstrillVPN, PrivateVPN, and CyberGhost. Like Tor with OBFS4, they also rely on obfuscated protocols. In any case, the VPN user is well advised to additionally use Tor over VPN so that the VPN provider can only recognize an encrypted, target-anonymized data stream.

Also, in mid-March 2018 ProtonMail was blocked. ProtonMail is an email provider located in Switzerland, which specializes in the free or cost-effective offering of user-friendly encrypted email communication. According to information from ProtonMail customer service the service was accessible again after a few days for users located in Turkey, but based on the information available to offiziere.ch there were at least repeated temporary restrictions. Particularly piquant is that the blocking was carried out by Vodafone Turkey, which is part of the British Vodafone Group. Once again there are companies in democratic states supporting censorship in authoritarian states.

TorBox on GitHub / Updated TorBox v.0.2.3 GitHub release

TorBox has now its own GitHub page, which gives you an easy way to contribute to the TorBox project. Especially for that occasion, TorBox v.0.2.3 has been updated. Here are the links for the latest TorBox v.0.23 (usually, you need only the image-file):

Changelog v.0.2.3 (09.01.2019) —> v.0.2.3 (09.02.2019)

  • Updated: The system is based on Raspbian “Stretch” lite with Linux Kernel 4.14.79 and Tor version 0.3.5.7.
  • Updated: nyx (the Tor statistics program) from version 2.0.4 to 2.1.0.
  • Updated: Reduced logging is now enabled by default. Corresponding menu entry in the advanced menu let you change the amount of logging.
  • Updated: “Erase all log files” (entry in the advanced menu) deletes all log files (previous behavior was to reduce them to 0 bytes).
  • Minor fix: Fixed some minor bugs, cleaned up the code and especially the configuration files in “/etc“.
  • Removed: The Screen Saver (entry in the main menu) and slurm.

The pre-v.0.2.4 release is expected at the end of May 2019 and will focus on improved usability of bridges.

TorBox v.0.2.3 released !

Finally! I’m happy to announce the release of TorBox v.0.23. During the last half-year, I tested the functionality under real-life conditions, and I’m pleased with the overall stability of the system (if the power supply is reliable enough). Currently, I receive only a few feedback from the community. Therefore, one of my goals for 2019 is to find more contributors who are motivated to give feedback and to help to improve the functionality and security of the system, but more about that later…

Main Menu TorBox v.0.23
Main Menu TorBox v.0.23

Changelog pre-v.0.2.3 (02.12.2018) —> v.0.2.3 (09.01.2019)

  • New: The first noticeable improvement is the size of the image file: it is only a little bit more than 900 Mbyte (compared to 1.4 Gbyte of the last version). This reduction of size was made possible by shrinking the image. At the first start, the image automatically expands over the entire free partition. After an automatic reboot, the system is available for use – user interaction, screen, and peripherals are not required. After 2-3 minutes, when the green LED stops to flicker, connect your client to the new WiFi “TorBox023”. Then use an SSH-client to access 192.168.42.1 (username: pi / password: CHANGE-IT). Now, you should see the TorBox menu. Choose the preferred connection setup and change the default passwords as soon as possible (the associated entries are placed in the advanced menu). TorBox needs at least a 4 Gbyte SD Card, but 8 Gbyte is recommended.
  • New: The ability to configure TorBox with bridges that use obfs4 pluggable transport capability to overcome censorship. It is still in experimental status, but with detailed feedback, I will be able to improve and extend this feature for the next version. It works like that: after selecting the connection in the main menu and if Tor Statistics doesn’t show any link to the Tor Network, then additionally the user can try the bridge function in the Advanced Menu. To be honest: the whole thing took a lot of nerves out of me, not so much because of the configuration, but because there seem to be quite a few bridges that don’t work (or don’t work with my network environment). So my advice is, if necessary, to enter 3-6 bridges and to wait at least 5 minutes even though error messages can be seen (someone in a country with state censorship told me that he needs up to 15 bridges). Probably, I will change the implementation of that feature in the future; actually, the improvement of this very important feature will be the main focus for the development of the next pre-v.0.24. That’s why I need your feedback and ideas on these. However, one thing in advance: currently, I don’t see any way to get the bridges automatically (at least as long as we deal with shell scripts :-/).
  • New: I noticed that some free Internet provider at airports, hotels, coffees, etc. just cut the connection after a particular time without network load. A “normal” device would probably reconnect, but this doesn’t work with TorBox. That’s why there is now an entry in the Advanced Menu that provides a constant ping for a minimal data stream. At least with Starbucks, this worked :-).
  • New: The localization is now in English by default, the time should remain set to UTC, and ntpdate fetches the correct time at startup … from this point of view there is no urgent need for an additional configuration. However, I added to the Advanced Menu the possibility to set a “Wifi Regulatory Domain”. The current setting is “unset” or “world”, which is quite broad, but if someone has problems with it, he can change it now. Currently, the two-letter country code has to be chosen from https://wikipedia.org/wiki/ISO_3166-1_alpha-2. At this point, I need your feedback, if you need that feature at all and if I should improve its usability.
  • New: I also added a runtime file where TorBox stores certain global variables. There isn’t much in it yet, but it might become a kind of configuration file in the future.

Advanced Menu TorBox v.0.23
Advanced Menu TorBox v.0.23

  • Updated: The system is based on Raspbian “Stretch” lite with Linux Kernel 4.14.79 and Tor version 0.3.4.9.
  • Updated: For security reasons, the Bluetooth capabilities are disabled on the provided image.
  • Updated: The feature to overcome captive portals has been so stable since last summer that I was able to remove all alternative strategies and test scripts. Now, the captive portal solution works for all connection types – and if someone is mistaken, it doesn’t matter — he can click through the procedure. For security reasons, the user has, however, the possibility to abort before establishing an insecure connection.
  • Updated: Experimentally, I had already integrated the possibility of cable-TorBox-cable connections before, but I wasn’t that happy about it. I have entirely reworked this first approach. Now the user can choose between WiFi- or cable-client in the main menu. The user can also switch back and forth, but he has to make sure that he can log in with the chosen client.
  • Updated: The update function is now more reliable (now with the latest stable Tor release).
  • Updated: All menus and display screens should be viewable on a 3.5“ screen, on a mobile phone or tablet. Besides, the menus are better structured, and I have tried to make the information screens more understandable. Let me know, your thoughts about it.
  • Updated: As for DNS leaks, I’m a bit paranoid, so dnsmasq is turned off on TorBox by default, and any DNS queries made locally on the device (that is, by the user logged in via ssh in the shell) are recorded in the log file.
  • Minor fix: The menu entry to flush all log files, flushes now “~/.bash_history” too.
  • Minor fix: Some minor bugs in the configuration part in the advanced menu.
  • Removed: The ability to reset the entire network settings (was located in the Advanced Menu). This feature isn’t necessary anymore, and it wasn’t very useful.
  • Tested: With Raspberry Pi 3 Model B and Raspberry Pi 3 Model B+ (max achieved throughput: 2.3 Mb/s). I continue to test the integration of the PiJuice, a portable power platform for the Raspberry Pi, but it seems that the permanent power supply is not reliable enough to enable stable WiFi-TorBox-WiFi connectivity. For portable use, my best experience is made with the RS Pro PB-10400 Power Bank, 5V / 10,4Ah.

A test with the PiJuice HAT. Below in black is the very reliable RS Pro PB-10400 Power Bank, 5V / 10,4Ah.
A test with the PiJuice HAT. Below in black is the very reliable RS Pro PB-10400 Power Bank, 5V / 10,4Ah.

Last but not least, I’m coming back to my desire to expand the number of contributors. I have about 4 Raspberry Pi 3 Model B to give away for free (SD Card with pre-installed TorBox v.0.23 included). If you want one of these Raspberry Pis than send me an email explaining why I should send you one and what you are willing to contribute to the project.