Browse Source

make change to working on daily

pull/2294/head
SachinAsus 2 years ago
parent
commit
c063ba1cc1
  1. 32
      src/config.js
  2. 7
      src/lib/WireGuard.js
  3. 9
      test.js
  4. 25
      wgsh/wg-post-down.sh.bak
  5. 15
      wgsh/wg-post-up.sh
  6. 28
      wgsh/wg-pre-down.sh
  7. 24
      wgsh/wg-pre-up.sh
  8. 27
      wgsh/wg0-post-down.sh
  9. 29
      wgsh/wg0-post-up.sh

32
src/config.js

@ -1,31 +1,29 @@
'use strict'; 'use strict';
const { release } = require('./package.json'); const { release } = require('./package.json');
const path = require('path');
const dirFullPath = path.resolve(__dirname);
module.exports.RELEASE = release; module.exports.RELEASE = release;
module.exports.PORT = process.env.PORT || 51821; module.exports.PORT = process.env.PORT || 51821;
module.exports.WEBUI_HOST = process.env.WEBUI_HOST || '0.0.0.0'; module.exports.WEBUI_HOST = process.env.WEBUI_HOST || '0.0.0.0';
module.exports.PASSWORD = process.env.PASSWORD; module.exports.PASSWORD = process.env.PASSWORD || '';
module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/'; module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/';
module.exports.WG_DEVICE = process.env.WG_DEVICE || 'eth0'; module.exports.WG_DEVICE = process.env.WG_DEVICE || 'ens3';
module.exports.WG_HOST = process.env.WG_HOST; module.exports.WG_HOST = process.env.WG_HOST || 'oracle-test.duckdns.org';
module.exports.WG_PORT = process.env.WG_PORT || 51820; module.exports.WG_PORT = 51820;
module.exports.WG_MTU = process.env.WG_MTU || null; module.exports.WG_MTU = process.env.WG_MTU || 1412;
module.exports.WG_PERSISTENT_KEEPALIVE = process.env.WG_PERSISTENT_KEEPALIVE || 0; module.exports.WG_PERSISTENT_KEEPALIVE = process.env.WG_PERSISTENT_KEEPALIVE || 25;
module.exports.WG_DEFAULT_ADDRESS = process.env.WG_DEFAULT_ADDRESS || '10.8.0.x'; module.exports.WG_DEFAULT_ADDRESS = process.env.WG_DEFAULT_ADDRESS || '10.250.1.x';
module.exports.WG_DEFAULT_DNS = typeof process.env.WG_DEFAULT_DNS === 'string' module.exports.WG_DEFAULT_DNS = typeof process.env.WG_DEFAULT_DNS === 'string'
? process.env.WG_DEFAULT_DNS ? process.env.WG_DEFAULT_DNS
: '1.1.1.1'; : '10.250.0.2';
module.exports.WG_ALLOWED_IPS = process.env.WG_ALLOWED_IPS || '0.0.0.0/0, ::/0'; module.exports.WG_ALLOWED_IPS = process.env.WG_ALLOWED_IPS || '10.250.0.0/22, 10.254.1.0/24';
module.exports.WG_PRE_UP = process.env.WG_PRE_UP || ''; module.exports.WG_PRE_UP = process.env.WG_PRE_UP || '';
module.exports.WG_POST_UP = process.env.WG_POST_UP || ` // module.exports.WG_POST_UP = '/app/wg0-post-up.sh';
iptables -t nat -A POSTROUTING -s ${module.exports.WG_DEFAULT_ADDRESS.replace('x', '0')}/24 -o ${module.exports.WG_DEVICE} -j MASQUERADE; module.exports.WG_POST_UP = path.resolve(__dirname, './wgsh/wg0-post-up.sh');
iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT;
iptables -A FORWARD -i wg0 -j ACCEPT;
iptables -A FORWARD -o wg0 -j ACCEPT;
`.split('\n').join(' ');
module.exports.WG_PRE_DOWN = process.env.WG_PRE_DOWN || ''; module.exports.WG_PRE_DOWN = path.resolve(__dirname, './wgsh/wg0-pre-down.sh');
module.exports.WG_POST_DOWN = process.env.WG_POST_DOWN || ''; module.exports.WG_POST_DOWN = process.env.WG_PRE_DOWN || '';
module.exports.LANG = process.env.LANG || 'en'; module.exports.LANG = process.env.LANG || 'en';

7
src/lib/WireGuard.js

