>/etc/sysctl.conf"; } function ipv42() { echo "echo 1 >/proc/sys/net/ipv4/ip_forward"; } function client() { $openVPNPath = "/etc/openvpn"; $configContent = "#OVPN_ACCESS_SERVER_PROFILE=[DragonCoreSSH] client dev tun proto tcp sndbuf 0 rcvbuf 0 remote 127.0.0.1 1194 resolv-retry 5 nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC comp-lzo yes setenv opt block-outside-dns key-direction 1 verb 3 auth-user-pass keepalive 10 120 float"; file_put_contents("$openVPNPath/client-common.txt", $configContent); } function client2() { copy('/etc/openvpn/client-common.txt', "/root/DragonCore.ovpn"); $file = fopen("/root/DragonCore.ovpn", "a"); fwrite($file, "\n\n"); fwrite($file, file_get_contents('/etc/openvpn/easy-rsa/pki/ca.crt')); fwrite($file, "\n"); fwrite($file, "\n"); fwrite($file, file_get_contents("/etc/openvpn/easy-rsa/pki/issued/DragonCore.crt")); fwrite($file, "\n"); fwrite($file, "\n"); fwrite($file, file_get_contents("/etc/openvpn/easy-rsa/pki/private/DragonCore.key")); fwrite($file, "\n"); fwrite($file, "\n"); fwrite($file, file_get_contents("/etc/openvpn/ta.key")); fwrite($file, "\n"); fclose($file); } function checkinstall() { $install = exec("openvpn --version | grep -q OpenVPN && echo \"1\" || echo \"0\""); if ("$install" == "1") { echo "OK"; } else { echo "NOK"; } } function checkovpon() { $install = exec("screen -list | grep -q openvpn && echo \"1\" || echo \"0\""); if ("$install" == "1") { echo "OK"; } else { echo "NOK"; } } function startovpn() { fixovpn(); $onoff = shell_exec('screen -list | grep -q openvpn && echo 1 || echo 0'); if ($onoff == 1) { shell_exec('screen -X -S openvpn quit'); echo "screen -dmS openvpn bash -c 'while true; do ulimit -n 999999 && /opt/DragonCore/iptables.sh && cd /etc/openvpn && openvpn --config /etc/openvpn/server.conf; done'" . "\n" . "echo \"OVPN ON Porta: 1194\""; } else { deletecone("open"); incone("open", "null", "null", "null", "null"); echo "screen -dmS openvpn bash -c 'while true; do ulimit -n 999999 && /opt/DragonCore/iptables.sh && cd /etc/openvpn && openvpn --config /etc/openvpn/server.conf; done'" . "\n" . "echo \"OVPN ON Porta: 1194\""; } } function stopovpn() { deletecone("open"); shell_exec('screen -X -S openvpn quit'); echo "OVPN Offline"; } function fixovpn2() { $openVPNPath = "/etc/openvpn"; $configContent = " port 1194 proto tcp dev tun sndbuf 0 rcvbuf 0 ca ca.crt cert server.crt key server.key dh dh.pem tls-auth ta.key 0 topology subnet server 10.8.0.0 255.255.255.0 push \"redirect-gateway def1 bypass-dhcp\" push \"dhcp-option DNS 8.8.8.8\" push \"dhcp-option DNS 8.8.4.4\" keepalive 10 120 float cipher AES-256-CBC comp-lzo yes user nobody group nogroup persist-key persist-tun status openvpn-status.log management localhost 7505 verb 3 crl-verify crl.pem client-to-client verify-client-cert none username-as-common-name plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so login duplicate-cn "; file_put_contents("$openVPNPath/server.conf", $configContent); } function fixovpn() { $cake3 = exec("cat /etc/openvpn/client-common.txt | grep -q \"http-proxy\" && echo \"1\" || echo \"0\""); if ("$cake3" == "1") { exec("systemctl stop openvpn"); exec("systemctl disable openvpn"); exec("rm -rf /etc/openvpn/client-common.txt"); exec("rm -rf /root/DragonCore.ovpn"); exec("rm -rf /etc/openvpn/server.conf"); client(); client2(); fixovpn2(); } }