initial commit of file from CVS for smeserver-wireguard on Sat Sep 7 16:45:37 AEST 2024

This commit is contained in:
Trevor Batley 2024-09-07 16:45:37 +10:00
parent 224708b82c
commit b7eed5fe86
69 changed files with 9053 additions and 2 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.rpm
*.log
*spec-20*
*.0.tgz

21
Makefile Normal file
View File

@ -0,0 +1,21 @@
# Makefile for source rpm: smeserver-wireguard
# $Id: Makefile,v 1.1 2021/06/08 05:15:58 jpp Exp $
NAME := smeserver-wireguard
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,3 +1,15 @@
# smeserver-wireguard # <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> smeserver-wireguard
SMEServer Koozali developed git repo for smeserver-wireguard smecontribs SMEServer Koozali developed git repo for smeserver-wireguard smecontribs
## Wiki
<br />https://wiki.koozali.org/Wireguard
## Bugzilla
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-wireguard&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
## Description
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
*Once it has been checked, then this comment will be deleted*
<br />

84
additional/createlink Normal file
View File

@ -0,0 +1,84 @@
#!/usr/bin/perl -w
use esmith::Build::CreateLinks qw(:all);
my $event="smeserver-wireguard-update";
event_templates($event, qw(
/etc/wireguard/wg0.conf
/etc/wireguard/server_public.key
/etc/rc.d/init.d/masq
));
# for smeserver-manager
safe_symlink('restart', "root/etc/e-smith/events/$event/services2adjust/smanager");
event_link('navigation2-conf', "$event", '80');
event_link('routes2-conf', "$event", '80');
event_link('locales2-conf', "$event", '80');
# server_public.key will expand server_private.key to keep sync
#TODO
# restart masq or reload ??
# restart wg-quick@wg0
event_services($event, qw(
masq restart
wg-quick@wg0 restart
));
event_link("wireguard-network", $event, "04");
templates2events("/etc/systemd/system-preset/49-koozali.preset", $event);
event_link("systemd-reload", $event, "89");
event_link("systemd-default", $event, "88");
#wireguard-conf-modify
$event="wireguard-conf-modify";
event_templates($event, qw(
/etc/wireguard/wg0.conf
/etc/wireguard/server_public.key
/etc/rc.d/init.d/masq
));
event_services($event, qw(
masq restart
wg-quick@wg0 restart
));
event_link("wireguard-network", $event, "04");
#wireguard-user-modify
$event="wireguard-user-modify";
event_templates($event, qw(
/etc/wireguard/wg0.conf
/etc/wireguard/server_public.key
));
event_services($event, qw(
wg-quick@wg0 restart
));
#wireguard-user-create
$event="wireguard-user-create";
event_templates($event, qw(
/etc/wireguard/wg0.conf
/etc/wireguard/server_public.key
));
event_services($event, qw(
wg-quick@wg0 restart
));
event_link("wireguard-user-create", $event, "03");
#wireguard-user-delete
$event="wireguard-user-delete";
event_templates($event, qw(
/etc/wireguard/wg0.conf
/etc/wireguard/server_public.key
));
event_services($event, qw(
wg-quick@wg0 restart
));
$event="remoteaccess-update";
event_services($event, qw(
wg-quick@wg0 restart
));
panel_link("wireguard", "manager");

View File

@ -0,0 +1,23 @@
#!/usr/bin/perl -w
use esmith::Build::CreateLinks qw(:all);
panel_link("webhosting", "manager");
for my $event (qw(
webhosting-modify smeserver-webhosting-update
))
{
#we can avoid those 2 as we are tricking ourself as ibay-modify and it will do those and php
#templates2events("/etc/httpd/conf/httpd.conf", $event);
#safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
event_link("webhosting-php-expand", $event, "05");
event_link("webhosting-php-adjust", $event, "90");
}
$event="smeserver-webhosting-update";
event_link("navigation-conf", $event, "70");
# for smeserver-manager
safe_symlink('restart', "root/etc/e-smith/events/$event/services2adjust/smanager");
event_link('navigation2-conf', "$event", '80');
event_link('routes2-conf', "$event", '80');
event_link('locales2-conf', "$event", '80');

1
contriborbase Normal file
View File

@ -0,0 +1 @@
contribs10

View File

@ -0,0 +1 @@
51820

View File

@ -0,0 +1 @@
public

View File

@ -0,0 +1 @@
22

View File

@ -0,0 +1 @@
enabled

View File

@ -0,0 +1 @@
service

View File

@ -0,0 +1,27 @@
{
my $wireguard = $DB->get('wg-quick@wg0') || $DB->new_record('wg-quick@wg0', {type => 'service'});
# add private and public key if not present
unless (defined ${'wg-quick@wg0'}{'private'}) {
$value= `/usr/bin/wg genkey`;
chomp $value;
$DB->set_prop('wg-quick@wg0', 'private', $value ) ;
}
# recreate public if empty or not the same
$private=$DB->get_prop('wg-quick@wg0', 'private') ;
$public=`/usr/bin/echo $private | /usr/bin/wg pubkey`;
chomp $public;
if ( ! defined ${'wg-quick@wg0'}{'public'} || ${'wg-quick@wg0'}{'public'} ne $public) {
$DB->set_prop('wg-quick@wg0', 'public', $public) ;
}
# default ip
if ( ! defined ${'wg-quick@wg0'}{'ip'} ) {
my $minimum=16;
my $maximum=32;
my $x = $minimum + int(rand($maximum - $minimum));
$DB->set_prop('wg-quick@wg0', 'ip', "172.$x.0.1") ;
}
}

View File

@ -0,0 +1,80 @@
#!/usr/bin/perl -w
package esmith;
use strict;
use Errno;
use esmith::ConfigDB;
use esmith::AccountsDB;
use NetAddr::IP;
use Net::Netmask;
use NetAddr::IP;
my $conf = esmith::ConfigDB->open;
my $netdb = esmith::ConfigDB->open('networks');
my $accounts = esmith::AccountsDB->open;
esmith::ConfigDB->create('/home/e-smith/db/wireguard') unless (-f '/home/e-smith/db/wireguard');
my $wg = esmith::ConfigDB->open('/home/e-smith/db/wireguard') or die 'wireguard db missing';
my $wg0 = $conf->get('wg-quick@wg0');
my $wgip = $wg0->prop('ip') or die 'wireguard IP not configured';
my $wgmask = $wg0->prop('mask') or die 'wireguard network mask not configured';
#wg-quick@wg0=service
# ip=172.16.0.1
# mask=22
my $block = Net::Netmask->new("$wgip/$wgmask", shortnet => 1);
my $ip = $block->base;
my $mask = $block->mask;
#count clients
my @client = $wg->get_all_by_prop(type=>"wg0");
my $clients = scalar @client;
#check is_rfc1918
#if yes proceed
my $skipme = 0;
my $rfc=NetAddr::IP->new($wgip,$wgmask);
unless ( $rfc->is_rfc1918() ) {
if ($clients == 0 ) {
#if not and no clients make it compliant 172.16.0.1/22 as default
my $minimum=16;
my $maximum=32;
my $x = $minimum + int(rand($maximum - $minimum));
warn("$wgip/$wgmask is not considered as a LAN addressing, set default to 172.$x.0.1/22");
$wgip="172.$x.0.1";$wgmask="22";
$wg0->set_prop('ip',$wgip); $wg0->set_prop('mask',$wgmask);
$block = Net::Netmask->new("$wgip/$wgmask", shortnet => 1);
$ip = $block->base;
$mask = $block->mask;
}
else {
#if not and clients configured, disable service delete network
warn("$wgip/$wgmask is not considered as a LAN addressing, adding this network to SME trusted network could allow email relaying. Disabling service.");
warn("Please remove configured client and start your configuration from scratch");
$wg0->set_prop('status','disabled');
$skipme=1; $ip="nop";
}
}
#if yes proceed
#if not and no clients make it compliant 172.16.0.1/22 as default
#if not and clients configured, disable service delete network
#First delete any already there.
my @wg = $netdb->get_all_by_prop(Wireguard=>"wg0");
foreach my $netwg (@wg) {
next if ($netwg->key eq $ip and $netwg->prop('Mask') eq $mask);
print "delete " . $netwg->key;
$netwg->delete();
}
# and then create one from the wireguard server ip
my $iswg=$netdb->get($ip);
unless ($iswg or $skipme == 1) {
$netdb->new_record("$ip",{ type => "network",
Mask => "$mask",
Wireguard => "wg0",
});
system("/sbin/e-smith/signal-event network-create $ip");
print "creating $ip network with $mask for $wgip/$wgmask";
exit;
}

View File