@ -95,7 +95,12 @@ module.exports = class WireGuard {
[Interface] [Interface]
PrivateKey = ${config.server.privateKey} PrivateKey = ${config.server.privateKey}
Address = ${config.server.address}/24 Address = ${config.server.address}/24
ListenPort = 51820 ListenPort = ${WG_PORT}
${WG_DEFAULT_DNS ? `DNS = ${WG_DEFAULT_DNS}\n` : ''}\
${WG_MTU ? `MTU = ${WG_MTU}\n` : ''}\
Table = 10
# DNS = ${WG_DEFAULT_ADDRESS}
FwMark = ${WG_PORT}
PreUp = ${WG_PRE_UP} PreUp = ${WG_PRE_UP}
PostUp = ${WG_POST_UP} PostUp = ${WG_POST_UP}
PreDown = ${WG_PRE_DOWN} PreDown = ${WG_PRE_DOWN}

9
test.js

@ -0,0 +1,9 @@
const path = require('path');
// Relative path to the file
const relativePath = './app/wg0-post-up.sh';
// Resolve the full path
const fullPath = path.resolve(__dirname, relativePath);
console.log('Full path of ./app/wg0-post-up.sh:', fullPath);

25
wgsh/wg-post-down.sh.bak

@ -0,0 +1,25 @@
#!/bin/bash
set +e
IPT="/sbin/iptables"
IN_FACE="ens3" # NIC connected to the internet
WG_FACE="wg1" # WG NIC
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR
WG_PORT="51820" # WG udp port
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net
# IPv4 rules #
$IPT -t nat -D POSTROUTING -s 0.0.0.0/1 -o $IN_FACE -j MASQUERADE
$IPT -D FORWARD -i $WG_FACE -j ACCEPT
$IPT -D FORWARD -o $WG_FACE -j ACCEPT
# $IPT -D OUTPUT -o $WG_FACE -j ACCEPT
# $IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
# $IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
# $IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
ip route del 10.250.1.0/24 via 10.250.1.1 dev wg0 table wg priority 1
ip route del 10.254.1.0/24 via 10.254.1.1 dev ens3 table wg priority 2
set -e

15
wgsh/wg-post-up.sh

@ -0,0 +1,15 @@
#!/bin/bash
set +e
IPT="/sbin/iptables"
IN_FACE="ens3" # NIC connected to the internet
WG_FACE="wg1" # WG NIC
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR
WG_PORT="51820" # WG udp port
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $WG_FACE -j MASQUERADE
$IPT -I FORWARD 1 -i $WG_FACE -o wg0 -j ACCEPT #for internet
$IPT -I FORWARD 1 -i wg0 -o $WG_FACE -j ACCEPT #for internet
wg set wg0 fwmark 51820
set -e

28
wgsh/wg-pre-down.sh

@ -0,0 +1,28 @@
#!/bin/bash
set +e
IPT="/sbin/iptables"
IN_FACE="ens3" # NIC connected to the internet
WG_FACE="wg1" # WG NIC
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR
WG_PORT="51820" # WG udp port
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net
# IPv4 rules #
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $WG_FACE -j MASQUERADE
$IPT -D FORWARD -i $WG_FACE -o wg0 -j ACCEPT #for internet
$IPT -D FORWARD -i wg0 -o $WG_FACE -j ACCEPT #for internet
# $IPT -t nat -D POSTROUTING -s 0.0.0.0/1 -o $IN_FACE -j MASQUERADE
# $IPT -D OUTPUT -o $WG_FACE -j ACCEPT
# $IPT -D FORWARD -i $WG_FACE -j ACCEPT
# $IPT -D FORWARD -o $WG_FACE -j ACCEPT
# $IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
# $IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
# $IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
# ip route del 10.250.1.0/24 via 10.250.1.1 dev wg0 table wg priority 1
# ip route del 10.254.1.0/24 via 10.254.1.1 dev ens3 table wg priority 2
set -e

24
wgsh/wg-pre-up.sh

@ -0,0 +1,24 @@
#!/bin/bash
set +e
IPT="/sbin/iptables"
IPT6="/sbin/ip6tables"
IN_FACE="ens3" # NIC connected to the internet
WG_FACE="wg0" # WG NIC
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net
# IPv4 rules #
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
# ip rule del from all lookup $WG_TABLE pref 10
# IPv6 rules (uncomment) #
# $IPT6 -t nat -D POSTROUTING -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE
# $IPT6 -D INPUT -i $WG_FACE -j ACCEPT
# $IPT6 -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
# $IPT6 -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
set -e

27
wgsh/wg0-post-down.sh

@ -0,0 +1,27 @@
#!/bin/bash
set +e
IPT="/sbin/iptables"
IPT6="/sbin/ip6tables"
IN_FACE="ens3" # NIC connected to the internet
WG_FACE="wg0" # WG NIC
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net
WG_PORT="61820" # WG udp port
WG_TABLE='10'
# IPv4 rules #
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
ip rule del from all lookup $WG_TABLE pref 10
# IPv6 rules (uncomment) #
# $IPT6 -t nat -D POSTROUTING -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE
# $IPT6 -D INPUT -i $WG_FACE -j ACCEPT
# $IPT6 -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT
# $IPT6 -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT
set -e

29
wgsh/wg0-post-up.sh

@ -0,0 +1,29 @@
#!/bin/bash
set +e
IPT="/sbin/iptables"
IPT6="/sbin/ip6tables"
IN_FACE="ens3" # NIC connected to the internet
WG_FACE="wg0" # WG NIC
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR
# SUB_NET_6="" # Change this according
WG_PORT="51820" # WG udp port
WG_TABLE='10'
## IPv4 ## working with single tunnel
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT #for internet
$IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT #for internet
$IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT # for incoming connection
$IPT -I INPUT 1 -i $IN_FACE -p tcp --dport 51821 -j ACCEPT
# $IPT -I INPUT 1 -i $WG_FACE -p tcp --dport 51821 -j ACCEPT
wg set wg0 fwmark 51820
## IPv6 (Uncomment) ##
# $IPT6 -t nat -I POSTROUTING 1 -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE
# $IPT6 -I INPUT 1 -i $WG_FACE -j ACCEPT
# $IPT6 -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT
# $IPT6 -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT
set -e
Loading…
Cancel
Save