From e183b35615158ed5a5d0ea820b59cb5d25f7fbf0 Mon Sep 17 00:00:00 2001 From: bergware Date: Fri, 7 May 2021 20:25:09 +0200 Subject: [PATCH] Revert "Add WireGuard GUI" This reverts commit ad6ad41394eb21284984bac78b544462abdc9d3e. --- plugins/dynamix/VPNmanager.page | 5 - plugins/dynamix/WG0.page | 1508 ------------------ plugins/dynamix/WGX.page | 456 ------ plugins/dynamix/images/wireguard-help.png | Bin 149439 -> 0 bytes plugins/dynamix/include/WGconfig.php | 70 - plugins/dynamix/include/WGimage.php | 26 - plugins/dynamix/include/tld.key | 1 - plugins/dynamix/include/update.wireguard.php | 409 ----- plugins/dynamix/scripts/wg_poller | 52 - 9 files changed, 2527 deletions(-) delete mode 100644 plugins/dynamix/VPNmanager.page delete mode 100644 plugins/dynamix/WG0.page delete mode 100644 plugins/dynamix/WGX.page delete mode 100644 plugins/dynamix/images/wireguard-help.png delete mode 100644 plugins/dynamix/include/WGconfig.php delete mode 100644 plugins/dynamix/include/WGimage.php delete mode 100644 plugins/dynamix/include/tld.key delete mode 100644 plugins/dynamix/include/update.wireguard.php delete mode 100644 plugins/dynamix/scripts/wg_poller diff --git a/plugins/dynamix/VPNmanager.page b/plugins/dynamix/VPNmanager.page deleted file mode 100644 index ee5113182..000000000 --- a/plugins/dynamix/VPNmanager.page +++ /dev/null @@ -1,5 +0,0 @@ -Menu="NetworkServices" -Type="xmenu" -Title="VPN Manager" -Icon="icon-vpn" -Tabs="false" \ No newline at end of file diff --git a/plugins/dynamix/WG0.page b/plugins/dynamix/WG0.page deleted file mode 100644 index 0b9dd07b6..000000000 --- a/plugins/dynamix/WG0.page +++ /dev/null @@ -1,1508 +0,0 @@ -Menu="VPNmanager:100" -Title="Tunnel wg0" -Tag="icon-vpn" ---- - -0) { - $entries = array_filter(array_map('trim',preg_split('/\[(Interface|Peer)\]/',file_get_contents($conf)))); - foreach ($entries as $key => $entry) { - $i = $key-1; - if ($i) $peer_wg[] = $i; - $rows = explode("\n",$entry); - foreach ($rows as $row) { - [$id,$data] = array_map('trim',explode('=',$row,2)); - switch ($id) { - case 'PostUp': - case 'PostDown': - break; - case 'Address': - foreach (array_map('trim',explode(',',$data)) as $ip) { - if (strpos($ip,'.')!==false) $wg["Address:$i"] = $ip; - elseif (strpos($ip,':')!==false) $wg["Address6:$i"] = $ip; - } - break; - case 'Endpoint': - if ($data[0]=='[') { - [$ip,$port] = explode(']:',$data); - $ip = substr($ip,1); - } else { - [$ip,$port] = explode(':',$data); - } - $wg["Endpoint:$i"] = $ip; - $wg["ListenPort:$i"] = $port; - break; - default: - if ($id[0]=='#') $wg["Name:$i"] = substr($id,1); else $wg["$id:$i"] = $data; - break; - } - } - } - $file = true; - } - if (file_exists($cfg)) { - $more = parse_ini_file($cfg); - foreach ($more as $key => $data) { - [$id,$i] = explode(':',$key); - if ($id!='Address') continue; - switch ($more['PROT:0']) { - case '46': - [$ip4,$ip6] = array_map('trim',explode(',',$data)); - $more[$key] = $ip4; - $more["Address6:$i"] = $ip6; - break; - case '6': - unset($more[$key]); - $more["Address6:$i"] = $data; - break; - } - } - $wg = array_merge($wg,$more); - [$subnet,$mask] = explode('/',$wg['Network:0']); - [$subnet6,$mask6] = explode('/',$wg['Network6:0']); - $netbase[$vtun] = ip2long($subnet) & (0x100000000-2**(32-$mask)); - $netbase6[$vtun] = $subnet6 ?: $netpool6[$vtun]; - } else { - $netbase[$vtun] = ip2long($netpool[$vtun]); - $netbase6[$vtun] = $netpool6[$vtun]; - } - foreach ($peer_wg as $i) if ((int)$wg["TYPE:$i"]==7) {$vpn = true; break;} - return [$conf,$cfg,$file,$vpn]; -} -$public = strpos($_SERVER['HTTP_HOST'],'unraid.net')!==false && $remote['wanaccess']=='yes' ? (substr($_SERVER['HTTP_HOST'],0,4)!='www.'?'www.':'').explode(':',$_SERVER['HTTP_HOST'])[0] : ''; -$active = (array)explode(' ',exec('wg show interfaces')); -$autostart = (array)explode(' ',@file_get_contents("$etc/autostart")); -$build = false; -$script = "$docroot/webGui/scripts/upnp_port"; -$template = "$docroot/webGui/WGX.page"; -$tower = $var['NAME']; -$server = $eth0['IPADDR:0']; -$server6 = $eth0['IPADDR6:0']; - -$link = file_exists('/sys/class/net/br0') ? 'br0' : (file_exists('/sys/class/net/bond0') ? 'bond0' : 'eth0'); -$postUp0 = "$script add $link WireGuard- $server udp"; -$postUp1 = "logger -t wireguard 'Tunnel WireGuard- started'"; -$postUp2 = "iptables -t nat -A POSTROUTING -s -o $link -j MASQUERADE"; -$postUp3 = "iptables -N WIREGUARD_DROP_;iptables -A WIREGUARD -o $link -j WIREGUARD_DROP_"; -$postUpX = "iptables -A WIREGUARD_DROP_ -s -d -j DROP"; -$postUpZ = "iptables -A WIREGUARD_DROP_ -s -j ACCEPT;iptables -A WIREGUARD_DROP_ -j RETURN"; -$postUp26 = "ip6tables -t nat -A POSTROUTING -s -o $link -j MASQUERADE"; -$postUp36 = "ip6tables -N WIREGUARD_DROP_;ip6tables -A WIREGUARD -o $link -j WIREGUARD_DROP_"; -$postUpX6 = "ip6tables -A WIREGUARD_DROP_ -s -d -j DROP"; -$postUpZ6 = "ip6tables -A WIREGUARD_DROP_ -s -j ACCEPT;ip6tables -A WIREGUARD_DROP_ -j RETURN"; -$postDown0 = "$script del $link udp"; -$postDown1 = "logger -t wireguard 'Tunnel WireGuard- stopped'"; -$postDown2 = "iptables -t nat -D POSTROUTING -s -o $link -j MASQUERADE"; -$postDown3 = "iptables -F WIREGUARD_DROP_;iptables -D WIREGUARD -o $link -j WIREGUARD_DROP_;iptables -X WIREGUARD_DROP_"; -$postDown26= "ip6tables -t nat -D POSTROUTING -s -o $link -j MASQUERADE"; -$postDown36= "ip6tables -F WIREGUARD_DROP_;ip6tables -D WIREGUARD -o $link -j WIREGUARD_DROP_;ip6tables -X WIREGUARD_DROP_"; - -$tld = file_get_contents("$docroot/webGui/include/tld.key"); -$validDNS = "([0-9a-z]([0-9a-z\-]{0,61}[0-9a-z])?\.)+($tld)"; -$validIP4 = "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}"; -$validIP6 = "(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|(:|([0-9a-fA-F]{1,4}:)+):(([0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4})?)"; -$maskIP4 = "([0-9]|[12][0-9]|3[0-2])?"; -$maskIP6 = "([0-9]|[1-9][[0-9]|1[01][0-9]|12[0-8])?"; - -$validText = "^($validDNS|$validIP4|$validIP6)$"; -$validList = "^(($validIP4/?$maskIP4|$validIP6/?$maskIP6)(, *)?)+$"; -$validDNSServerList = "^(($validIP4|$validIP6)(, *)?)+$"; -$validname = "^[0-9a-zA-Z \-_]*$"; - -$netbase = $netpool = $netport = []; -$netbase6 = $netpool6 = []; -$check_wg0 = in_array('wg0',$active) ? 'true' : 'false'; -$start_wg0 = in_array('wg0',$autostart); -$peer_wg0 = $wg0 = []; - -$netpool['wg0'] = '10.253.0.0'; -$netpool6['wg0'] = 'fc00:253:0:0::'; -$netport['wg0'] = 51820; - -// read current configuration -[$conf_wg0, $cfg_wg0, $this_wg0, $vpn_wg0] = readConf($peer_wg0, $wg0, 'wg0'); - -// gather IPv4 and IPv6 addresses for available interfaces -$endpoints = []; -$ethX = 'eth0'; -while (isset($$ethX)) { - if (!empty($$ethX['IPADDR:0'])) $endpoints[] = $$ethX['IPADDR:0']; - if (!empty($$eth0['IPADDR6:0'])) $endpoints[] = $$ethX['IPADDR6:0']; - $ethX = 'eth'.(substr($ethX,3)+1); -} - -// remove obsolete tunnels -foreach (glob("$docroot/webGui/WG[1-9]*.page",GLOB_NOSORT) as $wgX) { - if (!in_array(strtolower(basename($wgX,'.page')), $vtuns)) { - unlink($wgX); - $build = true; - } -} -// add additional tunnels -foreach ($vtuns as $wgX) { - if ($wgX == 'wg0') continue; - $file = "$docroot/webGui/".strtoupper($wgX).".page"; - if (!file_exists($file)) { - $X = filter_var($wgX,FILTER_SANITIZE_NUMBER_INT); - $nnn = 100 + $X; - copy($template, $file); - exec("sed -i 's/parentname:nnn/VPNmanager:$nnn/;s/XXX/$X/g;s/wgX/$wgX/g' $file"); - chmod($file,0644); - $build = true; - } -} -?> - - - - - - diff --git a/plugins/dynamix/WGX.page b/plugins/dynamix/WGX.page deleted file mode 100644 index a63903946..000000000 --- a/plugins/dynamix/WGX.page +++ /dev/null @@ -1,456 +0,0 @@ -Menu="parentname:nnn" -Title="Tunnel wgX" -Tag="icon-vpn" ---- - - - - diff --git a/plugins/dynamix/images/wireguard-help.png b/plugins/dynamix/images/wireguard-help.png deleted file mode 100644 index e9fe651bb8d4ede87d84b26bc639146b06e8abd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149439 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 WiTN(Sf#iRHPetL0e90p-|NjG$fhXPo diff --git a/plugins/dynamix/include/WGconfig.php b/plugins/dynamix/include/WGconfig.php deleted file mode 100644 index 47b3788aa..000000000 --- a/plugins/dynamix/include/WGconfig.php +++ /dev/null @@ -1,70 +0,0 @@ - - -"> -"> - - - - - -

