13ft: Self-Hosted Paywall Bypass and Ad Blocker

Summary
13ft is a powerful, self-hosted Python application designed to bypass paywalls and block ads on various websites, including those that services like 12ft.io might miss. It operates by impersonating GoogleBot to access the full content of articles. This open-source tool offers a flexible solution for users seeking to read restricted content.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
13ft is an open-source, self-hosted Python application that serves as a robust replacement for services like 12ft.io. Its primary function is to help users bypass paywalls and block unwanted advertisements on websites, particularly those with strict content restrictions such as Medium or The New York Times. The core mechanism involves mimicking Google's web crawler, GoogleBot, which allows it to retrieve the complete, unrestricted content of a webpage, making it accessible to the user.
Installation
13ft offers multiple flexible installation methods to get you started.
Using Docker
For a quick setup, 13ft can be deployed using Docker.
First, clone the repository and use Docker Compose:
git clone https://github.com/wasi-master/13ft.git
cd 13ft
docker compose up
Alternatively, the Docker image is available on DockerHub and ghcr.io, allowing you to pull it directly with docker pull wasimaster/13ft.
Standard Python Script
If you prefer a direct Python setup, ensure Python is installed on your machine.
Clone the repository, navigate to the app/ directory, and install the required dependencies:
git clone https://github.com/wasi-master/13ft.git
cd 13ft/app/
python -m pip install -r requirements.txt
Then, run the portable.py script:
python portable.py
The application will then be accessible via the link displayed in your terminal.
Installation using venv and running under specific bind address / port
For more controlled environments, you can set up 13ft within a virtual environment and specify the host and port:
python3 -m venv venv
source venv/bin/activate
python -m pip install -r requirements.txt
FLASK_APP=app/portable.py flask run --host=127.0.0.1 --port=9982
Examples
13ft provides several ways to access content.
Web Interface
Once 13ft is running, navigate to the provided URL in your browser. You will find a simple input box where you can paste the URL of the article you wish to read. After pasting, 13ft will process the URL and display the content, free from paywalls and ads. Screenshots in the repository demonstrate this process.
URL Appending
An alternative method is to append the target URL directly to your 13ft instance's address. For example, if your 13ft server is running at http://127.0.0.1:5000, you can access an article by going to http://127.0.0.1:5000/https://example.com.
Bookmarklet for Chrome
For quick access, 13ft can be used via a bookmarklet in Chrome (and other browsers). Create a new bookmark with the following JavaScript code as its URL:
javascript:(function(){window.location.href='https://13ft.wasimaster.me/'+encodeURIComponent(window.location.href);})();
You can replace https://13ft.wasimaster.me with the URL of your own 13ft instance. When on a paywalled page, simply click this bookmarklet to instantly view the content through your 13ft server.
Why use 13ft?
13ft stands out as a valuable tool for several reasons. Being self-hosted, it gives users full control over their data and privacy, unlike third-party services. It is specifically designed to work with a broader range of websites that other paywall bypassers might fail on, thanks to its GoogleBot impersonation technique. This makes it a reliable solution for accessing content on popular news sites and platforms. While supporting creators is encouraged, 13ft offers a convenient way to access individual articles without commitment, enhancing accessibility to information.
Links
Explore the 13ft project further: