Has school destroyed your creativity and self-confidence? I'm working on a book called Recovering From School, to help you heal the damage caused. Join the Patreon or Newsletter to be notified about updates. Paid Patreon members will get early draft previews, as well as a free digital copy when it's done.
Part of the Mega Guide: How To Unblock Anything At SchoolA VPN, or Virtual Private Network, protects your online activities private by encrypting your data so that no one can see what you're doing on the internet. This is useful for safeguarding your privacy and bypassing restrictions.
But sometimes, the network you're on might block VPN installations or connections, like in certain offices or schools. Or, your device might have security settings or restrictions that prevent new apps from being installed.Luckily there are other ways to unblock Websites on Linux!
Schools restrict websites for reasons that often seem as oppressive as they are nonsensical. They want to impose sameness, keep interferences at bay, and ensure a sense of order. In the process, they quash curiosity and creativity, making us into unquestioning followers of their agenda.
The platforms that might offer a bit of relief, a moment of relief, or even a ray of understanding, are often unreachable. These aren't just insignificant diversions; they're sometimes the only sources of comfort and connection for those of us feeling isolated and separated. Here is a list of commonly blocked sites and our instructions to unblock them:
[Facebook] [Spotify] [Pinterest] [YouTube] [Google] [TikTok] [Instagram] [Reddit] [Discord] [Telegram] [WhatsApp] [Snapchat] [LinkedIn] [Twitter]
Unblocking Websites On Linux using Free DNS Servers
What Are DNS Servers?
Imagine you need to find a person's home, but you only know their identity, not their location. Youâd probably consult someone who is aware of where they reside, right?
In the internet world, DNS servers (Domain Name System servers) are like those knowledgeable people. When you enter a website's address (like www.example.com) into your web browser, DNS servers convert that name into an IP address (a set of numbers) that your computer can recognize and use to find the website.
How Changing DNS Servers Can Help Bypass Censorship
Sometimes, some websites might be blocked by your internet service provider or your school. They do this by making your DNS queries (requests to access a website) pass through servers that either redirect them.
Here's how changing your DNS servers can help:
Different DNS Servers: By switching to a different DNS server (like Google's public DNS or Cloudflare's DNS), you might avoid these restrictions. These alternative servers might not have the same restrictions or might allow access to the website you want to visit.
Accessing Restricted Sites: If a particular DNS server is known for allowing access to certain websites, using that server can assist you get around the restrictions put in place by your school.
You can find several free DNS providers. The following steps demonstrate how to configure OpenDNS, however you are able to replace the IP addresses using any of the others if you would like to.
There is a big list of DNS servers here: https://public-dns.info/
Here are some of the popular ones:
Google: 8.8.8.8 and/or 8.8.4.4
Cloudflare: 1.1.1.1
How to Change DNS Servers on Linux
Changing DNS servers on Linux can be done via the command line by editing configuration files or using network management tools. Hereâs a step-by-step guide for several methods:
Method 1: Using resolv.conf
File
Open Terminal: Open your terminal.
Edit the resolv.conf File:
- Use a text editor to open the
/etc/resolv.conf
file. For example:sudo nano /etc/resolv.conf
- Add or change the
nameserver
lines to your desired DNS servers. For instance:
These addresses are Google's public DNS servers. You can replace them with the IP addresses of your preferred DNS servers.nameserver 8.8.8.8nameserver 8.8.4.4
- Use a text editor to open the
Save and Exit:
- If youâre using
nano
, pressCtrl+X
, thenY
to confirm changes, andEnter
to save.
- If youâre using
Check the Changes:
- You can verify the changes by using:
cat /etc/resolv.conf
- You can verify the changes by using:
Method 2: Using NetworkManager
If youâre using a system with NetworkManager (common in many desktop distributions), you can change DNS settings via the nmcli
command:
List Connections:
nmcli connection show
Modify the Connection:
- Replace
<connection-name>
with the name of your connection. For example, if your connection is calledWired connection 1
, the command might look like:sudo nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8,8.8.4.4"
- You can also specify DNS servers for IPv6 if needed:
sudo nmcli connection modify "Wired connection 1" ipv6.dns "2001:4860:4860::8888,2001:4860:4860::8844"
- Replace
Restart NetworkManager:
sudo systemctl restart NetworkManager
Method 3: Using systemd-resolved
(if applicable)
Some distributions use systemd-resolved
for DNS resolution.
Check the Status:
systemctl status systemd-resolved
Edit the Resolved Configuration:
- Open the
/etc/systemd/resolved.conf
file:sudo nano /etc/systemd/resolved.conf
- Under the
[Resolve]
section, add or modify theDNS
line. For example:[Resolve]DNS=8.8.8.8 8.8.4.4
- Optionally, you can also set
FallbackDNS
for fallback servers.
- Open the
Restart
systemd-resolved
:sudo systemctl restart systemd-resolved
Ensure
/etc/resolv.conf
Points tosystemd-resolved
:sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Notes
- NetworkManager and systemd-resolved might override manual changes to
/etc/resolv.conf
, so adjusting settings through these tools is often preferable. - Permissions: Most of these commands require
sudo
or root permissions. - Restarting Services: After making changes, restarting network services or the computer might be necessary for the changes to take effect.
Choose the method that matches your systemâs configuration and network management tools.
Unblocking Websites On Linux using Free Proxy Servers
What Are Proxy Servers?
Let's imagine the internet as a big, open library where you can explore and access all sorts of books and information. Now, imagine there's a special gatekeeper who manages what materials you can see based on certain restrictions. If the librarian doesn't want you to see certain materials, they can restrict your access to those materials.
A proxy server is like a clever friend who can help you get around this librarian. Here's how it works:
Your Request: When you want to access a book, instead of going directly to the librarian (which is like your internet connection), you ask your friend (the proxy server) to help you.
The Friend (Proxy Server): Your friend goes to the librarian, requests the book for you, and then brings it back to you. In this way, the librarian never knows itâs actually you making the request.
Changing Proxies: If the librarian becomes aware of your friend and blocks their access, you can just ask a different friend (a different proxy server) to assist you. By switching proxies, you can continue to access the content that were previously blocked.
In simpler terms, a proxy server acts as a go-between that helps you access information without the restrictions you would face directly. By using different proxies, you can bypass internet censorship, which is like circumventing the librarian's restrictions.
How to Change Proxy Servers on macOS
Changing proxy servers on a Linux system using the command line involves configuring environment variables or editing configuration files, depending on whether you're setting a temporary proxy or a more permanent system-wide one. Hereâs a step-by-step guide:
Temporary Proxy Configuration
For a temporary proxy setup, you can export proxy environment variables directly in your terminal session. This will affect only the current terminal session.
Open your terminal.
Set the proxy environment variables. You need to specify the proxy server's address and port. Here's how to do it for HTTP, HTTPS, and FTP proxies:
export http_proxy="http://proxyserver:port"export https_proxy="https://proxyserver:port"export ftp_proxy="ftp://proxyserver:port"
Replace
proxyserver
with the proxy server's address andport
with the port number. If your proxy requires authentication, include your username and password:export http_proxy="http://username:password@proxyserver:port"export https_proxy="https://username:password@proxyserver:port"export ftp_proxy="ftp://username:password@proxyserver:port"
To make sure your proxy settings are applied, you can check the environment variables:
echo $http_proxyecho $https_proxyecho $ftp_proxy
Permanent Proxy Configuration
For a permanent setup, youâll need to modify system configuration files or profiles so that the proxy settings persist across sessions and reboots.
For Individual User:
Edit the
.bashrc
or.bash_profile
file (or equivalent for your shell). Open the file in a text editor:nano ~/.bashrc
Add the export commands at the end of the file:
export http_proxy="http://proxyserver:port"export https_proxy="https://proxyserver:port"export ftp_proxy="ftp://proxyserver:port"
Save and exit the text editor. For
nano
, pressCTRL+X
, thenY
, andEnter
.Reload the configuration:
source ~/.bashrc
For System-Wide Configuration:
Edit the
/etc/environment
file to set global proxy variables:sudo nano /etc/environment
Add the proxy settings:
http_proxy="http://proxyserver:port"https_proxy="https://proxyserver:port"ftp_proxy="ftp://proxyserver:port"
Save and exit the text editor.
Reload the environment settings:
source /etc/environment
Proxy Settings for Specific Applications
Some applications or tools have their own proxy settings, such as wget
, curl
, or package managers like apt
:
wget
: You can configure proxies in/etc/wgetrc
or~/.wgetrc
:use_proxy = onhttp_proxy = http://proxyserver:porthttps_proxy = https://proxyserver:port
curl
: Use the-x
or--proxy
option for a specific command:curl -x http://proxyserver:port http://example.com
apt
: Configure proxy settings in/etc/apt/apt.conf.d/proxy
:Acquire::http::Proxy "http://proxyserver:port";Acquire::https::Proxy "https://proxyserver:port";
By following these steps, you can configure and manage proxy settings on your Linux system via the command line.
Where to find free proxies? We have a list here.
If you like what we're doing here, you can become a Patron and sign up for our newsletter!