server scripts and connection classes

This commit is contained in:
pokamest 2020-12-26 23:55:20 +03:00
parent 43028953e2
commit 939184be01
6 changed files with 90 additions and 4 deletions

View file

@ -6,9 +6,14 @@ TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
include("3rd/QtSsh/src/ssh/ssh.pri")
include("3rd/QtSsh/src/botan/botan.pri")
HEADERS += \
communicator.h \
core/openvpnconfigurator.h \
core/router.h \
core/servercontroller.h \
debug.h \
defines.h \
localclient.h \
@ -24,7 +29,9 @@ HEADERS += \
SOURCES += \
communicator.cpp \
core/openvpnconfigurator.cpp \
core/router.cpp \
core/servercontroller.cpp \
debug.cpp \
localclient.cpp \
main.cpp \

View file

@ -1,9 +1,6 @@
<RCC>
<qresource prefix="/">
<file>translations/amneziavpn_ru.qm</file>
</qresource>
<qresource prefix="/">
<file>translations/amneziavpn_ru.qm</file>
<file>images/close.png</file>
<file>images/settings.png</file>
<file>images/min.png</file>
@ -36,5 +33,9 @@
<file>images/line.png</file>
<file>images/server_settings.png</file>
<file>images/share.png</file>
<file>server_scripts/prepare_openvpn_client.sh</file>
<file>server_scripts/remove_openvpn_server.sh</file>
<file>server_scripts/setup_openvpn_server.sh</file>
<file>server_scripts/template.ovpn</file>
</qresource>
</RCC>

View file

@ -0,0 +1,24 @@
DOCKER_IMAGE="amneziavpn/openvpn:latest"
CONTAINER_NAME="amneziavpn"
#sudo apt update
sudo apt install -y docker.io curl
sudo systemctl start docker
sudo docker stop amneziavpn
sudo docker rm -f amneziavpn
sudo docker pull amneziavpn/openvpn:latest
sudo docker run -d --restart always --cap-add=NET_ADMIN -p 1194:1194/udp --name amneziavpn amneziavpn/openvpn:latest
docker exec -i amneziavpn sh -c "mkdir -p /opt/amneziavpn_data"
docker exec -i amneziavpn sh -c "cat /proc/sys/kernel/random/entropy_avail"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && easyrsa init-pki && easyrsa gen-dh"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && cp pki/dh.pem /etc/openvpn && easyrsa build-ca nopass << EOF yes EOF && easyrsa gen-req MyReq nopass << EOF2 yes EOF2"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && easyrsa sign-req server MyReq << EOF3 yes EOF3"
docker exec -i amneziavpn sh -c "openvpn --genkey --secret ta.key << EOF4 yes EOF4"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && cp pki/ca.crt pki/issued/MyReq.crt pki/private/MyReq.key ta.key /etc/openvpn"
docker exec -i amneziavpn sh -c "openvpn --config /etc/openvpn/server.conf &"
docker exec -i amneziavpn mkdir -p /opt/amneziavpn_data/clients

View file

@ -0,0 +1,2 @@
docker container stop $(docker ps -a -q --filter ancestor="alekslitvinenk/openvpn")
docker container kill $(docker ps -a -q --filter ancestor="alekslitvinenk/openvpn")

View file

@ -0,0 +1,24 @@
DOCKER_IMAGE="amneziavpn/openvpn:latest"
CONTAINER_NAME="amneziavpn"
#sudo apt update
sudo apt install -y docker.io curl
sudo systemctl start docker
sudo docker stop amneziavpn
sudo docker rm -f amneziavpn
sudo docker pull amneziavpn/openvpn:latest
sudo docker run -d --restart always --cap-add=NET_ADMIN -p 1194:1194/udp --name amneziavpn amneziavpn/openvpn:latest
docker exec -i amneziavpn sh -c "mkdir -p /opt/amneziavpn_data"
docker exec -i amneziavpn sh -c "cat /proc/sys/kernel/random/entropy_avail"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && easyrsa init-pki && easyrsa gen-dh"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && cp pki/dh.pem /etc/openvpn && easyrsa build-ca nopass << EOF yes EOF && easyrsa gen-req MyReq nopass << EOF2 yes EOF2"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && easyrsa sign-req server MyReq << EOF3 yes EOF3"
docker exec -i amneziavpn sh -c "openvpn --genkey --secret ta.key << EOF4 yes EOF4"
docker exec -i amneziavpn sh -c "cd /opt/amneziavpn_data && cp pki/ca.crt pki/issued/MyReq.crt pki/private/MyReq.key ta.key /etc/openvpn"
docker exec -i amneziavpn sh -c "openvpn --config /etc/openvpn/server.conf &"
docker exec -i amneziavpn mkdir -p /opt/amneziavpn_data/clients

View file

@ -0,0 +1,28 @@
client
dev tun
proto $PROTO
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-GCM
auth SHA512
verb 3
tls-client
tls-version-min 1.2
key-direction 1
remote-cert-tls server
remote $REMOTE_HOST $REMOTE_PORT
<ca>
$CA_CERT
</ca>
<cert>
$CLIENT_CERT
</cert>
<key>
$PRIV_KEY
</key>
<tls-auth>
$TA_KEY
</tls-auth>