@ -0,0 +1,104 @@
#!/usr/bin/perl -w
package esmith;
use strict;
use Errno;
use esmith::ConfigDB;
use esmith::AccountsDB;
#use Net::IP;
use NetAddr::IP;
my $conf = esmith::ConfigDB->open_ro;
my $accounts = esmith::AccountsDB->open;
esmith::ConfigDB->create('/home/e-smith/db/wireguard') unless (-f '/home/e-smith/db/wireguard');
my $wg = esmith::ConfigDB->open('/home/e-smith/db/wireguard') or die 'wireguard db missing';
my $wg0 = $conf->get('wg-quick@wg0');
my $wgip = $wg0->prop('ip') or die 'wireguard IP not configured';
my $wgmask = $wg0->prop('mask') or die 'wireguard network mask not configured';
my $clientmask = 32;
#wg-quick@wg0=service
# ip=172.16.0.1
# mask=22
my $event = $ARGV [0];
my $userName = $ARGV [1];
my $info = $ARGV [2];
#------------------------------------------------------------
# Create a wireguard peer for the user
#------------------------------------------------------------
die "username argument missing" unless defined ($userName);
# check username exists in accounts as user or die
#TODO get network ip/bit if mask is not a bitmask
#TODO array of already used IP
my @rec = ( defined $wg ) ? $wg->keys() : undef;
push @rec, $wgip;
my @out= map { (my $foo = $_) =~s/\/32//; $foo;} @rec;
@rec= @out;
# get next available IP
my $nextip=undef;
#my $mid = new Net::IP($wgip, 4);
#my $mask = Net::IP::ip_get_mask($wgmask, 4);
#my $first = Net::IP::ip_bintoip($mid->binip() & $mask,4);
#my $ip = new Net::IP("$first/$wgmask", 4) or die (Net::IP::Error());
#do {
# print $ip->ip(), "\n";
# $nextip=$ip->ip();
# exit unless (@rec ~~ $nextip);
#} while (++$ip);
sub make_ip_iterator {
my $ip = shift;
my $mask = NetAddr::IP->new($ip);
my $i = 0;
return sub {
return $mask->nth($i++);
}
}
my $iterator = make_ip_iterator("$wgip/$wgmask");
while (my $ip = NetAddr::IP->new($iterator->())->addr() ) {
print "$ip \n";
next if ( $ip ~~ @rec );
$nextip=$ip;
last;
}
die "no IP available in defined range" unless defined($nextip);
print "$nextip\n";
# generate private
my $private= `/usr/bin/wg genkey`;
chomp $private;
my $public=`/usr/bin/echo $private | /usr/bin/wg pubkey`;
chomp $public;
# wireguard
# #private;public;ips;info#private;public;ips;info
# #private and public is base64 : +/= could be in it
# #ips can be v4 or v6 with subnet ./:,
# #info could have letters, digit and space
# # to separate multiple #
my $allowedips ="";
# create db entry
# db wireguard set IP/mask wg0 user $userName private $private public $public allowedips $allowedips info $info status disabled
# do we want lan access ; do we want redirect gw/dns
#print "db wireguard set $nextip/$clientmask wg0 user $userName private $private public $public allowedips $allowedips info $info status enabled\n";
my %props = (
'type', "wg0",
'user', $userName,
'private', $private,
'public', $public,
'allowedips', $allowedips,
'info', $info,
'status', 'enabled'
);
$wg->new_record( "$nextip/$clientmask", \%props );

View File

@ -0,0 +1,253 @@
<lexicon lang="bg">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Частен ключ</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Състояние</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Интерфейс</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="da">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Privat nøgle</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="de">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Privater Schlüssel</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="el">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Γλώσσα Επιφάνειας</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="en-us">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="es">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Información</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Clave privada</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Estado</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Información</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interfaz</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="et">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Olek</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Liides</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="fr">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Panneau Wireguard</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Bienvenue sur le panneau Wireguard. Vous pouvez modifier la configuration avant de créer un client, jeter un coup d'œil sur les connexions actives et gérer les clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Voici la configuration et l'état du service principal avec les clients actifs.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Éditer la configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Clé publique</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>IP distante</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>IP interne</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Dernière connexion</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Reçu</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Envoyé</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Rester en activité</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Voici la liste des clients configurés, vous pouvez accéder à leur exemple de configuration ou à leur code QR de configuration facile, modifier leur configuration, les supprimer ou créer de nouveaux clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configurer un nouveau client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>IP dédiée</trans>
</entry>
<entry>
<base>USER</base>
<trans>Utilisateur associé</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Ici, vous pouvez modifier la configuration. Attention, vous ne pouvez pas modifier l'adresse IP, le sous-réseau, les clés privées et publiques après avoir créé des clients. La raison en est que le client configuré devra également être modifié si vous le faites.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>IP interne du serveur Wireguard.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Masque de bits pour le réseau interne VPN (p.e. : 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Masque</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Clé privée du serveur, si elle n'existe pas, une sera générée.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Clef privée</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Clé publique du serveur générée à partir de la clé privée.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Clé publique</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Statut du service.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>État</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>Pour créer un nouveau client. veuillez sélectionner l'utilisateur et ajouter des informations pour identifier le besoin de ce client. La première IP disponible sera associée et une paire de clés privée/publique sera générée pour vous.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Sélectionner le compte d'utilisateur associé au client wireguard</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>Compte d'utilisateur</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Remplir une courte description pour se souvenir du besoin de ce client, puisqu'un utilisateur peut avoir de multiples clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>Vous pouvez copier coller cette configuration spécifique sur l'ordinateur de votre client ou scanner le code QR avec votre téléphone pour configurer votre client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>Vous pouvez modifier la configuration du client. Notez qu'il n'est pas nécessaire de fournir la clé privée si vous souhaitez la fournir à l'administrateur, mais vous ne pourrez pas utiliser le code QR pour configurer votre client et devrez l'ajouter manuellement.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Configuration de l'affichage</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>IP dédiée associée à ce client. C'est aussi son identité première.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Clé privée pour ce client, une est générée pour un accès facile, mais vous pouvez fournir la vôtre ou la laisser vide, elle est uniquement nécessaire pour utiliser le scan et configurer le code QR.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>La clé publique est générée à partir de la clé privée, vous pouvez fournir la vôtre, elle est obligatoire pour pouvoir se connecter au client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>Vous pouvez fournir manuellement les blocs IP qui seront redirigés via le VPN. Cela peut être configuré ultérieurement sur le client, mais cela est fourni pour faciliter la configuration avec le code QR. Voir la page de manuel de wireguard pour la syntaxe. Laissez-le vide pour que tout le trafic soit redirigé.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>IPs autorisées</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Voulez-vous supprimer ce client ?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>Vous devez fournir un nom d'utilisateur et de l'information pour créer un nouveau client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>Le compte associé doit être un compte utilisateur ou administrateur.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>Une erreur s'est produite</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>Vous ne pouvez pas modifier l'IP du serveur, le masque, les clés publique et privée quand des clients ont déjà été configurés.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>Pas de client configuré</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="he">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>מצב</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>ממשק</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="hu">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Információ</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Személyes kulcs</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Állapot</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Információ</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Felület</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="id">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="it">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Chiave pubblica</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Informazioni</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Indirizzo IP interno server Wireguard</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask per la rete interna della VPN (p.e. 22)</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Chiave provata per il server; se lasciato vuoto ne verrà generata una.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Chiave privata</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Chiave pubblica per il server gestita a partire da quella privata</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Chiave pubblica</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Stato</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Informazioni</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interfaccia</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="ja">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>情報</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>秘密鍵</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>状態</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>情報</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>インターフェイス</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="nb">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Informasjon</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Privat nøkkel</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Informasjon</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Grensesnitt</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="nl">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Informatie</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Privésleutel</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Informatie</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Koppeling</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="pl">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Informacje</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Klucz osobisty</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Stan</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Informacje</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interfejs</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="pt-br">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Informação</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Chave privada</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Informação</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="pt">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Informação</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Chave privada</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Informação</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="ro">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Stare</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interfată</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="ru">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Закрытый ключ</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Состояние</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Интерфейс</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="sl">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Jezik vmesnika</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="sv">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Privat nyckel</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Status</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Interface</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="th">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>ข้อมูล, ข้อมูลต่างๆ</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>กุญแจส่วนตัว</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>สถานะ</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>ข้อมูล, ข้อมูลต่างๆ</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>อินเทอร์เฟซ</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="tr">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>Information</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>Private key</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>Durum</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>Information</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>Arayüz</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="zh-cn">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard 面板</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>编辑配置</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>公钥</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>端口</trans>
</entry>
<entry>
<base>INFO</base>
<trans>信息</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>配置新客户端</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard 服务器 IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>VPN 网络的掩码 (比如: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>掩码</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>服务器私钥, 如果留空则会自动创建.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>私钥</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>公钥.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>公钥</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>服务状态.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>状态</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>账号</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>信息</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>显示配置</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>是否删除该客户端?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>出错了</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>网卡</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,253 @@
<lexicon lang="zh-tw">
<entry>
<base>WIREGUARD_TITLE</base>
<trans>Wireguard panel</trans>
</entry>
<entry>
<base>FORM_TITLE</base>
<trans>Wireguard</trans>
</entry>
<entry>
<base>DESC_MAIN_PAGE</base>
<trans>Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.</trans>
</entry>
<entry>
<base>LABEL_CONFIG</base>
<trans>Here is the main service configuration and status with active clients.</trans>
</entry>
<entry>
<base>EDIT_CONFIG</base>
<trans>Edit Configuration</trans>
</entry>
<entry>
<base>PUBLIC_KEY</base>
<trans>Public key</trans>
</entry>
<entry>
<base>IP</base>
<trans>IP</trans>
</entry>
<entry>
<base>PORT</base>
<trans>Port</trans>
</entry>
<entry>
<base>INFO</base>
<trans>資訊</trans>
</entry>
<entry>
<base>ENDPOINT</base>
<trans>Remote IP</trans>
</entry>
<entry>
<base>VPN_IP</base>
<trans>Internal IP</trans>
</entry>
<entry>
<base>LATEST_HANDSHAKE</base>
<trans>Last handshake</trans>
</entry>
<entry>
<base>RECEIVED</base>
<trans>Received</trans>
</entry>
<entry>
<base>SENT</base>
<trans>Sent</trans>
</entry>
<entry>
<base>KEEPALIVE</base>
<trans>Keep alive</trans>
</entry>
<entry>
<base>LABEL_CLIENTS</base>
<trans>Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.</trans>
</entry>
<entry>
<base>ADD_CLIENT</base>
<trans>Configure new client</trans>
</entry>
<entry>
<base>CONF_NAME</base>
<trans>Dedicated IP</trans>
</entry>
<entry>
<base>USER</base>
<trans>Associated User</trans>
</entry>
<entry>
<base>DESC_MOD_CONFIG_PAGE</base>
<trans>Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if yo do so.</trans>
</entry>
<entry>
<base>DESC_IP_ACC_WIREGUARD</base>
<trans>Wireguard server internal IP.</trans>
</entry>
<entry>
<base>INFO_IP_WIREGUARD</base>
<trans>IP</trans>
</entry>
<entry>
<base>DESC_MASK_WIREGUARD</base>
<trans>Bitmask for the VPN internal network (e.g.: 22).</trans>
</entry>
<entry>
<base>INFO_MASK_WIREGUARD</base>
<trans>Mask</trans>
</entry>
<entry>
<base>DESC_PRIVATE_CONFIG</base>
<trans>Private key for the server, if empty one will be generated.</trans>
</entry>
<entry>
<base>LABEL_PRIVATE</base>
<trans>私鑰</trans>
</entry>
<entry>
<base>DESC_PUBLIC_CONFIG</base>
<trans>Public key for the server generated from the private key.</trans>
</entry>
<entry>
<base>LABEL_PUBLIC</base>
<trans>Public key</trans>
</entry>
<entry>
<base>DESC_STATUS</base>
<trans>Status of the sevice.</trans>
</entry>
<entry>
<base>LABEL_STATUS</base>
<trans>狀態</trans>
</entry>
<entry>
<base>DESC_ADD_CLIENT_PAGE</base>
<trans>To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.</trans>
</entry>
<entry>
<base>DESC_SELECT_ACCOUNT</base>
<trans>Select the associated user account to the wireguard client</trans>
</entry>
<entry>
<base>SELECT_ACCOUNT</base>
<trans>User account</trans>
</entry>
<entry>
<base>DESC_INFO_ACC_WIREGUARD</base>
<trans>Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.</trans>
</entry>
<entry>
<base>INFO_ACC_WIREGUARD</base>
<trans>資訊</trans>
</entry>
<entry>
<base>DESC_DISPLAY_QR_PAGE</base>
<trans>You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.</trans>
</entry>
<entry>
<base>DESC_MODIFY_CLIENT_PAGE</base>
<trans>You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.</trans>
</entry>
<entry>
<base>QRCODE</base>
<trans>Display Configuration</trans>
</entry>
<entry>
<base>DESC_CONF_NAME</base>
<trans>Dedicated IP associated with this client. It is also its primary identity.</trans>
</entry>
<entry>
<base>DESC_PRIVATE</base>
<trans>Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.</trans>
</entry>
<entry>
<base>DESC_PUBLIC</base>
<trans>Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.</trans>
</entry>
<entry>
<base>DESC_ALLOWEDIPS</base>
<trans>You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.</trans>
</entry>
<entry>
<base>LABEL_ALLOWEDIPS</base>
<trans>Allowed IPs</trans>
</entry>
<entry>
<base>DESC_REMOVE_CLIENT</base>
<trans>Do you want to remove this client?</trans>
</entry>
<entry>
<base>ERROR_FIELD_CONTENT</base>
<trans>You must provide a user and information to create a new client.</trans>
</entry>
<entry>
<base>ERROR_WRONG_ACCT_TYPE</base>
<trans>The associated account shoult be a user or admin account.</trans>
</entry>
<entry>
<base>ERROR_OCCURED</base>
<trans>An error occured</trans>
</entry>
<entry>
<base>CLIENTS_ALREADY_CONFIGURED</base>
<trans>You can not alter the server ip, mask, private and public key as there are already some clients configured.</trans>
</entry>
<entry>
<base>NO_CONF</base>
<trans>No configured client</trans>
</entry>
<entry>
<base>INTERFACE</base>
<trans>介面</trans>
</entry>
</lexicon>

View File

@ -0,0 +1,3 @@
UID="root"
GID="root"
PERMS=0640

View File

@ -0,0 +1,3 @@
UID="root"
GID="root"
PERMS=0640

View File

@ -0,0 +1,3 @@
UID="root"
GID="root"
PERMS=0640

View File

@ -0,0 +1,12 @@
# wireguard specific configuration
{
$wg = $wireguard{status} || 'disabled';
$wg0 = ${'wg-quick@wg0'}{status} || 'disabled';
if ($wg0 eq 'enabled') {
$OUT .= "enable wg-quick\@wg0.service\n";
} else {
$OUT .= "disable wg-quick\@wg0.service\n";
}
}

View File

@ -0,0 +1 @@
{${'wg-quick@wg0'}{private};}

View File

@ -0,0 +1,8 @@
{
use esmith::templates;
esmith::templates::processTemplate({
TEMPLATE_PATH => "/etc/wireguard/server_private.key"
});
${'wg-quick@wg0'}{public};
}

View File

@ -0,0 +1,10 @@
[Interface]
Address = { ${'wg-quick@wg0'}{ip} . '/' . ${'wg-quick@wg0'}{mask}}
ListenPort = {${'wg-quick@wg0'}{UDPPort} || '51820' }
PrivateKey = {${'wg-quick@wg0'}{private}}
# this is not needed as we define vpn network as lan in network db
# furthermore masquerading postrouting will also mess up with any openvpn-s2s vpn
#PostUp = iptables -I FORWARD -i %i -j ACCEPT; iptables -I FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o {$outernet = ($SystemMode eq "serveronly") ? $InternalInterface{Name} : $ExternalInterface{Name}; return $InternalInterface{Name} } -j MASQUERADE
#PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o {$outernet = ($SystemMode eq "serveronly") ? $InternalInterface{Name} : $ExternalInterface{Name}; return $InternalInterface{Name} } -j MASQUERADE

View File

@ -0,0 +1,36 @@
{
use esmith::AccountsDB;
my $wg = esmith::ConfigDB->open_ro('/home/e-smith/db/wireguard');
my $accounts = esmith::AccountsDB->open_ro;
# for each user
my @users = ( $accounts->users );
push(@users, $accounts->get('admin'));
for my $user ( @users ) {
my $username = $user->key;
my $count = 0;
for my $cnx ( $wg->get_all_by_prop(user => $username) ) {
$count++;
my $public = $cnx->prop('public');
my $ip = $cnx->key;
my $info = $cnx->prop('info');
my $status = $cnx->prop('status') || "enabled";
if ( $status eq "disabled" ) {
$OUT .= "\n# $username : $info DISABLED (PublicKey = $public ; AllowedIPs = $ip)\n";
next;
}
$OUT .= "
[Peer]
# $username : $info
PublicKey = $public
AllowedIPs = $ip\n";
}
$OUT .= "# no entry for user $username\n" if $count <1;
}
}

View File

@ -0,0 +1,221 @@
#! /usr/bin/perl -wT
# vim: ft=xml:
#----------------------------------------------------------------------
# heading : Configuration
# description : Wireguard
# navigation : 6000 6750
#----------------------------------------------------------------------
#----------------------------------------------------------------------
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#----------------------------------------------------------------------
use strict;
use warnings;
use esmith::FormMagick;
use esmith::FormMagick::Panel::wireguard;
my $f = esmith::FormMagick::Panel::wireguard->new();
$f->display();
__DATA__
<form title="FORM_TITLE"
header="/etc/e-smith/web/common/head.tmpl"
footer="/etc/e-smith/web/common/foot.tmpl">
#----------------------------------------------------------------
# MAIN PAGE
#----------------------------------------------------------------
<page name="FIRST_PAGE" pre-event="print_status_message()">
<field type="literal" id="main_desc" value="">
<description>DESC_MAIN_PAGE</description>
</field>
<field type="literal" id="config_label" value="">
<description>LABEL_CONFIG</description>
</field>
<subroutine src="print_custom_button('EDIT_CONFIG', 'EDIT_CONF_PAGE')"/>
<subroutine src="print_config()"/>
<subroutine src="print_section_bar()"/>
<field type="literal" id="client_label" value="">
<description>LABEL_CLIENTS</description>
</field>
<subroutine src="print_custom_button('ADD_CLIENT', 'ADD_CLIENT_PAGE')"/>
<subroutine src="print_conf_table('wg0')"/>
<subroutine src="print_section_bar()"/>
</page>
#----------------------------------------------------------------
# ADD CLIENT
#----------------------------------------------------------------
<page name="ADD_CLIENT_PAGE"
pre-event="print_status_message()"
post-event="performCreateClient()">
<field type="literal" id="main_desc" value="">
<description>DESC_ADD_CLIENT_PAGE</description>
</field>
<field id="account" type="select" options="existing_accounts()">
<label>SELECT_ACCOUNT</label>
<description>DESC_SELECT_ACCOUNT</description>
</field>
<field id="info" type="text" value="get_cgi_param('info')">
<label>INFO_ACC_WIREGUARD</label>
<description>DESC_INFO_ACC_WIREGUARD</description>
</field>
<subroutine src="print_button('ADD')"/>
</page>
#----------------------------------------------------------------
# DISPLAY QR CODE
#----------------------------------------------------------------
<page name="DISPLAY_QR_PAGE"
pre-event="print_status_message()"
>
<field type="literal" id="main_desc" value="">
<description>DESC_DISPLAY_QR_PAGE</description>
</field>
<subroutine src="print_qr()"/>
</page>
#----------------------------------------------------------------
# MODIFY CLIENT
#----------------------------------------------------------------
<page name="MODIFY_CLIENT_PAGE"
pre-event="print_status_message()"
post-event="performModifyClient()">
<field type="literal" id="main_desc" value="">
<description>DESC_MODIFY_CLIENT_PAGE</description>
</field>
<subroutine src="print_section_bar()"/>
<subroutine src="print_client_name_field()"/>
<field id="account" type="select" options="existing_accounts()">
<label>SELECT_ACCOUNT</label>
<description>DESC_SELECT_ACCOUNT</description>
</field>
<field id="info" type="text" value="get_cgi_param('info')" size="45">
<label>INFO_ACC_WIREGUARD</label>
<description>DESC_INFO_ACC_WIREGUARD</description>
</field>
<field type="text" id="private" size="45">
<description>DESC_PRIVATE</description>
<label>LABEL_PRIVATE</label>
</field>
<field type="text" id="public" size="45">
<description>DESC_PUBLIC</description>
<label>LABEL_PUBLIC</label>
</field>
<field type="select" id="status" options="'disabled' => 'DISABLED', 'enabled' => 'ENABLED'">
<description>DESC_STATUS</description>
<label>LABEL_STATUS</label>
</field>
<field type="text" id="allowedips" size="45">
<description>DESC_ALLOWEDIPS</description>
<label>LABEL_ALLOWEDIPS</label>
</field>
#TODO : redirect all, redirect lAN, redirect vpn host, redirect vpn all,
#TODO : DNS
<subroutine src="print_button('MODIFY')"/>
</page>
#----------------------------------------------------------------
# EDIT CONFIG
#----------------------------------------------------------------
<page name="EDIT_CONF_PAGE"
pre-event="print_status_message()"
post-event="performUpdateConfig()">
<field type="literal" id="main_desc" value="">
<description>DESC_MOD_CONFIG_PAGE</description>
</field>
<subroutine src="getConfig()"/>
<field id="ip" type="text" value="get_cgi_param('ip')">
<label>INFO_IP_WIREGUARD</label>
<description>DESC_IP_ACC_WIREGUARD</description>
</field>
<field id="mask" type="text" value="get_cgi_param('mask')">
<label>INFO_MASK_WIREGUARD</label>
<description>DESC_MASK_WIREGUARD</description>
</field>
<field type="text" id="private" size="45">
<description>DESC_PRIVATE_CONFIG</description>
<label>LABEL_PRIVATE</label>
</field>
<field type="text" id="public" size="45">
<description>DESC_PUBLIC_CONFIG</description>
<label>LABEL_PUBLIC</label>
</field>
<field type="select" id="status" options="'disabled' => 'DISABLED', 'enabled' => 'ENABLED'">
<description>DESC_STATUS</description>
<label>LABEL_STATUS</label>
</field>
<subroutine src="print_button('MODIFY')"/>
</page>
<page name="REMOVE_CLIENT_PAGE" pre-event="turn_off_buttons()" post-event="remove_client()">
<field type="literal" id="des_remove_conf">
<description>DESC_REMOVE_CLIENT</description>
</field>
<subroutine src="print_client_to_remove()"/>
</page>
</form>

0
root/etc/wireguard/.gitignore vendored Normal file
View File

View File

@ -0,0 +1,2 @@
[Install]
WantedBy= sme-server.target

View File

@ -0,0 +1,3 @@
[Install]
WantedBy=sme-server.target

View File

@ -0,0 +1,642 @@
#!/usr/bin/perl
package esmith::FormMagick::Panel::wireguard;
# Imports
use strict;
use warnings;
use esmith::AccountsDB;
use esmith::ConfigDB;
use esmith::NetworksDB;
use esmith::FormMagick;
use esmith::cgi;
use esmith::util;
use Net::IP;
use CGI::Carp qw ( fatalsToBrowser );
use File::Basename;
our @ISA = qw(esmith::FormMagick Exporter);
# TODO: update sub list
our @EXPORT = qw(
print_custom_button
print_section_bar
write_db_conf
update_ports
print_conf_table
print_conf_name_field
remove_conf
print_conf_to_remove
read_file
reload
);
our $accounts = esmith::AccountsDB->open();
our $wdb = esmith::ConfigDB->open('wireguard') || esmith::ConfigDB->create('wireguard');
our $cdb = esmith::ConfigDB->open || die "Error opening configuration DB\n";
our $ndb = esmith::NetworksDB->open_ro || die "Error opening netwoks DB\n";
our $base_url = "?page=0&page_stack=&Next=Next&wherenext=";
*wherenext = \&CGI::FormMagick::wherenext;
sub new {
shift;
my $fm = esmith::FormMagick->new();
$fm->{calling_package} = (caller)[0];
bless $fm;
return $fm;
}
sub print_custom_button{
my ($fm,$desc,$url) = @_;
my $q = $fm->{cgi};
$url="wireguard?page=0&page_stack=&Next=Next&wherenext=".$url;
print " <tr>\n <td colspan='2'>\n";
print $q->p($q->a({href => $url, -class => "button-like"},$fm->localise($desc)));
print qq(</tr>\n);
return undef;
}
sub print_section_bar{
my ($fm) = @_;
print " <tr>\n <td colspan='2'>\n";
print "<hr class=\"sectionbar\"/>\n";
return undef;
}
sub print_conf_table{
my $fm = shift;
my $type = shift;
my $q = $fm->{cgi};
my $conf_name = $fm->localise('CONF_NAME');
my $modify = $fm->localise('MODIFY');
$wdb = esmith::ConfigDB->open('wireguard') || esmith::ConfigDB->create('wireguard');
my @conf = $wdb->get_all_by_prop(type=>$type);
unless ( scalar @conf ){
print $q->Tr($q->td($fm->localise('NO_CONF')));
return "";
}
print $q->start_table({-CLASS => "sme-border"}),"\n";
print $q->Tr (
esmith::cgi::genSmallCell($q, $fm->localise('CONF_NAME'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('USER'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('INFO'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('LABEL_STATUS'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('ACTION'),"header", 3),
),
"\n";
foreach my $config (@conf){
my $key = $config->key;
my $status = $config->prop('status') || 'enabled';
if ($status eq 'enabled'){
$status = $fm->localise('ENABLED');
}
elsif ($status eq 'disabled'){
$status = $fm->localise('DISABLED');
}
my $user = $config->prop('user') || '';
my $info = $config->prop('info') || '';
print $q->Tr (esmith::cgi::genSmallCell($q,"$key"),
esmith::cgi::genSmallCell($q,"$user"),
esmith::cgi::genSmallCell($q,"$info"),
esmith::cgi::genSmallCell($q,"$status"),
esmith::cgi::genSmallCell ($q, $q->a ({href => $q->url (-absolute => 1).
$base_url."DISPLAY_QR_PAGE&action=reload&conf_name=".
$key}, $fm->localise('QRCODE'))),
esmith::cgi::genSmallCell ($q, $q->a ({href => $q->url (-absolute => 1).
$base_url."MODIFY_CLIENT_PAGE&action=modify&conf_name=".
$key}, $fm->localise('MODIFY'))),
esmith::cgi::genSmallCell ($q, $q->a ({href => $q->url (-absolute => 1).
$base_url."REMOVE_CLIENT_PAGE&conf_name=".
$key}, $fm->localise('REMOVE'))));
}
### add table lines here
#
print $q->end_table,"\n";
return "";
}
sub print_config{
my $fm = shift;
my $type = shift;
my $q = $fm->{cgi};
my @wgstatus = `/usr/bin/wg show wg0 dump`;
my $wg = $cdb->get('wg-quick@wg0');
my $wgpub = $wg->prop('public');
my $wgip = $wg->prop('ip');
my $wgmask = $wg->prop('mask');
my $wgport = $wg->prop('UDPPort');
my $sstatus = $wg->prop('status');
print $q->Tr (esmith::cgi::genSmallCell($q,$fm->localise('INTERFACE'),"header"),
esmith::cgi::genSmallCell($q, "wg0"),);
print $q->Tr (esmith::cgi::genSmallCell($q,$fm->localise('LABEL_STATUS'),"header"),
esmith::cgi::genSmallCell($q, $sstatus),);
print $q->Tr (esmith::cgi::genSmallCell($q,$fm->localise('PUBLIC_KEY'),"header"),
esmith::cgi::genSmallCell($q, $wgpub),);
print $q->Tr (esmith::cgi::genSmallCell($q,$fm->localise('IP'),"header"),
esmith::cgi::genSmallCell($q, "$wgip/$wgmask"),);
print $q->Tr (esmith::cgi::genSmallCell($q,$fm->localise('PORT'),"header"),
esmith::cgi::genSmallCell($q, $wgport),);
print $q->start_table({-CLASS => "sme-border"}),"\n";
#public-key | private-key | listen-port |persistent-keepalive
print $q->Tr (
esmith::cgi::genSmallCell($q, $fm->localise('PUBLIC_KEY'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('INFO'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('ENDPOINT'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('VPN_IP'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('LATEST_HANDSHAKE'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('RECEIVED'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('SENT'),"header"),
esmith::cgi::genSmallCell($q, $fm->localise('KEEPALIVE'),"header"),
),
"\n";
if (scalar @wgstatus >0) {
foreach my $list (@wgstatus){
my @line = split(' ',$list);
next if $line[1] eq $wgpub;
my ($ginfo ,$user);
$ginfo = $wdb->get("$line[3]")->prop('info') if $wdb->get("$line[3]");
$user = $wdb->get("$line[3]")->prop('user') if $wdb->get("$line[3]");
use POSIX qw( strftime );
my $dateR= ($line[4] ) ? strftime("%Y-%m-%d %H:%M:%S", localtime($line[4])) : " ";
print $q->Tr (esmith::cgi::genSmallCell($q,$line[0]),
esmith::cgi::genSmallCell($q,"$user : $ginfo"),
esmith::cgi::genSmallCell($q,$line[2]),
esmith::cgi::genSmallCell($q,$line[3]),
esmith::cgi::genSmallCell($q,$dateR),
esmith::cgi::genSmallCell($q,$line[5]),
esmith::cgi::genSmallCell($q,$line[6]),
esmith::cgi::genSmallCell($q,$line[7]),
);
}
}
print $q->end_table,"\n";
return "";
}
# this sub is to create a new client for an existing account
sub performCreateClient{
my $fm = shift;
my $type = shift;
my $q = $fm->{cgi};
my $username = $q->param('account');
my $info = $q->param('info');
($info) = $info =~ /([A-Za-z0-9_\-. ]+)/;
# trim both ends
$info =~ s/^ +| +$//g;
($username) = $username =~ /([A-Za-z0-9_-]+)/;
return $fm->error("ERROR_FIELD_CONTENT", 'FIRST_PAGE') unless ($username and $info);
#get username
my $user = $accounts->get($username) or return "$username does not exist";
return $fm->error("ERROR_WRONG_ACCT_TYPE", 'FIRST_PAGE') unless $user->prop("type") eq "user" or $user->key eq "admin";
$username = $user->key;
# execute the event wireguard-user-create username info
unless ( system ("/sbin/e-smith/signal-event", "wireguard-user-create", "$username" , "$info") == 0 ){
return $fm->error("ERROR_OCCURED", 'FIRST_PAGE');
}
#force reload
$wdb = esmith::ConfigDB->open('wireguard') || esmith::ConfigDB->create('wireguard');
# return
$fm->success('SUCCESS','FIRST_PAGE');
return undef;
}
sub print_qr{
my $fm = shift;
my $type = shift;
my $q = $fm->{cgi};
my $ipacc = $q->param('conf_name');
#untaint
($ipacc) = $ipacc =~ /(\d+\.\d+\.\d+\.\d+\/\d+)/;
#get from db
# return if does not exist
my $acc = $wdb->get($ipacc) or return "not found";
# return if current user is not admin or the user
my $username = $ENV{REMOTE_USER};
return unless $username eq "admin";
my $key = $acc->key;
my $info = $acc->prop('info');
my $private = $acc->prop('private');
my $wg0 = $cdb->get('wg-quick@wg0');
my $ServPublic = $wg0->prop('public');
my $Port = $wg0->prop('UDPPort');
my $allowedips = $acc->prop('allowedips') || "0.0.0.0/0";
#here we guess wan IP
# are we server-gateway mode ? so external lan, should do
# else we should guess from an external service
my $ExternalIP = $cdb->get('ExternalInterface')->prop('IPAddress');
$ExternalIP = get_internet_ip_address() unless defined $ExternalIP;
#DNS
my $IPAddress = $cdb->get('InternalInterface')->prop('IPAddress');
my $dns = ($allowedips =~ /0.0.0.0\/0/)? "DNS = $IPAddress" : "" ;
my $fulltext ="#configuration for $key $info
[Interface]
PrivateKey = $private
Address = $key
$dns
[Peer]
PublicKey = $ServPublic
AllowedIPs = $allowedips
Endpoint = $ExternalIP:$Port
";
print "<br><textarea cols='70' rows='10'>$fulltext </textarea>";
my $qr=`echo "$fulltext" |qrencode -t PNG -o - |base64`;
print "</br>";
print "<img src='data:image/png;base64,$qr' >";
return "";
}
=head2 existing_accounts
Return a hash of exisitng system accounts
=cut
sub existing_accounts {
my $fm = shift;
my %existingAccounts = ('admin' => "Administrator" );
foreach my $account ($accounts->get_all_by_prop(type=>'user')) {
$existingAccounts{$account->key} = $account->key;
}
return(\%existingAccounts);
}
=head2 get_cgi_param FM FIELD
Returns the named CGI parameter as a string
=cut
sub get_cgi_param {
my $fm = shift;
my $param = shift;
return ($fm->{'cgi'}->param($param));
}
sub print_client_name_field{
my $fm = shift;
my $q = $fm->{cgi};
my $name = $q->param('conf_name') || '';
my $action = $q->param('action') || '';
print qq(<tr><td colspan="2">) . $fm->localise('DESC_CONF_NAME').qq(</td></tr>);
print qq(<tr><td class="sme-noborders-label">) .
$fm->localise('CONF_NAME') . qq(</td>\n);
if ($action eq 'modify' and $name) {
print qq(
<td class="sme-noborders-content">$name
<input type="hidden" name="name" value="$name">
<input type="hidden" name="action" value="modify">
</td>
);
# If action is modify, we need to read the DB
# And set CGI parameters
my $rec = $wdb->get($name);
if ($rec){
$q->param(-name=>'info',-value=>
$rec->prop('info'));
$q->param(-name=>'allowedips',-value=>
$rec->prop('allowedips'));
$q->param(-name=>'private',-value=>
$rec->prop('private'));
$q->param(-name=>'public',-value=>
$rec->prop('public'));
$q->param(-name=>'account',-value=>
$rec->prop('user'));
$q->param(-name=>'status',-value=>
$rec->prop('status'));
$q->param(-name=>'dns',-value=>
$rec->prop('dns'));
}
}
}
sub performModifyClient{
my $fm = shift;
my $q = $fm->{'cgi'};
my $msg = "OK";
my $wgacc = $q->param('conf_name');
my $account = $q->param('account');
my $private = $q->param('private') || '';
my $public = $q->param('public') || '';
my $info = $q->param('info');
my $status = $q->param('status') || 'disabled';
my $allowedips = $q->param('allowedips') || '';
#todo validate fields
($info) = $info =~ /([A-Za-z0-9_\-. ]+)/;
# trim both ends
$info =~ s/^ +| +$//g;
return $fm->error("ERROR_FIELD_CONTENT", 'FIRST_PAGE') unless $info;
my %props = ('user' => $account
,'private' => $private
,'public' => $public
,'info' => $info
,'status' => $status
,'allowedips' => $allowedips
);
$wdb->get($wgacc)->merge_props(%props)
or $msg = "Error occurred while modifying pseudonym in database.";
# Untaint before use in system()
($wgacc) = ($wgacc =~ /(\d+\.+\d+\.+\d+\.+\d+\.+\/\d+\.+)/);
system( "/sbin/e-smith/signal-event", "wireguard-user-modify", "$wgacc",)
== 0 or $msg = "Error occurred while modifying wirequard account.";
if ($msg eq "OK")
{
$q->delete('conf_name');
$q->delete('private');
$q->delete('public');
$q->delete('info');
$q->delete('allowedips');
$q->delete('status');
$q->delete('account');
$fm->success('MODIFY_SUCCEEDED');
}
else
{
$fm->error($msg);
}
}
sub getConfig{
my $fm = shift;
my $q = $fm->{cgi};
my $rec = $cdb->get('wg-quick@wg0');
if ($rec){
$q->param(-name=>'ip',-value=>
$rec->prop('ip'));
$q->param(-name=>'mask',-value=>
$rec->prop('mask'));
$q->param(-name=>'private',-value=>
$rec->prop('private'));
$q->param(-name=>'public',-value=>
$rec->prop('public'));
$q->param(-name=>'status',-value=>
$rec->prop('status'));
}
return "";
}
sub performUpdateConfig{
my $fm = shift;
my $q = $fm->{'cgi'};
my $msg = "OK";
my $ip = $q->param('ip');
my $mask = $q->param('mask');
my $port = $q->param('port');
my $private = $q->param('private');
my $public = $q->param('public');
unless (defined $private) {
$private =`/usr/bin/wg genkey`;
($private) = ($private =~ /(\w+)/);
$public = `/usr/bin/echo $private | /usr/bin/wg pubkey`;
}
my $status = $q->param('status') || 'disabled';
# we get number of entries in wireguard db
my @num=$wdb->get_all_by_prop(type=>"wg0");
if ( scalar @num >0 ) {
# we get current values
my $pprivate=$cdb->get('wg-quick@wg0')->prop('private');
my $ppublic=$cdb->get('wg-quick@wg0')->prop('public');
my $pip=$cdb->get('wg-quick@wg0')->prop('ip');
my $pmask=$cdb->get('wg-quick@wg0')->prop('mask');
# if # entries >0 and private |public | ip is chnaged then we push an error and stop
if ($pprivate ne $private || $ppublic ne $public || $pip ne $ip || $mask ne $pmask) {
$fm->error('CLIENTS_ALREADY_CONFIGURED');
return;
}
}
#todo validate fields
my %props = ('ip' => $ip
,'mask' => $mask
,'private' => $private
,'public' => $public
,'status' => $status
);
# Test Ip is inside CIDR
if (!test_for_private_ip($ip,$mask)) {
$msg = "IP must be in private range";
$fm->error($msg);return;
}
$cdb->get('wg-quick@wg0')->merge_props(%props)
or $msg = "Error occurred while modifying server details.";
if ($msg eq "OK"){
# Untaint before use in system()
($ip) = ($ip =~ /(\d+\.+\d+\.+\d+\.+\d+\.+\/\d+\.+)/);
system( "/sbin/e-smith/signal-event", "wireguard-conf-modify", "$ip",)
== 0 or $msg = "Error occurred while modifying wireguard conf.";
}
if ($msg eq "OK")
{
$q->delete('ip');
$q->delete('private');
$q->delete('public');
$q->delete('info');
$q->delete('status');
$fm->success('MODIFY_SUCCEEDED');
}
else
{
$fm->error($msg);
}
}
sub remove_client{
my ($fm) = @_;
my $q = $fm->{cgi};
my $conf = $q->param('conf_name');
unless($q->param("cancel")){
unless ($wdb->get($conf)->delete()){
$fm->error('ERROR_OCCURED','FIRST_PAGE');
return undef;
}
unless (system ("/sbin/e-smith/signal-event", "wireguard-user-delete") == 0 ){
$fm->error('ERROR_OCCURED','FIRST_PAGE');
return undef;
}
#force reload
$wdb = esmith::ConfigDB->open('wireguard') || esmith::ConfigDB->create('wireguard');
$fm->success('SUCCESS','FIRST_PAGE');
return undef;
}
$fm->error('CANCELED','FIRST_PAGE');
return undef;
}
sub print_client_to_remove{
my ($fm) = @_;
my $q = $fm->{cgi};
my $conf = $q->param('conf_name');
my $rec = $wdb->get($conf);
my $comment = $rec->prop('info') || '';
print $q->Tr(
$q->td(
{ -class => 'sme-noborders-label' },
$fm->localise('CONF_NAME')
),
$q->td( { -class => 'sme-noborders-content' }, $conf )
),
"\n";
print $q->Tr(
$q->td(
{ -class => 'sme-noborders-label' },
$fm->localise('COMMENT')
),
$q->td( { -class => 'sme-noborders-content' }, $comment )
),
"\n";
print $q->table(
{ -width => '100%' },
$q->Tr(
$q->th(
{ -class => 'sme-layout' },
$q->submit(
-name => 'cancel',
-value => $fm->localise('CANCEL')
),
' ',
$q->submit(
-name => 'remove',
-value => $fm->localise('REMOVE')
)
)
)
),
"\n";
# Clear these values to prevent collisions when the page reloads.
$q->delete("cancel");
$q->delete("remove");
return undef;
}
sub get_internet_ip_address {
#we could use DNS to do this faster but some provider will block DNS
#dig +short myip.opendns.com @resolver1.opendns.com
#also resolver1.opendns.com resolver2.opendns.com resolver3.opendns.com
#here a list of available site with https
use Net::DNS;
use LWP::Simple;
my $timeout=1;
my @httpslist=qw(
checkip.amazonaws.com
myexternalip.com/raw
ifconfig.me/
icanhazip.com/
ident.me/
tnx.nl/ip
ipecho.net/plain
wgetip.com/
ip.tyk.nu/
bot.whatismyipaddress.com/
ipof.in/txt
l2.io/ip
eth0.me/ );
my @dns = (
['myip.opendns.com', 'resolver1.opendns.com', 'A'],
['myip.opendns.com', 'resolver2.opendns.com', 'A'],
['myip.opendns.com', 'resolver3.opendns.com', 'A'],
['myip.opendns.com', 'resolver4.opendns.com', 'A'],
['whoami.akamai.net', 'ns1-1.akamaitech.net', 'A'],
['o-o.myaddr.l.google.com', 'ns1.google.com', 'TXT']
);
my $ip;
#foreach my $i ( 0 .. $#dns) {
# dns calls; test only one random...
my $i = rand(@httpslist);
my $res = Net::DNS::Resolver->new(
nameservers => [ $dns[$i][1] ],
udp_timeout => $timeout,
tcp_timeout => $timeout
);
my $reply = $res->search($dns[$i][0], $dns[$i][2]);
if ($reply) {
foreach my $rr ($reply->answer) {
$ip= $rr->txtdata if $rr->can("txtdata");
$ip= $rr->address if $rr->can("address");
# untaint, dns output is tainted
($ip) = $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
return $ip if $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
}
} else {
warn "query failed: ", $res->errorstring, "\n";
}
#}
# https calls
my $ii=0;
my $service;
while ( $ii <5 ) {
$service=$httpslist[rand(@httpslist)];
$ip = (get "https://$service" );
chomp $ip;
$ii++;
last if $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
}
# not needed but in case, untaint
($ip) = $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
return $ip;
}
sub test_for_private_ip {
use NetAddr::IP;
$_ = shift;
my $mask = shift;
return unless /(\d+\.\d+\.\d+\.\d+)/;
my $iprange = NetAddr::IP->new($1,"$mask");
return unless $iprange;
return ($iprange->first()->is_rfc1918() and $iprange->last()->is_rfc1918());
}
1;

View File

@ -0,0 +1,575 @@
package SrvMngr::Controller::Wireguard;
#----------------------------------------------------------------------
# heading : VPN
# description : Wireguard
# navigation : 6500 100
#
# name : wireguard, method : get, url : /wireguard, ctlact : wireguard#main
# name : wireguardd, method : post, url : /wireguard, ctlact : wireguard#do_display
# name : wireguardu, method : post, url : /wireguard2, ctlact : wireguard#do_action
# name : wireguardr, method : get, url : /wireguard2, ctlact : wireguard#do_display
#
# routes : end
#----------------------------------------------------------------------
use strict;
use warnings;
use Mojo::Base 'Mojolicious::Controller';
use Locale::gettext;
use SrvMngr::I18N;
use SrvMngr qw( theme_list init_session is_normal_password );
use esmith::ConfigDB;
use Net::IP;
our $adb = esmith::AccountsDB->open() || die "Couldn't open accounts DB\ndb";
our $cdb = esmith::ConfigDB->open() || die "Couldn't open config DB\n";
our $wdb = esmith::ConfigDB->open('wireguard') || esmith::ConfigDB->create('wireguard');
our $ndb = esmith::NetworksDB->open_ro || die "Error opening networks DB\n";
sub main {
my $c = shift;
$c->app->log->info($c->log_req);
my %wrg_datas = ();
my $title = $c->l('wrg_FORM_TITLE');
$wrg_datas{'trt'} = 'LST';
$cdb = esmith::ConfigDB->open() || die "Couldn't open config DB\n";
my $wg = $cdb->get('wg-quick@wg0');
$wrg_datas{'wgpub'} = $wg->prop('public');
$wrg_datas{'wgip'} = $wg->prop('ip');
$wrg_datas{'wgmask'} = $wg->prop('mask');
$wrg_datas{'wgport'} = $wg->prop('UDPPort');
$wrg_datas{'sstatus'} = $wg->prop('status');
my @wgstatus = `/usr/bin/wg show wg0 dump`;
my $type = 'wg0';
my @wgconf = $wdb->get_all_by_prop(type=>$type);
$c->stash( title => $title, wrg_datas => \%wrg_datas,
wgstatus => \@wgstatus, wgconf => \@wgconf );
$c->render(template => 'wireguard');
};
sub do_display {
my $c = shift;
$c->app->log->info($c->log_req);
my $rt = $c->current_route;
my $trt = ($c->param('trt') || '');
my $wgconf = $c->param('Wgconf') || '';
my %wrg_datas = ();
my $title = $c->l('wrg_FORM_TITLE');
my $modul = '';
$wrg_datas{'trt'} = $trt;
if ( $trt eq 'QRC' ) {
$wrg_datas{'wgconf'} = $wgconf;
}
if ( $trt eq 'MOD' ) {
$wrg_datas{'wgconf'} = $wgconf;
my $rec = $wdb->get($wgconf);
if ( $rec ) {
$wrg_datas{'info'} = $rec->prop('info') || '';
$wrg_datas{'allowedips'} = $rec->prop('allowedips') || '';
$wrg_datas{'private'} = $rec->prop('private') || '';
$wrg_datas{'public'} = $rec->prop('public') || '';
$wrg_datas{'account'} = $rec->prop('user') || '';
$wrg_datas{'status'} = $rec->prop('status') || '';
$wrg_datas{'dns'} = $rec->prop('dns') || '';
}
}
if ( $trt eq 'REM' ) {
$wrg_datas{'wgconf'} = $wgconf;
my $rec = $wdb->get($wgconf);
$wrg_datas{'wgcomment'} = $rec->prop('info') || '';
}
if ( $trt eq 'NEW' ) {
# nothing for a new client
}
if ( $trt eq 'UPD' ) {
my $wg = $cdb->get('wg-quick@wg0');
$wrg_datas{'ip'} = $wg->prop('ip');
$wrg_datas{'mask'} = $wg->prop('mask');
$wrg_datas{'private'} = $wg->prop('private');
$wrg_datas{'public'} = $wg->prop('public');
$wrg_datas{'status'} = $wg->prop('status');
}
if ( $trt eq 'LST' ) {
my @wgss = $adb->wgss();
$c->stash( wgss => \@wgss );
}
$c->stash( title => $title, modul => $modul, wrg_datas => \%wrg_datas );
$c->render( template => 'wireguard' );
};
sub do_action {
my $c = shift;
$c->app->log->info($c->log_req);
my $rt = $c->current_route;
my $trt = ($c->param('trt') || '');
my %wrg_datas = ();
my $title = $c->l('wrg_FORM_TITLE');
$wrg_datas{'trt'} = $trt;
my $result = '';
my $res = '';
if ( $trt eq 'QRC' ) {
# NEVER
}
if ( $trt eq 'LST' ) {
# NEVER
}
if ( $trt eq 'MOD' ) {
$wrg_datas{'wgconf'} = $c->param('Wgconf');
# controls
$res = 'OK'; # no controls here...
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$res = performModifyClient( $c );
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$result = $c->l('wrg_SUCCESSFULLY_MODIFIED_CONF');
}
}
}
if ( $trt eq 'REM' ) {
if ($c->param("cancel")) {
$c->stash( error => $c->l('wrg_CANCELLED') );
$c->redirect_to('/wireguard');
}
# controls
$res = 'OK'; # no controls here...
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$res = performRemoveClient( $c );
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$result = $c->l('wrg_SUCCESSFULLY_REMOVED_CONF');
}
}
}
if ( $trt eq 'NEW' ) {
# controls
$res = 'OK'; # no controls here...
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$res = performCreateClient( $c );
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$result = $c->l('wrg_SUCCESSFULLY_ADDED_CONF');
}
}
}
if ( $trt eq 'UPD' ) {
# controls
$res = 'OK'; # no controls here...
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$res = performUpdateConfig( $c );
$result .= $res unless $res eq 'OK';
if ( ! $result ) {
$result = $c->l('wrg_SUCCESSFULLY_UPDATED_CONF');
}
}
}
# common parts
if ($res ne 'OK') {
$c->stash( error => $result );
$c->stash( title => $title, wrg_datas => \%wrg_datas );
return $c->render('wireguard');
}
#force reload as successfull (for Main)
$wdb = esmith::ConfigDB->open('wireguard');
my $message = "'Wireguard' update ($trt) DONE";
$c->app->log->info($message);
$c->flash( success => $result );
$c->redirect_to('/wireguard');
}
# action for 'MOD'
sub performModifyClient{
my $c = shift;
my $msg = "OK";
my $wgacc = $c->param('Wgconf');
my $account = $c->param('Account');
my $private = $c->param('Private') || '';
my $public = $c->param('Public') || '';
my $info = $c->param('Info');
my $status = $c->param('Status') || 'disabled';
my $allowedips = $c->param('Allowedips') || '';
#todo validate fields
# Untaint info and account before use in system()
($info) = $info =~ /([A-Za-z0-9_\-. ]+)/;
# trim both ends
$info =~ s/^ +| +$//g;
($account) = $account =~ /([A-Za-z0-9_-]+)/;
return $c->l('wrg_ERROR_FIELD_CONTENT') unless ($account and $info);
my %props = ('user' => $account
,'private' => $private
,'public' => $public
,'info' => $info
,'status' => $status
,'allowedips' => $allowedips
);
$wdb->get($wgacc)->merge_props(%props)
or $msg = "Error occurred while modifying pseudonym in database.";
# Untaint before use in system()
($wgacc) = ($wgacc =~ /(\d+\.+\d+\.+\d+\.+\d+\.+\/\d+\.+)/);
system( "/sbin/e-smith/signal-event", "wireguard-user-modify", "$wgacc",)
== 0 or $msg = "Error occurred while modifying wirequard account.";
return "$msg"
}
# action for 'NEW'
sub performCreateClient {
my $c = shift;
my $type = shift;
my $username = $c->param('Account');
my $info = $c->param('Info');
# Untaint info and account before use in system()
($info) = $info =~ /([A-Za-z0-9_\-. ]+)/;
# trim both ends
$info =~ s/^ +| +$//g;
($username) = $username =~ /([A-Za-z0-9_-]+)/;
return $c->l('wrg_ERROR_FIELD_CONTENT') unless ($username and $info);
#get username
my $user = $adb->get($username) or return "$username does not exist";
return $c->l('wrg_ERROR_WRONG_ACCT_TYPE') unless $user->prop("type") eq "user" or $user->key eq "admin";
$username = $user->key;
# execute the event wireguard-user-create username info
unless ( system ("/sbin/e-smith/signal-event", "wireguard-user-create", "$username" , "$info") == 0 ){
return $c->error('wrg_ERROR_OCCURED');
}
return 'OK';
}
# action for 'UPD'
sub performUpdateConfig {
my $c = shift;
my $msg = "OK";
my $ip = $c->param('Ip');
my $mask = $c->param('Mask');
my $private = $c->param('Private');
my $public = $c->param('Public');
my $status = $c->param('Status');
unless (defined $private) {
$private =`/usr/bin/wg genkey`;
($private) = ($private =~ /(\w+)/);
$public = `/usr/bin/echo $private | /usr/bin/wg pubkey`;
}
# we get number of entries in wireguard db
my @num=$wdb->get_all_by_prop(type=>"wg0");
if ( scalar @num >0 ) {
# we get current values
my $pprivate=$cdb->get('wg-quick@wg0')->prop('private');
my $ppublic=$cdb->get('wg-quick@wg0')->prop('public');
my $pip=$cdb->get('wg-quick@wg0')->prop('ip');
my $pmask=$cdb->get('wg-quick@wg0')->prop('mask');
# if # entries >0 and private |public | ip is chnaged then we push an error and stop
if ($pprivate ne $private || $ppublic ne $public || $pip ne $ip || $mask ne $pmask) {
return $c->l('wrg_CLIENTS_ALREADY_CONFIGURED');
}
}
#todo validate fields
my %props = ('ip' => $ip
,'mask' => $mask
,'private' => $private
,'public' => $public
,'status' => $status
);
# Test Ip is inside CIDR
if (!test_for_private_ip($ip,$mask)) {
$msg = "IP must be in private range";
#$fm->error($msg);return;
}
$cdb->get('wg-quick@wg0')->merge_props(%props)
or $msg = "Error occurred while modifying server details.";
if ($msg eq "OK"){
# Untaint before use in system()
($ip) = ($ip =~ /(\d+\.+\d+\.+\d+\.+\d+\.+\/\d+\.+)/);
system( "/sbin/e-smith/signal-event", "wireguard-conf-modify", "$ip",)
== 0 or $msg = "Error occurred while modifying wireguard conf.";
}
return "$msg";
}
# action for 'REM'
sub performRemoveClient{
my ($c) = @_;
my $conf = $c->param('Wgconf');
if ($c->param("remove")){
unless ($wdb->get($conf)->delete()){
return $c->l('wrg_ERROR_OCCURED');
}
unless (system ("/sbin/e-smith/signal-event", "wireguard-user-delete") == 0 ){
return $c->l('wrg_ERROR_OCCURED');
}
return 'OK';
}
return $c->l('wrg_CANCELLED');
}
# called from templates
sub get_existing_accounts {
my $c = shift;
my @existingAccounts = ('Administrator');
foreach my $account ($adb->get_all_by_prop(type=>'user')) {
push @existingAccounts, $account->key;
}
return \@existingAccounts;
}
# called from templates
sub get_wgs_info {
my ($c, $attr, $data) = @_;
return undef if ( not defined $attr or not defined $data );
my $value;
$value = $wdb->get("$data")->prop('info') if ( $attr eq 'info' and $wdb->get("$data") );
$value = $wdb->get("$data")->prop('user') if ( $attr eq 'user' and $wdb->get("$data") );
return $value;
}
# called from templates
sub get_conf_info {
my ( $c, $ipacc ) = @_;
##my $ipacc = $c->param('Wgconf');
#untaint
($ipacc) = $ipacc =~ /(\d+\.\d+\.\d+\.\d+\/\d+)/;
#get from db
# return if does not exist
my $acc = $wdb->get($ipacc) or return undef;
# return if current user is not admin or the user
return undef unless $c->is_admin;
my $key = $acc->key;
my $info = $acc->prop('info');
my $private = $acc->prop('private');
my $wg0 = $cdb->get('wg-quick@wg0');
my $ServPublic = $wg0->prop('public');
my $Port = $wg0->prop('UDPPort');
my $allowedips = $acc->prop('allowedips') || "0.0.0.0/0";
#here we guess wan IP
# are we server-gateway mode ? so external lan, should do
# else we should guess from an external service
my $ExternalIP = $cdb->get('ExternalInterface')->prop('IPAddress');
$ExternalIP = get_internet_ip_address() unless defined $ExternalIP;
#DNS
my $IPAddress = $cdb->get('InternalInterface')->prop('IPAddress');
my $dns = ($allowedips =~ /0.0.0.0\/0/)? "DNS = $IPAddress" : "" ;
my $fulltext ="#configuration for $key $info
[Interface]
PrivateKey = $private
Address = $key
$dns
[Peer]
PublicKey = $ServPublic
AllowedIPs = $allowedips
Endpoint = $ExternalIP:$Port
";
my @fulltext = split( "\n", $fulltext);
return \@fulltext;
}
# called from templates
sub get_conf_qr {
my ( $c, $fulltext, $type) = @_;
my $qr=`echo "$fulltext" |qrencode -t PNG -o - |base64`;
return $qr;
}
sub get_internet_ip_address {
#we could use DNS to do this faster but some provider will block DNS
#dig +short myip.opendns.com @resolver1.opendns.com
#also resolver1.opendns.com resolver2.opendns.com resolver3.opendns.com
#here a list of available site with https
use Net::DNS;
use LWP::Simple;
my $timeout=1;
my @httpslist=qw(
checkip.amazonaws.com
myexternalip.com/raw
ifconfig.me/
icanhazip.com/
ident.me/
tnx.nl/ip
ipecho.net/plain
wgetip.com/
ip.tyk.nu/
bot.whatismyipaddress.com/
ipof.in/txt
l2.io/ip
eth0.me/ );
my @dns = (
['myip.opendns.com', 'resolver1.opendns.com', 'A'],
['myip.opendns.com', 'resolver2.opendns.com', 'A'],
['myip.opendns.com', 'resolver3.opendns.com', 'A'],
['myip.opendns.com', 'resolver4.opendns.com', 'A'],
['whoami.akamai.net', 'ns1-1.akamaitech.net', 'A'],
['o-o.myaddr.l.google.com', 'ns1.google.com', 'TXT']
);
my $ip;
#foreach my $i ( 0 .. $#dns) {
# dns calls; test only one random...
my $i = rand(@httpslist);
my $res = Net::DNS::Resolver->new(
nameservers => [ $dns[$i][1] ],
udp_timeout => $timeout,
tcp_timeout => $timeout
);
my $reply = $res->search($dns[$i][0], $dns[$i][2]);
if ($reply) {
foreach my $rr ($reply->answer) {
$ip= $rr->txtdata if $rr->can("txtdata");
$ip= $rr->address if $rr->can("address");
# untaint, dns output is tainted
($ip) = $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
return $ip if $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
}
} else {
warn "query failed: ", $res->errorstring, "\n";
}
#}
# https calls
my $ii=0;
my $service;
while ( $ii <5 ) {
$service=$httpslist[rand(@httpslist)];
$ip = (get "https://$service" );
chomp $ip;
$ii++;
last if $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
}
# not needed but in case, untaint
($ip) = $ip =~ /(\d+\.\d+\.\d+\.\d+)/;
return $ip;
}
sub test_for_private_ip {
use NetAddr::IP;
$_ = shift;
my $mask = shift;
return unless /(\d+\.\d+\.\d+\.\d+)/;
my $iprange = NetAddr::IP->new($1,"$mask");
return unless $iprange;
return ($iprange->first()->is_rfc1918() and $iprange->last()->is_rfc1918());
}
1
__END__

View File

@ -0,0 +1,55 @@
'wrg_WIREGUARD_TITLE' => 'Wireguard panel',
'wrg_FORM_TITLE' => 'Wireguard',
'wrg_DESC_MAIN_PAGE' => 'Welcome to the wireguard panel. You can edit the configuration before creating any client, have a quick look on active connections, and manage clients.',
'wrg_LABEL_CONFIG' => 'Here is the main service configuration and status with active clients.',
'wrg_EDIT_CONFIG' => 'Edit Configuration',
'wrg_PUBLIC_KEY' => 'Public key',
'wrg_IP' => 'IP',
'wrg_PORT' => 'Port',
'wrg_INFO' => 'Information',
'wrg_ENDPOINT' => 'Remote IP',
'wrg_VPN_IP' => 'Internal IP',
'wrg_LATEST_HANDSHAKE' => 'Last handshake',
'wrg_RECEIVED' => 'Received',
'wrg_SENT' => 'Sent',
'wrg_KEEPALIVE' => 'Keep alive',
'wrg_LABEL_CLIENTS' => 'Here is the list of configured clients, You can access their configuration sample or easy configuration QR Code, alter their configuration, remove them or create new clients.',
'wrg_ADD_CLIENT' => 'Configure new client',
'wrg_CONF_NAME' => 'Dedicated IP',
'wrg_USER' => 'Associated User',
'wrg_DESC_MOD_CONFIG_PAGE' => 'Here you can alter the configuration. Be carefull, you can not alter the IP, subnet, private and public keys after you have created clients. The reason is that configured client will also need to be modified if you do so.',
'wrg_DESC_IP_ACC_WIREGUARD' => 'Wireguard server internal IP.',
'wrg_INFO_IP_WIREGUARD' => 'IP',
'wrg_DESC_MASK_WIREGUARD' => 'Bitmask for the VPN internal network (e.g.: 22).',
'wrg_INFO_MASK_WIREGUARD' => 'Mask',
'wrg_DESC_PRIVATE_CONFIG' => 'Private key for the server, if empty one will be generated.',
'wrg_LABEL_PRIVATE' => 'Private key',
'wrg_DESC_PUBLIC_CONFIG' => 'Public key for the server generated from the private key.',
'wrg_LABEL_PUBLIC' => 'Public key',
'wrg_DESC_STATUS' => 'Status of the service.',
'wrg_LABEL_STATUS' => 'Status',
'wrg_DESC_ADD_CLIENT_PAGE' => 'To create a new client. please select user and add information to identify the purpose of this client. The first available IP will be associated and a private/public key pair will be generated for you.',
'wrg_DESC_SELECT_ACCOUNT' => 'Select the associated user account to the wireguard client',
'wrg_SELECT_ACCOUNT' => 'User account',
'wrg_DESC_INFO_ACC_WIREGUARD' => 'Fill a short description to remember what is the purpose of this client, as a user could have multiple clients.',
'wrg_INFO_ACC_WIREGUARD' => 'Information',
'wrg_DESC_DISPLAY_QR_PAGE' => 'You can copy paste this specific configuration to your client computer, or scan the QR code with your phone to configure your client.',
'wrg_DESC_MODIFY_CLIENT_PAGE' => 'You can alter the configuration of the client. Note that providing the private key is not required if you want to keep it secret from the admin, but you will not be able to use the QR code to configure your client and will have to add it manually.',
'wrg_QRCODE' => 'Display Configuration',
'wrg_DESC_CONF_NAME' => 'Dedicated IP associated with this client. It is also its primary identity.',
'wrg_DESC_PRIVATE' => 'Private key for this client, one is generated for easy access, but you can provide yours, or leave it blank, it is only needed to use the scan and configure QR code.',
'wrg_DESC_PUBLIC' => 'Public key is generated from private key, you can provide yours, it is mandatory to be able to connect the client.',
'wrg_DESC_ALLOWEDIPS' => 'You can manually provide the IP blocks that will be redirected through the VPN. This can be configured later on the client, but is provided to ease configuration with QR code. See wireguard man page for syntax. Leave it blank for all traffic to be redirected.',
'wrg_LABEL_ALLOWEDIPS' => 'Allowed IPs',
'wrg_DESC_REMOVE_CLIENT' => 'Do you want to remove this client?',
'wrg_ERROR_FIELD_CONTENT' => 'You must provide a user and information to create a new client.',
'wrg_ERROR_WRONG_ACCT_TYPE' => 'The associated account shoult be a user or admin account.',
'wrg_ERROR_OCCURED' => 'An error occured',
'wrg_CLIENTS_ALREADY_CONFIGURED' => 'You can not alter the server ip, mask, private and public key as there are already some clients configured.',
'wrg_NO_CONF' => 'No configured client',
'wrg_INTERFACE' => 'Interface',
'wrg_CANCELLED' => 'Operation cancelled',
'wrg_SUCCESSFULLY_MODIFIED_CONF' => 'Client configuration successfully modified',
'wrg_SUCCESSFULLY_REMOVED_CONF' => 'Client successfully removed',
'wrg_SUCCESSFULLY_ADDED_CONF' => 'New client successfully added',
'wrg_SUCCESSFULLY_UPDATED_CONF' => 'Server configuration successfully modified',

View File

@ -0,0 +1,130 @@
<div id='wrg_list'>
<p><%=l 'wrg_DESC_MAIN_PAGE'%><br></p>
%= form_for 'wireguard' => (method => 'POST') => begin
%= hidden_field 'trt' => 'UPD'
<p><%=l 'wrg_LABEL_CONFIG'%><br><br></p>
%= submit_button l('wrg_EDIT_CONFIG'), class => 'action'
% end
<p><span class=label>
%=l 'wrg_INTERFACE'
</span> wg0<br></p>
<p><span class=label>
%=l 'wrg_LABEL_STATUS'
</span>
%= $wrg_datas->{sstatus}
<br></p>
<p><span class=label>
%=l 'wrg_PUBLIC_KEY'
</span>
%= $wrg_datas->{wgpub}
<br></p>
<p><span class=label>
%=l 'wrg_IP'
</span>
%= $wrg_datas->{wgip}.'/'.$wrg_datas->{wgmask}
<br></p>
<p><span class=label>
%=l 'wrg_PORT'
</span>
%= $wrg_datas->{wgport}
<br></p>
<table class="sme-border"><tbody>
<tr>
<th class='sme-border'>
%=l 'wrg_PUBLIC_KEY'
</th><th class='sme-border'>
%=l 'wrg_INFO'
</th><th class='sme-border'>
%=l 'wrg_ENDPOINT'
</th><th class='sme-border'>
%=l 'wrg_VPN_IP'
</th><th class='sme-border'>
%=l 'wrg_LATEST_HANDSHAKE'
</th><th class='sme-border'>
%=l 'wrg_RECEIVED'
</th><th class='sme-border'>
%=l 'wrg_SENT'
</th><th class='sme-border'>
%=l 'wrg_KEEPALIVE'
</th>
</tr>
% if (scalar @$wgstatus > 0) {
% foreach my $list (@$wgstatus) {
% #public-key | private-key | listen-port |persistent-keepalive
% my @line = split(' ',$list);
% next if $line[1] eq $wrg_datas->{wgpub};
% my ($ginfo, $user);
% $ginfo = $c->get_wgs_info('info', "$line[3]");
% $user = $c->get_wgs_info('user', "$line[3]");
% use POSIX qw( strftime );
% my $dateR= ($line[4] ) ? strftime("%Y-%m-%d %H:%M:%S", localtime($line[4])) : " ";
<tr>
%= t td => (class => 'sme-border') => $line[0]
%= t td => (class => 'sme-border') => "$user : $ginfo"
%= t td => (class => 'sme-border') => $line[2]
%= t td => (class => 'sme-border') => $line[3]
%= t td => (class => 'sme-border') => $dateR
%= t td => (class => 'sme-border') => $line[5]
%= t td => (class => 'sme-border') => $line[6]
%= t td => (class => 'sme-border') => $line[7]
</tr>
% }
% }
</tbody></table>
%= form_for 'wireguard' => (method => 'POST') => begin
<hr class='sectionbar'/>
<p><%=l 'wrg_LABEL_CLIENTS'%><br><br></p>
%= hidden_field 'trt' => 'NEW'
%= submit_button l('wrg_ADD_CLIENT'), class => 'action'
% end
% if ( scalar @$wgconf == 0 ) {
%=l 'wrg_NO_CONF'
% } else {
<table class="sme-border"><tbody>
<tr>
<th class='sme-border'>
%=l 'wrg_CONF_NAME'
</th><th class='sme-border'>
%=l 'wrg_USER'
</th><th class='sme-border'>
%=l 'wrg_INFO'
</th><th class='sme-border'>
%=l 'wrg_LABEL_STATUS'
</th><th class='sme-border' colspan='3'>
%=l 'ACTION'
</th>
</tr>
% foreach my $conf (@$wgconf) {
% my $status = $c->l(uc($conf->prop('status') || 'enabled'));
<tr>
%= t td => (class => 'sme-border') => $conf->key
%= t td => (class => 'sme-border') => $conf->prop('user') || ''
%= t td => (class => 'sme-border') => $conf->prop('info') || ''
%= t td => (class => 'sme-border') => $status
% my $action =
% "<a href='wireguard2?CsrfDef=TOKEN&trt=QRC&Wgconf=" . $conf->key . "'>" . l('wrg_QRCODE') . "</a>";
<td class='sme-border'><%= $c->render_to_string(inline => $action) %></td>
% $action =
% "<a href='wireguard2?CsrfDef=TOKEN&trt=MOD&Wgconf=" . $conf->key . "'>" . l('MODIFY') . "</a>";
<td class='sme-border'><%= $c->render_to_string(inline => $action) %></td>
% $action =
% "<a href='wireguard2?CsrfDef=TOKEN&trt=REM&Wgconf=" . $conf->key . "'>" . l('REMOVE') . "</a>";
<td class='sme-border'><%= $c->render_to_string(inline => $action) %></td>
</tr>
% }
</tbody>
</table>
%}
<hr class='sectionbar'/>
</div>

View File

@ -0,0 +1,94 @@
<div id='wrg_mod'>
%= form_for '/wireguard2' => (method => 'POST') => begin
<p>
%=l 'wrg_DESC_MODIFY_CLIENT_PAGE'
</p>
<hr class='sectionbar'/>
<p>
%=l 'wrg_DESC_CONF_NAME'
</p>
<p><span class=label>
%=l 'wrg_CONF_NAME'
</span>
%= $wrg_datas->{wgconf}
<br></p>
<p>
%=l 'wrg_DESC_SELECT_ACCOUNT'
</p>
<p><span class=label>
%=l 'wrg_SELECT_ACCOUNT'
</span><span class=data>
% param 'Account' => $wrg_datas->{account} unless param 'Account';
%= select_field 'Account' => $c->get_existing_accounts(), class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_INFO_ACC_WIREGUARD'
</p>
<p><span class=label>
%=l 'wrg_INFO_ACC_WIREGUARD'
</span><span class=data>
% param 'Info' => $wrg_datas->{info} unless param 'Info';
%=text_field 'Info' => size => '45', class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_PRIVATE'
</p>
<p><span class=label>
%=l 'wrg_LABEL_PRIVATE'
</span><span class=data>
% param 'Private' => $wrg_datas->{private} unless param 'Private';
%=text_field 'Private' => size => '45', class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_PUBLIC'
</p>
<p><span class=label>
%=l 'wrg_LABEL_PUBLIC'
</span><span class=data>
% param 'Public' => $wrg_datas->{public} unless param 'Public';
%=text_field 'Public' => size => '45', class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_STATUS'
</p>
<p><span class=label>
%=l 'wrg_LABEL_STATUS'
</span><span class=data>
% param 'Status' => $wrg_datas->{status} unless param 'Status';
%= select_field 'Status' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_ALLOWEDIPS'
</p>
<p><span class=label>
%=l 'wrg_LABEL_ALLOWEDIPS'
</span><span class=data>
% param 'Allowedips' => $wrg_datas->{allowedips} unless param 'Allowedips';
%=text_field 'Allowedips' => size => '45', class => 'input'
<br></span></p>
<div class='center'>
%= submit_button l('MODIFY'), name => 'modify', class => 'action'
</div>
%= hidden_field 'trt' => $wrg_datas->{trt}
%= hidden_field 'Wgconf' => $wrg_datas->{wgconf}
% end
</div>

View File

@ -0,0 +1,38 @@
<div id='wrg_new'>
%= form_for '/wireguard2' => (method => 'POST') => begin
<p>
%=l 'wrg_DESC_ADD_CLIENT_PAGE'
</p>
<p>
%=l 'wrg_DESC_SELECT_ACCOUNT'
</p>
<p><span class=label>
%=l 'wrg_SELECT_ACCOUNT'
</span><span class=data>
<!-- param 'Account' => $wrg_datas->{account} unless param 'Account'; -->
%= select_field 'Account' => $c->get_existing_accounts(), class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_INFO_ACC_WIREGUARD'
</p>
<p><span class=label>
%=l 'wrg_INFO_ACC_WIREGUARD'
</span><span class=data>
<!-- param 'Info' => $wrg_datas->{info} unless param 'Info'; -->
%=text_field 'Info' => size => '60', class => 'input'
<br></span></p>
<div class='center'>
%= submit_button l('ADD'), class => 'action'
</div>
%= hidden_field 'trt' => $wrg_datas->{trt}
% end
</div>

View File

@ -0,0 +1,17 @@
<div id='wrg_qrc'>
% my $fulltext = join("\n", @{$c->get_conf_info( $wrg_datas->{wgconf} )});
<br><br>
%= text_area Info => "$fulltext", cols => 70, rows => 10
<br>
% my $qr = $c->get_conf_qr("$fulltext");
%= image "data:image/png;base64,$qr"
<br>
%=l 'wrg_DESC_DISPLAY_QR_PAGE'
<br>
%= hidden_field 'trt' => $wrg_datas->{trt}
%= hidden_field 'Wgconf' => $wrg_datas->{wgconf}
</div>

View File

@ -0,0 +1,30 @@
<div id='wrg_rem'>
%= form_for '/wireguard2' => (method => 'POST') => begin
<p>
%=l 'wrg_DESC_REMOVE_CLIENT'
</p>
<p><br><span class=label>
%=l 'wrg_CONF_NAME'
</span>
%= $wrg_datas->{wgconf}
<br></p>
<p><span class=label>
%=l 'COMMENT'
</span>
%= $wrg_datas->{wgcomment}
<br></p>
<div class='center'>
%= submit_button l('CANCEL'), name => 'cancel', class => 'action'
%= submit_button l('REMOVE'), name => 'remove', class => 'action'
</div>
%= hidden_field 'trt' => $wrg_datas->{trt}
%= hidden_field 'Wgconf' => $wrg_datas->{wgconf}
% end
</div>

View File

@ -0,0 +1,72 @@
<div id='wrg_upd'>
%= form_for '/wireguard2' => (method => 'POST') => begin
<p>
%=l 'wrg_DESC_MOD_CONFIG_PAGE'
</p>
<p>
%=l 'wrg_DESC_IP_ACC_WIREGUARD'
</p>
<p><span class=label>
%=l 'wrg_INFO_IP_WIREGUARD'
</span><span class=data>
% param 'Ip' => $wrg_datas->{ip} unless param 'Ip';
%=text_field 'Ip' => class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_MASK_WIREGUARD'
</p>
<p><span class=label>
%=l 'wrg_INFO_MASK_WIREGUARD'
</span><span class=data>
% param 'Mask' => $wrg_datas->{mask} unless param 'Mask';
%=text_field 'Mask' => class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_PRIVATE_CONFIG'
</p>
<p><span class=label>
%=l 'wrg_LABEL_PRIVATE'
</span><span class=data>
% param 'Private' => $wrg_datas->{private} unless param 'Private';
%=text_field 'Private' => size => '45', class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_PUBLIC_CONFIG'
</p>
<p><span class=label>
%=l 'wrg_LABEL_PUBLIC'
</span><span class=data>
% param 'Public' => $wrg_datas->{public} unless param 'Public';
%=text_field 'Public' => size => '45', class => 'input'
<br></span></p>
<p>
%=l 'wrg_DESC_STATUS'
</p>
<p><span class=label>
%=l 'wrg_LABEL_STATUS'
</span><span class=data>
% param 'Status' => $wrg_datas->{status} unless param 'Status';
%= select_field 'Status' => [[ (l 'DISABLED') => 'disabled'], [ (l 'ENABLED') => 'enabled']], class => 'input'
<br></span></p>
<div class='center'>
%= submit_button l('MODIFY'), name => 'modify', class => 'action'
</div>
%= hidden_field 'trt' => $wrg_datas->{trt}
%= hidden_field 'Wgconf' => $wrg_datas->{wgconf}
% end
</div>

View File

@ -0,0 +1,35 @@
% layout 'default', title => "Sme server 2 - wireguard";
% content_for 'module' => begin
<div id='module' class='module wireguard-panel'>
% if ($config->{debug} == 1) {
<p>
%= dumper $c->current_route
%= dumper $wrg_datas
</p>
% }
% if ( stash 'error' ) {
<br><div class=sme-error>
%= $c->render_to_string(inline => stash 'error')
</div>
%}
<h1><%= $title%></h1>
% if ($wrg_datas->{trt} eq 'UPD') {
%= include 'partials/_wrg_upd'
%} elsif ($wrg_datas->{trt} eq 'NEW') {
%= include 'partials/_wrg_new'
%} elsif ($wrg_datas->{trt} eq 'QRC') {
%= include 'partials/_wrg_qrc'
%} elsif ($wrg_datas->{trt} eq 'MOD') {
%= include 'partials/_wrg_mod'
%} elsif ($wrg_datas->{trt} eq 'REM') {
%= include 'partials/_wrg_rem'
%} else {
%= include 'partials/_wrg_list'
%}
</div>
%end

122
smeserver-wireguard.spec Normal file
View File

@ -0,0 +1,122 @@
%define release 21
%define version 1.0
Name: smeserver-wireguard
Version: %{version}
Release: %{release}%{?dist}
Summary: wireguard SME Server configuration package
Group: VPN
License: GPL
URL: https://wiki.koozali.org/Wireguard
Source0: smeserver-wireguard-1.0.tar.xz
BuildRequires: e-smith-devtools
Requires: wireguard-tools
Requires: kmod-wireguard
Requires: smeserver-release >= 10
Requires: qrencode
Requires: perl-Net-Netmask
Requires: e-smith-base >= 5.8.1-2
Requires: e-smith-lib >= 2.6.0-15
AutoReqProv: no
%description
WireGuard is a novel VPN that runs inside the Linux Kernel and uses
state-of-the-art cryptography (the "Noise" protocol). It aims to be
faster, simpler, leaner, and more useful than IPSec, while avoiding
the massive headache. It intends to be considerably more performant
than OpenVPN. WireGuard is designed as a general purpose VPN for
running on embedded interfaces and super computers alike, fit for
many different circumstances. It runs over UDP.
This package provides the Koozali SME SERVER configuration for controlling WireGuard.
%prep
%setup -q
%build
perl createlink
%install
rm -rf %{buildroot}
(cd root; find . -depth -print | cpio -dump %{buildroot})
/sbin/e-smith/genfilelist %{buildroot} \
--ignoredir "/etc/wireguard" \
> %{name}-%{version}-filelist
cat %{name}-%{version}-filelist
%files -f %{name}-%{version}-filelist
%defattr(-,root,root)
#%doc COPYING
%post
if (systemctl list-unit-files |grep smanager) then
echo "Smanager restart in spec file"
/sbin/e-smith/signal-event smanager-refresh;
fi
%changelog
* Sat Sep 07 2024 cvs2git.sh aka Brian Read <brianr@koozali.org> 1.0-21.sme
- Roll up patches and move to git repo [SME: 12338]
* Sat Sep 07 2024 BogusDateBot
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
by assuming the date is correct and changing the weekday.
* Fri Sep 06 2024 Terry Fage <terry@fage.id.au> 1.0-20.sme
- apply locale 2024-09-06.patch
* Fri Mar 01 2024 Brian Read <brianr@koozali.org> 1.0-19.sme
- Edit SM2 Menu entry to conform to new arrangements [SME: 12493]
* Mon Dec 26 2022 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-18.sme
- remove masquerade and forward directive on startup [SME: 12288]
* Fri Nov 11 2022 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-17.sme
- apply locale 2022-11-11 patch
* Sun May 29 2022 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-16.sme
- improve check and tidying for non local network type [SME: 11771]
updated both legacy and new panel
* Tue Apr 19 2022 Michel Begue <mab974@misouk.com> 1.0-15.sme
- Fix typos in templates
* Fri Apr 15 2022 Michel Begue <mab974@misouk.com> 1.0-14.sme
- Integrate wireguard with smeserver-manager (manager2) [SME: 11819]
- Accept spaces in 'info' attribute [SME: 11742]
* Thu Nov 25 2021 Brian Read <brianr@bjsystems.co.uk> 1.0-13.sme
- Delete old networkdb records when server ip updated [SME: 11771]
- Validate Server Ip range to be private in SM panel
* Tue Nov 16 2021 Brian Read <brianr@bjsystems.co.uk> 1.0-12.sme
- Fix-allowedips-in-quick-conf-contents [SME: 11756]
* Wed Nov 03 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-11.sme
- fix tainted string from dns query [SME: 11721]
* Wed Nov 03 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-10.sme
- fix wrong delete event [SME: 11721]
fix ip not shown if server only
improved config display
* Mon Nov 01 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-9.sme
- fix migrate fragment [SME: 11721]
* Sun Oct 31 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-8.sme
- set DNS if allowedips 0.0.0.0/0 [SME: 11721]
allowedips displayed as it has been set.
* Wed Oct 27 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-7.sme
- fix wrong ip [SME: 11721]
- updated templates fragments
- fix panel link ; fix private/public key creation; fix preset path
- requires e-smith-base >= 5.8.1-2
* Tue Oct 26 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-1.sme
- first release for Koozali SME Server