• Stars
    star
    974
  • Rank 46,574 (Top 1.0 %)
  • Language
    Shell
  • License
    Other
  • Created about 2 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Ansible playbook that sets up a Wireguard server with ad blocking, DNS-over-HTTPS, and a WebUI with 2FA

ansible-easy-vpn

CI

A simple interactive script that sets up a Wireguard VPN server with Adguard, Unbound and DNSCrypt-Proxy on your VPS of choice, and lets you manage the config files using a simple WebUI protected by two-factor-authentication.

Have a question or an issue? Read the FAQ first!

Usage

wget https://notthebe.ee/vpn -O bootstrap.sh && bash bootstrap.sh

Features

  • Wireguard WebUI (via wg-easy)
  • Two-factor authentication for the WebUI (Authelia)
  • Hardened web server (Bunkerweb)
  • Encrypted DNS resolution with optional ad-blocking functionality (Adguard Home, DNSCrypt and Unbound)
  • UFW and Fail2Ban
  • Automated and unattended upgrades
  • SSH hardening and public key pair generation (optional, you can also use your own keys)
  • E-mail notifications (using an external SMTP server, e.g. GMail)

Requirements

  • A KVM-based VPS (or an AWS EC2 instance) with a dedicated IPv4 address
  • One of the supported Linux distros:
    • Ubuntu Server 22.04
    • Ubuntu Server 20.04
    • Debian 11
    • Rocky Linux 8 – not supported anymore
    • Rocky Linux 9 - not supported anymore

Known issues with VPS providers

Normally, the script should work on any KVM-based VPS.

However, some VPS providers use non-standard versions of Ubuntu/Debian OS images, which might lead to issues with the script.

Additionally, some providers require additional firewall configuration in the server control panel to unblock the Wireguard port.

  • AlexHost – runs apt-get dist-upgrade after the VPS is provisioned, which results in a dpkg lock
  • IONOS – includes a firewall with default rules, which blocks Wireguard traffic. User needs to open the Wireguard port (51820/udp) in the control panel to make the VPN work.

More Repositories

1

infra

IaC for my Linux/Unix machines
Shell
1,422
star
2

macos_usb

A script that creates a bootable macOS installer on Linux and macOS
Shell
322
star
3

ytdl-explorer

Download videos from YouTube/Twitch/Twitter right in the Windows Explorer, without installing any shady shareware apps
Python
277
star
4

ansible-role-ubuntu_autoinstall

An Ansible role for generating a custom Ubuntu Server 20.04 ISO for (semi-)automated provisioning
Jinja
218
star
5

dotfiles

Config files for my macOS workspace
Vim Script
181
star
6

nix-config

Configuration files for my NixOS and nix-darwin machines
Nix
147
star
7

homeserver

docker-compose files for my home server
65
star
8

obsh

A tiny bash script for finding SSH servers in your local network
Shell
42
star
9

ansible_homeserver

The code for my IaC Deep Dive YouTube series
39
star
10

t440p-hackintosh

Clover folder for Thinkpad T440p
Rich Text Format
32
star
11

seabiosbootsplash

Add your custom bootsplash to SeaBIOS
28
star
12

notthebee

Personal README
16
star
13

notthebe.ee

Source code for my personal blog, powered by Zola
CSS
15
star
14

pageparse

A small script that scrapes a web page and displays a graph of the most used words
Python
14
star
15

t440p-airport

Fitting an Apple Airport card into Thinkpad T440p
13
star
16

revertcoreboot

Reverting coreboot installation on Thinkpad X220
9
star
17

jameswatch

A Twitter bot that post crimes commited by people called James. In a sensationalist way
Python
8
star
18

ahk

My AHK script for Windows
AutoHotkey
4
star
19

prompt

A simple ZSH prompt
Shell
3
star
20

website-deployment-demo

Hi Youtube!
HTML
2
star
21

efficient_psu

Python
1
star
22

cloud-homeserver

1
star