-
-
-
-
-
-
- -&csrf_token=&v="> - - -','.zip')"> -
- diff --git a/plugins/dynamix/include/WGimage.php b/plugins/dynamix/include/WGimage.php deleted file mode 100644 index 7e42eb50f..000000000 --- a/plugins/dynamix/include/WGimage.php +++ /dev/null @@ -1,26 +0,0 @@ - -= $lastmod) { - header($_SERVER["SERVER_PROTOCOL"].' 304 Not Modified'); -} else { - header('Last-Modified:'.gmdate('D, d M Y H:i:s', $lastmod).' GMT'); - header('Content-type:image/png'); - readfile($file); -} -?> \ No newline at end of file diff --git a/plugins/dynamix/include/tld.key b/plugins/dynamix/include/tld.key deleted file mode 100644 index cf3a39565..000000000 --- a/plugins/dynamix/include/tld.key +++ /dev/null @@ -1 +0,0 @@ -aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|charity|chase|chat|cheap|chintai|christmas|chrome|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cpa|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dog|domains|dot|download|drive|dtv|dubai|duck|dunlop|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gay|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|inc|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|ismaili|ist|istanbul|it|itau|itv|iveco|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|lamborghini|lamer|lancaster|lancia|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|llc|llp|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|moda|moe|moi|mom|monash|money|monster|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|sport|spot|spreadbetting|sr|srl|ss|st|stada|staples|star|statebank|statefarm|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--otu796d|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxa6a|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zm|zone|zuerich|zw \ No newline at end of file diff --git a/plugins/dynamix/include/update.wireguard.php b/plugins/dynamix/include/update.wireguard.php deleted file mode 100644 index 058b95e9d..000000000 --- a/plugins/dynamix/include/update.wireguard.php +++ /dev/null @@ -1,409 +0,0 @@ - - $new) { - // rename files to match revised peers list - rename($file, "$peer-$new.conf"); - rename(str_replace('.conf','.png',$file), "$peer-$new.png"); - } - $new++; - } - } - } else { - mkdir($dir); - } - $list = []; - foreach ($peers as $id => $peer) { - if (empty($peer[1])) break; // tunnel without any peers - $cfg = "$dir/peer-$name-$vtun-$id.conf"; - $cfgold = @file_get_contents($cfg) ?: ''; - $cfgnew = implode("\n",$peer)."\n"; - if ($cfgnew !== $cfgold) { - $list[] = "$vtun: peer $id (".($peer[1][0]=='#' ? substr($peer[1],1) : _('no name')).')'; - file_put_contents($cfg,$cfgnew); - $png = str_replace('.conf','.png',$cfg); - exec("qrencode -t PNG -r $cfg -o $png"); - } - } - // store the peer names which are updated - if (count($list)) file_put_contents($tmp,implode("
",$list)); else @unlink($tmp); -} -function parseInput(&$input,&$x) { - global $conf,$user,$var,$default,$default6; - $section = 0; $addPeer = false; - foreach ($input as $key => $value) { - if ($key[0]=='#') continue; - [$id,$i] = explode(':',$key); - if ($i != $section) { - $conf[] = "\n[Peer]"; - // add peers only for peer sections - $addPeer ? addPeer($x) : $addPeer = true; - $section = $i; - } - switch ($id) { - case 'Name': - if ($value) $conf[] = "#$value"; - if ($i==0) { - $var['server'] = $value ? "#$value" : false; - } else { - $var['client'] = $value ? "#$value" : false; - } - break; - case 'PrivateKey': - if ($i==0) { - $conf[] = "$id=$value"; - } else { - if ($value) $user[] = "$id:$x=\"$value\""; - $var['privateKey'] = $value ? "$id=$value" : false; - } - break; - case 'PublicKey': - if ($i==0) { - $user[] = "$id:0=\"$value\""; - $var['publicKey'] = "$id=$value"; - } else { - $conf[] = "$id=$value"; - } - break; - case 'DNS': - if ($i>0 && $value) { - $user[] = "$id:$x=\"$value\""; - $var['dns'] = "$id=$value"; - } else $var['dns'] = false; - break; - case 'PROT': - $protocol = $value; - $user[] = "$id:0=\"$value\""; - switch ($protocol) { - case '46': $var['default'] = "AllowedIPs=$default, $default6"; break; - case '6' : $var['default'] = "AllowedIPs=$default6"; break; - default : $var['default'] = "AllowedIPs=$default"; break; - } - break; - case 'TYPE': - $list = array_map('trim',explode(',',$value<4 ? ($value%2==1 ? $var['subnets1'] : $var['subnets2']) : ($value<6 ? ($value%2==1 ? $var['shared1'] : $var['shared2']) : $var['default']))); - $var['allowedIPs'] = implode(', ',array_map('host',array_filter($list))); - $var['tunnel'] = ($value==2||$value==3) ? $tunnel : false; - $user[] = "$id:$x=\"$value\""; - break; - case 'Network': - case 'Network6': - case 'UPNP': - case 'DROP': - case 'RULE': - case 'NAT': - $user[] = "$id:0=\"$value\""; - break; - case 'Address': - $hosts = implode(', ',array_map('host',array_filter(explode(', ',$value)))); - if ($i==0) { - $conf[] = "$id=$value"; - $tunnel = "$id=$hosts"; - } else { - $user[] = "$id:$x=\"$value\""; - $var['address'] = "$id=$hosts"; - } - break; - case 'MTU': - if ($value) $conf[] = "$id=$value"; - $var['mtu'] = $value ? "$id=$value" : false; - break; - case 'Endpoint': - if ($i==0) { - $user[] = "$id:0=\"$value\""; - $var['endpoint'] = $value ? "Endpoint=".ipset($value) : false; - } else { - if ($value) $conf[] = "$id=$value"; - $var['listenport'] = $value ? "ListenPort=".explode(ipv6($value),$value)[1] : false; - if ($var['endpoint'] && strpos($var['endpoint'],ipv6($var['endpoint']))===false) $var['endpoint'] .= ":".explode(ipv6($var['internet']),$var['internet'])[1]; - } - break; - case 'PersistentKeepalive': - if ($value) $conf[] = "$id=$value"; - $var['handshake'] = $value ? "$id=$value" : false; - break; - case 'PresharedKey': - if ($value) $conf[] = "$id=$value"; - $var['presharedKey'] = $value ? "$id=$value" : false; - break; - default: - if ($value) $conf[] = "$id=$value"; - break; - } - } -} -$default = '0.0.0.0/0'; -$default6 = '::/0'; -switch ($_POST['#cmd']) { -case 'keypair': - $private = exec("wg genkey"); - $public = exec("wg pubkey <<<'$private'"); - echo $private."\0".$public; - break; -case 'presharedkey': - echo exec("wg genpsk"); - break; -case 'update': - if (!exec("iptables -S|grep -om1 'WIREGUARD$'")) { - exec("iptables -N WIREGUARD;iptables -A FORWARD -j WIREGUARD"); - } - if (!exec("ip6tables -S|grep -om1 'WIREGUARD$'")) { - exec("ip6tables -N WIREGUARD;ip6tables -A FORWARD -j WIREGUARD"); - } - $cfg = $_POST['#cfg']; - $wg = $_POST['#wg']; - $name = $_POST['#name']; - $vtun = $_POST['#vtun']; - $gone = explode(',',$_POST['#deleted']); - $conf = ['[Interface]']; - $user = $peers = $var = []; - $var['subnets1'] = "AllowedIPs=".implode(', ',(array_unique(explode(', ',$_POST['#subnets1'])))); - $var['subnets2'] = "AllowedIPs=".implode(', ',(array_unique(explode(', ',$_POST['#subnets2'])))); - $var['shared1'] = "AllowedIPs=".implode(', ',(array_unique(explode(', ',$_POST['#shared1'])))); - $var['shared2'] = "AllowedIPs=".implode(', ',(array_unique(explode(', ',$_POST['#shared2'])))); - $var['internet'] = "Endpoint=".implode(', ',(array_unique(explode(', ',$_POST['#internet'])))); - $x = 1; - parseInput($_POST,$x); - addPeer($x); - exec("wg-quick down $vtun 2>/dev/null"); - file_put_contents($file,implode("\n",$conf)."\n"); - file_put_contents($cfg,implode("\n",$user)."\n"); - createPeerFiles($vtun); - if ($wg) exec("wg-quick up $vtun >/dev/null"); - $save = false; - break; -case 'toggle': - $vtun = $_POST['#vtun']; - switch ($_POST['#wg']) { - case 'stop': - exec("timeout $t1 wg-quick down $vtun 2>/dev/null"); - echo status($vtun) ? 1 : 0; - break; - case 'start': - exec("timeout $t1 wg-quick up $vtun 2>/dev/null"); - echo status($vtun) ? 0 : 1; - break; - } - break; -case 'ping': - $addr = $_POST['#addr']; - echo exec("ping -qc1 -W4 $addr|grep -Po '1 received'"); - break; -case 'public': - $ip = $_POST['#ip']; - $v4 = $_POST['#prot']!='6'; - $v6 = $_POST['#prot']!=''; - $context = stream_context_create(['https'=>['timeout'=>12]]); - $int_ipv4 = $v4 ? (preg_match("/^$validIP4$/", $ip) ? $ip : (@dns_get_record($ip, DNS_A)[0]['ip'] ?: '')) : ''; - $ext_ipv4 = $v4 ? (@file_get_contents('https://api.ipify.org',false,$context) ?: '') : ''; - $int_ipv6 = $v6 ? (preg_match("/^$validIP6$/", $ip) ? $ip : (@dns_get_record($ip, DNS_AAAA)[0]['ipv6'] ?: '')) : ''; - $ext_ipv6 = $v6 ? (@file_get_contents('https://api6.ipify.org',false,$context) ?: '') : ''; - echo "$int_ipv4;$ext_ipv4;$int_ipv6;$ext_ipv6"; - break; -case 'addtunnel': - $vtun = vtun(); - $name = $_POST['#name']; - touch("$etc/$vtun.conf"); - exec("wg-quick down $vtun 2>/dev/null"); - @unlink("$etc/$vtun.cfg"); - delPeer($vtun); - autostart('off',$vtun); - break; -case 'deltunnel': - $vtun = $_POST['#vtun']; - $name = $_POST['#name']; - exec("wg-quick down $vtun 2>/dev/null"); - @unlink("$etc/$vtun.conf"); - @unlink("$etc/$vtun.cfg"); - delPeer($vtun); - autostart('off',$vtun); - break; -case 'import': - $name = $_POST['#name']; - $user = $peers = $var = $import = $sort = []; - $entries = array_filter(array_map('trim',preg_split('/\[(Interface|Peer)\]/',$_POST['#data']))); - foreach($entries as $key => $entry) { - $i = $key-1; - foreach (explode("\n",$entry) as $row) { - if (ltrim($row)[0]!='#') { - [$id,$data] = array_map('trim',explode('=',$row,2)); - $import["$id:$i"] = $data; - } elseif ($i>=0) { - $import["Name:$i"] = substr(trim($row),1); - } - } - } - if ($import['PrivateKey:0'] && !$import['PublicKey:0']) $import['PublicKey:0'] = exec("wg pubkey <<<'{$import['PrivateKey:0']}'"); - $import['UPNP:0'] = 'no'; - $import['NAT:0'] = 'no'; - [$subnet,$mask] = explode('/',$import['Address:0']); - if (ipv4($subnet)) { - $mask = ($mask>0 && $mask<32) ? $mask : 24; - $import['Network:0'] = long2ip(ip2long($subnet) & (0x100000000-2**(32-$mask))).'/'.$mask; - $import['Address:0'] = $subnet; - $import['PROT:0'] = ''; - } else { - $mask = ($mask>0 && $mask<128) ? $mask : 64; - $import['Network6:0'] = strstr($subnet,'::',true).'::/'.$mask; - $import['Address:0'] = $subnet; - $import['PROT:0'] = '6'; - } - $import['Endpoint:0'] = ''; - for ($n = 1; $n <= $i; $n++) { - $vpn = strpos($import["AllowedIPs:$n"],$default)!==false || strpos($import["AllowedIPs:$n"],$default6)!==false; - if ($vpn) $import["Address:$n"] = ''; - $import["TYPE:$n"] = $vpn ? 7 : 0; - if ($import["TYPE:$n"]==0) $var['subnets1'] = "AllowedIPs=".$import["AllowedIPs:$n"]; - } - foreach ($import as $key => $val) $sort[] = explode(':',$key)[1]; - array_multisort($sort,$import); - $x = 1; - $conf = ['[Interface]']; - $var['default'] = $import['PROT:0']=='' ? "AllowedIPs=$default" : "AllowedIPs=$default6"; - $var['internet'] = "Endpoint=unknown"; - parseInput($import,$x); - addPeer($x); - $vtun = vtun(); - file_put_contents("$etc/$vtun.conf",implode("\n",$conf)."\n"); - file_put_contents("$etc/$vtun.cfg",implode("\n",$user)."\n"); - delPeer($vtun); - autostart('off',$vtun); - echo $vtun; - break; -case 'autostart': - autostart($_POST['#start'],$_POST['#vtun']); - break; -case 'upnp': - $upnp = '/var/tmp/upnp'; - if (is_executable('/usr/bin/upnpc')) { - $gw = $_POST['#gw'].':'; - $link = $_POST['#link']; - $xml = @file_get_contents($upnp) ?: ''; - if ($xml) { - exec("timeout $t1 stdbuf -o0 upnpc -u $xml -m $link -l 2>&1|grep -qm1 'refused'",$output,$code); - if ($code!=1) $xml = ''; - } - if (!$xml) { - exec("timeout $t2 stdbuf -o0 upnpc -m $link -l 2>/dev/null|grep -Po 'desc: \K.+'",$desc); - foreach ($desc as $url) if ($url && strpos($url,$gw)!==false) {$xml = $url; break;} - } - } else $xml = ""; - file_put_contents($upnp,$xml); - echo $xml; - break; -case 'upnpc': - if (!is_executable('/usr/bin/upnpc')) break; - $xml = $_POST['#xml']; - $vtun = $_POST['#vtun']; - $link = $_POST['#link']; - $ip = $_POST['#ip']; - if ($_POST['#wg']=='active') { - exec("timeout $t1 stdbuf -o0 upnpc -u $xml -m $link -l 2>/dev/null|grep -Po \"^(ExternalIPAddress = \K.+|.+\KUDP.+>$ip:[0-9]+ 'WireGuard-$vtun')\"",$upnp); - [$addr,$upnp] = $upnp; - [$type,$rule] = explode(' ',$upnp); - echo $rule ? "UPnP: $addr:$rule/$type" : _("UPnP: forwarding not set"); - } else { - echo _("UPnP: tunnel is inactive"); - } - break; -} -?> diff --git a/plugins/dynamix/scripts/wg_poller b/plugins/dynamix/scripts/wg_poller deleted file mode 100644 index 5c3ab963f..000000000 --- a/plugins/dynamix/scripts/wg_poller +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/php -q - -$size) $base = $size-1; - $value /= pow(1024, $base); - $decimals = $value>=100 ? 0 : ($value>=10 ? 1 : (round($value*100)%100===0 ? 0 : 2)); - if (round($value,-1)==1000) {$value = 1; $base++;} - $unit = $units[$base].'B'; - return number_format($value, $decimals, '.', $value>9999 ? ',':''); -} - -while (true) { - $now = time(); $i = 0; - unset($dump); $vtun = []; - exec('wg show all dump',$dump); - foreach ($dump as $row) { - $row = preg_split('/\s+/',$row); - if (count($row)>5) $vtun[] = $row[0].';'.($row[5] ? $now - $row[5] : 0).';'.my_scale($row[6],$unit)." $unit;".my_scale($row[7],$unit)." $unit"; - } - publish('wireguard', implode("\0",$vtun)); - sleep(1); -} -?> \ No newline at end of file