Git Product home page Git Product logo

wg-oauth's Introduction

WireGuard OAuth2 Gateway

Experimental! This doesn't work yet

This application is for managing a WireGuard VPN server with configurable firewall rules managed by OAuth2 authentication. Peers who connect to the server are blocked from LAN resources (with definable exceptions) until they perform authentication via 3rd party IdP. Once authenticated, the WG session is 'locked' to their connecting IP until the session expires or they reauthenticate. The authenticated peer is then given access to private LAN resources.

Not sure if this works in a container yet because of nftables kernel module stuff. Requires wireguard and nftables installed on host otherwise.

Variables

Name Description
WG_COOKIE_KEY Crypto key for cookies
NRLICENSE NewRelic API key
DBPATH Local sqlite database path (match mount volume)
WG_GROUP_MEMBER Azure security group UUID
WG_AZURE_ID" Azure app ID
WG_AZURE_SECRET Azure app secret
WG_REDIRECT Full postauth redirect path
LOCAL_SUBNET eg 192.168.0.0/16
FW_EXEMPTIONS default firewall allows, eg 192.168.0.3:53,192.168.0.4:80/tcp
ENVIRONMENT arbitrary env label
HTTP_PORT web server port

wg-oauth's People

Contributors

yapishu avatar

Watchers

 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.