Best Free VPN Alternatives

Free. Safe. Reliable.

Best Free VPNAlternatives

Handpicked free VPN alternatives that offer privacy, security, and freedom, without the cost.

A world map drawn in pale blue dots, showing global server coverage

Connection Secured

Your privacy is protected

Active
  • 100% Free

    No hidden fees

  • No Logs

    Your data stays private

  • Easy to Use

    Simple and fast setup

  • Cross-Platform

    Works on all devices

What is already wired in

The parts every site needs and nobody enjoys building twice. They read the tokens, so they match the brand the moment you change it.

A markdown blog
Posts are files in content/blog/. Frontmatter sets the title, description, date, category and tags. The index, the cards, the pagination and the reading time come free.
Hubs that group posts
A file in content/hubs/ becomes a pillar page at its own slug, lists every post in its category, and gives those posts breadcrumbs.
Metadata that passes an audit
Self canonical, Open Graph with image dimensions, Twitter card, RSS alternate, robots directive and a JSON-LD graph on every page.
Both sitemaps and a feed
sitemap.xml for crawlers, an HTML sitemap for readers, and rss.xml built from the same posts.
Tokens, not hard-coded colour
brand.config.json generates the CSS variables, loads the fonts and writes lib/brand.ts. Change the palette in one file.
Components with no dependencies
Header, footer, buttons, FAQ, breadcrumbs, table of contents. No component library, no icon package, no emoji.

Three steps to make it yours

  1. 01

    Edit brand.config.json

    Name, tagline, domain, palette, fonts, radius. Then run the brand-tokens script and every page changes at once.

  2. 02

    Rebuild app/page.tsx

    The homepage is the bespoke one. Section, Button, Faq and AnimatedSvg are already here to build it from.

  3. 03

    Write posts

    Markdown in content/blog/. The index, the feed, the sitemaps and the breadcrumbs pick them up on the next build.

Questions before you clone it

What do I change first?
brand.config.json, then run the brand-tokens script. That sets the palette, the fonts, the radius and the site name everywhere at once.
Where does the homepage come from?
app/page.tsx, which is the one page meant to be rebuilt per project. Everything else is templated and only reads the tokens.
How do I add a post?
Drop a markdown file in content/blog/. The filename is the slug. A leading underscore marks it a draft and keeps it out of the build.
Why is there no cookie banner or accordion?
House rules. Nothing on the page hides behind JavaScript, and there is no consent modal. What is on the page is visible on load.
Does it need a server?
No. It builds to a static export, so it hosts anywhere. Images are unoptimised for the same reason.

Start from here, not from an empty folder

Everything below the homepage is done. Change the config, write the copy, ship it.

Read the notes