From ea9c6fe8041faab128391a0c03ec3bde25e29fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 13 Feb 2020 13:05:40 +0100 Subject: Add Tinc VPN --- modules/private/websites/tools/tools/default.nix | 3 + modules/private/websites/tools/vpn/default.nix | 15 ++++ modules/private/websites/tools/vpn/www/index.html | 91 +++++++++++++++++++++++ modules/private/websites/tools/vpn/www/style.css | 61 +++++++++++++++ 4 files changed, 170 insertions(+) create mode 100644 modules/private/websites/tools/vpn/default.nix create mode 100644 modules/private/websites/tools/vpn/www/index.html create mode 100644 modules/private/websites/tools/vpn/www/style.css (limited to 'modules/private/websites/tools') diff --git a/modules/private/websites/tools/tools/default.nix b/modules/private/websites/tools/tools/default.nix index f88cf06..9fb2d03 100644 --- a/modules/private/websites/tools/tools/default.nix +++ b/modules/private/websites/tools/tools/default.nix @@ -102,6 +102,7 @@ in { root = "/var/lib/ftp/tools.immae.eu"; extraConfig = [ '' + RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1 RedirectMatch 301 ^/roundcube(.*)$ https://mail.immae.eu/roundcube$1 RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse @@ -152,6 +153,8 @@ in { RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse + RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1 + RedirectMatch 301 ^/(.*)$ https://tools.immae.eu/$1 '' ]; diff --git a/modules/private/websites/tools/vpn/default.nix b/modules/private/websites/tools/vpn/default.nix new file mode 100644 index 0000000..cfe010c --- /dev/null +++ b/modules/private/websites/tools/vpn/default.nix @@ -0,0 +1,15 @@ +{ lib, pkgs, config, ... }: +let + cfg = config.myServices.vpn; +in { + config = lib.mkIf cfg.enable { + services.websites.env.tools.vhostConfs.vpn = { + certName = "eldiron"; + addToCerts = true; + hosts = [ "vpn.immae.eu" ]; + root = "/run/current-system/webapps/_vpn"; + }; + + myServices.websites.webappDirs._vpn = ./www; + }; +} diff --git a/modules/private/websites/tools/vpn/www/index.html b/modules/private/websites/tools/vpn/www/index.html new file mode 100644 index 0000000..08199fb --- /dev/null +++ b/modules/private/websites/tools/vpn/www/index.html @@ -0,0 +1,91 @@ + + + + VPN configuration + + + + + +
+

Installation

+ + +

Choix d'ip

+ +
+ + diff --git a/modules/private/websites/tools/vpn/www/style.css b/modules/private/websites/tools/vpn/www/style.css new file mode 100644 index 0000000..b177fec --- /dev/null +++ b/modules/private/websites/tools/vpn/www/style.css @@ -0,0 +1,61 @@ +* { + margin:0; + padding:0; + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing: border-box; +} + +html { + min-height:100%; + border-top:10px solid #ECEEF1; + border-bottom:10px solid #ECEEF1; + color:#61666c; + font-weight:400; + font-size:1em; + font-family:'Open Sans', sans-serif; + line-height:2em; +} +body { + padding:20px; + -webkit-backface-visibility:hidden; +} +code { + font-family:consolas,monospace; +} +a { + color:#61666c; + text-decoration:none; +} +a, img { + border:none; + outline:none +} +a:hover { + color:#2a2a2a; +} + +.instructions { + margin:0 auto; + padding-top:20px; + max-width:80%; +} + +.instructions a { + text-decoration: underline; +} + +.instructions h2 { + margin-top: 10px; +} +.instructions em.important:before { + content: "⚠ Important ⚠ "; + color: red; +} +.instructions pre { + width: 50em; + padding: 10px 15px; + display: table; + border: 1px inset black; + line-height: 1em; +} -- cgit v1.2.3