├── AshdnsttCommercial.sh ├── InstallerScript.sh ├── README.md ├── ashhttpproxy-linux-amd64 ├── ashsslproxy-linux-amd64 ├── ashwebsocket-linux-amd64 ├── ashwebsocketsni-linux-amd64 ├── badvpn-udpgw ├── dnstt-server ├── server.key └── server.pub /AshdnsttCommercial.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd /root 3 | apt -y update && apt -y upgrade 4 | apt -y install iptables-persistent wget screen lsof 5 | rm -rf ashdnstt-commercial 6 | mkdir ashdnstt-commercial 7 | cd ashdnstt-commercial 8 | mv /root/ashdnstt-server ashdnstt-server 9 | chmod 755 ashdnstt-server 10 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/server.key 11 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/server.pub 12 | echo -e "$YELLOW" 13 | cat server.pub 14 | read -p "Copy the pubkey above and press Enter when done" 15 | read -p "Enter your Nameserver : " ns 16 | iptables -I INPUT -p udp --dport 5300 -j ACCEPT 17 | iptables -t nat -I PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5300 18 | iptables-save > /etc/iptables/rules.v4 19 | echo -e "$YELLOW" 20 | read -p "Run in background or foreground service ? (b/f): " bind 21 | echo -e "$NC" 22 | if [ "$bind" = "b" ]; then 23 | screen -dmS ashdnstt-commercial ./ashdnstt-server -udp :5300 -privkey-file server.key $ns 127.0.0.1:22 24 | else 25 | json_content=$(cat <<-EOF 26 | [Unit] 27 | Description=Daemonize ASH DNSTT Commercial Tunnel Server 28 | Wants=network.target 29 | After=network.target 30 | [Service] 31 | ExecStart=/root/ashdnstt-commercial/ashdnstt-server -udp :5300 -privkey-file /root/ashdnstt-commercial/server.key $ns 127.0.0.1:22 32 | Restart=always 33 | RestartSec=3 34 | [Install] 35 | WantedBy=multi-user.target 36 | EOF 37 | ) 38 | echo "$json_content" > /etc/systemd/system/ashdnsttcommercial.service 39 | systemctl start ashdnsttcommercial 40 | systemctl enable ashdnsttcommercial 41 | fi 42 | lsof -i :5300 43 | echo -e "ASHDNSTT Commercial installation completed" 44 | echo -e "$NC" -------------------------------------------------------------------------------- /InstallerScript.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | is_number() { 3 | [[ $1 =~ ^[0-9]+$ ]] 4 | } 5 | YELLOW='\033[1;33m' 6 | RED='\033[1;31m' 7 | CYAN='\033[1;36m' 8 | GREEN='\033[1;32m' 9 | NC='\033[0m' 10 | if [ "$(whoami)" != "root" ]; then 11 | echo "Error: This script must be run as root." 12 | exit 1 13 | fi 14 | MARKER="### CUSTOM COLOR BLOCK ###" 15 | TEXT_TO_ADD=' 16 | '"$MARKER"' 17 | YELLOW='\''\033[1;33m'\'' 18 | RED='\''\033[1;31m'\'' 19 | CYAN='\''\033[1;36m'\'' 20 | GREEN='\''\033[1;32m'\'' 21 | NC='\''\033[0m'\'' 22 | echo "" 23 | echo -e "$CYAN A $YELLOW SSS $RED H H" 24 | echo -e "$CYAN A A $YELLOW S $RED H H" 25 | echo -e "$CYAN AAAAA $YELLOW SSS $RED HHHHH" 26 | echo -e "$CYAN A A $YELLOW S$RED H H" 27 | echo -e "$CYAN A A $YELLOW SSSS $RED H H" 28 | echo -e "$NC" 29 | '"$MARKER"' 30 | ' 31 | if ! grep -Fq "$MARKER" ~/.bashrc; then 32 | echo "$TEXT_TO_ADD" >> ~/.bashrc 33 | fi 34 | cd /root 35 | clear 36 | echo -e "$CYAN A $YELLOW SSS $RED H H" 37 | echo -e "$CYAN A A $YELLOW S $RED H H" 38 | echo -e "$CYAN AAAAA $YELLOW SSS $RED HHHHH" 39 | echo -e "$CYAN A A $YELLOW S$RED H H" 40 | echo -e "$CYAN A A $YELLOW SSSS $RED H H" 41 | echo "" 42 | echo -e "$YELLOW 43 | VPN Tunnel Installer by AhmedSCRIPT Hacker" 44 | echo "Version : 4.6" 45 | echo -e "$NC 46 | Select an option" 47 | echo "1. Install UDP Hysteria V1.3.5" 48 | echo "2. Install ASH WSS" 49 | echo "3. Install ASH HTTP Proxy" 50 | echo "4. Install DNSTT, DoH and DoT" 51 | echo "5. Install VPS AGN" 52 | echo "6. Install DNS2TCP" 53 | echo "7. Install ASH WS(port 8080)" 54 | echo "8. Install BadVPN UDPGW(port 7300)" 55 | echo "9. Install ASH SSL" 56 | echo "0. Exit" 57 | selected_option=-1 58 | 59 | while [ $selected_option -lt 0 ] || [ $selected_option -gt 9 ]; do 60 | echo -e "$YELLOW" 61 | echo "Select a number from 0 to 9:" 62 | echo -e "$NC" 63 | read input 64 | 65 | # Check if input is a number 66 | if [[ $input =~ ^[0-9]+$ ]]; then 67 | selected_option=$input 68 | else 69 | echo -e "$YELLOW" 70 | echo "Invalid input. Please enter a valid number." 71 | echo -e "$NC" 72 | fi 73 | done 74 | clear 75 | case $selected_option in 76 | 1) 77 | echo -e "$YELLOW" 78 | echo "Installing UDP Hysteria V1.3.5 ..." 79 | echo -e "$NC" 80 | apt -y update && apt -y upgrade 81 | apt -y install wget nano net-tools openssl iptables-persistent screen lsof 82 | rm -rf hy 83 | mkdir hy 84 | cd hy 85 | wget github.com/apernet/hysteria/releases/download/v1.3.5/hysteria-linux-amd64 86 | chmod 755 hysteria-linux-amd64 87 | openssl ecparam -genkey -name prime256v1 -out ca.key 88 | openssl req -new -x509 -days 36500 -key ca.key -out ca.crt -subj "/CN=bing.com" 89 | while true; do 90 | echo -e "$YELLOW" 91 | read -p "Obfs : " obfs 92 | echo -e "$NC" 93 | if [ ! -z "$obfs" ]; then 94 | break 95 | fi 96 | done 97 | while true; do 98 | echo -e "$YELLOW" 99 | read -p "Auth Str : " auth_str 100 | echo -e "$NC" 101 | if [ ! -z "$auth_str" ]; then 102 | break 103 | fi 104 | done 105 | while true; do 106 | echo -e "$YELLOW" 107 | read -p "Remote UDP Port : " remote_udp_port 108 | echo -e "$NC" 109 | if is_number "$remote_udp_port" && [ "$remote_udp_port" -ge 1 ] && [ "$remote_udp_port" -le 65534 ]; then 110 | break 111 | else 112 | echo -e "$YELLOW" 113 | echo "Invalid input. Please enter a valid number between 1 and 65534." 114 | echo -e "$NC" 115 | fi 116 | done 117 | file_path="/root/hy/config.json" 118 | json_content='{"listen":":'"$remote_udp_port"'","protocol":"udp","cert":"/root/hy/ca.crt","key":"/root/hy/ca.key","up":"100 Mbps","up_mbps":100,"down":"100 Mbps","down_mbps":100,"disable_udp":false,"obfs":"'"$obfs"'","auth_str":"'"$auth_str"'"}' 119 | echo "$json_content" > "$file_path" 120 | if [ ! -e "$file_path" ]; then 121 | echo -e "$YELLOW" 122 | echo "Error: Unable to save the config.json file" 123 | echo -e "$NC" 124 | exit 1 125 | fi 126 | debconf-set-selections <<< "iptables-persistent iptables-persistent/autosave_v4 boolean true" 127 | debconf-set-selections <<< "iptables-persistent iptables-persistent/autosave_v6 boolean true" 128 | 129 | echo -e "$YELLOW" 130 | read -p "Bind multiple UDP Ports? (y/n): " bind 131 | echo -e "$NC" 132 | if [ "$bind" = "y" ]; then 133 | while true; do 134 | echo -e "$YELLOW" 135 | read -p "Binding UDP Ports : from port : " first_number 136 | echo -e "$NC" 137 | if is_number "$first_number" && [ "$first_number" -ge 1 ] && [ "$first_number" -le 65534 ]; then 138 | break 139 | else 140 | echo -e "$YELLOW" 141 | echo "Invalid input. Please enter a valid number between 1 and 65534." 142 | echo -e "$NC" 143 | fi 144 | done 145 | while true; do 146 | echo -e "$YELLOW" 147 | read -p "Binding UDP Ports : from port : $first_number to port : " second_number 148 | echo -e "$NC" 149 | if is_number "$second_number" && [ "$second_number" -gt "$first_number" ] && [ "$second_number" -lt 65536 ]; then 150 | break 151 | else 152 | echo -e "$YELLOW" 153 | echo "Invalid input. Please enter a valid number greater than $first_number and less than 65536." 154 | echo -e "$NC" 155 | fi 156 | done 157 | #Remove old rules 158 | iptables -t nat -L --line-numbers | awk -v var="$first_number:$second_number" '$0 ~ var {print $1}' | tac | xargs -r -I {} iptables -t nat -D PREROUTING {} 159 | ip6tables -t nat -L --line-numbers | awk -v var="$first_number:$second_number" '$0 ~ var {print $1}' | tac | xargs -r -I {} ip6tables -t nat -D PREROUTING {} 160 | 161 | 162 | iptables -t nat -A PREROUTING -i $(ip -4 route ls|grep default|grep -Po '(?<=dev )(\S+)'|head -1) -p udp --dport "$first_number":"$second_number" -j DNAT --to-destination :$remote_udp_port 163 | ip6tables -t nat -A PREROUTING -i $(ip -4 route ls|grep default|grep -Po '(?<=dev )(\S+)'|head -1) -p udp --dport "$first_number":"$second_number" -j DNAT --to-destination :$remote_udp_port 164 | fi 165 | sysctl net.ipv4.conf.all.rp_filter=0 166 | sysctl net.ipv4.conf.$(ip -4 route ls|grep default|grep -Po '(?<=dev )(\S+)'|head -1).rp_filter=0 167 | echo "net.ipv4.ip_forward = 1 168 | net.ipv4.conf.all.rp_filter=0 169 | net.ipv4.conf.$(ip -4 route ls|grep default|grep -Po '(?<=dev )(\S+)'|head -1).rp_filter=0" > /etc/sysctl.conf 170 | sysctl -p 171 | iptables-save > /etc/iptables/rules.v4 172 | ip6tables-save > /etc/iptables/rules.v6 173 | echo -e "$YELLOW" 174 | read -p "Run in background or foreground service ? (b/f): " bind 175 | echo -e "$NC" 176 | if [ "$bind" = "b" ]; then 177 | screen -dmS hy ./hysteria-linux-amd64 server --log-level 0 178 | else 179 | json_content=$(cat <<-EOF 180 | [Unit] 181 | Description=Daemonize UDP Hysteria V1 Tunnel Server 182 | Wants=network.target 183 | After=network.target 184 | [Service] 185 | ExecStart=/root/hy/hysteria-linux-amd64 server -c /root/hy/config.json --log-level 0 186 | Restart=always 187 | RestartSec=3 188 | [Install] 189 | WantedBy=multi-user.target 190 | EOF 191 | ) 192 | echo "$json_content" > /etc/systemd/system/hy.service 193 | systemctl start hy 194 | systemctl enable hy 195 | fi 196 | lsof -i :"$remote_udp_port" 197 | echo "UDP Hysteria V1.3.5 installed successfully, please check the logs above" 198 | echo "IP Address :" 199 | curl ipv4.icanhazip.com 200 | echo "Obfs : '"$obfs"'" 201 | echo "auth str : '"$auth_str"'" 202 | exit 1 203 | ;; 204 | 2) 205 | echo -e "$YELLOW" 206 | echo "Installing ASH WSS..." 207 | echo -e "$NC" 208 | apt -y update && apt -y upgrade 209 | apt -y install openssl lsof screen 210 | while true; do 211 | echo -e "$YELLOW" 212 | read -p "Remote WSS Port : " wss_port 213 | echo -e "$NC" 214 | if is_number "$wss_port" && [ "$wss_port" -ge 1 ] && [ "$wss_port" -le 65535 ]; then 215 | break 216 | else 217 | echo -e "$YELLOW" 218 | echo "Invalid input. Please enter a valid number between 1 and 65535." 219 | echo -e "$NC" 220 | fi 221 | done 222 | while true; do 223 | echo -e "$YELLOW" 224 | read -p "Target TCP Port : " target_port 225 | echo -e "$NC" 226 | if is_number "$target_port" && [ "$target_port" -ge 1 ] && [ "$target_port" -le 65535 ]; then 227 | break 228 | else 229 | echo -e "$YELLOW" 230 | echo "Invalid input. Please enter a valid number between 1 and 65535." 231 | echo -e "$NC" 232 | fi 233 | done 234 | rm -rf ashwss 235 | mkdir ashwss 236 | cd ashwss 237 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/ashwebsocketsni-linux-amd64 238 | chmod 755 ashwebsocketsni-linux-amd64 239 | openssl genrsa -out stunnel.key 2048 240 | openssl req -new -key stunnel.key -x509 -days 1000 -out stunnel.crt 241 | cat stunnel.crt stunnel.key > stunnel.pem 242 | rm -rf stunnel.crt 243 | echo -e "$YELLOW" 244 | read -p "Run in background or foreground service ? (b/f): " bind 245 | echo -e "$NC" 246 | if [ "$bind" = "b" ]; then 247 | screen -dmS ashwss ./ashwebsocketsni-linux-amd64 -tls_addr :$wss_port -dstAddr 127.0.0.1:$target_port -private_key stunnel.pem -public_key stunnel.key 248 | else 249 | json_content=$(cat <<-EOF 250 | [Unit] 251 | Description=Daemonize ASH WSS Tunnel Server 252 | Wants=network.target 253 | After=network.target 254 | [Service] 255 | ExecStart=/root/ashwss/ashwebsocketsni-linux-amd64 -tls_addr :$wss_port -dstAddr 127.0.0.1:$target_port -private_key /root/ashwss/stunnel.pem -public_key /root/ashwss/stunnel.key 256 | Restart=always 257 | RestartSec=3 258 | [Install] 259 | WantedBy=multi-user.target 260 | EOF 261 | ) 262 | echo "$json_content" > /etc/systemd/system/ashwss.service 263 | systemctl start ashwss 264 | systemctl enable ashwss 265 | fi 266 | lsof -i :"$wss_port" 267 | echo -e "$YELLOW" 268 | echo "ASH WSS Installed Successfully" 269 | echo -e "$NC" 270 | exit 1 271 | ;; 272 | 3) 273 | echo -e "$YELLOW" 274 | echo "Installing ASH HTTP Proxy..." 275 | echo -e "$NC" 276 | apt -y update && apt -y upgrade 277 | apt -y install iptables-persistent wget screen lsof 278 | while true; do 279 | echo -e "$YELLOW" 280 | read -p "Remote HTTP Port : " http_port 281 | echo -e "$NC" 282 | if is_number "$http_port" && [ "$http_port" -ge 1 ] && [ "$http_port" -le 65535 ]; then 283 | break 284 | else 285 | echo -e "$YELLOW" 286 | echo "Invalid input. Please enter a valid number between 1 and 65535." 287 | echo -e "$NC" 288 | fi 289 | done 290 | echo -e "$YELLOW" 291 | read -p "Bind multiple TCP Ports? (y/n): " bind 292 | echo -e "$NC" 293 | if [ "$bind" = "y" ]; then 294 | while true; do 295 | echo -e "$YELLOW" 296 | read -p "Binding TCP Ports : from port : " first_number 297 | echo -e "$NC" 298 | if is_number "$first_number" && [ "$first_number" -ge 1 ] && [ "$first_number" -le 65534 ]; then 299 | break 300 | else 301 | echo -e "$YELLOW" 302 | echo "Invalid input. Please enter a valid number between 1 and 65534." 303 | echo -e "$NC" 304 | fi 305 | done 306 | while true; do 307 | echo -e "$YELLOW" 308 | read -p "Binding TCP Ports : from port : $first_number to port : " second_number 309 | echo -e "$NC" 310 | if is_number "$second_number" && [ "$second_number" -gt "$first_number" ] && [ "$second_number" -lt 65536 ]; then 311 | break 312 | else 313 | echo -e "$YELLOW" 314 | echo "Invalid input. Please enter a valid number greater than $first_number and less than 65536." 315 | echo -e "$NC" 316 | fi 317 | done 318 | iptables -t nat -A PREROUTING -p tcp --dport "$first_number":"$second_number" -j REDIRECT --to-port "$http_port" 319 | iptables-save > /etc/iptables/rules.v4 320 | fi 321 | rm -rf ashhttp 322 | mkdir ashhttp 323 | cd ashhttp 324 | http_script="/root/ashhttp/ashhttpproxy-linux-amd64" 325 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/ashhttpproxy-linux-amd64 326 | chmod 755 ashhttpproxy-linux-amd64 327 | 328 | echo -e "$YELLOW" 329 | read -p "Run in background or foreground service ? (b/f): " bind 330 | echo -e "$NC" 331 | if [ "$bind" = "b" ]; then 332 | screen -dmS ashhttp ./ashhttpproxy-linux-amd64 -addr :"$http_port" dstAddr 127.0.0.1:22 333 | else 334 | json_content=$(cat <<-EOF 335 | [Unit] 336 | Description=Daemonize ASH HTTP Tunnel Server 337 | Wants=network.target 338 | After=network.target 339 | [Service] 340 | ExecStart=/root/ashhttp/ashhttpproxy-linux-amd64 -addr :"$http_port" dstAddr 127.0.0.1:22 341 | Restart=always 342 | RestartSec=3 343 | [Install] 344 | WantedBy=multi-user.target 345 | EOF 346 | ) 347 | echo "$json_content" > /etc/systemd/system/ashhttp.service 348 | systemctl start ashhttp 349 | systemctl enable ashhttp 350 | fi 351 | 352 | lsof -i :"$http_port" 353 | echo -e "$YELLOW" 354 | echo "ASH HTTP Proxy installed successfully" 355 | echo -e "$NC" 356 | exit 1 357 | ;; 358 | 4) 359 | echo -e "$YELLOW" 360 | echo "Installing DNSTT,DoH and DoT ..." 361 | echo -e "$NC" 362 | apt -y update && apt -y upgrade 363 | apt -y install iptables-persistent wget screen lsof 364 | rm -rf dnstt 365 | mkdir dnstt 366 | cd dnstt 367 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/dnstt-server 368 | chmod 755 dnstt-server 369 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/server.key 370 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/server.pub 371 | echo -e "$YELLOW" 372 | cat server.pub 373 | read -p "Copy the pubkey above and press Enter when done" 374 | read -p "Enter your Nameserver : " ns 375 | iptables -I INPUT -p udp --dport 5300 -j ACCEPT 376 | iptables -t nat -I PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5300 377 | iptables-save > /etc/iptables/rules.v4 378 | 379 | echo -e "$YELLOW" 380 | read -p "Run in background or foreground service ? (b/f): " bind 381 | echo -e "$NC" 382 | if [ "$bind" = "b" ]; then 383 | screen -dmS slowdns ./dnstt-server -udp :5300 -privkey-file server.key $ns 127.0.0.1:22 384 | else 385 | json_content=$(cat <<-EOF 386 | [Unit] 387 | Description=Daemonize DNSTT Tunnel Server 388 | Wants=network.target 389 | After=network.target 390 | [Service] 391 | ExecStart=/root/dnstt/dnstt-server -udp :5300 -privkey-file /root/dnstt/server.key $ns 127.0.0.1:22 392 | Restart=always 393 | RestartSec=3 394 | [Install] 395 | WantedBy=multi-user.target 396 | EOF 397 | ) 398 | echo "$json_content" > /etc/systemd/system/dnstt.service 399 | systemctl start dnstt 400 | systemctl enable dnstt 401 | fi 402 | 403 | lsof -i :5300 404 | echo -e "DNSTT installation completed" 405 | echo -e "$NC" 406 | exit 1 407 | ;; 408 | 5) 409 | echo -e "$YELLOW" 410 | echo "No longer available" 411 | echo -e "$NC" 412 | exit 1 413 | rm -rf install-without-key.sh; apt update; apt install curl; apt install bc; wget https://github.com/khaledagn/VPS-AGN_English_Official/raw/main/installer/install-without-key.sh; chmod 777 install-without-key.sh; ./install-without-key.sh --start 414 | exit 1 415 | ;; 416 | 6) 417 | echo -e "$YELLOW" 418 | echo -e "Before you continue, make sure that :" 419 | echo -e "- No program uses UDP Port 53" 420 | echo -e "- DNSTT is not running" 421 | echo -e "- iodine is not running" 422 | echo -e "- iptables doesn't forward the port 53 to another port" 423 | echo -e "$NC" 424 | read 425 | apt -y update && apt -y upgrade 426 | apt -y install screen lsof dns2tcp nano 427 | echo -e "$YELLOW" 428 | read -p "In this step, you will uncomment DNS and write DNS=1.1.1.1 and uncomment DNSStubListener and write DNSStubListener=no" 429 | echo -e "$NC" 430 | nano /etc/systemd/resolved.conf 431 | echo -e "$YELLOW" 432 | read -p "by tapping 'Enter', you make sure that you have uncomment DNS=1.1.1.1 and DNSStubListener=no" 433 | echo -e "$NC" 434 | systemctl restart systemd-resolved 435 | mkdir dns2tcp 436 | cd dns2tcp 437 | mkdir /var/empty 438 | mkdir /var/empty/dns2tcp 439 | echo -e "$YELLOW" 440 | read -p "Your Nameserver: " nameserver 441 | read -p "Your key: " key 442 | echo -e "$NC" 443 | file_path="/root/dns2tcp/dns2tcpdrc" 444 | json_content=$(cat < "$file_path" 455 | 456 | echo -e "$YELLOW" 457 | read -p "Run in background or foreground service ? (b/f): " bind 458 | echo -e "$NC" 459 | if [ "$bind" = "b" ]; then 460 | dns2tcpd -d 1 -f dns2tcpdrc 461 | else 462 | json_content=$(cat <<-EOF 463 | [Unit] 464 | Description=Daemonize DNS2TCP Tunnel Server 465 | Wants=network.target 466 | After=network.target 467 | [Service] 468 | ExecStart=/usr/bin/dns2tcpd -d 1 -F -f /root/dns2tcp/dns2tcpdrc 469 | Restart=always 470 | RestartSec=3 471 | [Install] 472 | WantedBy=multi-user.target 473 | EOF 474 | ) 475 | echo "$json_content" > /etc/systemd/system/dns2tcp.service 476 | systemctl start dns2tcp 477 | systemctl enable dns2tcp 478 | fi 479 | echo -e "$YELLOW" 480 | read -p "in the next step, add nameserver 1.1.1.1 to the coming file if there is only nameserver 127.0.0.1 or nameserver 127.0.0.53" 481 | echo -e "$NC" 482 | nano /etc/resolv.conf 483 | echo -e "$YELLOW" 484 | read -p "by tapping 'Enter', you make sure that you have added nameserver 1.1.1.1" 485 | echo -e "$YELLOW" 486 | lsof -i :53 487 | echo "DNS2TCP server installed sucessfully" 488 | echo -e "$NC" 489 | ;; 490 | 7) 491 | echo -e "$YELLOW" 492 | echo "Installing ASH WS..." 493 | echo -e "$NC" 494 | apt -y update && apt -y upgrade 495 | apt -y install iptables-persistent wget lsof 496 | 497 | rm -rf ashwebsocket 498 | mkdir ashwebsocket 499 | cd ashwebsocket 500 | http_script="/root/ashhttp/ashwebsocket-linux-amd64" 501 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/ashwebsocket-linux-amd64 502 | chmod 755 ashwebsocket-linux-amd64 503 | json_content=$(cat <<-EOF 504 | [Unit] 505 | Description=Daemonize ASH Websocket Tunnel Server 506 | Wants=network.target 507 | After=network.target 508 | [Service] 509 | ExecStart=/root/ashwebsocket/ashwebsocket-linux-amd64 510 | Restart=always 511 | RestartSec=3 512 | [Install] 513 | WantedBy=multi-user.target 514 | EOF 515 | ) 516 | echo "$json_content" > /etc/systemd/system/ashwebsocket.service 517 | systemctl start ashwebsocket 518 | systemctl enable ashwebsocket 519 | 520 | echo -e "$YELLOW" 521 | read -p "Bind port 80 too ? (y/n): " bind 522 | echo -e "$NC" 523 | if [ "$bind" = "y" ]; then 524 | iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 525 | iptables-save > /etc/iptables/rules.v4 526 | fi 527 | lsof -i :8080 528 | echo -e "$YELLOW" 529 | echo "WS installed sucessfully" 530 | echo -e "$NC" 531 | ;; 532 | 8) 533 | echo -e "$YELLOW" 534 | echo "Installing BadVPN UDPGW..." 535 | echo -e "$NC" 536 | apt -y update && apt -y upgrade 537 | apt -y install wget lsof 538 | rm -r badvpn 539 | mkdir badvpn 540 | cd badvpn 541 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/badvpn-udpgw 542 | chmod 755 badvpn-udpgw 543 | json_content=$(cat <<-EOF 544 | [Unit] 545 | Description=Daemonize BadVPN UDPGW Server 546 | Wants=network.target 547 | After=network.target 548 | [Service] 549 | ExecStart=/root/badvpn/badvpn-udpgw --listen-addr 127.0.0.1:7300 --max-clients 1000 --max-connections-for-client 10 --loglevel 0 550 | Restart=always 551 | RestartSec=3 552 | [Install] 553 | WantedBy=multi-user.target 554 | EOF 555 | ) 556 | echo "$json_content" > /etc/systemd/system/badvpn.service 557 | systemctl start badvpn 558 | systemctl enable badvpn 559 | lsof -i :7300 560 | echo -e "$YELLOW" 561 | echo "BadVPN UDPGW Installed Successfully" 562 | echo -e "$NC" 563 | exit 1 564 | ;; 565 | 9) 566 | echo -e "$YELLOW" 567 | echo "Installing ASH SSL..." 568 | echo -e "$NC" 569 | apt -y update && apt -y upgrade 570 | apt -y install openssl lsof screen 571 | while true; do 572 | echo -e "$YELLOW" 573 | read -p "Remote SSL Port : " ssl_port 574 | echo -e "$NC" 575 | if is_number "$ssl_port" && [ "$ssl_port" -ge 1 ] && [ "$ssl_port" -le 65535 ]; then 576 | break 577 | else 578 | echo -e "$YELLOW" 579 | echo "Invalid input. Please enter a valid number between 1 and 65535." 580 | echo -e "$NC" 581 | fi 582 | done 583 | while true; do 584 | echo -e "$YELLOW" 585 | read -p "Target TCP Port : " target_port 586 | echo -e "$NC" 587 | if is_number "$target_port" && [ "$target_port" -ge 1 ] && [ "$target_port" -le 65535 ]; then 588 | break 589 | else 590 | echo -e "$YELLOW" 591 | echo "Invalid input. Please enter a valid number between 1 and 65535." 592 | echo -e "$NC" 593 | fi 594 | done 595 | rm -rf ashssl 596 | mkdir ashssl 597 | cd ashssl 598 | wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/main/ashsslproxy-linux-amd64 599 | chmod 755 ashsslproxy-linux-amd64 600 | openssl genrsa -out stunnel.key 2048 601 | openssl req -new -key stunnel.key -x509 -days 1000 -out stunnel.crt 602 | cat stunnel.crt stunnel.key > stunnel.pem 603 | rm -rf stunnel.crt 604 | echo -e "$YELLOW" 605 | read -p "Run in background or foreground service ? (b/f): " bind 606 | echo -e "$NC" 607 | if [ "$bind" = "b" ]; then 608 | screen -dmS ashssl ./ashsslproxy-linux-amd64 -tls_addr :$ssl_port -dstAddr 127.0.0.1:$target_port -private_key stunnel.pem -public_key stunnel.key 609 | else 610 | json_content=$(cat <<-EOF 611 | [Unit] 612 | Description=Daemonize ASH SSL Tunnel Server 613 | Wants=network.target 614 | After=network.target 615 | [Service] 616 | ExecStart=/root/ashssl/ashsslproxy-linux-amd64 -tls_addr :$ssl_port -dstAddr 127.0.0.1:$target_port -private_key /root/ashssl/stunnel.pem -public_key /root/ashssl/stunnel.key 617 | Restart=always 618 | RestartSec=3 619 | [Install] 620 | WantedBy=multi-user.target 621 | EOF 622 | ) 623 | echo "$json_content" > /etc/systemd/system/ashssl.service 624 | systemctl start ashssl 625 | systemctl enable ashssl 626 | fi 627 | lsof -i :"$ssl_port" 628 | echo -e "$YELLOW" 629 | echo "ASH SSL Installed Successfully" 630 | echo -e "$NC" 631 | exit 1 632 | ;; 633 | 0) 634 | echo -e "$YELLOW" 635 | echo "Good Bye" 636 | echo -e "$NC" 637 | exit 1 638 | ;; 639 | esac 640 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Installation Command : 2 | ```sh 3 | rm -rf InstallerScript.sh && wget https://raw.githubusercontent.com/ASHANTENNA/VPNScript/refs/heads/main/InstallerScript.sh -O InstallerScript.sh && chmod +x InstallerScript.sh && ./InstallerScript.sh 4 | ``` 5 | Supported architectures : amd64(x86_64)
6 | Supported operating systems : Ubuntu, Debian 7 | -------------------------------------------------------------------------------- /ashhttpproxy-linux-amd64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASHANTENNA/VPNScript/4894d0622602eb77ba2d4e6f2447397b3809173f/ashhttpproxy-linux-amd64 -------------------------------------------------------------------------------- /ashsslproxy-linux-amd64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASHANTENNA/VPNScript/4894d0622602eb77ba2d4e6f2447397b3809173f/ashsslproxy-linux-amd64 -------------------------------------------------------------------------------- /ashwebsocket-linux-amd64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASHANTENNA/VPNScript/4894d0622602eb77ba2d4e6f2447397b3809173f/ashwebsocket-linux-amd64 -------------------------------------------------------------------------------- /ashwebsocketsni-linux-amd64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASHANTENNA/VPNScript/4894d0622602eb77ba2d4e6f2447397b3809173f/ashwebsocketsni-linux-amd64 -------------------------------------------------------------------------------- /badvpn-udpgw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASHANTENNA/VPNScript/4894d0622602eb77ba2d4e6f2447397b3809173f/badvpn-udpgw -------------------------------------------------------------------------------- /dnstt-server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASHANTENNA/VPNScript/4894d0622602eb77ba2d4e6f2447397b3809173f/dnstt-server -------------------------------------------------------------------------------- /server.key: -------------------------------------------------------------------------------- 1 | 3f351791845c977ac7871d6f87a6d7bd73adae6924cbc6f9a0b9fec9181a05b3 2 | -------------------------------------------------------------------------------- /server.pub: -------------------------------------------------------------------------------- 1 | e5d2a44b70474c6ffd35e4128480ba89865daba4bc3db369f9c8fb0ab0236905 2 | --------------------------------------------------------------------------------