Coder Social home page Coder Social logo

ctmcisco / gluetun Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qdm12/gluetun

0.0 0.0 0.0 2.28 MB

VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN, DNS over TLS, with a few proxy servers built-in.

Home Page: https://hub.docker.com/r/qmcgaw/gluetun

License: MIT License

Dockerfile 0.48% Go 99.52%

gluetun's Introduction

Gluetun VPN client

Lightweight swiss-knife-like VPN client to tunnel to Private Internet Access, Mullvad, Windscribe, Surfshark Cyberghost, VyprVPN, NordVPN, PureVPN and Privado VPN servers, using Go, OpenVPN, iptables, DNS over TLS, ShadowSocks and an HTTP proxy

ANNOUNCEMENT: New Docker image name qmcgaw/gluetun

Size Size

Docker Pulls Docker Pulls

Last release Last Docker tag GitHub Release Date

Commits since release GitHub last commit

Lines of code

Quick links

Features

  • Based on Alpine 3.12 for a small Docker image of 52MB
  • Supports Private Internet Access, Mullvad, Windscribe, Surfshark, Cyberghost, Vyprvpn, NordVPN, PureVPN and Privado servers
  • Supports Openvpn only for now
  • DNS over TLS baked in with service provider(s) of your choice
  • DNS fine blocking of malicious/ads/surveillance hostnames and IP addresses, with live update every 24 hours
  • Choose the vpn network protocol, udp or tcp
  • Built in firewall kill switch to allow traffic only with needed the VPN servers and LAN devices
  • Built in Shadowsocks proxy (protocol based on SOCKS5 with an encryption layer, tunnels TCP+UDP)
  • Built in HTTP proxy (tunnels HTTP and HTTPS through TCP)
  • Connect other containers to it
  • Connect LAN devices to it
  • Compatible with amd64, i686 (32 bit), ARM 64 bit, ARM 32 bit v6 and v7, and even s390x as well as ppc64le ๐ŸŽ†
  • VPN server side port forwarding for Private Internet Access and Vyprvpn
  • Possibility of split horizon DNS by selecting multiple DNS over TLS providers
  • Subprograms all drop root privileges once launched
  • Subprograms output streams are all merged together
  • Can work as a Kubernetes sidecar container, thanks @rorph

Setup

  1. On some devices you may need to setup your tunnel kernel module on your host with insmod /lib/modules/tun.ko or modprobe tun

  2. Launch the container with:

    docker run -d --name gluetun --cap-add=NET_ADMIN \
    -e VPNSP="private internet access" -e REGION="CA Montreal" \
    -e OPENVPN_USER=js89ds7 -e OPENVPN_PASSWORD=8fd9s239G \
    -v /yourpath:/gluetun \
    qmcgaw/gluetun

    or use docker-compose.yml with:

    echo "your openvpn username" > openvpn_user
    echo "your openvpn password" > openvpn_password
    docker-compose up -d

    You should probably check the many environment variables available to adapt the container to your needs.

Further setup

The following points are all optional but should give you insights on all the possibilities with this container.

License

MIT

Metadata

GitHub commit activity GitHub closed PRs

GitHub issues GitHub closed issues

Visitors count GitHub stars GitHub watchers Contributors GitHub forks

Code size GitHub repo size

dockeri.co

Docker Layers for latest Go version

gluetun's People

Contributors

bjw-s avatar codetheweb avatar dependabot[bot] avatar elmerfdz avatar gdlx avatar github-actions[bot] avatar hyness avatar janaz avatar qdm12 avatar wolph avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.