Why everyone should have at least one Raspberry Pi

in technology •  7 years ago  (edited)

More likely than not, you've heard of the Raspberry Pi (RPi). It's a small, inexpensive "single board computer", meaning everything to run the computer comes on one circuit board so no assembly is required. While the bone-stock RPi runs $35, you can get a kit for about $50-60 that comes with case, power supply, maybe heatsinks and other odds and ends to help getting started a little easier.

The RPi is known for being used for some innovative or even crazy hacks that tend to require scripting knowledge as well as the ability to work with lower-level hardware. I'm not one of those people - I barely know how to work with a bash script, let alone working with general-purpose input/output pins or soldering wires together (my hands are like The Waco Kid's).

However, with a little Reddit and Google research, I've been able to have a lot of fun with the RPi, and I don't even need a GUI to do so. What am I doing currently on my Pi?

  • Blocking malicious websites and online trackers for all devices on my network
  • Helping grow the Tor network with a relay node
  • Hosting a download/torrenting server for large files on my network
  • Running an external VPN server so I'm secure away from home

This is all doable with a minimum of command line work, really just the basics that you'd need to know to administer a Linux system anyway. If you can run ipconfig or ping at the Windows command prompt, you can do all of this in an afternoon.

Blocking bad domains - Pi-Hole: Project website | Subreddit

Pi-Hole is a nifty piece of software that's bringing a lot more users to the RPi. Ever used Adblock? What if you didn't need to install an addon on each browser and device to block ads or trackers? That's what Pi-Hole allows you to do out of the box.

At its core, it turns your Pi into a local DNS server that queries and caches DNS requests on your LAN, against a blacklist that's periodically refreshed by the app. Any domains on the blacklist won't resolve to the real server, meaning your device never gets to load the data that you don't want. This saves bandwidth and loading time, as well.

Of course you can customize the blocklists and whitelist domains to override the blocklists. I actually don't use Pi-hole for ad blocking because I believe there's some value in supporting ad-driven sites, and it's easier to override for a particular site I'm visiting in the browser itself. I primarily use Pi-Hole to block known or suspected malicious domains, as well as to block trackers, including Microsoft and nVidia telemetry (Samsung TV users - this can help you too!)

Setting up a Tor relay - Tor: Project Website| Subreddit

Hosting a Tor relay can assist free speech for whistleblowers, journalists and just regular individuals in countries around the world. While you may be concerned with those using your IP to access the web, running a middle relay generally doesn't carry risk (as opposed to the former being an "exit relay"). A relay simply adds bandwidth to the network for the connections to bounce around.

With the most recent RPi v3, the standard Tor client can be installed using Tor's instructions, so make sure you set up the Tor repo info for the newest version. At the time of writing here, the current stable build is in 0.3.xxx where the Raspbian repo's still in something like 0.2.xxx. Follow the instructions and you'll be set up in 10 minutes with some simple configuration edits to /etc/tor/torrc.

If you install tor-arm as well, you can get some really cool monitoring abilities in the command line, but it can be slightly buggy as arm hasn't been updated in some years.

Hosting download server - Aria2: Github

I'm just getting started with Aria2 - it's a super lightweight download and torrent client that has a few cool features, like the ability to download the same file from multiple protocols simultaneously. While it's normally run from terminal, there is a slick webGUI available that allows you full control in any browser. If you pair up your RPi with a good external hard drive, you can run a downloading/torrent box that you can access from any device.

For example, I'm often finding myself downloading Linux images and then removing them from my laptop - it's easier to just send them to a dedicated traditional hard drive and pull them off the Pi when needed, especially considering I'm working off of a limited SSD in my PC.

Running external VPN - PiVPN: Project Website | Github

Why pay for a VPN if all you're looking for is secure connectivity when you're playing road warrior or just across town at Starbucks? PiVPN is an install/config tool that guides you through the creation of a secure OpenVPN server on your RPi as well as a simple administration interface.

Just be sure to forward the appropriate port on your router (and take the necessary precautions to secure your Pi, which I'll discuss in a later post, or you can find a plethora of posts on the subject via Google).

Not bad for an afternoon's work, eh? This is just a taste of what you can do with a Pi, but what I like about these items in particular is that they can provide immediate use to an end user. I haven't touched on what you can do with the device as a media server with tools like Plex, because I haven't gotten around to that yet, and there's a bunch to test out.

I also plan on adding a couple guides on simple security steps and detailed setup instructions for some of the tools listed here. What else would you like to see? Let me know!  

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Interesting. I'm not very tech savvy but I hear the Raspberry Pi is an amazing device to learn on.

It really is a great tool to learn on, especially if you're at all interested in Linux, without needing to buy a full new computer or worry about dual-booting.

I really didn't give it justice in this post, but I'll try to get some "RPi 101" posts up in the future.

nice article. What do you think about arduino. Are they similar or is one better than the other?

Good question - where a RPi can basically run as a desktop computer, an Arduino is a lot simpler - and lower-level to work with. Arduinos can be used for small electronics projects but require programming to work with them. Where a RPi can be a multi-functional server/desktop computer - like running Pi-Hole, media server, etc - an Arduino would be programmed for a specific purpose, like a MIDI controller or to be the "brain" of a robot.

Congratulations @samtaylor! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You made your First Vote
You made your First Comment

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @samtaylor! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!