├── LICENSE ├── README.md ├── ins-xray.sh ├── menu ├── auto-reboot.sh ├── bw.sh ├── clearcache.sh ├── m-domain.sh ├── m-sshovpn.sh ├── m-ssws.sh ├── m-system.sh ├── m-trojan.sh ├── m-vless.sh ├── m-vmess.sh ├── m-webmin.sh ├── menu.sh ├── restart.sh ├── running.sh └── tcp.sh ├── permission ├── ip └── versi ├── setup.sh ├── ssh ├── add-host.sh ├── autokill.sh ├── cek.sh ├── ceklim.sh ├── delete.sh ├── hapus.sh ├── member.sh ├── newudpgw ├── nginx.conf ├── password ├── proxy3.js ├── renew.sh ├── speedtest_cli.py ├── ssh-vpn.sh ├── tendang.sh ├── trial.sh ├── txt.zip ├── usernew.sh └── xp.sh ├── sshws ├── insshws.sh ├── ws-dropbear ├── ws-dropbear.service ├── ws-stunnel └── ws-stunnel.service ├── tools.sh └── xray ├── add-ssws.sh ├── add-tr.sh ├── add-vless.sh ├── add-ws.sh ├── cek-tr.sh ├── cek-vless.sh ├── cek-ws.sh ├── certv2ray.sh ├── del-ssws.sh ├── del-tr.sh ├── del-vless.sh ├── del-ws.sh ├── ins-xray.sh ├── renew-ssws.sh ├── renew-tr.sh ├── renew-vless.sh ├── renew-ws.sh ├── trialssws.sh ├── trialtrojan.sh ├── trialvless.sh └── trialvmess.sh /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | - Support Wildcard ✅ 2 | - SSH Websocket : 80 3 | - SSH SSL Websocket : 443 4 | - Stunnel4 : 222,777 5 | - Vmess WS TLS : 443 6 | - Vless WS TLS : 443 7 | - Trojan WS TLS : 443 8 | - Shadowsocks WS TLS : 443 9 | - Vmess WS none TLS : 80 10 | - Vless WS none TLS : 80 11 | - Trojan WS none TLS : 80 12 | - Shadowsocks WS none TLS : 80 13 | - Vmess gRPC : 443 14 | - Vless gRPC : 443 15 | - Trojan gRPC : 443 16 | - Shadowsocks gRPC : 443 17 | 18 | 19 | 20 | ``` 21 | sysctl -w net.ipv6.conf.all.disable_ipv6=1 && sysctl -w net.ipv6.conf.default.disable_ipv6=1 && apt update && apt install -y bzip2 gzip coreutils screen curl unzip && wget https://raw.githubusercontent.com/nanotechid/supreme/aio/setup.sh && chmod +x setup.sh && sed -i -e 's/\r$//' setup.sh && screen -S setup ./setup.sh 22 | -------------------------------------------------------------------------------- /menu/auto-reboot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip| grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | echo -e "\e[31mRenew IP letak tempoh banyak kit okay? hehe syg ktk #\e[0m" 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip| awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | echo -e "\e[31mDaftar IP dalam github lok sayang okay? mun dah daftar tapi masih juak permission denied refresh dolok website ya hehe. Love you #\e[0m" 22 | exit 0 23 | fi 24 | clear 25 | if [ ! -e /usr/local/bin/reboot_otomatis ]; then 26 | echo '#!/bin/bash' > /usr/local/bin/reboot_otomatis 27 | echo 'tanggal=$(date +"%m-%d-%Y")' >> /usr/local/bin/reboot_otomatis 28 | echo 'waktu=$(date +"%T")' >> /usr/local/bin/reboot_otomatis 29 | echo 'echo "Server successfully rebooted on the date of $tanggal hit $waktu." >> /root/log-reboot.txt' >> /usr/local/bin/reboot_otomatis 30 | echo '/sbin/shutdown -r now' >> /usr/local/bin/reboot_otomatis 31 | chmod +x /usr/local/bin/reboot_otomatis 32 | fi 33 | clear 34 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 35 | echo -e "\e[0;100;33m • AUTO-REBOOT MENU • \e[0m" 36 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 37 | echo -e "" 38 | echo -e "[\e[36m•1\e[0m] Set Auto-Reboot Setiap 1 Jam" 39 | echo -e "[\e[36m•2\e[0m] Set Auto-Reboot Setiap 6 Jam" 40 | echo -e "[\e[36m•3\e[0m] Set Auto-Reboot Setiap 12 Jam" 41 | echo -e "[\e[36m•4\e[0m] Set Auto-Reboot Setiap 1 Hari" 42 | echo -e "[\e[36m•5\e[0m] Set Auto-Reboot Setiap 1 Minggu" 43 | echo -e "[\e[36m•6\e[0m] Set Auto-Reboot Setiap 1 Bulan" 44 | echo -e "[\e[36m•7\e[0m] Matikan Auto-Reboot" 45 | echo -e "[\e[36m•8\e[0m] View reboot log" 46 | echo -e "[\e[36m•9\e[0m] Remove reboot log" 47 | echo -e "" 48 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 49 | echo -e "" 50 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 51 | echo -e "" 52 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 53 | echo -e "" 54 | read -p " Select menu : " x 55 | if test $x -eq 1; then 56 | echo "10 * * * * root /usr/local/bin/reboot_otomatis" > /etc/cron.d/reboot_otomatis 57 | echo "Auto-Reboot has been set every an hour." 58 | elif test $x -eq 2; then 59 | echo "10 */6 * * * root /usr/local/bin/reboot_otomatis" > /etc/cron.d/reboot_otomatis 60 | echo "Auto-Reboot has been successfully set every 6 hours." 61 | elif test $x -eq 3; then 62 | echo "10 */12 * * * root /usr/local/bin/reboot_otomatis" > /etc/cron.d/reboot_otomatis 63 | echo "Auto-Reboot has been successfully set every 12 hours." 64 | elif test $x -eq 4; then 65 | echo "10 0 * * * root /usr/local/bin/reboot_otomatis" > /etc/cron.d/reboot_otomatis 66 | echo "Auto-Reboot has been successfully set once a day." 67 | elif test $x -eq 5; then 68 | echo "10 0 */7 * * root /usr/local/bin/reboot_otomatis" > /etc/cron.d/reboot_otomatis 69 | echo "Auto-Reboot has been successfully set once a week." 70 | elif test $x -eq 6; then 71 | echo "10 0 1 * * root /usr/local/bin/reboot_otomatis" > /etc/cron.d/reboot_otomatis 72 | echo "Auto-Reboot has been successfully set once a month." 73 | elif test $x -eq 7; then 74 | rm -f /etc/cron.d/reboot_otomatis 75 | echo "Auto-Reboot successfully TURNED OFF." 76 | elif test $x -eq 8; then 77 | if [ ! -e /root/log-reboot.txt ]; then 78 | clear 79 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 80 | echo -e "\e[0;100;33m • AUTO-REBOOT LOG • \e[0m" 81 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 82 | echo -e "" 83 | echo "No reboot activity found" 84 | echo -e "" 85 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 86 | echo "" 87 | read -n 1 -s -r -p "Press any key to back on menu" 88 | auto-reboot 89 | else 90 | clear 91 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 92 | echo -e "\e[0;100;33m • AUTO-REBOOT LOG • \e[0m" 93 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 94 | echo -e "" 95 | echo 'LOG REBOOT' 96 | cat /root/log-reboot.txt 97 | echo -e "" 98 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 99 | echo "" 100 | read -n 1 -s -r -p "Press any key to back on menu" 101 | auto-reboot 102 | fi 103 | elif test $x -eq 9; then 104 | clear 105 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 106 | echo -e "\e[0;100;33m • AUTO-REBOOT LOG • \e[0m" 107 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 108 | echo -e "" 109 | echo "" > /root/log-reboot.txt 110 | echo "Auto Reboot Log successfully deleted!" 111 | echo -e "" 112 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 113 | echo "" 114 | read -n 1 -s -r -p "Press any key to back on menu" 115 | auto-reboot 116 | elif test $x -eq 0; then 117 | clear 118 | m-system 119 | else 120 | clear 121 | echo "" 122 | echo "Options Not Found In Menu" 123 | echo "" 124 | read -n 1 -s -r -p "Press any key to back on menu" 125 | auto-reboot 126 | fi 127 | -------------------------------------------------------------------------------- /menu/bw.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | exit 0 12 | fi 13 | } 14 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 15 | if [ $MYIP = $IZIN ]; then 16 | echo -e "\e[32mPermission Accepted...\e[0m" 17 | CEKEXPIRED 18 | else 19 | echo -e "\e[31mPermission Denied!\e[0m"; 20 | exit 0 21 | fi 22 | clear 23 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | echo -e "\E[0;100;33m • BANDWITH MONITOR • \E[0m" 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "" 27 | echo -e " [\e[36m•1\e[0m] Lihat Total Bandwith Tersisa" 28 | echo -e " [\e[36m•2\e[0m] Tabel Penggunaan Setiap 5 Menit" 29 | echo -e " [\e[36m•3\e[0m] Tabel Penggunaan Setiap Jam" 30 | echo -e " [\e[36m•4\e[0m] Tabel Penggunaan Setiap Hari" 31 | echo -e " [\e[36m•5\e[0m] Tabel Penggunaan Setiap Bulan" 32 | echo -e " [\e[36m•6\e[0m] Tabel Penggunaan Setiap Tahun" 33 | echo -e " [\e[36m•7\e[0m] Tabel Penggunaan Tertinggi" 34 | echo -e " [\e[36m•8\e[0m] Statistik Penggunaan Setiap Jam" 35 | echo -e " [\e[36m•9\e[0m] Lihat Penggunaan Aktif Saat Ini" 36 | echo -e " [\e[36m10\e[0m] Lihat Trafik Penggunaan Aktif Saat Ini [5s]" 37 | echo -e "" 38 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 39 | echo -e " [\e[31m•x\e[0m] Keluar" 40 | echo -e "" 41 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 42 | echo -e "" 43 | read -p " Select menu : " opt 44 | echo -e "" 45 | case $opt in 46 | 1) 47 | clear 48 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 49 | echo -e "\e[0;100;33m • TOTAL BANDWITH SERVER TERSISA • \e[0m" 50 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 51 | echo -e "" 52 | 53 | vnstat 54 | 55 | echo -e "" 56 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 57 | echo -e "" 58 | read -n 1 -s -r -p "Press any key to back on menu" 59 | bw 60 | ;; 61 | 62 | 2) 63 | clear 64 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 65 | echo -e "\e[0;100;33m • TOTAL BANDWITH SETIAP 5 MENIT • \e[0m" 66 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 67 | echo -e "" 68 | 69 | vnstat -5 70 | 71 | echo -e "" 72 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 73 | echo -e "" 74 | read -n 1 -s -r -p "Press any key to back on menu" 75 | bw 76 | ;; 77 | 78 | 3) 79 | clear 80 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 81 | echo -e "\e[0;100;33m • TOTAL BANDWITH SETIAP JAM • \e[0m" 82 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 83 | echo -e "" 84 | 85 | vnstat -h 86 | 87 | echo -e "" 88 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 89 | echo -e "" 90 | read -n 1 -s -r -p "Press any key to back on menu" 91 | bw 92 | ;; 93 | 94 | 4) 95 | clear 96 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 97 | echo -e "\e[0;100;33m • TOTAL BANDWITH SETIAP HARI • \e[0m" 98 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 99 | echo -e "" 100 | 101 | vnstat -d 102 | 103 | echo -e "" 104 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 105 | echo -e "" 106 | read -n 1 -s -r -p "Press any key to back on menu" 107 | bw 108 | ;; 109 | 110 | 5) 111 | clear 112 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 113 | echo -e "\e[0;100;33m • TOTAL BANDWITH SETIAP BULAN • \e[0m" 114 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 115 | echo -e "" 116 | 117 | vnstat -m 118 | 119 | echo -e "" 120 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 121 | echo -e "" 122 | read -n 1 -s -r -p "Press any key to back on menu" 123 | bw 124 | ;; 125 | 126 | 6) 127 | clear 128 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 129 | echo -e "\e[0;100;33m • TOTAL BANDWITH SETIAP TAHUN • \e[0m" 130 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 131 | echo -e "" 132 | 133 | vnstat -y 134 | 135 | echo -e "" 136 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 137 | echo -e "" 138 | read -n 1 -s -r -p "Press any key to back on menu" 139 | bw 140 | ;; 141 | 142 | 7) 143 | clear 144 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 145 | echo -e "\e[0;100;33m • TOTAL BANDWITH TERTINGGI • \e[0m" 146 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 147 | echo -e "" 148 | 149 | vnstat -t 150 | 151 | echo -e "" 152 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 153 | echo -e "" 154 | read -n 1 -s -r -p "Press any key to back on menu" 155 | bw 156 | ;; 157 | 158 | 8) 159 | clear 160 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 161 | echo -e "\e[0;100;33m • STATISTIK TERPAKAI SETIAP JAM • \e[0m" 162 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 163 | echo -e "" 164 | 165 | vnstat -hg 166 | 167 | echo -e "" 168 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 169 | echo -e "" 170 | read -n 1 -s -r -p "Press any key to back on menu" 171 | bw 172 | ;; 173 | 174 | 9) 175 | clear 176 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 177 | echo -e "\e[0;100;33m • LIVE BANDWITH SAAT INI • \e[0m" 178 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 179 | echo -e " Press [ Ctrl+C ] • To-Exit" 180 | echo -e "" 181 | 182 | vnstat -l 183 | 184 | echo -e "" 185 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 186 | echo -e "" 187 | read -n 1 -s -r -p "Press any key to back on menu" 188 | bw 189 | ;; 190 | 191 | 10) 192 | clear 193 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 194 | echo -e "\e[0;100;33m• LIVE TRAFIK PENGGUNAAN BANDWITH •\e[0m" 195 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 196 | echo -e "" 197 | 198 | vnstat -tr 199 | 200 | echo -e "" 201 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 202 | echo -e "" 203 | read -n 1 -s -r -p "Press any key to back on menu" 204 | bw 205 | ;; 206 | 207 | 0) 208 | sleep 1 209 | menu 210 | ;; 211 | x) 212 | exit 213 | ;; 214 | *) 215 | echo -e "" 216 | echo -e "Anda salah tekan" 217 | sleep 1 218 | bw 219 | ;; 220 | esac 221 | -------------------------------------------------------------------------------- /menu/clearcache.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | echo -e "\e[31mRenew IP letak tempoh banyak kit okay? hehe syg ktk #\e[0m" 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | echo -e "\e[31mDaftar IP dalam github lok sayang okay? mun dah daftar tapi masih juak permission denied refresh dolok website ya hehe. Love you #\e[0m" 22 | exit 0 23 | fi 24 | clear 25 | echo "" 26 | echo "" 27 | echo -e "[ \033[32mInfo\033[0m ] Clear RAM Cache" 28 | echo 1 > /proc/sys/vm/drop_caches 29 | sleep 3 30 | echo -e "[ \033[32mok\033[0m ] Cache cleared" 31 | echo "" 32 | echo "Back to menu in 2 sec " 33 | sleep 2 34 | menu 35 | -------------------------------------------------------------------------------- /menu/m-domain.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | 22 | exit 0 23 | fi 24 | clear 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "\E[0;100;33m • DOMAIN MENU • \E[0m" 27 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 28 | echo -e "" 29 | echo -e " [\e[36m•1\e[0m] CHANGE DOMAIN VPS" 30 | echo -e " [\e[36m•2\e[0m] RENEW CERTIFICATE DOMAIN" 31 | echo -e "" 32 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 33 | echo -e "" 34 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 35 | echo -e "" 36 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 37 | echo -e "" 38 | read -p " Select menu : " opt 39 | echo -e "" 40 | case $opt in 41 | 1) clear ; add-host ;; 42 | 2) clear ; certv2ray ;; 43 | 0) clear ; menu ;; 44 | x) exit ;; 45 | *) echo "Anda salah tekan" ; sleep 1 ; m-domain ;; 46 | esac 47 | -------------------------------------------------------------------------------- /menu/m-sshovpn.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | 22 | exit 0 23 | fi 24 | clear 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "\E[0;100;33m • SSH MENU • \E[0m" 27 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 28 | echo -e "" 29 | echo -e " [\e[36m•1\e[0m] Create SSH & OpenVPN Account " 30 | echo -e " [\e[36m•2\e[0m] Trial Account SSH & OpenVPN " 31 | echo -e " [\e[36m•3\e[0m] Renew SSH & OpenVPN Account " 32 | echo -e " [\e[36m•4\e[0m] Delete SSH & OpenVPN Account " 33 | echo -e " [\e[36m•5\e[0m] Check User Login SSH & OpenVPN " 34 | echo -e " [\e[36m•6\e[0m] List Member SSH & OpenVPN " 35 | echo -e " [\e[36m•7\e[0m] Delete User Expired SSH & OpenVPN " 36 | echo -e " [\e[36m•8\e[0m] Set up Autokill SSH " 37 | echo -e " [\e[36m•9\e[0m] Cek Users Who Do Multi Login Multi" 38 | echo -e "" 39 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 40 | echo -e "" 41 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 42 | echo "" 43 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 44 | echo -e "" 45 | read -p " Select menu : " opt 46 | echo -e "" 47 | case $opt in 48 | 1) clear ; usernew ; exit ;; 49 | 2) clear ; trial ; exit ;; 50 | 3) clear ; renew ; exit ;; 51 | 4) clear ; hapus ; exit ;; 52 | 5) clear ; cek ; exit ;; 53 | 6) clear ; member ; exit ;; 54 | 7) clear ; delete ; exit ;; 55 | 8) clear ; autokill ; exit ;; 56 | 9) clear ; ceklim ; exit ;; 57 | 0) clear ; menu ; exit ;; 58 | x) exit ;; 59 | *) echo "Anda salah tekan " ; sleep 1 ; m-sshovpn ;; 60 | esac 61 | -------------------------------------------------------------------------------- /menu/m-ssws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | exit 0 12 | fi 13 | } 14 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 15 | if [ $MYIP = $IZIN ]; then 16 | echo -e "\e[32mPermission Accepted...\e[0m" 17 | CEKEXPIRED 18 | else 19 | echo -e "\e[31mPermission Denied!\e[0m"; 20 | exit 0 21 | fi 22 | clear 23 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | echo -e "\E[0;100;33m • Shadowsocks Account • \E[0m" 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "" 27 | echo -e " [\e[36m•1\e[0m] Create Account Shadowsocks " 28 | echo -e " [\e[36m•2\e[0m] Create Trial Shadowsocks " 29 | echo -e " [\e[36m•3\e[0m] Extending Account Shadowsocks " 30 | echo -e " [\e[36m•4\e[0m] Delete Account Shadowsocks " 31 | echo -e "" 32 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 33 | echo -e "" 34 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 35 | echo "" 36 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 37 | echo -e "" 38 | read -p " Select menu : " opt 39 | echo -e "" 40 | case $opt in 41 | 1) clear ; add-ssws ;; 42 | 2) clear ; trialssws ;; 43 | 3) clear ; renew-ssws ;; 44 | 4) clear ; del-ssws ;; 45 | 0) clear ; menu ;; 46 | x) exit ;; 47 | *) echo "salah tekan" ; sleep 1 ; m-ssws ;; 48 | esac 49 | -------------------------------------------------------------------------------- /menu/m-system.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | 22 | exit 0 23 | fi 24 | clear 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "\E[0;100;33m • SYSTEM MENU • \E[0m" 27 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 28 | echo -e "" 29 | echo -e " [\e[36m•1\e[0m] Panel Domain" 30 | echo -e " [\e[36m•2\e[0m] Speedtest VPS" 31 | echo -e " [\e[36m•3\e[0m] Set Auto Reboot" 32 | echo -e " [\e[36m•4\e[0m] Restart All Service" 33 | echo -e " [\e[36m•5\e[0m] Cek Bandwith" 34 | echo -e " [\e[36m•6\e[0m] Install TCP BBR" 35 | echo -e "" 36 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 37 | echo -e "" 38 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 39 | echo -e "" 40 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 41 | echo -e "" 42 | read -p " Select menu : " opt 43 | echo -e "" 44 | case $opt in 45 | 1) clear ; m-domain ; exit ;; 46 | 2) clear ; speedtest ; exit ;; 47 | 3) clear ; auto-reboot ; exit ;; 48 | 4) clear ; restart ; exit ;; 49 | 5) clear ; bw ; exit ;; 50 | 6) clear ; m-tcp ; exit ;; 51 | 0) clear ; menu ; exit ;; 52 | x) exit ;; 53 | *) echo -e "" ; echo "Anda salah tekan" ; sleep 1 ; m-system ;; 54 | esac 55 | -------------------------------------------------------------------------------- /menu/m-trojan.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | exit 0 12 | fi 13 | } 14 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 15 | if [ $MYIP = $IZIN ]; then 16 | echo -e "\e[32mPermission Accepted...\e[0m" 17 | CEKEXPIRED 18 | else 19 | echo -e "\e[31mPermission Denied!\e[0m"; 20 | exit 0 21 | fi 22 | clear 23 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | echo -e "\E[0;100;33m • TROJAN MENU • \E[0m" 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "" 27 | echo -e " [\e[36m•1\e[0m] Create Account Trojan " 28 | echo -e " [\e[36m•2\e[0m] Trial Account Trojan " 29 | echo -e " [\e[36m•3\e[0m] Extending Account Trojan " 30 | echo -e " [\e[36m•4\e[0m] Delete Account Trojan " 31 | echo -e " [\e[36m•5\e[0m] Check User Login Trojan " 32 | echo -e "" 33 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 34 | echo -e "" 35 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 36 | echo "" 37 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 38 | echo -e "" 39 | read -p " Select menu : " opt 40 | echo -e "" 41 | case $opt in 42 | 1) clear ; add-tr ;; 43 | 2) clear ; trialtrojan ;; 44 | 3) clear ; renew-tr ;; 45 | 4) clear ; del-tr ;; 46 | 5) clear ; cek-tr ;; 47 | 0) clear ; menu ;; 48 | x) exit ;; 49 | *) echo "SALAH TEKAN" ; sleep 1 ; m-trojan ;; 50 | esac 51 | -------------------------------------------------------------------------------- /menu/m-vless.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | 22 | exit 0 23 | fi 24 | clear 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "\E[0;100;33m • VLESS MENU • \E[0m" 27 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 28 | echo -e "" 29 | echo -e " [\e[36m•1\e[0m] Create Account Vless " 30 | echo -e " [\e[36m•2\e[0m] Trial Account Vless " 31 | echo -e " [\e[36m•3\e[0m] Extending Account Vless " 32 | echo -e " [\e[36m•4\e[0m] Delete Account Vless " 33 | echo -e " [\e[36m•5\e[0m] Check User Login Vless " 34 | echo -e "" 35 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 36 | echo -e "" 37 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 38 | echo "" 39 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 40 | echo -e "" 41 | read -p " Select menu : " opt 42 | echo -e "" 43 | case $opt in 44 | 1) clear ; add-vless ; exit ;; 45 | 2) clear ; trialvless ; exit ;; 46 | 3) clear ; renew-vless ; exit ;; 47 | 4) clear ; del-vless ; exit ;; 48 | 5) clear ; cek-vless ; exit ;; 49 | 0) clear ; menu ; exit ;; 50 | x) exit ;; 51 | *) echo "salah tekan " ; sleep 1 ; m-sshovpn ;; 52 | esac 53 | -------------------------------------------------------------------------------- /menu/m-vmess.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | 12 | exit 0 13 | fi 14 | } 15 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 16 | if [ $MYIP = $IZIN ]; then 17 | echo -e "\e[32mPermission Accepted...\e[0m" 18 | CEKEXPIRED 19 | else 20 | echo -e "\e[31mPermission Denied!\e[0m"; 21 | 22 | exit 0 23 | fi 24 | clear 25 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "\E[0;100;33m • VMESS MENU • \E[0m" 27 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 28 | echo -e "" 29 | echo -e " [\e[36m•1\e[0m] Create Account Vmess " 30 | echo -e " [\e[36m•2\e[0m] Trial Account Vmess " 31 | echo -e " [\e[36m•3\e[0m] Extending Account Vmess " 32 | echo -e " [\e[36m•4\e[0m] Delete Account Vmess " 33 | echo -e " [\e[36m•5\e[0m] Check User Login Vmess " 34 | echo -e "" 35 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 36 | echo -e "" 37 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 38 | echo "" 39 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 40 | echo -e "" 41 | read -p " Select menu : " opt 42 | echo -e "" 43 | case $opt in 44 | 1) clear ; add-ws ; exit ;; 45 | 2) clear ; trialvmess ; exit ;; 46 | 3) clear ; renew-ws ; exit ;; 47 | 4) clear ; del-ws ; exit ;; 48 | 5) clear ; cek-ws ; exit ;; 49 | 0) clear ; menu ; exit ;; 50 | x) exit ;; 51 | *) echo "Anda salah tekan " ; sleep 1 ; m-sshovpn ;; 52 | esac 53 | -------------------------------------------------------------------------------- /menu/m-webmin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(wget -qO- ipinfo.io/ip); 3 | echo "Checking VPS" 4 | CEKEXPIRED () { 5 | today=$(date -d +1day +%Y-%m-%d) 6 | Exp1=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 7 | if [[ $today < $Exp1 ]]; then 8 | echo -e "\e[32mSTATUS SCRIPT AKTIF...\e[0m" 9 | else 10 | echo -e "\e[31mSCRIPT ANDA EXPIRED!\e[0m"; 11 | exit 0 12 | fi 13 | } 14 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 15 | if [ $MYIP = $IZIN ]; then 16 | echo -e "\e[32mPermission Accepted...\e[0m" 17 | CEKEXPIRED 18 | else 19 | echo -e "\e[31mPermission Denied!\e[0m"; 20 | exit 0 21 | fi 22 | clear 23 | Green_font_prefix="\033[32m" && Red_font_prefix="\033[31m" && Green_background_prefix="\033[42;37m" && Red_background_prefix="\033[41;37m" && Font_color_suffix="\033[0m" 24 | Info="${Green_font_prefix}[Installed]${Font_color_suffix}" 25 | Error="${Red_font_prefix}[Not Installed]${Font_color_suffix}" 26 | cek=$(netstat -ntlp | grep 10000 | awk '{print $7}' | cut -d'/' -f2) 27 | function install () { 28 | IP=$(wget -qO- ifconfig.me/ip); 29 | clear 30 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 31 | echo -e "\E[0;100;33m • INSTALL WEBMIN • \E[0m" 32 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 33 | sleep 0.5 34 | echo "" 35 | echo -e "\033[32m[Info]\033[0m Adding Repository Webmin" 36 | sh -c 'echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list' 37 | apt install gnupg gnupg1 gnupg2 -y > /dev/null 2>&1 38 | wget http://www.webmin.com/jcameron-key.asc > /dev/null 2>&1 39 | apt-key add jcameron-key.asc > /dev/null 2>&1 40 | sleep 0.5 41 | echo -e "\033[32m[Info]\033[0m Start Install Webmin" 42 | sleep 0.5 43 | apt update > /dev/null 2>&1 44 | apt install webmin -y > /dev/null 2>&1 45 | sed -i 's/ssl=1/ssl=0/g' /etc/webmin/miniserv.conf 46 | echo -e "\033[32m[Info]\033[0m Restart Webmin" 47 | /etc/init.d/webmin restart > /dev/null 2>&1 48 | rm -f /root/jcameron-key.asc > /dev/null 2>&1 49 | sleep 0.5 50 | echo -e "\033[32m[Info]\033[0m Webmin Install Successfully !" 51 | echo "" 52 | echo " $IP:10000" 53 | echo "" 54 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 55 | echo "" 56 | read -n 1 -s -r -p "Press any key to back on menu" 57 | m-webmin 58 | } 59 | function restart () { 60 | clear 61 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 62 | echo -e "\E[0;100;33m • RESTART WEBMIN • \E[0m" 63 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 64 | sleep 0.5 65 | echo "" 66 | echo " Restarting Webmin" 67 | service webmin restart > /dev/null 2>&1 68 | echo "" 69 | sleep 0.5 70 | echo -e "\033[32m[Info]\033[0m Webmin Start Successfully !" 71 | echo "" 72 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 73 | echo "" 74 | read -n 1 -s -r -p "Press any key to back on menu" 75 | m-webmin 76 | } 77 | function uninstall () { 78 | clear 79 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 80 | echo -e "\E[0;100;33m • UNINSTALL WEBMIN • \E[0m" 81 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 82 | sleep 0.5 83 | echo "" 84 | echo -e "\033[32m[Info]\033[0m Removing Repositori Webmin" 85 | rm -f /etc/apt/sources.list.d/webmin.list 86 | apt update > /dev/null 2>&1 87 | sleep 0.5 88 | echo -e "\033[32m[Info]\033[0m Start Uninstall Webmin" 89 | apt autoremove --purge webmin -y > /dev/null 2>&1 90 | sleep 0.5 91 | echo -e "\033[32m[Info]\033[0m Webmin Uninstall Successfully !" 92 | echo "" 93 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 94 | echo "" 95 | read -n 1 -s -r -p "Press any key to back on menu" 96 | m-webmin 97 | } 98 | if [[ "$cek" = "perl" ]]; then 99 | sts="${Info}" 100 | else 101 | sts="${Error}" 102 | fi 103 | clear 104 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 105 | echo -e "\E[0;100;33m • WEBMIN MENU • \E[0m" 106 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 107 | echo -e "" 108 | echo -e " Status $sts" 109 | echo -e " [\e[36m•1\e[0m] Install Webmin" 110 | echo -e " [\e[36m•2\e[0m] Restart Webmin" 111 | echo -e " [\e[36m•3\e[0m] Uninstall Webmin" 112 | echo -e "" 113 | echo -e " [\e[31m•0\e[0m] \e[31mBACK TO MENU\033[0m" 114 | echo -e "" 115 | echo -e "Press x or [ Ctrl+C ] • To-Exit" 116 | echo -e "" 117 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 118 | echo -e "" 119 | read -rp " Please Enter The Correct Number : " -e num 120 | if [[ "$num" = "1" ]]; then 121 | install 122 | elif [[ "$num" = "2" ]]; then 123 | restart 124 | elif [[ "$num" = "3" ]]; then 125 | uninstall 126 | elif [[ "$num" = "0" ]]; then 127 | menu 128 | elif [[ "$num" = "x" ]]; then 129 | exit 130 | else 131 | clear 132 | echo " You Entered The Wrong Number" 133 | sleep 2 134 | m-webmin 135 | fi 136 | -------------------------------------------------------------------------------- /menu/menu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MYIP=$(curl -sS ipv4.icanhazip.com) 3 | echo "Checking VPS" 4 | ######################### 5 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 6 | if [ $MYIP = $IZIN ]; then 7 | echo -e "\e[32mPermission Accepted...\e[0m" 8 | else 9 | echo -e "\e[31mPermission Denied!\e[0m"; 10 | exit 0 11 | fi 12 | #EXPIRED 13 | expired=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 14 | echo $expired > /root/expired.txt 15 | today=$(date -d +1day +%Y-%m-%d) 16 | while read expired 17 | do 18 | exp=$(echo $expired | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 19 | if [[ $exp < $today ]]; then 20 | Exp2="\033[1;31mExpired\033[0m" 21 | else 22 | Exp2=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 23 | fi 24 | done < /root/expired.txt 25 | rm /root/expired.txt 26 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 27 | # Color Validation 28 | DF='\e[39m' 29 | Bold='\e[1m' 30 | Blink='\e[5m' 31 | yell='\e[33m' 32 | red='\e[31m' 33 | green='\e[32m' 34 | blue='\e[34m' 35 | PURPLE='\e[35m' 36 | cyan='\e[36m' 37 | Lred='\e[91m' 38 | Lgreen='\e[92m' 39 | Lyellow='\e[93m' 40 | NC='\e[0m' 41 | GREEN='\033[0;32m' 42 | ORANGE='\033[0;33m' 43 | LIGHT='\033[0;37m' 44 | # VPS Information 45 | #Domain 46 | domain=$(cat /etc/xray/domain) 47 | #Status certificate 48 | modifyTime=$(stat $HOME/.acme.sh/${domain}_ecc/${domain}.key | sed -n '7,6p' | awk '{print $2" "$3" "$4" "$5}') 49 | modifyTime1=$(date +%s -d "${modifyTime}") 50 | currentTime=$(date +%s) 51 | stampDiff=$(expr ${currentTime} - ${modifyTime1}) 52 | days=$(expr ${stampDiff} / 86400) 53 | remainingDays=$(expr 90 - ${days}) 54 | tlsStatus=${remainingDays} 55 | if [[ ${remainingDays} -le 0 ]]; then 56 | tlsStatus="expired" 57 | fi 58 | # OS Uptime 59 | uptime="$(uptime -p | cut -d " " -f 2-10)" 60 | # Download 61 | #Download/Upload today 62 | dtoday="$(vnstat -i eth0 | grep "today" | awk '{print $2" "substr ($3, 1, 1)}')" 63 | utoday="$(vnstat -i eth0 | grep "today" | awk '{print $5" "substr ($6, 1, 1)}')" 64 | ttoday="$(vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}')" 65 | #Download/Upload yesterday 66 | dyest="$(vnstat -i eth0 | grep "yesterday" | awk '{print $2" "substr ($3, 1, 1)}')" 67 | uyest="$(vnstat -i eth0 | grep "yesterday" | awk '{print $5" "substr ($6, 1, 1)}')" 68 | tyest="$(vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}')" 69 | #Download/Upload current month 70 | dmon="$(vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $3" "substr ($4, 1, 1)}')" 71 | umon="$(vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $6" "substr ($7, 1, 1)}')" 72 | tmon="$(vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}')" 73 | # Getting CPU Information 74 | cpu_usage1="$(ps aux | awk 'BEGIN {sum=0} {sum+=$3}; END {print sum}')" 75 | cpu_usage="$((${cpu_usage1/\.*} / ${corediilik:-1}))" 76 | cpu_usage+=" %" 77 | ISP=$(curl -s ipinfo.io/org?token=7578ac19afd785 | cut -d " " -f 2-10 ) 78 | CITY=$(curl -s ipinfo.io/city?token=7578ac19afd785 ) 79 | WKT=$(curl -s ipinfo.io/timezone?token=7578ac19afd785 ) 80 | DAY=$(date +%A) 81 | DATE=$(date +%m/%d/%Y) 82 | DATE2=$(date -R | cut -d " " -f -5) 83 | IPVPS=$(curl -s ipinfo.io/ip?token=7578ac19afd785 ) 84 | cname=$( awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo ) 85 | cores=$( awk -F: '/model name/ {core++} END {print core}' /proc/cpuinfo ) 86 | freq=$( awk -F: ' /cpu MHz/ {freq=$2} END {print freq}' /proc/cpuinfo ) 87 | tram=$( free -m | awk 'NR==2 {print $2}' ) 88 | uram=$( free -m | awk 'NR==2 {print $3}' ) 89 | fram=$( free -m | awk 'NR==2 {print $4}' ) 90 | clear 91 | echo -e "\e[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 92 | echo -e " • SUPREME • " 93 | echo -e "\e[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 94 | echo -e "\e[33m OS \e[0m: "`hostnamectl | grep "Operating System" | cut -d ' ' -f5-` 95 | echo -e "\e[33m IP \e[0m: $IPVPS" 96 | echo -e "\e[33m ASN \e[0m: $ISP" 97 | echo -e "\e[33m CITY \e[0m: $CITY" 98 | echo -e "\e[33m DOMAIN \e[0m: $domain" 99 | echo -e "\e[33m DATE & TIME \e[0m: $DATE2" 100 | echo -e "\e[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 101 | echo -e " • SCRIPT MENU • " 102 | echo -e "\e[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 103 | echo -e " [\e[36m•1\e[0m] SSH Menu" 104 | echo -e " [\e[36m•2\e[0m] Vmess Menu" 105 | echo -e " [\e[36m•3\e[0m] Vless Menu" 106 | echo -e " [\e[36m•4\e[0m] Shadowsocks Menu" 107 | echo -e " [\e[36m•5\e[0m] Trojan Menu" 108 | echo -e " [\e[36m•6\e[0m] System Menu" 109 | echo -e " [\e[36m•7\e[0m] Status Service" 110 | echo -e " [\e[36m•8\e[0m] Clear RAM Cache" 111 | echo -e "" 112 | echo -e " Press x or [ Ctrl+C ] • To-Exit-Script" 113 | echo -e "" 114 | echo -e "\e[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 115 | echo -e " \e[33mClient Name \E[0m: $Name" 116 | echo -e " \e[33mExpired \E[0m: $Exp2" 117 | echo -e "\e[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 118 | echo -e "" 119 | read -p " Select menu : " opt 120 | echo -e "" 121 | case $opt in 122 | 1) clear ; m-sshovpn ;; 123 | 2) clear ; m-vmess ;; 124 | 3) clear ; m-vless ;; 125 | 4) clear ; m-ssws ;; 126 | 5) clear ; m-trojan ;; 127 | 6) clear ; m-system ;; 128 | 7) clear ; running ;; 129 | 8) clear ; clearcache ;; 130 | x) exit ;; 131 | *) echo "Anda salah tekan " ; sleep 1 ; menu ;; 132 | esac 133 | -------------------------------------------------------------------------------- /menu/running.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | GREEN='\033[0;32m' 3 | PURPLE='\033[0;35m' 4 | CYAN='\033[0;36m' 5 | NC='\033[0m' 6 | yl='\e[32;1m' 7 | bl='\e[36;1m' 8 | gl='\e[32;1m' 9 | rd='\e[31;1m' 10 | mg='\e[0;95m' 11 | blu='\e[34m' 12 | op='\e[35m' 13 | or='\033[1;33m' 14 | bd='\e[1m' 15 | color1='\e[031;1m' 16 | color2='\e[34;1m' 17 | color3='\e[0m' 18 | # Getting 19 | # IP Validation 20 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 21 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 22 | ######################### 23 | 24 | MYIP=$(curl -sS ipinfo.io/ip) 25 | 26 | red='\e[1;31m' 27 | green='\e[1;32m' 28 | NC='\e[0m' 29 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 30 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 31 | PERMISSION 32 | clear 33 | 34 | # GETTING OS INFORMATION 35 | source /etc/os-release 36 | Versi_OS=$VERSION 37 | ver=$VERSION_ID 38 | Tipe=$NAME 39 | URL_SUPPORT=$HOME_URL 40 | basedong=$ID 41 | 42 | # VPS ISP INFORMATION 43 | #ITAM='\033[0;30m' 44 | echo -e "$ITAM" 45 | REGION=$( curl -s ipinfo.io/region ) 46 | #clear 47 | #COUNTRY=$( curl -s ipinfo.io/country ) 48 | #clear 49 | #WAKTU=$( curl -s ipinfo.ip/timezone ) 50 | #clear 51 | CITY=$( curl -s ipinfo.io/city ) 52 | #clear 53 | #REGION=$( curl -s ipinfo.io/region ) 54 | #clear 55 | 56 | # CHEK STATUS 57 | #openvpn_service="$(systemctl show openvpn.service --no-page)" 58 | #oovpn=$(echo "${openvpn_service}" | grep 'ActiveState=' | cut -f2 -d=) 59 | #status_openvp=$(/etc/init.d/openvpn status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 60 | #status_ss_tls="$(systemctl show shadowsocks-libev-server@tls.service --no-page)" 61 | #ss_tls=$(echo "${status_ss_tls}" | grep 'ActiveState=' | cut -f2 -d=) 62 | #sst_status=$(systemctl status shadowsocks-libev-server@tls | grep Active | awk '{print $0}' | cut -d "(" -f2 | cut -d ")" -f1) 63 | #ssh_status=$(systemctl status shadowsocks-libev-server@http | grep Active | awk '{print $0}' | cut -d "(" -f2 | cut -d ")" -f1) 64 | #status_ss_http="$(systemctl show shadowsocks-libev-server@http.service --no-page)" 65 | #ss_http=$(echo "${status_ss_http}" | grep 'ActiveState=' | cut -f2 -d=) 66 | #sssohtt=$(systemctl status shadowsocks-libev-server@*-http | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 67 | #status="$(systemctl show shadowsocks-libev.service --no-page)" 68 | #status_text=$(echo "${status}" | grep 'ActiveState=' | cut -f2 -d=) 69 | tls_v2ray_status=$(systemctl status xray | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 70 | nontls_v2ray_status=$(systemctl status xray | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 71 | vless_tls_v2ray_status=$(systemctl status xray | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 72 | vless_nontls_v2ray_status=$(systemctl status xray | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 73 | shadowsocks=$(systemctl status xray | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 74 | #ssr_status=$(systemctl status ssrmu | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 75 | trojan_server=$(systemctl status xray | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 76 | dropbear_status=$(/etc/init.d/dropbear status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 77 | stunnel_service=$(/etc/init.d/stunnel4 status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 78 | #sstp_service=$(systemctl status accel-ppp | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 79 | #squid_service=$(/etc/init.d/squid status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 80 | ssh_service=$(/etc/init.d/ssh status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 81 | vnstat_service=$(/etc/init.d/vnstat status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 82 | cron_service=$(/etc/init.d/cron status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 83 | fail2ban_service=$(/etc/init.d/fail2ban status | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 84 | #wg="$(systemctl show wg-quick@wg0.service --no-page)" 85 | #swg=$(echo "${wg}" | grep 'ActiveState=' | cut -f2 -d=) 86 | #trgo="$(systemctl show trojan-go.service --no-page)" 87 | #strgo=$(echo "${trgo}" | grep 'ActiveState=' | cut -f2 -d=) 88 | #sswg=$(systemctl status wg-quick@wg0 | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 89 | wstls=$(systemctl status ws-stunnel.service | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 90 | wsdrop=$(systemctl status ws-dropbear.service | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 91 | #wsovpn=$(systemctl status ws-ovpn | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 92 | #wsopen=$(systemctl status ws-openssh | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 93 | #osslh=$(systemctl status sslh | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 94 | #ohp=$(systemctl status dropbear-ohp | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 95 | #ohq=$(systemctl status openvpn-ohp | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 96 | #ohr=$(systemctl status ssh-ohp | grep Active | awk '{print $3}' | cut -d "(" -f2 | cut -d ")" -f1) 97 | 98 | # COLOR VALIDATION 99 | RED='\033[0;31m' 100 | NC='\033[0m' 101 | GREEN='\033[0;32m' 102 | ORANGE='\033[0;33m' 103 | BLUE='\033[0;34m' 104 | PURPLE='\033[0;35m' 105 | CYAN='\033[0;36m' 106 | LIGHT='\033[0;37m' 107 | clear 108 | 109 | # STATUS SERVICE OPENVPN 110 | if [[ $oovpn == "active" ]]; then 111 | status_openvpn=" ${GREEN}Running ${NC}( No Error )" 112 | else 113 | status_openvpn="${RED} Not Running ${NC} ( Error )" 114 | fi 115 | 116 | # STATUS SERVICE SSH 117 | if [[ $ssh_service == "running" ]]; then 118 | status_ssh=" ${GREEN}Running ${NC}( No Error )" 119 | else 120 | status_ssh="${RED} Not Running ${NC} ( Error )" 121 | fi 122 | 123 | # STATUS SERVICE SQUID 124 | if [[ $squid_service == "running" ]]; then 125 | status_squid=" ${GREEN}Running ${NC}( No Error )" 126 | else 127 | status_squid="${RED} Not Running ${NC} ( Error )" 128 | fi 129 | 130 | # STATUS SERVICE VNSTAT 131 | if [[ $vnstat_service == "running" ]]; then 132 | status_vnstat=" ${GREEN}Running ${NC}( No Error )" 133 | else 134 | status_vnstat="${RED} Not Running ${NC} ( Error )" 135 | fi 136 | 137 | # STATUS SERVICE CRONS 138 | if [[ $cron_service == "running" ]]; then 139 | status_cron=" ${GREEN}Running ${NC}( No Error )" 140 | else 141 | status_cron="${RED} Not Running ${NC} ( Error )" 142 | fi 143 | 144 | # STATUS SERVICE FAIL2BAN 145 | if [[ $fail2ban_service == "running" ]]; then 146 | status_fail2ban=" ${GREEN}Running ${NC}( No Error )" 147 | else 148 | status_fail2ban="${RED} Not Running ${NC} ( Error )" 149 | fi 150 | 151 | # STATUS SERVICE TLS 152 | if [[ $tls_v2ray_status == "running" ]]; then 153 | status_tls_v2ray=" ${GREEN}Running${NC} ( No Error )" 154 | else 155 | status_tls_v2ray="${RED} Not Running${NC} ( Error )" 156 | fi 157 | 158 | # STATUS SERVICE NON TLS V2RAY 159 | if [[ $nontls_v2ray_status == "running" ]]; then 160 | status_nontls_v2ray=" ${GREEN}Running ${NC}( No Error )${NC}" 161 | else 162 | status_nontls_v2ray="${RED} Not Running ${NC} ( Error )${NC}" 163 | fi 164 | 165 | # STATUS SERVICE VLESS HTTPS 166 | if [[ $vless_tls_v2ray_status == "running" ]]; then 167 | status_tls_vless=" ${GREEN}Running${NC} ( No Error )" 168 | else 169 | status_tls_vless="${RED} Not Running ${NC} ( Error )${NC}" 170 | fi 171 | 172 | # STATUS SERVICE VLESS HTTP 173 | if [[ $vless_nontls_v2ray_status == "running" ]]; then 174 | status_nontls_vless=" ${GREEN}Running${NC} ( No Error )" 175 | else 176 | status_nontls_vless="${RED} Not Running ${NC} ( Error )${NC}" 177 | fi 178 | # STATUS SERVICE TROJAN 179 | if [[ $trojan_server == "running" ]]; then 180 | status_virus_trojan=" ${GREEN}Running ${NC}( No Error )${NC}" 181 | else 182 | status_virus_trojan="${RED} Not Running ${NC} ( Error )${NC}" 183 | fi 184 | # STATUS SERVICE DROPBEAR 185 | if [[ $dropbear_status == "running" ]]; then 186 | status_beruangjatuh=" ${GREEN}Running${NC} ( No Error )${NC}" 187 | else 188 | status_beruangjatuh="${RED} Not Running ${NC} ( Error )${NC}" 189 | fi 190 | 191 | # STATUS SERVICE STUNNEL 192 | if [[ $stunnel_service == "running" ]]; then 193 | status_stunnel=" ${GREEN}Running ${NC}( No Error )" 194 | else 195 | status_stunnel="${RED} Not Running ${NC} ( Error )}" 196 | fi 197 | # STATUS SERVICE WEBSOCKET TLS 198 | if [[ $wstls == "running" ]]; then 199 | swstls=" ${GREEN}Running ${NC}( No Error )${NC}" 200 | else 201 | swstls="${RED} Not Running ${NC} ( Error )${NC}" 202 | fi 203 | 204 | # STATUS SERVICE WEBSOCKET DROPBEAR 205 | if [[ $wsdrop == "running" ]]; then 206 | swsdrop=" ${GREEN}Running ${NC}( No Error )${NC}" 207 | else 208 | swsdrop="${RED} Not Running ${NC} ( Error )${NC}" 209 | fi 210 | 211 | # STATUS SHADOWSOCKS 212 | if [[ $shadowsocks == "running" ]]; then 213 | status_shadowsocks=" ${GREEN}Running ${NC}( No Error )${NC}" 214 | else 215 | status_shadowsocks="${RED} Not Running ${NC} ( Error )${NC}" 216 | fi 217 | 218 | 219 | 220 | # TOTAL RAM 221 | total_ram=` grep "MemTotal: " /proc/meminfo | awk '{ print $2}'` 222 | totalram=$(($total_ram/1024)) 223 | 224 | # TIPE PROCESSOR 225 | #totalcore="$(grep -c "^processor" /proc/cpuinfo)" 226 | #totalcore+=" Core" 227 | #corediilik="$(grep -c "^processor" /proc/cpuinfo)" 228 | #tipeprosesor="$(awk -F ': | @' '/model name|Processor|^cpu model|chip type|^cpu type/ { 229 | # printf $2; 230 | # exit 231 | # }' /proc/cpuinfo)" 232 | 233 | # GETTING CPU INFORMATION 234 | #cpu_usage1="$(ps aux | awk 'BEGIN {sum=0} {sum+=$3}; END {print sum}')" 235 | #cpu_usage="$((${cpu_usage1/\.*} / ${corediilik:-1}))" 236 | #cpu_usage+=" %" 237 | 238 | # OS UPTIME 239 | #uptime="$(uptime -p | cut -d " " -f 2-10)" 240 | 241 | # KERNEL TERBARU 242 | kernelku=$(uname -r) 243 | 244 | # WAKTU SEKARANG 245 | #harini=`date -d "0 days" +"%d-%m-%Y"` 246 | #jam=`date -d "0 days" +"%X"` 247 | 248 | # DNS PATCH 249 | #tipeos2=$(uname -m) 250 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 251 | Exp=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $3}') 252 | # GETTING DOMAIN NAME 253 | Domen="$(cat /etc/xray/domain)" 254 | echo -e "" 255 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 256 | echo -e "\E[44;1;39m ⇱ SYSTEM INFORMATION ⇲ \E[0m" 257 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 258 | echo -e "❇️ Hostname : $HOSTNAME" 259 | echo -e "❇️ OS Name : $Tipe" 260 | echo -e "❇️ Total RAM : ${totalram}MB" 261 | echo -e "❇️ Public IP : $MYIP" 262 | echo -e "❇️ Domain : $Domen" 263 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 264 | echo -e "\E[44;1;39m ⇱ SUBSCRIPTION INFORMATION ⇲ \E[0m" 265 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 266 | echo -e "❇️ Client Name : $Name" 267 | echo -e "❇️ Exp Script : $Exp" 268 | echo -e "❇️ Version : Latest Version" 269 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 270 | echo -e "\E[44;1;39m ⇱ SERVICE INFORMATION ⇲ \E[0m" 271 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 272 | echo -e "❇️ SSH / TUN :$status_ssh" 273 | #echo -e "❇️ OpenVPN :$status_openvpn" 274 | echo -e "❇️ Dropbear :$status_beruangjatuh" 275 | echo -e "❇️ Stunnel4 :$status_stunnel" 276 | #echo -e "❇️ Squid :$status_squid" 277 | echo -e "❇️ Fail2Ban :$status_fail2ban" 278 | echo -e "❇️ Crons :$status_cron" 279 | echo -e "❇️ Vnstat :$status_vnstat" 280 | echo -e "❇️ XRAYS Vmess TLS :$status_tls_v2ray" 281 | echo -e "❇️ XRAYS Vmess None TLS :$status_nontls_v2ray" 282 | echo -e "❇️ XRAYS Vless TLS :$status_tls_vless" 283 | echo -e "❇️ XRAYS Vless None TLS :$status_nontls_vless" 284 | echo -e "❇️ XRAYS Trojan :$status_virus_trojan" 285 | echo -e "❇️ Shadowsocks :$status_shadowsocks" 286 | echo -e "❇️ Websocket TLS :$swstls" 287 | echo -e "❇️ Websocket None TLS :$swstls" 288 | echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m${NC}" 289 | echo "" 290 | -------------------------------------------------------------------------------- /permission/ip: -------------------------------------------------------------------------------- 1 | ### LUPA 9999-01-01 157.230.42.183 2 | ### OK 9999-01-01 128.199.99.28 3 | ### AHMED 9999-01-01 52.14.157.57 4 | ### MAMA 999-01-01 194.195.241.30 5 | ### LOL 9999-01-01 143.110.190.68 6 | ### SSJ 9999-01-01 141.148.195.163 7 | ### SSH 9999-01-01 129.154.239.203 8 | ### MINI 9999-01-01 152.67.9.98 9 | ### ID 9999-01-01 103.187.106.22 10 | ### IDM 9999-01-01 155.248.247.161 11 | ### HEHE 9999-01-01 150.230.232.245 12 | ### OHH 9999-01-01 143.110.190.68 13 | ### IND 9999-01-01 152.67.4.6 14 | ### IMG 9999-01-01 140.238.251.218 15 | ### IMO 9999-01-01 140.238.250.111 16 | ### FIRE 9999-01-01 134.209.153.204 17 | ### ASW 9999-01-01 108.137.155.157 18 | ### WEKWEKA 9999-01-01 103.180.165.189 19 | ### WIBU 9999-01-01 206.189.89.30 20 | ### NEON 9999-01-01 54.254.169.126 21 | -------------------------------------------------------------------------------- /permission/versi: -------------------------------------------------------------------------------- 1 | Latest 2 | -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | # https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | 51 | clear 52 | red='\e[1;31m' 53 | green='\e[0;32m' 54 | yell='\e[1;33m' 55 | tyblue='\e[1;36m' 56 | NC='\e[0m' 57 | purple() { echo -e "\\033[35;1m${*}\\033[0m"; } 58 | tyblue() { echo -e "\\033[36;1m${*}\\033[0m"; } 59 | yellow() { echo -e "\\033[33;1m${*}\\033[0m"; } 60 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 61 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 62 | cd /root 63 | #System version number 64 | if [ "${EUID}" -ne 0 ]; then 65 | echo "You need to run this script as root" 66 | exit 1 67 | fi 68 | if [ "$(systemd-detect-virt)" == "openvz" ]; then 69 | echo "OpenVZ is not supported" 70 | exit 1 71 | fi 72 | 73 | localip=$(hostname -I | cut -d\ -f1) 74 | hst=( `hostname` ) 75 | dart=$(cat /etc/hosts | grep -w `hostname` | awk '{print $2}') 76 | if [[ "$hst" != "$dart" ]]; then 77 | echo "$localip $(hostname)" >> /etc/hosts 78 | fi 79 | 80 | mkdir -p /etc/xray 81 | mkdir -p /etc/v2ray 82 | touch /etc/xray/domain 83 | touch /etc/v2ray/domain 84 | touch /etc/xray/scdomain 85 | touch /etc/v2ray/scdomain 86 | 87 | 88 | echo -e "[ ${tyblue}NOTES${NC} ] Before we go.. " 89 | sleep 0.5 90 | echo -e "[ ${tyblue}NOTES${NC} ] I need check your headers first.." 91 | sleep 0.5 92 | echo -e "[ ${green}INFO${NC} ] Checking headers" 93 | sleep 0.5 94 | totet=`uname -r` 95 | REQUIRED_PKG="linux-headers-$totet" 96 | PKG_OK=$(dpkg-query -W --showformat='${Status}\n' $REQUIRED_PKG|grep "install ok installed") 97 | echo Checking for $REQUIRED_PKG: $PKG_OK 98 | if [ "" = "$PKG_OK" ]; then 99 | sleep 0.5 100 | echo -e "[ ${yell}WARNING${NC} ] Try to install ...." 101 | echo "No $REQUIRED_PKG. Setting up $REQUIRED_PKG." 102 | apt-get --yes install $REQUIRED_PKG 103 | sleep 0.5 104 | echo "" 105 | sleep 0.5 106 | echo -e "[ ${tyblue}NOTES${NC} ] If error you need.. to do this" 107 | sleep 0.5 108 | echo "" 109 | sleep 0.5 110 | echo -e "[ ${tyblue}NOTES${NC} ] apt update && upgrade" 111 | sleep 0.5 112 | echo "" 113 | sleep 0.5 114 | echo -e "[ ${tyblue}NOTES${NC} ] After this" 115 | sleep 0.5 116 | echo -e "[ ${tyblue}NOTES${NC} ] Then run this script again" 117 | echo -e "[ ${tyblue}NOTES${NC} ] enter now" 118 | read 119 | else 120 | echo -e "[ ${green}INFO${NC} ] Oke installed" 121 | fi 122 | 123 | ttet=`uname -r` 124 | ReqPKG="linux-headers-$ttet" 125 | if ! dpkg -s $ReqPKG >/dev/null 2>&1; then 126 | rm /root/setup.sh >/dev/null 2>&1 127 | exit 128 | else 129 | clear 130 | fi 131 | 132 | 133 | secs_to_human() { 134 | echo "Installation time : $(( ${1} / 3600 )) hours $(( (${1} / 60) % 60 )) minute's $(( ${1} % 60 )) seconds" 135 | } 136 | start=$(date +%s) 137 | ln -fs /usr/share/zoneinfo/Asia/Jakarta /etc/localtime 138 | sysctl -w net.ipv6.conf.all.disable_ipv6=1 >/dev/null 2>&1 139 | sysctl -w net.ipv6.conf.default.disable_ipv6=1 >/dev/null 2>&1 140 | 141 | echo -e "[ ${green}INFO${NC} ] Preparing the install file" 142 | apt install git curl -y >/dev/null 2>&1 143 | apt install python -y >/dev/null 2>&1 144 | echo -e "[ ${green}INFO${NC} ] Aight good ... installation file is ready" 145 | sleep 0.5 146 | echo -ne "[ ${green}INFO${NC} ] Check permission : " 147 | 148 | PERMISSION 149 | if [ -f /home/needupdate ]; then 150 | red "Your script need to update first !" 151 | exit 0 152 | elif [ "$res" = "Permission Accepted..." ]; then 153 | green "Permission Accepted!" 154 | else 155 | red "Permission Denied!" 156 | rm setup.sh > /dev/null 2>&1 157 | sleep 0.5 158 | exit 0 159 | fi 160 | sleep 0.5 161 | 162 | mkdir -p /var/lib/ >/dev/null 2>&1 163 | echo "IP=" >> /var/lib/ipvps.conf 164 | 165 | echo "" 166 | #wget -q https://raw.githubusercontent.com/nanotechid/supreme/aio/tools.sh;chmod +x tools.sh;./tools.sh 167 | #rm tools.sh 168 | clear 169 | red "Tambah Domain Untuk XRAY" 170 | echo " " 171 | read -rp "Input domain kamu : " -e dns 172 | if [ -z $dns ]; then 173 | echo -e " 174 | Nothing input for domain! 175 | Then a random domain will be created" 176 | else 177 | echo "$dns" > /root/scdomain 178 | echo "$dns" > /etc/xray/scdomain 179 | echo "$dns" > /etc/xray/domain 180 | echo "$dns" > /etc/v2ray/domain 181 | echo $dns > /root/domain 182 | echo "IP=$dns" > /var/lib/ipvps.conf 183 | fi 184 | 185 | #install ssh ovpn 186 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 187 | echo -e "$green Install SSH Websocket $NC" 188 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 189 | sleep 0.5 190 | clear 191 | wget https://raw.githubusercontent.com/nanotechid/supreme/aio/ssh/ssh-vpn.sh && chmod +x ssh-vpn.sh && ./ssh-vpn.sh 192 | #Instal Xray 193 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 194 | echo -e "$green Install XRAY $NC" 195 | echo -e "\e[33m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 196 | sleep 0.5 197 | clear 198 | wget https://raw.githubusercontent.com/nanotechid/supreme/aio/xray/ins-xray.sh && chmod +x ins-xray.sh && ./ins-xray.sh 199 | wget https://raw.githubusercontent.com/nanotechid/supreme/aio/sshws/insshws.sh && chmod +x insshws.sh && ./insshws.sh 200 | clear 201 | cat> /root/.profile << END 202 | # ~/.profile: executed by Bourne-compatible login shells. 203 | 204 | if [ "$BASH" ]; then 205 | if [ -f ~/.bashrc ]; then 206 | . ~/.bashrc 207 | fi 208 | fi 209 | 210 | mesg n || true 211 | clear 212 | menu 213 | END 214 | chmod 644 /root/.profile 215 | 216 | if [ -f "/root/log-install.txt" ]; then 217 | rm /root/log-install.txt > /dev/null 2>&1 218 | fi 219 | if [ -f "/etc/afak.conf" ]; then 220 | rm /etc/afak.conf > /dev/null 2>&1 221 | fi 222 | if [ ! -f "/etc/log-create-user.log" ]; then 223 | echo "Log All Account " > /etc/log-create-user.log 224 | fi 225 | history -c 226 | serverV=$( curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/versi ) 227 | echo $serverV > /opt/.ver 228 | aureb=$(cat /home/re_otm) 229 | b=11 230 | if [ $aureb -gt $b ] 231 | then 232 | gg="PM" 233 | else 234 | gg="AM" 235 | fi 236 | curl -sS ifconfig.me > /etc/myipvps 237 | echo " " 238 | echo "=====================-[ SUPREME ]-====================" 239 | echo "" 240 | echo "------------------------------------------------------------" 241 | echo "" 242 | echo "" 243 | echo " >>> Service & Port" | tee -a log-install.txt 244 | echo " - OpenSSH : 22" | tee -a log-install.txt 245 | echo " - SSH Websocket : 80 [ON]" | tee -a log-install.txt 246 | echo " - SSH SSL Websocket : 443" | tee -a log-install.txt 247 | echo " - Stunnel4 : 222, 777" | tee -a log-install.txt 248 | echo " - Dropbear : 109, 143" | tee -a log-install.txt 249 | echo " - Badvpn : 7100-7900" | tee -a log-install.txt 250 | echo " - Nginx : 81" | tee -a log-install.txt 251 | echo " - Vmess WS TLS : 443" | tee -a log-install.txt 252 | echo " - Vless WS TLS : 443" | tee -a log-install.txt 253 | echo " - Trojan WS TLS : 443" | tee -a log-install.txt 254 | echo " - Shadowsocks WS TLS : 443" | tee -a log-install.txt 255 | echo " - Vmess WS none TLS : 80" | tee -a log-install.txt 256 | echo " - Vless WS none TLS : 80" | tee -a log-install.txt 257 | echo " - Trojan WS none TLS : 80" | tee -a log-install.txt 258 | echo " - Shadowsocks WS none TLS : 80" | tee -a log-install.txt 259 | echo " - Vmess gRPC : 443" | tee -a log-install.txt 260 | echo " - Vless gRPC : 443" | tee -a log-install.txt 261 | echo " - Trojan gRPC : 443" | tee -a log-install.txt 262 | echo " - Shadowsocks gRPC : 443" | tee -a log-install.txt 263 | echo "" 264 | echo "" 265 | echo "------------------------------------------------------------" 266 | echo "" 267 | echo "=====================-[ SUPREME ]-====================" 268 | echo -e "" 269 | echo "" 270 | echo "" | tee -a log-install.txt 271 | rm /root/setup.sh >/dev/null 2>&1 272 | rm /root/ins-xray.sh >/dev/null 2>&1 273 | rm /root/insshws.sh >/dev/null 2>&1 274 | secs_to_human "$(($(date +%s) - ${start}))" | tee -a log-install.txt 275 | echo -e " 276 | " 277 | echo -ne "[ ${yell}WARNING${NC} ] reboot now ? (y/n)? " 278 | read answer 279 | if [ "$answer" == "${answer#[Yy]}" ] ;then 280 | exit 0 281 | else 282 | reboot 283 | fi 284 | 285 | 286 | 287 | 288 | 289 | -------------------------------------------------------------------------------- /ssh/add-host.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | cekray=`cat /root/log-install.txt | grep -ow "XRAY" | sort | uniq` 67 | 68 | clear 69 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 70 | echo "" 71 | read -rp "Domain/Host: " -e host 72 | echo "" 73 | if [ -z $host ]; then 74 | echo "????" 75 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 76 | read -n 1 -s -r -p "Press any key to back on menu" 77 | menu 78 | else 79 | echo "IP=$host" > /var/lib/ipvps.conf 80 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 81 | echo "Dont forget to renew cert" 82 | echo "" 83 | read -n 1 -s -r -p "Press any key to back on menu" 84 | menu 85 | fi 86 | -------------------------------------------------------------------------------- /ssh/autokill.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | if [ -f /home/needupdate ]; then 57 | red "Your script need to update first !" 58 | exit 0 59 | elif [ "$res" = "Permission Accepted..." ]; then 60 | echo -ne 61 | else 62 | red "Permission Denied!" 63 | exit 0 64 | fi 65 | 66 | Green_font_prefix="\033[32m" && Red_font_prefix="\033[31m" && Green_background_prefix="\033[42;37m" && Red_background_prefix="\033[41;37m" && Font_color_suffix="\033[0m" 67 | Info="${Green_font_prefix}[ON]${Font_color_suffix}" 68 | Error="${Red_font_prefix}[OFF]${Font_color_suffix}" 69 | cek=$(grep -c -E "^# Autokill" /etc/cron.d/tendang) 70 | if [[ "$cek" = "1" ]]; then 71 | sts="${Info}" 72 | else 73 | sts="${Error}" 74 | fi 75 | clear 76 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 77 | echo -e "\E[44;1;39m AUTOKILL SSH \E[0m" 78 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 79 | echo -e "Status Autokill : $sts " 80 | echo -e "" 81 | echo -e "[1] AutoKill After 5 Minutes" 82 | echo -e "[2] AutoKill After 10 Minutes" 83 | echo -e "[3] AutoKill After 15 Minutes" 84 | echo -e "[4] Turn Off AutoKill/MultiLogin" 85 | echo "" 86 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 87 | echo -e "" 88 | read -p "Select From Options [1-4 or x] : " AutoKill 89 | if [ -z $AutoKill ]; then 90 | autokill-menu 91 | fi 92 | read -p "Multilogin Maximum Number Of Allowed: " max 93 | echo -e "" 94 | case $AutoKill in 95 | 1) 96 | echo -e "" 97 | sleep 1 98 | clear 99 | echo > /etc/cron.d/tendang 100 | echo "# Autokill" >/etc/cron.d/tendang 101 | echo "*/5 * * * * root /usr/bin/tendang $max" >>/etc/cron.d/tendang 102 | echo -e "" 103 | echo -e "======================================" 104 | echo -e "" 105 | echo -e " Allowed MultiLogin : $max" 106 | echo -e " AutoKill Every : 5 Minutes" 107 | echo -e "" 108 | echo -e "======================================" 109 | service cron restart >/dev/null 2>&1 110 | service cron reload >/dev/null 2>&1 111 | ;; 112 | 2) 113 | echo -e "" 114 | sleep 1 115 | clear 116 | echo > /etc/cron.d/tendang 117 | echo "# Autokill" >/etc/cron.d/tendang 118 | echo "*/10 * * * * root /usr/bin/tendang $max" >>/etc/cron.d/tendang 119 | echo -e "" 120 | echo -e "======================================" 121 | echo -e "" 122 | echo -e " Allowed MultiLogin : $max" 123 | echo -e " AutoKill Every : 10 Minutes" 124 | echo -e "" 125 | echo -e "======================================" 126 | service cron restart >/dev/null 2>&1 127 | service cron reload >/dev/null 2>&1 128 | ;; 129 | 3) 130 | echo -e "" 131 | sleep 1 132 | clear 133 | echo > /etc/cron.d/tendang 134 | echo "# Autokill" >/etc/cron.d/tendang 135 | echo "*/15 * * * * root /usr/bin/tendang $max" >>/etc/cron.d/tendang 136 | echo -e "" 137 | echo -e "======================================" 138 | echo -e "" 139 | echo -e " Allowed MultiLogin : $max" 140 | echo -e " AutoKill Every : 15 Minutes" 141 | echo -e "" 142 | echo -e "======================================" 143 | service cron restart >/dev/null 2>&1 144 | service cron reload >/dev/null 2>&1 145 | ;; 146 | 4) 147 | clear 148 | rm /etc/cron.d/tendang 149 | echo -e "" 150 | echo -e "======================================" 151 | echo -e "" 152 | echo -e " AutoKill MultiLogin Turned Off " 153 | echo -e "" 154 | echo -e "======================================" 155 | service cron restart >/dev/null 2>&1 156 | service cron reload >/dev/null 2>&1 157 | ;; 158 | x) 159 | clear 160 | autokill-menu 161 | ;; 162 | esac 163 | read -n 1 -s -r -p "Press any key to back on menu" 164 | menu 165 | -------------------------------------------------------------------------------- /ssh/cek.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | 51 | red='\e[1;31m' 52 | green='\e[0;32m' 53 | NC='\e[0m' 54 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 55 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 56 | PERMISSION 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | echo " " 69 | echo " " 70 | 71 | if [ -e "/var/log/auth.log" ]; then 72 | LOG="/var/log/auth.log"; 73 | fi 74 | if [ -e "/var/log/secure" ]; then 75 | LOG="/var/log/secure"; 76 | fi 77 | 78 | data=( `ps aux | grep -i dropbear | awk '{print $2}'`); 79 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 80 | echo -e "\E[0;41;36m Dropbear User Login \E[0m" 81 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 82 | echo "ID | Username | IP Address"; 83 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 84 | cat $LOG | grep -i dropbear | grep -i "Password auth succeeded" > /tmp/login-db.txt; 85 | for PID in "${data[@]}" 86 | do 87 | cat /tmp/login-db.txt | grep "dropbear\[$PID\]" > /tmp/login-db-pid.txt; 88 | NUM=`cat /tmp/login-db-pid.txt | wc -l`; 89 | USER=`cat /tmp/login-db-pid.txt | awk '{print $10}'`; 90 | IP=`cat /tmp/login-db-pid.txt | awk '{print $12}'`; 91 | if [ $NUM -eq 1 ]; then 92 | echo "$PID - $USER - $IP"; 93 | fi 94 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 95 | 96 | done 97 | echo " " 98 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 99 | echo -e "\E[0;41;36m OpenSSH User Login \E[0m" 100 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 101 | echo "ID | Username | IP Address"; 102 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 103 | cat $LOG | grep -i sshd | grep -i "Accepted password for" > /tmp/login-db.txt 104 | data=( `ps aux | grep "\[priv\]" | sort -k 72 | awk '{print $2}'`); 105 | 106 | for PID in "${data[@]}" 107 | do 108 | cat /tmp/login-db.txt | grep "sshd\[$PID\]" > /tmp/login-db-pid.txt; 109 | NUM=`cat /tmp/login-db-pid.txt | wc -l`; 110 | USER=`cat /tmp/login-db-pid.txt | awk '{print $9}'`; 111 | IP=`cat /tmp/login-db-pid.txt | awk '{print $11}'`; 112 | if [ $NUM -eq 1 ]; then 113 | echo "$PID - $USER - $IP"; 114 | fi 115 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 116 | 117 | done 118 | if [ -f "/etc/openvpn/server/openvpn-tcp.log" ]; then 119 | echo " " 120 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 121 | echo -e "\E[0;41;36m OpenVPN TCP User Login \E[0m" 122 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 123 | echo "Username | IP Address | Connected Since"; 124 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 125 | cat /etc/openvpn/server/openvpn-tcp.log | grep -w "^CLIENT_LIST" | cut -d ',' -f 2,3,8 | sed -e 's/,/ /g' > /tmp/vpn-login-tcp.txt 126 | cat /tmp/vpn-login-tcp.txt 127 | fi 128 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 129 | 130 | if [ -f "/etc/openvpn/server/openvpn-udp.log" ]; then 131 | echo " " 132 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 133 | echo -e "\E[0;41;36m OpenVPN UDP User Login \E[0m" 134 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 135 | echo "Username | IP Address | Connected Since"; 136 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 137 | cat /etc/openvpn/server/openvpn-udp.log | grep -w "^CLIENT_LIST" | cut -d ',' -f 2,3,8 | sed -e 's/,/ /g' > /tmp/vpn-login-udp.txt 138 | cat /tmp/vpn-login-udp.txt 139 | fi 140 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 141 | echo ""; 142 | 143 | rm -f /tmp/login-db-pid.txt 144 | rm -f /tmp/login-db.txt 145 | rm -f /tmp/vpn-login-tcp.txt 146 | rm -f /tmp/vpn-login-udp.txt 147 | read -n 1 -s -r -p "Press any key to back on menu" 148 | 149 | menu 150 | -------------------------------------------------------------------------------- /ssh/ceklim.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | 51 | red='\e[1;31m' 52 | green='\e[0;32m' 53 | NC='\e[0m' 54 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 55 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 56 | PERMISSION 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 69 | echo -e "\E[0;41;36m CEK USER MULTI SSH \E[0m" 70 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 71 | if [ -e "/root/log-limit.txt" ]; then 72 | echo "User Who Violate The Maximum Limit"; 73 | echo "Time - Username - Number of Multilogin" 74 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 75 | cat /root/log-limit.txt 76 | else 77 | echo " No user has committed a violation" 78 | echo " " 79 | echo " or" 80 | echo " " 81 | echo " The user-limit script not been executed." 82 | fi 83 | echo " "; 84 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 85 | echo "" 86 | read -n 1 -s -r -p "Press any key to back on menu" 87 | menu 88 | -------------------------------------------------------------------------------- /ssh/delete.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | 51 | red='\e[1;31m' 52 | green='\e[0;32m' 53 | NC='\e[0m' 54 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 55 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 56 | PERMISSION 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | hariini=`date +%d-%m-%Y` 69 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 70 | echo -e "\E[0;41;36m AUTO DELETE \E[0m" 71 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 72 | echo "Thank you for removing the EXPIRED USERS" 73 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 74 | cat /etc/shadow | cut -d: -f1,8 | sed /:$/d > /tmp/expirelist.txt 75 | totalaccounts=`cat /tmp/expirelist.txt | wc -l` 76 | for((i=1; i<=$totalaccounts; i++ )) 77 | do 78 | tuserval=`head -n $i /tmp/expirelist.txt | tail -n 1` 79 | username=`echo $tuserval | cut -f1 -d:` 80 | userexp=`echo $tuserval | cut -f2 -d:` 81 | userexpireinseconds=$(( $userexp * 86400 )) 82 | tglexp=`date -d @$userexpireinseconds` 83 | tgl=`echo $tglexp |awk -F" " '{print $3}'` 84 | while [ ${#tgl} -lt 2 ] 85 | do 86 | tgl="0"$tgl 87 | done 88 | while [ ${#username} -lt 15 ] 89 | do 90 | username=$username" " 91 | done 92 | bulantahun=`echo $tglexp |awk -F" " '{print $2,$6}'` 93 | echo "echo "Expired- User : $username Expire at : $tgl $bulantahun"" >> /usr/local/bin/alluser 94 | todaystime=`date +%s` 95 | if [ $userexpireinseconds -ge $todaystime ] ; 96 | then 97 | : 98 | else 99 | echo "echo "Expired- Username : $username are expired at: $tgl $bulantahun and removed : $hariini "" >> /usr/local/bin/deleteduser 100 | echo "Username $username that are expired at $tgl $bulantahun removed from the VPS $hariini" 101 | userdel $username 102 | fi 103 | done 104 | echo " " 105 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 106 | 107 | read -n 1 -s -r -p "Press any key to back on menu" 108 | menu 109 | 110 | -------------------------------------------------------------------------------- /ssh/hapus.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 51 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 52 | PERMISSION 53 | if [ -f /home/needupdate ]; then 54 | red "Your script need to update first !" 55 | exit 0 56 | elif [ "$res" = "Permission Accepted..." ]; then 57 | echo -ne 58 | else 59 | red "Permission Denied!" 60 | exit 0 61 | fi 62 | 63 | clear 64 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 65 | echo -e "\E[0;41;36m DELETE USER \E[0m" 66 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 67 | echo "" 68 | read -p "Username SSH to Delete : " Pengguna 69 | 70 | if getent passwd $Pengguna > /dev/null 2>&1; then 71 | userdel $Pengguna > /dev/null 2>&1 72 | echo -e "User $Pengguna was removed." 73 | else 74 | echo -e "Failure: User $Pengguna Not Exist." 75 | fi 76 | 77 | read -n 1 -s -r -p "Press any key to back on menu" 78 | 79 | menu 80 | -------------------------------------------------------------------------------- /ssh/member.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[1;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | if [ -f /home/needupdate ]; then 57 | red "Your script need to update first !" 58 | exit 0 59 | elif [ "$res" = "Permission Accepted..." ]; then 60 | echo -ne 61 | else 62 | red "Permission Denied!" 63 | exit 0 64 | fi 65 | 66 | clear 67 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 68 | echo -e "\E[0;41;36m MEMBER SSH \E[0m" 69 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 70 | echo "USERNAME EXP DATE STATUS" 71 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 72 | while read expired 73 | do 74 | AKUN="$(echo $expired | cut -d: -f1)" 75 | ID="$(echo $expired | grep -v nobody | cut -d: -f3)" 76 | exp="$(chage -l $AKUN | grep "Account expires" | awk -F": " '{print $2}')" 77 | status="$(passwd -S $AKUN | awk '{print $2}' )" 78 | if [[ $ID -ge 1000 ]]; then 79 | if [[ "$status" = "L" ]]; then 80 | printf "%-17s %2s %-17s %2s \n" "$AKUN" "$exp " "${RED}LOCKED${NORMAL}" 81 | else 82 | printf "%-17s %2s %-17s %2s \n" "$AKUN" "$exp " "${GREEN}UNLOCKED${NORMAL}" 83 | fi 84 | fi 85 | done < /etc/passwd 86 | JUMLAH="$(awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd | wc -l)" 87 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 88 | echo "Account number: $JUMLAH user" 89 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 90 | read -n 1 -s -r -p "Press any key to back on menu" 91 | 92 | menu 93 | -------------------------------------------------------------------------------- /ssh/newudpgw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanotechid/supreme/bc8322c1f01965e75bfdd8d023761f9bda847038/ssh/newudpgw -------------------------------------------------------------------------------- /ssh/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes 1; 3 | pid /var/run/nginx.pid; 4 | events { 5 | multi_accept on; 6 | worker_connections 1024; 7 | } 8 | http { 9 | gzip on; 10 | gzip_vary on; 11 | gzip_comp_level 5; 12 | gzip_types text/plain application/x-javascript text/xml text/css; 13 | autoindex on; 14 | sendfile on; 15 | tcp_nopush on; 16 | tcp_nodelay on; 17 | keepalive_timeout 65; 18 | types_hash_max_size 2048; 19 | server_tokens off; 20 | include /etc/nginx/mime.types; 21 | default_type application/octet-stream; 22 | access_log /var/log/nginx/access.log; 23 | error_log /var/log/nginx/error.log; 24 | client_max_body_size 32M; 25 | client_header_buffer_size 8m; 26 | large_client_header_buffers 8 8m; 27 | fastcgi_buffer_size 8m; 28 | fastcgi_buffers 8 8m; 29 | fastcgi_read_timeout 600; 30 | #CloudFlare IPv4 31 | set_real_ip_from 199.27.128.0/21; 32 | set_real_ip_from 173.245.48.0/20; 33 | set_real_ip_from 103.21.244.0/22; 34 | set_real_ip_from 103.22.200.0/22; 35 | set_real_ip_from 103.31.4.0/22; 36 | set_real_ip_from 141.101.64.0/18; 37 | set_real_ip_from 108.162.192.0/18; 38 | set_real_ip_from 190.93.240.0/20; 39 | set_real_ip_from 188.114.96.0/20; 40 | set_real_ip_from 197.234.240.0/22; 41 | set_real_ip_from 198.41.128.0/17; 42 | set_real_ip_from 162.158.0.0/15; 43 | set_real_ip_from 104.16.0.0/12; 44 | #Incapsula 45 | set_real_ip_from 199.83.128.0/21; 46 | set_real_ip_from 198.143.32.0/19; 47 | set_real_ip_from 149.126.72.0/21; 48 | set_real_ip_from 103.28.248.0/22; 49 | set_real_ip_from 45.64.64.0/22; 50 | set_real_ip_from 185.11.124.0/22; 51 | set_real_ip_from 192.230.64.0/18; 52 | real_ip_header CF-Connecting-IP; 53 | include /etc/nginx/conf.d/*.conf; 54 | } -------------------------------------------------------------------------------- /ssh/password: -------------------------------------------------------------------------------- 1 | U2FsdGVkX18IS/a35aZft7mpXJmWYjQF3yihzH5senmP2LY/brc7N8+tYb7AzwL9 2 | Vju9llzaucRw7dHaZdSE7oTvGJbzgEK5NVHer7kcvGLVmbSV9BgjlcJMmztZDLEu 3 | yoVaLzEGR7TGmD8LzQ8VZa8UgpkkGSCJav+i9lDSOsbNatOYuImV2W1wIZ3NqWGL 4 | 6S6l6cSfiXP1QC5SbNGvM6UV6kyB+lUFZNuDbr5pz4VV6PiV57rqlE/WICFiaVPT 5 | 3/U/10H/DPdKU4Xstb8S/LqtMHVaejvildJC7C5qBJt2aOmUQrs7f8cchcgnHN+9 6 | yApESmpqUhUnqS5CJb85keQ2QXS7zIbXLSG+YEmsylv9wh2rY0bg6WSD0remqTlR 7 | w/9XOqt/PaJJeEqcLZnkv7X1566QSfznvVbyT8vWYun9L9ZM/nGZWbDwLPMoytU4 8 | SKCP9WZD4HSvzwiPfdGO0etlxFXPHSYheqEZGP+ewm8UQqZN69tVo1djTgOeyzXc 9 | q1iXT6NMTNt5VD1AJ1PabWi79jSaTxSZsUKxHtkydNyXS0TezoXL9aTEtsddIXTD 10 | NRN5jJs0CznMOlOW1mnbD+DkhXFb0sQcOt5NiIRgIKoGZ0/NfQ73mVkl2H0PLJZ2 11 | GW8InqsG6gieCBqNdcb6Q/p76eYo9UAYzyIzULZeoJIRQFopVgFBpCNeiziW6fdD 12 | wP4lwiu1J9MRdpTXRxb3qLU+7hE+h7htXbq3mxzs8iyDQEJ30sADLbe0p4W1n/Ik 13 | eCUbI/t+cof1qTs+owDLrcHmNU7n4rpJJo+Hr9/iwJXL4aNFeFwI0wXmcbJn02KC 14 | eobfjQo4CwZeq3WeWfxs7DploDtZ9MU7ncXRimkzwVptFZni3dHH7WFq4/9WShuN 15 | dScjBEKTx/zfPLlZ/qmkj9R87nR7yP9BlJ6DZSQASK4mEFT2B0++ZZfmuow3vkHN 16 | lq5CTa9IOUKZEvUEcJYCIOE3yhrQO45Nzp34EcxPgLnCgdIEqXA9LiHH0ws8M2Yt 17 | 7XFP0vXo2Q6plM+suchVfVtWJ86sLdRzw0l9GvMOZUTpB+tp/nJstfbeDJwbHLUb 18 | lde+CAcY/3ftf4WkmateiiGaLh+fP7MzPe7/Y7SuPI1vm5GHB+FoJXQnSIhQdLc0 19 | HNBrft3kBCD8RJqnjx9mB2wamy9xVxuL6hmSkvNdUnIdtcs5O2Tu/TIrAITN6OoQ 20 | si/Z8gtxCgRJ8fNjc8KYM4XY03tl7we3Sq5MvnBFU5iGv86rtxfoyCb1VPUTwbnx 21 | Y036dUlEPyZ6NHjxL82TVgj4cX/q3MiXkAGNEaVCmZURKkFSDpHG6IOJOq4bk9/s 22 | INJSU+E9tFSgXtuknqVH6Cel7AHpvYPtnijhloS5xrnl9idsWlq458xT8td2CQdn 23 | 74YEgJJMg4/brQoTrkSngpO5suIXIimiH3s3U/V04XPY8TKNzJXs0UvVdFdKs3Y1 24 | bNV4+gI3JcPwKJMGhQe9/8AOzkdmx3oLiavBH0eP/FlFQVvN/QXpIAvoG8J/Z7aX 25 | PUdr0JKDdyMM7btwS9+ysiSbJ36In6GXUzqBr7GgTIdfiF4ulnhmID3YR87il6rW 26 | mKqr/2oLzsURuNVIttLFYs0DZHLq7pXNbKutlhxkwVoJ1N+aG8/TIjBInhfKvHyf 27 | Wv1EsjO6xylChXWHEqtrEbY8JBgYy72aM0HoCkKCr2ZOKKdGpmFaxtW4YnrP/1Rw 28 | Uq0w7sAm+aV/AIhq3bZA0HJlLZDSAcnmMswoqKwKCAU2f7lrr0VZ7Gk01aOYPIw3 29 | 9mmqPpwNnH5sQgv9lDhCwJDHbeL6KVcJqoHQREf5xQpamtC5FsC0Pq8oXcVu0Xcb 30 | uqi8M9PZY+LahjlgFmyW51C9dql3OF5yxeFnHdezES2rJYwZrplK/rNNqR3g9Rjf 31 | YtbV/sXbtV1kgEG0vxEJqIArb8BP8D70FU6o3knoKuo= -------------------------------------------------------------------------------- /ssh/proxy3.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Proxy Bridge 3 | * Copyright PANCHO7532 - P7COMUnications LLC (c) 2021 4 | * Dedicated to Emanuel Miranda, for giving me the idea to make this :v 5 | */ 6 | const net = require('net'); 7 | const stream = require('stream'); 8 | const util = require('util'); 9 | var dhost = "127.0.0.1"; 10 | var dport = ""; 11 | var mainPort = ""; 12 | var outputFile = "outputFile.txt"; 13 | var packetsToSkip = 0; 14 | var gcwarn = true; 15 | for(c = 0; c < process.argv.length; c++) { 16 | switch(process.argv[c]) { 17 | case "-skip": 18 | packetsToSkip = process.argv[c + 1]; 19 | break; 20 | case "-dhost": 21 | dhost = process.argv[c + 1]; 22 | break; 23 | case "-dport": 24 | dport = process.argv[c + 1]; 25 | break; 26 | case "-mport": 27 | mainPort = process.argv[c + 1]; 28 | break; 29 | case "-o": 30 | outputFile = process.argv[c + 1]; 31 | break; 32 | } 33 | } 34 | function gcollector() { 35 | if(!global.gc && gcwarn) { 36 | console.log("[WARNING] Garbage Collector isn't enabled! Memory leaks may occur."); 37 | gcwarn = false; 38 | return; 39 | } else if(global.gc) { 40 | global.gc(); 41 | return; 42 | } else { 43 | return; 44 | } 45 | } 46 | function parseRemoteAddr(raddr) { 47 | if(raddr.toString().indexOf("ffff") != -1) { 48 | //is IPV4 address 49 | return raddr.substring(7, raddr.length); 50 | } else { 51 | return raddr; 52 | } 53 | } 54 | setInterval(gcollector, 1000); 55 | const server = net.createServer(); 56 | server.on('connection', function(socket) { 57 | var packetCount = 0; 58 | //var handshakeMade = false; 59 | socket.write("HTTP/1.1 101 AUTOSCRIPT BY ENVY VPN\r\nContent-Length: 1048576000000\r\n\r\n", function(err) { 60 | if(err) { 61 | console.log("[SWRITE] Failed to write response to " + socket.remoteAddress + ":" + socket.remotePort + ", error: " + err); 62 | } 63 | }); 64 | console.log("[INFO] Connection received from " + socket.remoteAddress + ":" + socket.remotePort); 65 | var conn = net.createConnection({host: dhost, port: dport}); 66 | socket.on('data', function(data) { 67 | //pipe sucks 68 | if(packetCount < packetsToSkip) { 69 | //console.log("---c1"); 70 | packetCount++; 71 | } else if(packetCount == packetsToSkip) { 72 | //console.log("---c2"); 73 | conn.write(data, function(err) { 74 | if(err) { 75 | console.log("[EWRITE] Failed to write to external socket! - " + err); 76 | } 77 | }); 78 | } 79 | if(packetCount > packetsToSkip) { 80 | //console.log("---c3"); 81 | packetCount = packetsToSkip; 82 | } 83 | //conn.write(data); 84 | }); 85 | conn.on('data', function(data) { 86 | //pipe sucks x2 87 | socket.write(data, function(err) { 88 | if(err) { 89 | console.log("[SWRITE2] Failed to write response to " + socket.remoteAddress + ":" + socket.remotePort + ", error: " + err); 90 | } 91 | }); 92 | }); 93 | socket.once('data', function(data) { 94 | /* 95 | * Nota para mas tarde, resolver que diferencia hay entre .on y .once 96 | */ 97 | }); 98 | socket.on('error', function(error) { 99 | console.log("[SOCKET] read " + error + " from " + socket.remoteAddress + ":" + socket.remotePort); 100 | conn.destroy(); 101 | }); 102 | conn.on('error', function(error) { 103 | console.log("[REMOTE] read " + error); 104 | socket.destroy(); 105 | }); 106 | socket.on('close', function() { 107 | console.log("[INFO] Connection terminated for " + socket.remoteAddress + ":" + socket.remotePort); 108 | conn.destroy(); 109 | }); 110 | }); 111 | server.on("error", function(error) { 112 | console.log("[SRV] Error " + error + ", this may be unrecoverable"); 113 | }); 114 | server.on("close", function() { 115 | //conection closed idk, maybe i should not capture this 116 | }); 117 | server.listen(mainPort, function(){ 118 | console.log("[INFO] Server started on port: " + mainPort); 119 | console.log("[INFO] Redirecting requests to: " + dhost + " at port " + dport); 120 | }); 121 | -------------------------------------------------------------------------------- /ssh/renew.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | if [ -f /home/needupdate ]; then 57 | red "Your script need to update first !" 58 | exit 0 59 | elif [ "$res" = "Permission Accepted..." ]; then 60 | echo -ne 61 | else 62 | red "Permission Denied!" 63 | exit 0 64 | fi 65 | 66 | clear 67 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 68 | echo -e "\E[0;41;36m RENEW USER \E[0m" 69 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 70 | echo 71 | read -p "Username : " User 72 | egrep "^$User" /etc/passwd >/dev/null 73 | if [ $? -eq 0 ]; then 74 | read -p "Day Extend : " Days 75 | Today=`date +%s` 76 | Days_Detailed=$(( $Days * 86400 )) 77 | Expire_On=$(($Today + $Days_Detailed)) 78 | Expiration=$(date -u --date="1970-01-01 $Expire_On sec GMT" +%Y/%m/%d) 79 | Expiration_Display=$(date -u --date="1970-01-01 $Expire_On sec GMT" '+%d %b %Y') 80 | passwd -u $User 81 | usermod -e $Expiration $User 82 | egrep "^$User" /etc/passwd >/dev/null 83 | echo -e "$Pass\n$Pass\n"|passwd $User &> /dev/null 84 | clear 85 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 86 | echo -e "\E[0;41;36m RENEW USER \E[0m" 87 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 88 | echo -e "" 89 | echo -e " Username : $User" 90 | echo -e " Days Added : $Days Days" 91 | echo -e " Expires on : $Expiration_Display" 92 | echo -e "" 93 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 94 | else 95 | clear 96 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 97 | echo -e "\E[0;41;36m RENEW USER \E[0m" 98 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 99 | echo -e "" 100 | echo -e " Username Doesnt Exist " 101 | echo -e "" 102 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 103 | fi 104 | -------------------------------------------------------------------------------- /ssh/speedtest_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanotechid/supreme/bc8322c1f01965e75bfdd8d023761f9bda847038/ssh/speedtest_cli.py -------------------------------------------------------------------------------- /ssh/tendang.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # SCRIPT ENVY VPN 3 | #!/bin/bash 4 | clear 5 | MAX=1 6 | if [ -e "/var/log/auth.log" ]; then 7 | OS=1; 8 | LOG="/var/log/auth.log"; 9 | fi 10 | if [ -e "/var/log/secure" ]; then 11 | OS=2; 12 | LOG="/var/log/secure"; 13 | fi 14 | 15 | if [ $OS -eq 1 ]; then 16 | service ssh restart > /dev/null 2>&1; 17 | fi 18 | if [ $OS -eq 2 ]; then 19 | service sshd restart > /dev/null 2>&1; 20 | fi 21 | service dropbear restart > /dev/null 2>&1; 22 | 23 | if [[ ${1+x} ]]; then 24 | MAX=$1; 25 | fi 26 | 27 | cat /etc/passwd | grep "/home/" | cut -d":" -f1 > /root/user.txt 28 | username1=( `cat "/root/user.txt" `); 29 | i="0"; 30 | for user in "${username1[@]}" 31 | do 32 | username[$i]=`echo $user | sed 's/'\''//g'`; 33 | jumlah[$i]=0; 34 | i=$i+1; 35 | done 36 | cat $LOG | grep -i dropbear | grep -i "Password auth succeeded" > /tmp/log-db.txt 37 | proc=( `ps aux | grep -i dropbear | awk '{print $2}'`); 38 | for PID in "${proc[@]}" 39 | do 40 | cat /tmp/log-db.txt | grep "dropbear\[$PID\]" > /tmp/log-db-pid.txt 41 | NUM=`cat /tmp/log-db-pid.txt | wc -l`; 42 | USER=`cat /tmp/log-db-pid.txt | awk '{print $10}' | sed 's/'\''//g'`; 43 | IP=`cat /tmp/log-db-pid.txt | awk '{print $12}'`; 44 | if [ $NUM -eq 1 ]; then 45 | i=0; 46 | for user1 in "${username[@]}" 47 | do 48 | if [ "$USER" == "$user1" ]; then 49 | jumlah[$i]=`expr ${jumlah[$i]} + 1`; 50 | pid[$i]="${pid[$i]} $PID" 51 | fi 52 | i=$i+1; 53 | done 54 | fi 55 | done 56 | cat $LOG | grep -i sshd | grep -i "Accepted password for" > /tmp/log-db.txt 57 | data=( `ps aux | grep "\[priv\]" | sort -k 72 | awk '{print $2}'`); 58 | for PID in "${data[@]}" 59 | do 60 | cat /tmp/log-db.txt | grep "sshd\[$PID\]" > /tmp/log-db-pid.txt; 61 | NUM=`cat /tmp/log-db-pid.txt | wc -l`; 62 | USER=`cat /tmp/log-db-pid.txt | awk '{print $9}'`; 63 | IP=`cat /tmp/log-db-pid.txt | awk '{print $11}'`; 64 | if [ $NUM -eq 1 ]; then 65 | i=0; 66 | for user1 in "${username[@]}" 67 | do 68 | if [ "$USER" == "$user1" ]; then 69 | jumlah[$i]=`expr ${jumlah[$i]} + 1`; 70 | pid[$i]="${pid[$i]} $PID" 71 | fi 72 | i=$i+1; 73 | done 74 | fi 75 | done 76 | j="0"; 77 | for i in ${!username[*]} 78 | do 79 | if [ ${jumlah[$i]} -gt $MAX ]; then 80 | date=`date +"%Y-%m-%d %X"`; 81 | echo "$date - ${username[$i]} - ${jumlah[$i]}"; 82 | echo "$date - ${username[$i]} - ${jumlah[$i]}" >> /root/log-limit.txt; 83 | kill ${pid[$i]}; 84 | pid[$i]=""; 85 | j=`expr $j + 1`; 86 | fi 87 | done 88 | if [ $j -gt 0 ]; then 89 | if [ $OS -eq 1 ]; then 90 | service ssh restart > /dev/null 2>&1; 91 | fi 92 | if [ $OS -eq 2 ]; then 93 | service sshd restart > /dev/null 2>&1; 94 | fi 95 | service dropbear restart > /dev/null 2>&1; 96 | j=0; 97 | fi 98 | -------------------------------------------------------------------------------- /ssh/trial.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | if [ -f /home/needupdate ]; then 57 | red "Your script need to update first !" 58 | exit 0 59 | elif [ "$res" = "Permission Accepted..." ]; then 60 | echo -ne 61 | else 62 | red "Permission Denied!" 63 | exit 0 64 | fi 65 | 66 | 67 | cekray=`cat /root/log-install.txt | grep -ow "XRAY" | sort | uniq` 68 | if [ "$cekray" = "XRAY" ]; then 69 | domen=`cat /etc/xray/domain` 70 | else 71 | domen=`cat /etc/v2ray/domain` 72 | fi 73 | portsshws=`cat ~/log-install.txt | grep -w "SSH Websocket" | cut -d: -f2 | awk '{print $1}'` 74 | wsssl=`cat /root/log-install.txt | grep -w "SSH SSL Websocket" | cut -d: -f2 | awk '{print $1}'` 75 | 76 | clear 77 | IP=$(curl -sS ifconfig.me); 78 | ossl=`cat /root/log-install.txt | grep -w "OpenVPN" | cut -f2 -d: | awk '{print $6}'` 79 | opensh=`cat /root/log-install.txt | grep -w "OpenSSH" | cut -f2 -d: | awk '{print $1}'` 80 | db=`cat /root/log-install.txt | grep -w "Dropbear" | cut -f2 -d: | awk '{print $1,$2}'` 81 | ssl="$(cat ~/log-install.txt | grep -w "Stunnel4" | cut -d: -f2)" 82 | sqd="$(cat ~/log-install.txt | grep -w "Squid" | cut -d: -f2)" 83 | ovpn="$(netstat -nlpt | grep -i openvpn | grep -i 0.0.0.0 | awk '{print $4}' | cut -d: -f2)" 84 | ovpn2="$(netstat -nlpu | grep -i openvpn | grep -i 0.0.0.0 | awk '{print $4}' | cut -d: -f2)" 85 | 86 | OhpSSH=`cat /root/log-install.txt | grep -w "OHP SSH" | cut -d: -f2 | awk '{print $1}'` 87 | OhpDB=`cat /root/log-install.txt | grep -w "OHP DBear" | cut -d: -f2 | awk '{print $1}'` 88 | OhpOVPN=`cat /root/log-install.txt | grep -w "OHP OpenVPN" | cut -d: -f2 | awk '{print $1}'` 89 | 90 | Login=trial` /dev/null 102 | PID=`ps -ef |grep -v grep | grep sshws |awk '{print $2}'` 103 | 104 | if [[ ! -z "${PID}" ]]; then 105 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 106 | echo -e "\E[0;41;36m TRIAL SSH \E[0m" 107 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 108 | echo -e "Username : $Login" 109 | echo -e "Password : $Pass" 110 | echo -e "Expired On : $exp" 111 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 112 | echo -e "IP : $IP" 113 | echo -e "Host : $domen" 114 | echo -e "OpenSSH : $opensh" 115 | echo -e "Dropbear : $db" 116 | echo -e "SSH WS : $portsshws" 117 | echo -e "SSH SSL WS : $wsssl" 118 | echo -e "SSL/TLS : $ssl" 119 | echo -e "UDPGW : 7100-7900" 120 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 121 | echo -e "Payload WSS" 122 | echo -e "GET wss://isi_bug_disini HTTP/1.1[crlf]Host: ${domen}[crlf]Upgrade: websocket[crlf][crlf]" 123 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 124 | echo -e "Payload WS" 125 | echo -e "GET / HTTP/1.1[crlf]Host: $domen[crlf]Upgrade: websocket[crlf][crlf]" 126 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 127 | 128 | else 129 | 130 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 131 | echo -e "\E[0;41;36m TRIAL SSH \E[0m" 132 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 133 | echo -e "Username : $Login" 134 | echo -e "Password : $Pass" 135 | echo -e "Expired On : $exp" 136 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 137 | echo -e "IP : $IP" 138 | echo -e "Host : $domen" 139 | echo -e "OpenSSH : $opensh" 140 | echo -e "Dropbear : $db" 141 | echo -e "SSH WS : $portsshws" 142 | echo -e "SSH SSL WS : $wsssl" 143 | echo -e "SSL/TLS : $ssl" 144 | echo -e "UDPGW : 7100-7900" 145 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 146 | echo -e "Payload WSS" 147 | echo -e "GET wss://isi_bug_disini HTTP/1.1[crlf]Host: ${domen}[crlf]Upgrade: websocket[crlf][crlf]" 148 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 149 | echo -e "Payload WS" 150 | echo -e "GET / HTTP/1.1[crlf]Host: $domen[crlf]Upgrade: websocket[crlf][crlf]" 151 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 152 | fi 153 | echo "" 154 | read -n 1 -s -r -p "Press any key to back on menu" 155 | menu 156 | -------------------------------------------------------------------------------- /ssh/txt.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanotechid/supreme/bc8322c1f01965e75bfdd8d023761f9bda847038/ssh/txt.zip -------------------------------------------------------------------------------- /ssh/usernew.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | clear 6 | cekray=`cat /root/log-install.txt | grep -ow "XRAY" | sort | uniq` 7 | if [ "$cekray" = "XRAY" ]; then 8 | domen=`cat /etc/xray/domain` 9 | else 10 | domen=`cat /etc/v2ray/domain` 11 | fi 12 | portsshws=`cat ~/log-install.txt | grep -w "SSH Websocket" | cut -d: -f2 | awk '{print $1}'` 13 | wsssl=`cat /root/log-install.txt | grep -w "SSH SSL Websocket" | cut -d: -f2 | awk '{print $1}'` 14 | 15 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 16 | echo -e "\E[0;41;36m SSH Account \E[0m" 17 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 18 | read -p "Username : " Login 19 | read -p "Password : " Pass 20 | read -p "Expired (hari): " masaaktif 21 | 22 | IP=$(curl -sS ifconfig.me); 23 | ossl=`cat /root/log-install.txt | grep -w "OpenVPN" | cut -f2 -d: | awk '{print $6}'` 24 | opensh=`cat /root/log-install.txt | grep -w "OpenSSH" | cut -f2 -d: | awk '{print $1}'` 25 | db=`cat /root/log-install.txt | grep -w "Dropbear" | cut -f2 -d: | awk '{print $1,$2}'` 26 | ssl="$(cat ~/log-install.txt | grep -w "Stunnel4" | cut -d: -f2)" 27 | sqd="$(cat ~/log-install.txt | grep -w "Squid" | cut -d: -f2)" 28 | #ovpn="$(netstat -nlpt | grep -i openvpn | grep -i 0.0.0.0 | awk '{print $4}' | cut -d: -f2)" 29 | #ovpn2="$(netstat -nlpu | grep -i openvpn | grep -i 0.0.0.0 | awk '{print $4}' | cut -d: -f2)" 30 | 31 | OhpSSH=`cat /root/log-install.txt | grep -w "OHP SSH" | cut -d: -f2 | awk '{print $1}'` 32 | OhpDB=`cat /root/log-install.txt | grep -w "OHP DBear" | cut -d: -f2 | awk '{print $1}'` 33 | OhpOVPN=`cat /root/log-install.txt | grep -w "OHP OpenVPN" | cut -d: -f2 | awk '{print $1}'` 34 | 35 | sleep 1 36 | clear 37 | useradd -e `date -d "$masaaktif days" +"%Y-%m-%d"` -s /bin/false -M $Login 38 | exp="$(chage -l $Login | grep "Account expires" | awk -F": " '{print $2}')" 39 | echo -e "$Pass\n$Pass\n"|passwd $Login &> /dev/null 40 | PID=`ps -ef |grep -v grep | grep sshws |awk '{print $2}'` 41 | 42 | if [[ ! -z "${PID}" ]]; then 43 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 44 | echo -e "\E[0;41;36m SSH Account \E[0m" | tee -a /etc/log-create-user.log 45 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 46 | echo -e "Username : $Login" | tee -a /etc/log-create-user.log 47 | echo -e "Password : $Pass" | tee -a /etc/log-create-user.log 48 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 49 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 50 | echo -e "IP : $IP" | tee -a /etc/log-create-user.log 51 | echo -e "Host : $domen" | tee -a /etc/log-create-user.log 52 | echo -e "OpenSSH : $opensh" | tee -a /etc/log-create-user.log 53 | echo -e "SSH WS : $portsshws" | tee -a /etc/log-create-user.log 54 | echo -e "SSH SSL WS : $wsssl" | tee -a /etc/log-create-user.log 55 | echo -e "SSL/TLS : $ssl" | tee -a /etc/log-create-user.log 56 | echo -e "UDPGW : 7100-7900" | tee -a /etc/log-create-user.log 57 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 58 | echo -e "Payload WSS" | tee -a /etc/log-create-user.log 59 | echo -e " 60 | GET wss://isi_bug_disini HTTP/1.1[crlf]Host: ${domen}[crlf]Upgrade: websocket[crlf][crlf] 61 | " | tee -a /etc/log-create-user.log 62 | echo -e "Payload WS" | tee -a /etc/log-create-user.log 63 | echo -e " 64 | GET / HTTP/1.1[crlf]Host: $domen[crlf]Upgrade: websocket[crlf][crlf] 65 | " | tee -a /etc/log-create-user.log 66 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 67 | else 68 | 69 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 70 | echo -e "\E[0;41;36m SSH Account \E[0m" | tee -a /etc/log-create-user.log 71 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 72 | echo -e "Username : $Login" | tee -a /etc/log-create-user.log 73 | echo -e "Password : $Pass" | tee -a /etc/log-create-user.log 74 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 75 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 76 | echo -e "IP : $IP" | tee -a /etc/log-create-user.log 77 | echo -e "Host : $domen" | tee -a /etc/log-create-user.log 78 | echo -e "OpenSSH : $opensh" | tee -a /etc/log-create-user.log 79 | echo -e "SSH WS : $portsshws" | tee -a /etc/log-create-user.log 80 | echo -e "SSH SSL WS : $wsssl" | tee -a /etc/log-create-user.log 81 | echo -e "SSL/TLS : $ssl" | tee -a /etc/log-create-user.log 82 | echo -e "UDPGW : 7100-7900" | tee -a /etc/log-create-user.log 83 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 84 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 85 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 86 | echo -e "Payload WSS" | tee -a /etc/log-create-user.log 87 | echo -e " 88 | GET wss://isi_bug_disini HTTP/1.1[crlf]Host: ${domen}[crlf]Upgrade: websocket[crlf][crlf] 89 | " | tee -a /etc/log-create-user.log 90 | echo -e "Payload WS" | tee -a /etc/log-create-user.log 91 | echo -e " 92 | GET / HTTP/1.1[crlf]Host: $domen[crlf]Upgrade: websocket[crlf][crlf] 93 | " | tee -a /etc/log-create-user.log 94 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 95 | fi 96 | echo "" | tee -a /etc/log-create-user.log 97 | read -n 1 -s -r -p "Press any key to back on menu" 98 | menu 99 | -------------------------------------------------------------------------------- /ssh/xp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | if [ -f /home/needupdate ]; then 57 | red "Your script need to update first !" 58 | exit 0 59 | elif [ "$res" = "Permission Accepted..." ]; then 60 | echo -ne 61 | else 62 | red "Permission Denied!" 63 | exit 0 64 | fi 65 | 66 | ##----- Auto Remove Vmess 67 | data=( `cat /etc/xray/config.json | grep '^###' | cut -d ' ' -f 2 | sort | uniq`); 68 | now=`date +"%Y-%m-%d"` 69 | for user in "${data[@]}" 70 | do 71 | exp=$(grep -w "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 72 | d1=$(date -d "$exp" +%s) 73 | d2=$(date -d "$now" +%s) 74 | exp2=$(( (d1 - d2) / 86400 )) 75 | if [[ "$exp2" -le "0" ]]; then 76 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 77 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 78 | rm -f /etc/xray/$user-tls.json /etc/xray/$user-none.json 79 | fi 80 | done 81 | 82 | #----- Auto Remove Vless 83 | data=( `cat /etc/xray/config.json | grep '^#&' | cut -d ' ' -f 2 | sort | uniq`); 84 | now=`date +"%Y-%m-%d"` 85 | for user in "${data[@]}" 86 | do 87 | exp=$(grep -w "^#& $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 88 | d1=$(date -d "$exp" +%s) 89 | d2=$(date -d "$now" +%s) 90 | exp2=$(( (d1 - d2) / 86400 )) 91 | if [[ "$exp2" -le "0" ]]; then 92 | sed -i "/^#& $user $exp/,/^},{/d" /etc/xray/config.json 93 | sed -i "/^#& $user $exp/,/^},{/d" /etc/xray/config.json 94 | fi 95 | done 96 | 97 | #----- Auto Remove Trojan 98 | data=( `cat /etc/xray/config.json | grep '^#!' | cut -d ' ' -f 2 | sort | uniq`); 99 | now=`date +"%Y-%m-%d"` 100 | for user in "${data[@]}" 101 | do 102 | exp=$(grep -w "^#! $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 103 | d1=$(date -d "$exp" +%s) 104 | d2=$(date -d "$now" +%s) 105 | exp2=$(( (d1 - d2) / 86400 )) 106 | if [[ "$exp2" -le "0" ]]; then 107 | sed -i "/^#! $user $exp/,/^},{/d" /etc/xray/config.json 108 | sed -i "/^#! $user $exp/,/^},{/d" /etc/xray/config.json 109 | fi 110 | done 111 | systemctl restart xray 112 | 113 | 114 | ##------ Auto Remove SSH 115 | hariini=`date +%d-%m-%Y` 116 | cat /etc/shadow | cut -d: -f1,8 | sed /:$/d > /tmp/expirelist.txt 117 | totalaccounts=`cat /tmp/expirelist.txt | wc -l` 118 | for((i=1; i<=$totalaccounts; i++ )) 119 | do 120 | tuserval=`head -n $i /tmp/expirelist.txt | tail -n 1` 121 | username=`echo $tuserval | cut -f1 -d:` 122 | userexp=`echo $tuserval | cut -f2 -d:` 123 | userexpireinseconds=$(( $userexp * 86400 )) 124 | tglexp=`date -d @$userexpireinseconds` 125 | tgl=`echo $tglexp |awk -F" " '{print $3}'` 126 | while [ ${#tgl} -lt 2 ] 127 | do 128 | tgl="0"$tgl 129 | done 130 | while [ ${#username} -lt 15 ] 131 | do 132 | username=$username" " 133 | done 134 | bulantahun=`echo $tglexp |awk -F" " '{print $2,$6}'` 135 | todaystime=`date +%s` 136 | if [ $userexpireinseconds -ge $todaystime ] ; 137 | then 138 | : 139 | else 140 | userdel --force $username 141 | fi 142 | done 143 | -------------------------------------------------------------------------------- /sshws/insshws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #installer Websocker tunneling 3 | 4 | cd 5 | 6 | #Install Script Websocket-SSH Python 7 | wget -O /usr/local/bin/ws-dropbear https://raw.githubusercontent.com/nanotechid/supreme/aio/sshws/ws-dropbear 8 | wget -O /usr/local/bin/ws-stunnel https://raw.githubusercontent.com/nanotechid/supreme/aio/sshws/ws-stunnel 9 | 10 | #izin permision 11 | chmod +x /usr/local/bin/ws-dropbear 12 | chmod +x /usr/local/bin/ws-stunnel 13 | 14 | #System Dropbear Websocket-SSH Python 15 | wget -O /etc/systemd/system/ws-dropbear.service https://raw.githubusercontent.com/nanotechid/supreme/aio/sshws/service-wsdropbear && chmod +x /etc/systemd/system/ws-dropbear.service 16 | 17 | #System SSL/TLS Websocket-SSH Python 18 | wget -O /etc/systemd/system/ws-stunnel.service https://raw.githubusercontent.com/nanotechid/supreme/aio/sshws/ws-stunnel.service && chmod +x /etc/systemd/system/ws-stunnel.service 19 | 20 | 21 | #restart service 22 | systemctl daemon-reload 23 | 24 | #Enable & Start & Restart ws-dropbear service 25 | systemctl enable ws-dropbear.service 26 | systemctl start ws-dropbear.service 27 | systemctl restart ws-dropbear.service 28 | 29 | #Enable & Start & Restart ws-openssh service 30 | systemctl enable ws-stunnel.service 31 | systemctl start ws-stunnel.service 32 | systemctl restart ws-stunnel.service 33 | -------------------------------------------------------------------------------- /sshws/ws-dropbear: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | import socket, threading, thread, select, signal, sys, time, getopt 3 | 4 | # Listen 5 | LISTENING_ADDR = '0.0.0.0' 6 | LISTENING_PORT = sys.argv[1] 7 | 8 | # Pass 9 | PASS = '' 10 | 11 | # CONST 12 | BUFLEN = 4096 * 4 13 | TIMEOUT = 60 14 | DEFAULT_HOST = '127.0.0.1:109' 15 | RESPONSE = 'HTTP/1.1 101 Switching Protocols\r\nContent-Length: 104857600000\r\n\r\n' 16 | 17 | class Server(threading.Thread): 18 | def __init__(self, host, port): 19 | threading.Thread.__init__(self) 20 | self.running = False 21 | self.host = host 22 | self.port = port 23 | self.threads = [] 24 | self.threadsLock = threading.Lock() 25 | self.logLock = threading.Lock() 26 | 27 | def run(self): 28 | self.soc = socket.socket(socket.AF_INET) 29 | self.soc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 30 | self.soc.settimeout(2) 31 | intport = int(self.port) 32 | self.soc.bind((self.host, intport)) 33 | self.soc.listen(0) 34 | self.running = True 35 | 36 | try: 37 | while self.running: 38 | try: 39 | c, addr = self.soc.accept() 40 | c.setblocking(1) 41 | except socket.timeout: 42 | continue 43 | 44 | conn = ConnectionHandler(c, self, addr) 45 | conn.start() 46 | self.addConn(conn) 47 | finally: 48 | self.running = False 49 | self.soc.close() 50 | 51 | def printLog(self, log): 52 | self.logLock.acquire() 53 | print log 54 | self.logLock.release() 55 | 56 | def addConn(self, conn): 57 | try: 58 | self.threadsLock.acquire() 59 | if self.running: 60 | self.threads.append(conn) 61 | finally: 62 | self.threadsLock.release() 63 | 64 | def removeConn(self, conn): 65 | try: 66 | self.threadsLock.acquire() 67 | self.threads.remove(conn) 68 | finally: 69 | self.threadsLock.release() 70 | 71 | def close(self): 72 | try: 73 | self.running = False 74 | self.threadsLock.acquire() 75 | 76 | threads = list(self.threads) 77 | for c in threads: 78 | c.close() 79 | finally: 80 | self.threadsLock.release() 81 | 82 | 83 | class ConnectionHandler(threading.Thread): 84 | def __init__(self, socClient, server, addr): 85 | threading.Thread.__init__(self) 86 | self.clientClosed = False 87 | self.targetClosed = True 88 | self.client = socClient 89 | self.client_buffer = '' 90 | self.server = server 91 | self.log = 'Connection: ' + str(addr) 92 | 93 | def close(self): 94 | try: 95 | if not self.clientClosed: 96 | self.client.shutdown(socket.SHUT_RDWR) 97 | self.client.close() 98 | except: 99 | pass 100 | finally: 101 | self.clientClosed = True 102 | 103 | try: 104 | if not self.targetClosed: 105 | self.target.shutdown(socket.SHUT_RDWR) 106 | self.target.close() 107 | except: 108 | pass 109 | finally: 110 | self.targetClosed = True 111 | 112 | def run(self): 113 | try: 114 | self.client_buffer = self.client.recv(BUFLEN) 115 | 116 | hostPort = self.findHeader(self.client_buffer, 'X-Real-Host') 117 | 118 | if hostPort == '': 119 | hostPort = DEFAULT_HOST 120 | 121 | split = self.findHeader(self.client_buffer, 'X-Split') 122 | 123 | if split != '': 124 | self.client.recv(BUFLEN) 125 | 126 | if hostPort != '': 127 | passwd = self.findHeader(self.client_buffer, 'X-Pass') 128 | 129 | if len(PASS) != 0 and passwd == PASS: 130 | self.method_CONNECT(hostPort) 131 | elif len(PASS) != 0 and passwd != PASS: 132 | self.client.send('HTTP/1.1 400 WrongPass!\r\n\r\n') 133 | elif hostPort.startswith('127.0.0.1') or hostPort.startswith('localhost'): 134 | self.method_CONNECT(hostPort) 135 | else: 136 | self.client.send('HTTP/1.1 403 Forbidden!\r\n\r\n') 137 | else: 138 | print '- No X-Real-Host!' 139 | self.client.send('HTTP/1.1 400 NoXRealHost!\r\n\r\n') 140 | 141 | except Exception as e: 142 | self.log += ' - error: ' + e.strerror 143 | self.server.printLog(self.log) 144 | pass 145 | finally: 146 | self.close() 147 | self.server.removeConn(self) 148 | 149 | def findHeader(self, head, header): 150 | aux = head.find(header + ': ') 151 | 152 | if aux == -1: 153 | return '' 154 | 155 | aux = head.find(':', aux) 156 | head = head[aux+2:] 157 | aux = head.find('\r\n') 158 | 159 | if aux == -1: 160 | return '' 161 | 162 | return head[:aux]; 163 | 164 | def connect_target(self, host): 165 | i = host.find(':') 166 | if i != -1: 167 | port = int(host[i+1:]) 168 | host = host[:i] 169 | else: 170 | if self.method=='CONNECT': 171 | port = 443 172 | else: 173 | port = sys.argv[1] 174 | 175 | (soc_family, soc_type, proto, _, address) = socket.getaddrinfo(host, port)[0] 176 | 177 | self.target = socket.socket(soc_family, soc_type, proto) 178 | self.targetClosed = False 179 | self.target.connect(address) 180 | 181 | def method_CONNECT(self, path): 182 | self.log += ' - CONNECT ' + path 183 | 184 | self.connect_target(path) 185 | self.client.sendall(RESPONSE) 186 | self.client_buffer = '' 187 | 188 | self.server.printLog(self.log) 189 | self.doCONNECT() 190 | 191 | def doCONNECT(self): 192 | socs = [self.client, self.target] 193 | count = 0 194 | error = False 195 | while True: 196 | count += 1 197 | (recv, _, err) = select.select(socs, [], socs, 3) 198 | if err: 199 | error = True 200 | if recv: 201 | for in_ in recv: 202 | try: 203 | data = in_.recv(BUFLEN) 204 | if data: 205 | if in_ is self.target: 206 | self.client.send(data) 207 | else: 208 | while data: 209 | byte = self.target.send(data) 210 | data = data[byte:] 211 | 212 | count = 0 213 | else: 214 | break 215 | except: 216 | error = True 217 | break 218 | if count == TIMEOUT: 219 | error = True 220 | if error: 221 | break 222 | 223 | 224 | def print_usage(): 225 | print 'Usage: proxy.py -p ' 226 | print ' proxy.py -b -p ' 227 | print ' proxy.py -b 0.0.0.0 -p 80' 228 | 229 | def parse_args(argv): 230 | global LISTENING_ADDR 231 | global LISTENING_PORT 232 | 233 | try: 234 | opts, args = getopt.getopt(argv,"hb:p:",["bind=","port="]) 235 | except getopt.GetoptError: 236 | print_usage() 237 | sys.exit(2) 238 | for opt, arg in opts: 239 | if opt == '-h': 240 | print_usage() 241 | sys.exit() 242 | elif opt in ("-b", "--bind"): 243 | LISTENING_ADDR = arg 244 | elif opt in ("-p", "--port"): 245 | LISTENING_PORT = int(arg) 246 | 247 | 248 | def main(host=LISTENING_ADDR, port=LISTENING_PORT): 249 | print "\n:-------PythonProxy-------:\n" 250 | print "Listening addr: " + LISTENING_ADDR 251 | print "Listening port: " + str(LISTENING_PORT) + "\n" 252 | print ":-------------------------:\n" 253 | server = Server(LISTENING_ADDR, LISTENING_PORT) 254 | server.start() 255 | while True: 256 | try: 257 | time.sleep(2) 258 | except KeyboardInterrupt: 259 | print 'Stopping...' 260 | server.close() 261 | break 262 | 263 | ####### parse_args(sys.argv[1:]) 264 | if __name__ == '__main__': 265 | main() 266 | -------------------------------------------------------------------------------- /sshws/ws-dropbear.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Websocket-Dropbear 3 | Documentation=https://google.com 4 | After=network.target nss-lookup.target 5 | 6 | [Service] 7 | Type=simple 8 | User=root 9 | CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 10 | AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 11 | NoNewPrivileges=true 12 | ExecStart=/usr/bin/python -O /usr/local/bin/ws-dropbear 2095 13 | Restart=on-failure 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /sshws/ws-stunnel: -------------------------------------------------------------------------------- 1 | import socket, threading, thread, select, signal, sys, time, getopt 2 | 3 | # Listen 4 | LISTENING_ADDR = '127.0.0.1' 5 | if sys.argv[1:]: 6 | LISTENING_PORT = sys.argv[1] 7 | else: 8 | LISTENING_PORT = 700 9 | #Pass 10 | PASS = '' 11 | 12 | # CONST 13 | BUFLEN = 4096 * 4 14 | TIMEOUT = 60 15 | DEFAULT_HOST = '127.0.0.1:69' 16 | RESPONSE = 'HTTP/1.1 101 Switching Protocols\r\nContent-Length: 104857600000\r\n\r\n' 17 | 18 | class Server(threading.Thread): 19 | def __init__(self, host, port): 20 | threading.Thread.__init__(self) 21 | self.running = False 22 | self.host = host 23 | self.port = port 24 | self.threads = [] 25 | self.threadsLock = threading.Lock() 26 | self.logLock = threading.Lock() 27 | 28 | def run(self): 29 | self.soc = socket.socket(socket.AF_INET) 30 | self.soc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 31 | self.soc.settimeout(2) 32 | intport = int(self.port) 33 | self.soc.bind((self.host, intport)) 34 | self.soc.listen(0) 35 | self.running = True 36 | 37 | try: 38 | while self.running: 39 | try: 40 | c, addr = self.soc.accept() 41 | c.setblocking(1) 42 | except socket.timeout: 43 | continue 44 | 45 | conn = ConnectionHandler(c, self, addr) 46 | conn.start() 47 | self.addConn(conn) 48 | finally: 49 | self.running = False 50 | self.soc.close() 51 | 52 | def printLog(self, log): 53 | self.logLock.acquire() 54 | print log 55 | self.logLock.release() 56 | 57 | def addConn(self, conn): 58 | try: 59 | self.threadsLock.acquire() 60 | if self.running: 61 | self.threads.append(conn) 62 | finally: 63 | self.threadsLock.release() 64 | 65 | def removeConn(self, conn): 66 | try: 67 | self.threadsLock.acquire() 68 | self.threads.remove(conn) 69 | finally: 70 | self.threadsLock.release() 71 | 72 | def close(self): 73 | try: 74 | self.running = False 75 | self.threadsLock.acquire() 76 | 77 | threads = list(self.threads) 78 | for c in threads: 79 | c.close() 80 | finally: 81 | self.threadsLock.release() 82 | 83 | 84 | class ConnectionHandler(threading.Thread): 85 | def __init__(self, socClient, server, addr): 86 | threading.Thread.__init__(self) 87 | self.clientClosed = False 88 | self.targetClosed = True 89 | self.client = socClient 90 | self.client_buffer = '' 91 | self.server = server 92 | self.log = 'Connection: ' + str(addr) 93 | 94 | def close(self): 95 | try: 96 | if not self.clientClosed: 97 | self.client.shutdown(socket.SHUT_RDWR) 98 | self.client.close() 99 | except: 100 | pass 101 | finally: 102 | self.clientClosed = True 103 | 104 | try: 105 | if not self.targetClosed: 106 | self.target.shutdown(socket.SHUT_RDWR) 107 | self.target.close() 108 | except: 109 | pass 110 | finally: 111 | self.targetClosed = True 112 | 113 | def run(self): 114 | try: 115 | self.client_buffer = self.client.recv(BUFLEN) 116 | 117 | hostPort = self.findHeader(self.client_buffer, 'X-Real-Host') 118 | 119 | if hostPort == '': 120 | hostPort = DEFAULT_HOST 121 | 122 | split = self.findHeader(self.client_buffer, 'X-Split') 123 | 124 | if split != '': 125 | self.client.recv(BUFLEN) 126 | 127 | if hostPort != '': 128 | passwd = self.findHeader(self.client_buffer, 'X-Pass') 129 | 130 | if len(PASS) != 0 and passwd == PASS: 131 | self.method_CONNECT(hostPort) 132 | elif len(PASS) != 0 and passwd != PASS: 133 | self.client.send('HTTP/1.1 400 WrongPass!\r\n\r\n') 134 | elif hostPort.startswith('127.0.0.1') or hostPort.startswith('localhost'): 135 | self.method_CONNECT(hostPort) 136 | else: 137 | self.client.send('HTTP/1.1 403 Forbidden!\r\n\r\n') 138 | else: 139 | print '- No X-Real-Host!' 140 | self.client.send('HTTP/1.1 400 NoXRealHost!\r\n\r\n') 141 | 142 | except Exception as e: 143 | self.log += ' - error: ' + e.strerror 144 | self.server.printLog(self.log) 145 | pass 146 | finally: 147 | self.close() 148 | self.server.removeConn(self) 149 | 150 | def findHeader(self, head, header): 151 | aux = head.find(header + ': ') 152 | 153 | if aux == -1: 154 | return '' 155 | 156 | aux = head.find(':', aux) 157 | head = head[aux+2:] 158 | aux = head.find('\r\n') 159 | 160 | if aux == -1: 161 | return '' 162 | 163 | return head[:aux]; 164 | 165 | def connect_target(self, host): 166 | i = host.find(':') 167 | if i != -1: 168 | port = int(host[i+1:]) 169 | host = host[:i] 170 | else: 171 | if self.method=='CONNECT': 172 | port = 443 173 | else: 174 | port = sys.argv[1] 175 | 176 | (soc_family, soc_type, proto, _, address) = socket.getaddrinfo(host, port)[0] 177 | 178 | self.target = socket.socket(soc_family, soc_type, proto) 179 | self.targetClosed = False 180 | self.target.connect(address) 181 | 182 | def method_CONNECT(self, path): 183 | self.log += ' - CONNECT ' + path 184 | 185 | self.connect_target(path) 186 | self.client.sendall(RESPONSE) 187 | self.client_buffer = '' 188 | 189 | self.server.printLog(self.log) 190 | self.doCONNECT() 191 | 192 | def doCONNECT(self): 193 | socs = [self.client, self.target] 194 | count = 0 195 | error = False 196 | while True: 197 | count += 1 198 | (recv, _, err) = select.select(socs, [], socs, 3) 199 | if err: 200 | error = True 201 | if recv: 202 | for in_ in recv: 203 | try: 204 | data = in_.recv(BUFLEN) 205 | if data: 206 | if in_ is self.target: 207 | self.client.send(data) 208 | else: 209 | while data: 210 | byte = self.target.send(data) 211 | data = data[byte:] 212 | 213 | count = 0 214 | else: 215 | break 216 | except: 217 | error = True 218 | break 219 | if count == TIMEOUT: 220 | error = True 221 | if error: 222 | break 223 | 224 | 225 | def print_usage(): 226 | print 'Usage: proxy.py -p ' 227 | print ' proxy.py -b -p ' 228 | print ' proxy.py -b 0.0.0.0 -p 80' 229 | 230 | def parse_args(argv): 231 | global LISTENING_ADDR 232 | global LISTENING_PORT 233 | 234 | try: 235 | opts, args = getopt.getopt(argv,"hb:p:",["bind=","port="]) 236 | except getopt.GetoptError: 237 | print_usage() 238 | sys.exit(2) 239 | for opt, arg in opts: 240 | if opt == '-h': 241 | print_usage() 242 | sys.exit() 243 | elif opt in ("-b", "--bind"): 244 | LISTENING_ADDR = arg 245 | elif opt in ("-p", "--port"): 246 | LISTENING_PORT = int(arg) 247 | 248 | 249 | def main(host=LISTENING_ADDR, port=LISTENING_PORT): 250 | print "\n:-------PythonProxy-------:\n" 251 | print "Listening addr: " + LISTENING_ADDR 252 | print "Listening port: " + str(LISTENING_PORT) + "\n" 253 | print ":-------------------------:\n" 254 | server = Server(LISTENING_ADDR, LISTENING_PORT) 255 | server.start() 256 | while True: 257 | try: 258 | time.sleep(2) 259 | except KeyboardInterrupt: 260 | print 'Stopping...' 261 | server.close() 262 | break 263 | 264 | ####### parse_args(sys.argv[1:]) 265 | if __name__ == '__main__': 266 | main() 267 | -------------------------------------------------------------------------------- /sshws/ws-stunnel.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=SSH Over Websocket 3 | Documentation=https://google.com 4 | After=network.target nss-lookup.target 5 | 6 | [Service] 7 | Type=simple 8 | User=root 9 | CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 10 | AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 11 | NoNewPrivileges=true 12 | Restart=on-failure 13 | ExecStart=/usr/bin/python -O /usr/local/bin/ws-stunnel 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /tools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | red='\e[1;31m' 4 | green='\e[1;32m' 5 | yell='\e[1;33m' 6 | NC='\e[0m' 7 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 8 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 9 | 10 | if [[ -e /etc/debian_version ]]; then 11 | source /etc/os-release 12 | OS=$ID # debian or ubuntu 13 | elif [[ -e /etc/centos-release ]]; then 14 | source /etc/os-release 15 | OS=centos 16 | fi 17 | 18 | echo "Tools install...!" 19 | echo "Progress..." 20 | sleep 0.5 21 | 22 | sudo apt update -y 23 | sudo apt update -y 24 | sudo apt dist-upgrade -y 25 | sudo apt install netfilter-persistent -y 26 | sudo apt-get remove --purge ufw firewalld -y 27 | sudo apt-get remove --purge exim4 -y 28 | 29 | 30 | sudo apt install -y screen curl jq bzip2 gzip coreutils rsyslog iftop \ 31 | htop zip unzip net-tools sed gnupg gnupg1 \ 32 | bc sudo apt-transport-https build-essential dirmngr libxml-parser-perl neofetch screenfetch git lsof \ 33 | openssl openvpn easy-rsa fail2ban tmux \ 34 | stunnel4 vnstat squid3 \ 35 | dropbear libsqlite3-dev \ 36 | socat cron bash-completion ntpdate xz-utils sudo apt-transport-https \ 37 | gnupg2 dnsutils lsb-release chrony 38 | 39 | curl -sSL https://deb.nodesource.com/setup_16.x | bash - 40 | sudo apt-get install nodejs -y 41 | 42 | /etc/init.d/vnstat restart 43 | wget -q https://humdi.net/vnstat/vnstat-2.6.tar.gz 44 | tar zxvf vnstat-2.6.tar.gz 45 | cd vnstat-2.6 46 | ./configure --prefix=/usr --sysconfdir=/etc >/dev/null 2>&1 && make >/dev/null 2>&1 && make install >/dev/null 2>&1 47 | cd 48 | vnstat -u -i $NET 49 | sed -i 's/Interface "'""eth0""'"/Interface "'""$NET""'"/g' /etc/vnstat.conf 50 | chown vnstat:vnstat /var/lib/vnstat -R 51 | systemctl enable vnstat 52 | /etc/init.d/vnstat restart 53 | rm -f /root/vnstat-2.6.tar.gz >/dev/null 2>&1 54 | rm -rf /root/vnstat-2.6 >/dev/null 2>&1 55 | 56 | sudo apt install -y libnss3-dev libnspr4-dev pkg-config libpam0g-dev libcap-ng-dev libcap-ng-utils libselinux1-dev libcurl4-nss-dev flex bison make libnss3-tools libevent-dev xl2tpd pptpd 57 | 58 | yellow() { echo -e "\\033[33;1m${*}\\033[0m"; } 59 | yellow "Dependencies successfully installed..." 60 | sleep 1 61 | clear 62 | 63 | -------------------------------------------------------------------------------- /xray/add-ssws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # SL 3 | # ========================================== 4 | # Color 5 | RED='\033[0;31m' 6 | NC='\033[0m' 7 | GREEN='\033[0;32m' 8 | ORANGE='\033[0;33m' 9 | BLUE='\033[0;34m' 10 | PURPLE='\033[0;35m' 11 | CYAN='\033[0;36m' 12 | LIGHT='\033[0;37m' 13 | # ========================================== 14 | # Getting 15 | MYIP=$(wget -qO- ipinfo.io/ip); 16 | echo "Checking VPS" 17 | IZIN=$( curl ipinfo.io/ip | grep $MYIP ) 18 | if [ $MYIP = $MYIP ]; then 19 | echo -e "${NC}${GREEN}Permission Accepted...${NC}" 20 | else 21 | echo -e "${NC}${RED}Permission Denied!${NC}"; 22 | exit 0 23 | fi 24 | 25 | clear 26 | source /var/lib/ipvps.conf 27 | if [[ "$IP" = "" ]]; then 28 | domain=$(cat /etc/xray/domain) 29 | else 30 | domain=$IP 31 | fi 32 | 33 | tls="$(cat ~/log-install.txt | grep -w "Shadowsocks WS TLS" | cut -d: -f2|sed 's/ //g')" 34 | ntls="$(cat ~/log-install.txt | grep -w "Shadowsocks WS none TLS" | cut -d: -f2|sed 's/ //g')" 35 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do 36 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 37 | echo -e "\\E[0;41;36m Add Shadowsocks Account \E[0m" 38 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 39 | 40 | read -rp "User: " -e user 41 | CLIENT_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 42 | 43 | if [[ ${CLIENT_EXISTS} == '1' ]]; then 44 | clear 45 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 46 | echo -e "\\E[0;41;36m Add Shadowsocks Account \E[0m" 47 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 48 | echo "" 49 | echo "A client with the specified name was already created, please choose another name." 50 | echo "" 51 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 52 | read -n 1 -s -r -p "Press any key to back on menu" 53 | v2ray-menu 54 | fi 55 | done 56 | 57 | cipher="aes-128-gcm" 58 | uuid=$(cat /proc/sys/kernel/random/uuid) 59 | read -p "Expired (days): " masaaktif 60 | exp=`date -d "$masaaktif days" +"%Y-%m-%d"` 61 | sed -i '/#ssws$/a\### '"$user $exp"'\ 62 | },{"password": "'""$uuid""'","method": "'""$cipher""'","email": "'""$user""'"' /etc/xray/config.json 63 | sed -i '/#ssgrpc$/a\### '"$user $exp"'\ 64 | },{"password": "'""$uuid""'","method": "'""$cipher""'","email": "'""$user""'"' /etc/xray/config.json 65 | echo $cipher:$uuid > /tmp/log 66 | shadowsocks_base64=$(cat /tmp/log) 67 | echo -n "${shadowsocks_base64}" | base64 > /tmp/log1 68 | shadowsocks_base64e=$(cat /tmp/log1) 69 | shadowsockslink="ss://${shadowsocks_base64e}@isi_bug_disini:$tls?path=ss-ws&security=tls&host=${domain}&type=ws&sni=${domain}#${user}" 70 | shadowsockslink1="ss://${shadowsocks_base64e}@isi_bug_disini:$ntls?path=ss-ws&security=none&host=${domain}&type=ws#${user}" 71 | shadowsockslink2="ss://${shadowsocks_base64e}@${domain}:$tls?mode=gun&security=tls&type=grpc&serviceName=ss-grpc&sni=bug.com#${user}" 72 | systemctl restart xray 73 | rm -rf /tmp/log 74 | rm -rf /tmp/log1 75 | cat > /home/vps/public_html/ss-$user.txt <<-END 76 | # sodosok ws 77 | { 78 | "dns": { 79 | "servers": [ 80 | "8.8.8.8", 81 | "8.8.4.4" 82 | ] 83 | }, 84 | "inbounds": [ 85 | { 86 | "port": 10808, 87 | "protocol": "socks", 88 | "settings": { 89 | "auth": "noauth", 90 | "udp": true, 91 | "userLevel": 8 92 | }, 93 | "sniffing": { 94 | "destOverride": [ 95 | "http", 96 | "tls" 97 | ], 98 | "enabled": true 99 | }, 100 | "tag": "socks" 101 | }, 102 | { 103 | "port": 10809, 104 | "protocol": "http", 105 | "settings": { 106 | "userLevel": 8 107 | }, 108 | "tag": "http" 109 | } 110 | ], 111 | "log": { 112 | "loglevel": "none" 113 | }, 114 | "outbounds": [ 115 | { 116 | "mux": { 117 | "enabled": true 118 | }, 119 | "protocol": "shadowsocks", 120 | "settings": { 121 | "servers": [ 122 | { 123 | "address": "$domain", 124 | "level": 8, 125 | "method": "$cipher", 126 | "password": "$uuid", 127 | "port": 443 128 | } 129 | ] 130 | }, 131 | "streamSettings": { 132 | "network": "ws", 133 | "security": "tls", 134 | "tlsSettings": { 135 | "allowInsecure": true, 136 | "serverName": "isi_bug_disini" 137 | }, 138 | "wsSettings": { 139 | "headers": { 140 | "Host": "$domain" 141 | }, 142 | "path": "/ss-ws" 143 | } 144 | }, 145 | "tag": "proxy" 146 | }, 147 | { 148 | "protocol": "freedom", 149 | "settings": {}, 150 | "tag": "direct" 151 | }, 152 | { 153 | "protocol": "blackhole", 154 | "settings": { 155 | "response": { 156 | "type": "http" 157 | } 158 | }, 159 | "tag": "block" 160 | } 161 | ], 162 | "policy": { 163 | "levels": { 164 | "8": { 165 | "connIdle": 300, 166 | "downlinkOnly": 1, 167 | "handshake": 4, 168 | "uplinkOnly": 1 169 | } 170 | }, 171 | "system": { 172 | "statsOutboundUplink": true, 173 | "statsOutboundDownlink": true 174 | } 175 | }, 176 | "routing": { 177 | "domainStrategy": "Asls", 178 | "rules": [] 179 | }, 180 | "stats": {} 181 | } 182 | 183 | # SODOSOK grpc 184 | 185 | 186 | { 187 | "dns": { 188 | "servers": [ 189 | "8.8.8.8", 190 | "8.8.4.4" 191 | ] 192 | }, 193 | "inbounds": [ 194 | { 195 | "port": 10808, 196 | "protocol": "socks", 197 | "settings": { 198 | "auth": "noauth", 199 | "udp": true, 200 | "userLevel": 8 201 | }, 202 | "sniffing": { 203 | "destOverride": [ 204 | "http", 205 | "tls" 206 | ], 207 | "enabled": true 208 | }, 209 | "tag": "socks" 210 | }, 211 | { 212 | "port": 10809, 213 | "protocol": "http", 214 | "settings": { 215 | "userLevel": 8 216 | }, 217 | "tag": "http" 218 | } 219 | ], 220 | "log": { 221 | "loglevel": "none" 222 | }, 223 | "outbounds": [ 224 | { 225 | "mux": { 226 | "enabled": true 227 | }, 228 | "protocol": "shadowsocks", 229 | "settings": { 230 | "servers": [ 231 | { 232 | "address": "$domain", 233 | "level": 8, 234 | "method": "$cipher", 235 | "password": "$uuid", 236 | "port": 443 237 | } 238 | ] 239 | }, 240 | "streamSettings": { 241 | "grpcSettings": { 242 | "multiMode": true, 243 | "serviceName": "ss-grpc" 244 | }, 245 | "network": "grpc", 246 | "security": "tls", 247 | "tlsSettings": { 248 | "allowInsecure": true, 249 | "serverName": "isi_bug_disini" 250 | } 251 | }, 252 | "tag": "proxy" 253 | }, 254 | { 255 | "protocol": "freedom", 256 | "settings": {}, 257 | "tag": "direct" 258 | }, 259 | { 260 | "protocol": "blackhole", 261 | "settings": { 262 | "response": { 263 | "type": "http" 264 | } 265 | }, 266 | "tag": "block" 267 | } 268 | ], 269 | "policy": { 270 | "levels": { 271 | "8": { 272 | "connIdle": 300, 273 | "downlinkOnly": 1, 274 | "handshake": 4, 275 | "uplinkOnly": 1 276 | } 277 | }, 278 | "system": { 279 | "statsOutboundUplink": true, 280 | "statsOutboundDownlink": true 281 | } 282 | }, 283 | "routing": { 284 | "domainStrategy": "Asls", 285 | "rules": [] 286 | }, 287 | "stats": {} 288 | } 289 | END 290 | systemctl restart xray > /dev/null 2>&1 291 | service cron restart > /dev/null 2>&1 292 | clear 293 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 294 | echo -e "\\E[0;41;36m Shadowsocks Account \E[0m" | tee -a /etc/log-create-user.log 295 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 296 | echo -e "Remarks : ${user}" | tee -a /etc/log-create-user.log 297 | echo -e "Domain : ${domain}" | tee -a /etc/log-create-user.log 298 | echo -e "Wildcard : (bug.com).${domain}" | tee -a /etc/log-create-user.log 299 | echo -e "Port TLS : ${tls}" | tee -a /etc/log-create-user.log 300 | echo -e "Port none TLS : ${ntls}" | tee -a /etc/log-create-user.log 301 | echo -e "Port gRPC : ${tls}" | tee -a /etc/log-create-user.log 302 | echo -e "Password : ${uuid}" | tee -a /etc/log-create-user.log 303 | echo -e "Ciphers : ${cipher}" | tee -a /etc/log-create-user.log 304 | echo -e "Network : ws/grpc" | tee -a /etc/log-create-user.log 305 | echo -e "Path : /ss-ws" | tee -a /etc/log-create-user.log 306 | echo -e "ServiceName : ss-grpc" | tee -a /etc/log-create-user.log 307 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 308 | echo -e "Link TLS : ${shadowsockslink}" | tee -a /etc/log-create-user.log 309 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 310 | echo -e "Link none TLS : ${shadowsockslink1}" | tee -a /etc/log-create-user.log 311 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 312 | echo -e "Link gRPC : ${shadowsockslink2}" | tee -a /etc/log-create-user.log 313 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 314 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 315 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 316 | echo "" | tee -a /etc/log-create-user.log 317 | read -n 1 -s -r -p "Press any key to back on menu" 318 | 319 | menu 320 | -------------------------------------------------------------------------------- /xray/add-tr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | source /var/lib/ipvps.conf 69 | if [[ "$IP" = "" ]]; then 70 | domain=$(cat /etc/xray/domain) 71 | else 72 | domain=$IP 73 | fi 74 | tls="$(cat ~/log-install.txt | grep -w "Trojan WS TLS" | cut -d: -f2|sed 's/ //g')" 75 | ntls="$(cat ~/log-install.txt | grep -w "Trojan WS none TLS" | cut -d: -f2|sed 's/ //g')" 76 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${user_EXISTS} == '0' ]]; do 77 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 78 | echo -e "\E[0;41;36m TROJAN ACCOUNT \E[0m" 79 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 80 | 81 | read -rp "User: " -e user 82 | user_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 83 | 84 | if [[ ${user_EXISTS} == '1' ]]; then 85 | clear 86 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 87 | echo -e "\E[0;41;36m TROJAN ACCOUNT \E[0m" 88 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 89 | echo "" 90 | echo "A client with the specified name was already created, please choose another name." 91 | echo "" 92 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 93 | read -n 1 -s -r -p "Press any key to back on menu" 94 | m-trojan 95 | fi 96 | done 97 | 98 | uuid=$(cat /proc/sys/kernel/random/uuid) 99 | read -p "Expired (days): " masaaktif 100 | exp=`date -d "$masaaktif days" +"%Y-%m-%d"` 101 | sed -i '/#trojanws$/a\#! '"$user $exp"'\ 102 | },{"password": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 103 | sed -i '/#trojangrpc$/a\#! '"$user $exp"'\ 104 | },{"password": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 105 | 106 | trojanlink1="trojan://${uuid}@${domain}:${tls}?mode=gun&security=tls&type=grpc&serviceName=trojan-grpc&sni=bug.com#${user}" 107 | trojanlink="trojan://${uuid}@isi_bug_disini:${tls}?path=%2Ftrojan-ws&security=tls&host=${domain}&type=ws&sni=${domain}#${user}" 108 | trojanlink2="trojan://${uuid}@isi_bug_disini:${ntls}?path=%2Ftrojan-ws&security=none&host=${domain}&type=ws#${user}" 109 | systemctl restart xray 110 | clear 111 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 112 | echo -e "\E[0;41;36m TROJAN ACCOUNT \E[0m" | tee -a /etc/log-create-user.log 113 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 114 | echo -e "Remarks : ${user}" | tee -a /etc/log-create-user.log 115 | echo -e "Host/IP : ${domain}" | tee -a /etc/log-create-user.log 116 | echo -e "Wildcard : (bug.com).${domain}" | tee -a /etc/log-create-user.log 117 | echo -e "Port TLS : ${tls}" | tee -a /etc/log-create-user.log 118 | echo -e "Port none TLS : ${ntls}" | tee -a /etc/log-create-user.log 119 | echo -e "Port gRPC : ${tls}" | tee -a /etc/log-create-user.log 120 | echo -e "Key : ${uuid}" | tee -a /etc/log-create-user.log 121 | echo -e "Path : /trojan-ws" | tee -a /etc/log-create-user.log 122 | echo -e "ServiceName : trojan-grpc" | tee -a /etc/log-create-user.log 123 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 124 | echo -e "Link TLS : ${trojanlink}" | tee -a /etc/log-create-user.log 125 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 126 | echo -e "Link none TLS : ${trojanlink2}" | tee -a /etc/log-create-user.log 127 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 128 | echo -e "Link gRPC : ${trojanlink1}" | tee -a /etc/log-create-user.log 129 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 130 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 131 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 132 | echo "" | tee -a /etc/log-create-user.log 133 | read -n 1 -s -r -p "Press any key to back on menu" 134 | menu 135 | fi 136 | -------------------------------------------------------------------------------- /xray/add-vless.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | source /var/lib/ipvps.conf 69 | if [[ "$IP" = "" ]]; then 70 | domain=$(cat /etc/xray/domain) 71 | else 72 | domain=$IP 73 | fi 74 | tls="$(cat ~/log-install.txt | grep -w "Vless WS TLS" | cut -d: -f2|sed 's/ //g')" 75 | none="$(cat ~/log-install.txt | grep -w "Vless WS none TLS" | cut -d: -f2|sed 's/ //g')" 76 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do 77 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 78 | echo -e "\E[44;1;39m Add Vless Account \E[0m" 79 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 80 | 81 | read -rp "User: " -e user 82 | CLIENT_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 83 | 84 | if [[ ${CLIENT_EXISTS} == '1' ]]; then 85 | clear 86 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 87 | echo -e "\E[44;1;39m Add Vless Account \E[0m" 88 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 89 | echo "" 90 | echo "A client with the specified name was already created, please choose another name." 91 | echo "" 92 | read -n 1 -s -r -p "Press any key to back on menu" 93 | v2ray-menu 94 | fi 95 | done 96 | 97 | uuid=$(cat /proc/sys/kernel/random/uuid) 98 | read -p "Expired (days): " masaaktif 99 | exp=`date -d "$masaaktif days" +"%Y-%m-%d"` 100 | sed -i '/#vless$/a\#& '"$user $exp"'\ 101 | },{"id": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 102 | sed -i '/#vlessgrpc$/a\#& '"$user $exp"'\ 103 | },{"id": "'""$uuid""'","email": "'""$user""'"' /etc/xray/config.json 104 | vlesslink1="vless://${uuid}@${domain}:$tls?path=/vless&security=tls&encryption=none&type=ws#${user}" 105 | vlesslink2="vless://${uuid}@${domain}:$none?path=/vless&encryption=none&type=ws#${user}" 106 | vlesslink3="vless://${uuid}@${domain}:$tls?mode=gun&security=tls&encryption=none&type=grpc&serviceName=vless-grpc&sni=bug.com#${user}" 107 | systemctl restart xray 108 | clear 109 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 110 | echo -e "\E[44;1;39m Vless Account \E[0m" | tee -a /etc/log-create-user.log 111 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 112 | echo -e "Remarks : ${user}" | tee -a /etc/log-create-user.log 113 | echo -e "Domain : ${domain}" | tee -a /etc/log-create-user.log 114 | echo -e "Wildcard : (bug.com).${domain}" | tee -a /etc/log-create-user.log 115 | echo -e "Port TLS : $tls" | tee -a /etc/log-create-user.log 116 | echo -e "Port none TLS : $none" | tee -a /etc/log-create-user.log 117 | echo -e "id : ${uuid}" | tee -a /etc/log-create-user.log 118 | echo -e "Encryption : none" | tee -a /etc/log-create-user.log 119 | echo -e "Network : ws" | tee -a /etc/log-create-user.log 120 | echo -e "Path : /vless" | tee -a /etc/log-create-user.log 121 | echo -e "Path : vless-grpc" | tee -a /etc/log-create-user.log 122 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 123 | echo -e "Link TLS : ${vlesslink1}" | tee -a /etc/log-create-user.log 124 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 125 | echo -e "Link none TLS : ${vlesslink2}" | tee -a /etc/log-create-user.log 126 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 127 | echo -e "Link gRPC : ${vlesslink3}" | tee -a /etc/log-create-user.log 128 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 129 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 130 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 131 | echo "" | tee -a /etc/log-create-user.log 132 | read -n 1 -s -r -p "Press any key to back on menu" 133 | 134 | menu 135 | -------------------------------------------------------------------------------- /xray/add-ws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | source /var/lib/ipvps.conf 69 | if [[ "$IP" = "" ]]; then 70 | domain=$(cat /etc/xray/domain) 71 | else 72 | domain=$IP 73 | fi 74 | 75 | tls="$(cat ~/log-install.txt | grep -w "Vmess WS TLS" | cut -d: -f2|sed 's/ //g')" 76 | none="$(cat ~/log-install.txt | grep -w "Vmess WS none TLS" | cut -d: -f2|sed 's/ //g')" 77 | until [[ $user =~ ^[a-zA-Z0-9_]+$ && ${CLIENT_EXISTS} == '0' ]]; do 78 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 79 | echo -e "\\E[0;41;36m Add Vmess Account \E[0m" 80 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 81 | 82 | read -rp "User: " -e user 83 | CLIENT_EXISTS=$(grep -w $user /etc/xray/config.json | wc -l) 84 | 85 | if [[ ${CLIENT_EXISTS} == '1' ]]; then 86 | clear 87 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 88 | echo -e "\\E[0;41;36m Add Vmess Account \E[0m" 89 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 90 | echo "" 91 | echo "A client with the specified name was already created, please choose another name." 92 | echo "" 93 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 94 | read -n 1 -s -r -p "Press any key to back on menu" 95 | v2ray-menu 96 | fi 97 | done 98 | 99 | uuid=$(cat /proc/sys/kernel/random/uuid) 100 | read -p "Expired (days): " masaaktif 101 | exp=`date -d "$masaaktif days" +"%Y-%m-%d"` 102 | sed -i '/#vmess$/a\### '"$user $exp"'\ 103 | },{"id": "'""$uuid""'","alterId": '"0"',"email": "'""$user""'"' /etc/xray/config.json 104 | exp=`date -d "$masaaktif days" +"%Y-%m-%d"` 105 | sed -i '/#vmessgrpc$/a\### '"$user $exp"'\ 106 | },{"id": "'""$uuid""'","alterId": '"0"',"email": "'""$user""'"' /etc/xray/config.json 107 | asu=`cat< /dev/null 2>&1 159 | service cron restart > /dev/null 2>&1 160 | clear 161 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 162 | echo -e "\\E[0;41;36m Vmess Account \E[0m" | tee -a /etc/log-create-user.log 163 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 164 | echo -e "Remarks : ${user}" | tee -a /etc/log-create-user.log 165 | echo -e "Domain : ${domain}" | tee -a /etc/log-create-user.log 166 | echo -e "Wildcard : (bug.com).${domain}" | tee -a /etc/log-create-user.log 167 | echo -e "Port TLS : ${tls}" | tee -a /etc/log-create-user.log 168 | echo -e "Port none TLS : ${none}" | tee -a /etc/log-create-user.log 169 | echo -e "Port gRPC : ${tls}" | tee -a /etc/log-create-user.log 170 | echo -e "id : ${uuid}" | tee -a /etc/log-create-user.log 171 | echo -e "alterId : 0" | tee -a /etc/log-create-user.log 172 | echo -e "Security : auto" | tee -a /etc/log-create-user.log 173 | echo -e "Network : ws" | tee -a /etc/log-create-user.log 174 | echo -e "Path : /vmess" | tee -a /etc/log-create-user.log 175 | echo -e "ServiceName : vmess-grpc" | tee -a /etc/log-create-user.log 176 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 177 | echo -e "Link TLS : ${vmesslink1}" | tee -a /etc/log-create-user.log 178 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 179 | echo -e "Link none TLS : ${vmesslink2}" | tee -a /etc/log-create-user.log 180 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 181 | echo -e "Link gRPC : ${vmesslink3}" | tee -a /etc/log-create-user.log 182 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 183 | echo -e "Expired On : $exp" | tee -a /etc/log-create-user.log 184 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" | tee -a /etc/log-create-user.log 185 | echo "" | tee -a /etc/log-create-user.log 186 | read -n 1 -s -r -p "Press any key to back on menu" 187 | 188 | menu 189 | -------------------------------------------------------------------------------- /xray/cek-tr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ========================================== 3 | # Color 4 | RED='\033[0;31m' 5 | NC='\033[0m' 6 | GREEN='\033[0;32m' 7 | ORANGE='\033[0;33m' 8 | BLUE='\033[0;34m' 9 | PURPLE='\033[0;35m' 10 | CYAN='\033[0;36m' 11 | LIGHT='\033[0;37m' 12 | # ========================================== 13 | # Getting 14 | MYIP=$(wget -qO- ipinfo.io/ip); 15 | echo "Checking VPS" 16 | IZIN=$( curl ipinfo.io/ip | grep $MYIP ) 17 | if [ $MYIP = $MYIP ]; then 18 | echo -e "${NC}${GREEN}Permission Accepted...${NC}" 19 | else 20 | echo -e "${NC}${RED}Permission Denied!${NC}"; 21 | exit 0 22 | fi 23 | clear 24 | echo -n > /tmp/other.txt 25 | data=( `cat /etc/xray/config.json | grep '^#&#' | cut -d ' ' -f 2`); 26 | echo "-----------------------------------------"; 27 | echo "---------=[ Trojan User Login ]=---------"; 28 | echo "-----------------------------------------"; 29 | for akun in "${data[@]}" 30 | do 31 | if [[ -z "$akun" ]]; then 32 | akun="tidakada" 33 | fi 34 | echo -n > /tmp/iptrojan.txt 35 | data2=( `netstat -anp | grep ESTABLISHED | grep tcp6 | grep xray | awk '{print $5}' | cut -d: -f1 | sort | uniq`); 36 | for ip in "${data2[@]}" 37 | do 38 | jum=$(cat /var/log/xray/access.log | grep -w $akun | awk '{print $3}' | cut -d: -f1 | grep -w $ip | sort | uniq) 39 | if [[ "$jum" = "$ip" ]]; then 40 | echo "$jum" >> /tmp/iptrojan.txt 41 | else 42 | echo "$ip" >> /tmp/other.txt 43 | fi 44 | jum2=$(cat /tmp/iptrojan.txt) 45 | sed -i "/$jum2/d" /tmp/other.txt > /dev/null 2>&1 46 | done 47 | jum=$(cat /tmp/iptrojan.txt) 48 | if [[ -z "$jum" ]]; then 49 | echo > /dev/null 50 | else 51 | jum2=$(cat /tmp/iptrojan.txt | nl) 52 | echo "user : $akun"; 53 | echo "$jum2"; 54 | echo "-----------------------------------------" 55 | fi 56 | rm -rf /tmp/iptrojan.txt 57 | done 58 | oth=$(cat /tmp/other.txt | sort | uniq | nl) 59 | echo "other"; 60 | echo "$oth"; 61 | echo "-----------------------------------------" 62 | echo "" 63 | rm -rf /tmp/other.txt 64 | read -n 1 -s -r -p "Press any key to back on menu" 65 | menu 66 | -------------------------------------------------------------------------------- /xray/cek-vless.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ========================================== 3 | # Color 4 | RED='\033[0;31m' 5 | NC='\033[0m' 6 | GREEN='\033[0;32m' 7 | ORANGE='\033[0;33m' 8 | BLUE='\033[0;34m' 9 | PURPLE='\033[0;35m' 10 | CYAN='\033[0;36m' 11 | LIGHT='\033[0;37m' 12 | # ========================================== 13 | # Getting 14 | MYIP=$(wget -qO- ipinfo.io/ip); 15 | echo "Checking VPS" 16 | IZIN=$( curl ipinfo.io/ip | grep $MYIP ) 17 | if [ $MYIP = $MYIP ]; then 18 | echo -e "${NC}${GREEN}Permission Accepted...${NC}" 19 | else 20 | echo -e "${NC}${RED}Permission Denied!${NC}"; 21 | exit 0 22 | fi 23 | clear 24 | echo -n > /tmp/other.txt 25 | data=( `cat /etc/xray/config.json | grep '^####' | cut -d ' ' -f 2`); 26 | echo "----------------------------------------"; 27 | echo "---------=[ Vless User Login ]=---------"; 28 | echo "----------------------------------------"; 29 | for akun in "${data[@]}" 30 | do 31 | if [[ -z "$akun" ]]; then 32 | akun="tidakada" 33 | fi 34 | echo -n > /tmp/ipvless.txt 35 | data2=( `netstat -anp | grep ESTABLISHED | grep tcp6 | grep xray | awk '{print $5}' | cut -d: -f1 | sort | uniq`); 36 | for ip in "${data2[@]}" 37 | do 38 | jum=$(cat /var/log/xray/access.log | grep -w $akun | awk '{print $3}' | cut -d: -f1 | grep -w $ip | sort | uniq) 39 | if [[ "$jum" = "$ip" ]]; then 40 | echo "$jum" >> /tmp/ipvless.txt 41 | else 42 | echo "$ip" >> /tmp/other.txt 43 | fi 44 | jum2=$(cat /tmp/ipvless.txt) 45 | sed -i "/$jum2/d" /tmp/other.txt > /dev/null 2>&1 46 | done 47 | jum=$(cat /tmp/ipvless.txt) 48 | if [[ -z "$jum" ]]; then 49 | echo > /dev/null 50 | else 51 | jum2=$(cat /tmp/ipvless.txt | nl) 52 | echo "user : $akun"; 53 | echo "$jum2"; 54 | echo "----------------------------------------" 55 | fi 56 | rm -rf /tmp/ipvless.txt 57 | done 58 | oth=$(cat /tmp/other.txt | sort | uniq | nl) 59 | echo "other"; 60 | echo "$oth"; 61 | echo "----------------------------------------" 62 | rm -rf /tmp/other.txt 63 | read -n 1 -s -r -p "Press any key to back on menu" 64 | menu 65 | -------------------------------------------------------------------------------- /xray/cek-ws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ========================================== 3 | # Color 4 | RED='\033[0;31m' 5 | NC='\033[0m' 6 | GREEN='\033[0;32m' 7 | ORANGE='\033[0;33m' 8 | BLUE='\033[0;34m' 9 | PURPLE='\033[0;35m' 10 | CYAN='\033[0;36m' 11 | LIGHT='\033[0;37m' 12 | # ========================================== 13 | # Getting 14 | MYIP=$(wget -qO- ipinfo.io/ip); 15 | echo "Checking VPS" 16 | IZIN=$( curl ipinfo.io/ip | grep $MYIP ) 17 | if [ $MYIP = $MYIP ]; then 18 | echo -e "${NC}${GREEN}Permission Accepted...${NC}" 19 | else 20 | echo -e "${NC}${RED}Permission Denied!${NC}"; 21 | exit 0 22 | fi 23 | clear 24 | echo -n > /tmp/other.txt 25 | data=( `cat /etc/xray/config.json | grep '^####' | cut -d ' ' -f 2`); 26 | echo "----------------------------------------"; 27 | echo "---------=[ Vmess User Login ]=---------"; 28 | echo "----------------------------------------"; 29 | for akun in "${data[@]}" 30 | do 31 | if [[ -z "$akun" ]]; then 32 | akun="tidakada" 33 | fi 34 | echo -n > /tmp/ipvmess.txt 35 | data2=( `netstat -anp | grep ESTABLISHED | grep tcp6 | grep xray | awk '{print $5}' | cut -d: -f1 | sort | uniq`); 36 | for ip in "${data2[@]}" 37 | do 38 | jum=$(cat /var/log/xray/access.log | grep -w $akun | awk '{print $3}' | cut -d: -f1 | grep -w $ip | sort | uniq) 39 | if [[ "$jum" = "$ip" ]]; then 40 | echo "$jum" >> /tmp/ipvmess.txt 41 | else 42 | echo "$ip" >> /tmp/other.txt 43 | fi 44 | jum2=$(cat /tmp/ipvmess.txt) 45 | sed -i "/$jum2/d" /tmp/other.txt > /dev/null 2>&1 46 | done 47 | jum=$(cat /tmp/ipvmess.txt) 48 | if [[ -z "$jum" ]]; then 49 | echo > /dev/null 50 | else 51 | jum2=$(cat /tmp/ipvmess.txt | nl) 52 | echo "user : $akun"; 53 | echo "$jum2"; 54 | echo "----------------------------------------" 55 | fi 56 | rm -rf /tmp/ipvmess.txt 57 | done 58 | oth=$(cat /tmp/other.txt | sort | uniq | nl) 59 | echo "other"; 60 | echo "$oth"; 61 | echo "----------------------------------------" 62 | rm -rf /tmp/other.txt 63 | read -n 1 -s -r -p "Press any key to back on menu" 64 | menu 65 | -------------------------------------------------------------------------------- /xray/certv2ray.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | if [ -f /home/needupdate ]; then 57 | red "Your script need to update first !" 58 | exit 0 59 | elif [ "$res" = "Permission Accepted..." ]; then 60 | echo -ne 61 | else 62 | red "Permission Denied!" 63 | exit 0 64 | fi 65 | 66 | cekray=`cat /root/log-install.txt | grep -ow "XRAY" | sort | uniq` 67 | if [ "$cekray" = "XRAY" ]; then 68 | domainlama=`cat /etc/xray/domain` 69 | else 70 | domainlama=`cat /etc/v2ray/domain` 71 | fi 72 | 73 | clear 74 | echo -e "[ ${green}INFO${NC} ] Start " 75 | sleep 0.5 76 | systemctl stop nginx 77 | domain=$(cat /var/lib/ipvps.conf | cut -d'=' -f2) 78 | Cek=$(lsof -i:80 | cut -d' ' -f1 | awk 'NR==2 {print $1}') 79 | if [[ ! -z "$Cek" ]]; then 80 | sleep 1 81 | echo -e "[ ${red}WARNING${NC} ] Detected port 80 used by $Cek " 82 | systemctl stop $Cek 83 | sleep 2 84 | echo -e "[ ${green}INFO${NC} ] Processing to stop $Cek " 85 | sleep 1 86 | fi 87 | echo -e "[ ${green}INFO${NC} ] Starting renew cert... " 88 | sleep 2 89 | /root/.acme.sh/acme.sh --set-default-ca --server letsencrypt 90 | /root/.acme.sh/acme.sh --issue -d $domain --standalone -k ec-256 91 | ~/.acme.sh/acme.sh --installcert -d $domain --fullchainpath /etc/xray/xray.crt --keypath /etc/xray/xray.key --ecc 92 | echo -e "[ ${green}INFO${NC} ] Renew cert done... " 93 | sleep 2 94 | echo -e "[ ${green}INFO${NC} ] Starting service $Cek " 95 | sleep 2 96 | echo $domain > /etc/xray/domain 97 | systemctl restart $Cek 98 | systemctl restart nginx 99 | echo -e "[ ${green}INFO${NC} ] All finished... " 100 | sleep 0.5 101 | echo "" 102 | read -n 1 -s -r -p "Press any key to back on menu" 103 | menu 104 | -------------------------------------------------------------------------------- /xray/del-ssws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # SL 3 | # ========================================== 4 | # Color 5 | RED='\033[0;31m' 6 | NC='\033[0m' 7 | GREEN='\033[0;32m' 8 | ORANGE='\033[0;33m' 9 | BLUE='\033[0;34m' 10 | PURPLE='\033[0;35m' 11 | CYAN='\033[0;36m' 12 | LIGHT='\033[0;37m' 13 | # ========================================== 14 | # Getting 15 | MYIP=$(wget -qO- ipinfo.io/ip); 16 | echo "Checking VPS" 17 | IZIN=$( curl ipinfo.io/ip | grep $MYIP ) 18 | if [ $MYIP = $MYIP ]; then 19 | echo -e "${NC}${GREEN}Permission Accepted...${NC}" 20 | else 21 | echo -e "${NC}${RED}Permission Denied!${NC}"; 22 | echo -e "${NC}${LIGHT}Fuck You!!" 23 | exit 0 24 | fi 25 | clear 26 | NUMBER_OF_CLIENTS=$(grep -c -E "^### " "/etc/xray/config.json") 27 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 28 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 29 | echo -e "\\E[0;41;36m Delete Sodosok Account \E[0m" 30 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 31 | echo "" 32 | echo "You have no existing clients!" 33 | echo "" 34 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 35 | read -n 1 -s -r -p "Press any key to back on menu" 36 | menu 37 | fi 38 | 39 | clear 40 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 41 | echo -e "\\E[0;41;36m Delete Sodosok Account \E[0m" 42 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 43 | echo " User Expired " 44 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 45 | grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 46 | echo "" 47 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 48 | read -rp "Input Username : " user 49 | if [ -z $user ]; then 50 | menu 51 | else 52 | exp=$(grep -wE "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 53 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 54 | systemctl restart xray > /dev/null 2>&1 55 | clear 56 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 57 | echo " Shadowsocks Account Deleted Successfully" 58 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 59 | echo " Client Name : $user" 60 | echo " Expired On : $exp" 61 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 62 | echo "" 63 | read -n 1 -s -r -p "Press any key to back on menu" 64 | menu 65 | fi 66 | -------------------------------------------------------------------------------- /xray/del-tr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | 6 | BURIQ () { 7 | curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip > /root/tmp 8 | data=( `cat /root/tmp | grep -E "^### " | awk '{print $2}'` ) 9 | for user in "${data[@]}" 10 | do 11 | exp=( `grep -E "^### $user" "/root/tmp" | awk '{print $3}'` ) 12 | d1=(`date -d "$exp" +%s`) 13 | d2=(`date -d "$biji" +%s`) 14 | exp2=$(( (d1 - d2) / 86400 )) 15 | if [[ "$exp2" -le "0" ]]; then 16 | echo $user > /etc/.$user.ini 17 | else 18 | rm -f /etc/.$user.ini > /dev/null 2>&1 19 | fi 20 | done 21 | rm -f /root/tmp 22 | } 23 | 24 | MYIP=$(curl -sS ipv4.icanhazip.com) 25 | Name=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | grep $MYIP | awk '{print $2}') 26 | echo $Name > /usr/local/etc/.$Name.ini 27 | CekOne=$(cat /usr/local/etc/.$Name.ini) 28 | 29 | Bloman () { 30 | if [ -f "/etc/.$Name.ini" ]; then 31 | CekTwo=$(cat /etc/.$Name.ini) 32 | if [ "$CekOne" = "$CekTwo" ]; then 33 | res="Expired" 34 | fi 35 | else 36 | res="Permission Accepted..." 37 | fi 38 | } 39 | 40 | PERMISSION () { 41 | MYIP=$(curl -sS ipv4.icanhazip.com) 42 | IZIN=$(curl -sS https://raw.githubusercontent.com/nanotechid/supreme/aio/permission/ip | awk '{print $4}' | grep $MYIP) 43 | if [ "$MYIP" = "$IZIN" ]; then 44 | Bloman 45 | else 46 | res="Permission Denied!" 47 | fi 48 | BURIQ 49 | } 50 | red='\e[1;31m' 51 | green='\e[0;32m' 52 | NC='\e[0m' 53 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 54 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 55 | PERMISSION 56 | 57 | if [ -f /home/needupdate ]; then 58 | red "Your script need to update first !" 59 | exit 0 60 | elif [ "$res" = "Permission Accepted..." ]; then 61 | echo -ne 62 | else 63 | red "Permission Denied!" 64 | exit 0 65 | fi 66 | 67 | clear 68 | NUMBER_OF_CLIENTS=$(grep -c -E "^#! " "/etc/xray/config.json") 69 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 70 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 71 | echo -e "\E[44;1;39m ⇱ Delete Trojan Account ⇲ \E[0m" 72 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 73 | echo "" 74 | echo "You have no existing clients!" 75 | echo "" 76 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 77 | read -n 1 -s -r -p "Press any key to back on menu" 78 | menu 79 | fi 80 | 81 | clear 82 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 83 | echo -e "\E[44;1;39m ⇱ Delete Xray Trojan Account ⇲ \E[0m" 84 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 85 | echo " User Expired " 86 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 87 | grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 88 | echo "" 89 | red "tap enter to go back" 90 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 91 | read -rp "Input Username : " user 92 | if [ -z $user ]; then 93 | menu 94 | else 95 | exp=$(grep -wE "^#! $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 96 | sed -i "/^#! $user $exp/,/^},{/d" /etc/xray/config.json 97 | systemctl restart xray > /dev/null 2>&1 98 | clear 99 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 100 | echo " Trojan Account Deleted Successfully" 101 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 102 | echo " Client Name : $user" 103 | echo " Expired On : $exp" 104 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 105 | echo "" 106 | read -n 1 -s -r -p "Press any key to back on menu" 107 | menu 108 | fi 109 | -------------------------------------------------------------------------------- /xray/del-vless.sh: -------------------------------------------------------------------------------- 1 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 2 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 3 | ######################### 4 | 5 | red='\e[1;31m' 6 | green='\e[0;32m' 7 | NC='\e[0m' 8 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 9 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 10 | 11 | clear 12 | 13 | NUMBER_OF_CLIENTS=$(grep -c -E "^#& " "/etc/xray/config.json") 14 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 15 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 16 | echo -e "\E[44;1;39m ⇱ Delete Vless Account ⇲ \E[0m" 17 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 18 | echo "" 19 | echo "You have no existing clients!" 20 | echo "" 21 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 22 | read -n 1 -s -r -p "Press any key to back on menu" 23 | menu 24 | fi 25 | 26 | clear 27 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 28 | echo -e "\E[44;1;39m ⇱ Delete Vless Account ⇲ \E[0m" 29 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 30 | echo " User Expired " 31 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 32 | grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 33 | echo "" 34 | red "tap enter to go back" 35 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 36 | read -rp "Input Username : " user 37 | if [ -z $user ]; then 38 | menu 39 | else 40 | exp=$(grep -wE "^#& $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 41 | sed -i "/^#& $user $exp/,/^},{/d" /etc/xray/config.json 42 | systemctl restart xray > /dev/null 2>&1 43 | clear 44 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 45 | echo " VLess Account Deleted Successfully" 46 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 47 | echo " Client Name : $user" 48 | echo " Expired On : $exp" 49 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 50 | echo "" 51 | read -n 1 -s -r -p "Press any key to back on menu" 52 | menu 53 | fi 54 | -------------------------------------------------------------------------------- /xray/del-ws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | red='\e[1;31m' 6 | green='\e[0;32m' 7 | NC='\e[0m' 8 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 9 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 10 | 11 | 12 | 13 | 14 | clear 15 | NUMBER_OF_CLIENTS=$(grep -c -E "^### " "/etc/xray/config.json") 16 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 17 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 18 | echo -e "\E[44;1;39m ⇱ Delete Vmess Account ⇲ \E[0m" 19 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 20 | echo "" 21 | echo "You have no existing clients!" 22 | echo "" 23 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | read -n 1 -s -r -p "Press any key to back on menu" 25 | menu 26 | fi 27 | 28 | clear 29 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 30 | echo -e "\E[44;1;39m ⇱ Delete Vmess Account ⇲ \E[0m" 31 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 32 | echo " User Expired " 33 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 34 | grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 35 | echo "" 36 | red "tap enter to go back" 37 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 38 | read -rp "Input Username : " user 39 | if [ -z $user ]; then 40 | menu 41 | else 42 | exp=$(grep -wE "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 43 | sed -i "/^### $user $exp/,/^},{/d" /etc/xray/config.json 44 | systemctl restart xray > /dev/null 2>&1 45 | clear 46 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 47 | echo " Vmess Account Deleted Successfully" 48 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 49 | echo " Client Name : $user" 50 | echo " Expired On : $exp" 51 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 52 | echo "" 53 | read -n 1 -s -r -p "Press any key to back on menu" 54 | menu 55 | fi 56 | -------------------------------------------------------------------------------- /xray/renew-ssws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # SL 3 | # ========================================== 4 | # Color 5 | RED='\033[0;31m' 6 | NC='\033[0m' 7 | GREEN='\033[0;32m' 8 | ORANGE='\033[0;33m' 9 | BLUE='\033[0;34m' 10 | PURPLE='\033[0;35m' 11 | CYAN='\033[0;36m' 12 | LIGHT='\033[0;37m' 13 | # ========================================== 14 | # Getting 15 | MYIP=$(wget -qO- ipinfo.io/ip); 16 | echo "Checking VPS" 17 | IZIN=$( curl ipinfo.io/ip | grep $MYIP ) 18 | if [ $MYIP = $MYIP ]; then 19 | echo -e "${NC}${GREEN}Permission Accepted...${NC}" 20 | else 21 | echo -e "${NC}${RED}Permission Denied!${NC}"; 22 | echo -e "${NC}${LIGHT}Fuck You!!" 23 | exit 0 24 | fi 25 | clear 26 | NUMBER_OF_CLIENTS=$(grep -c -E "^### " "/etc/xray/config.json") 27 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 28 | clear 29 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 30 | echo -e "\\E[0;41;36m Renew Shadowsocks \E[0m" 31 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 32 | echo "" 33 | echo "You have no existing clients!" 34 | echo "" 35 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 36 | echo "" 37 | read -n 1 -s -r -p "Press any key to back on menu" 38 | menu 39 | fi 40 | 41 | clear 42 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 43 | echo -e "\\E[0;41;36m Renew Shadowsocks \E[0m" 44 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 45 | echo "" 46 | grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 47 | echo "" 48 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 49 | read -rp "Input Username : " user 50 | if [ -z $user ]; then 51 | menu 52 | else 53 | read -p "Expired (days): " masaaktif 54 | exp=$(grep -wE "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 55 | now=$(date +%Y-%m-%d) 56 | d1=$(date -d "$exp" +%s) 57 | d2=$(date -d "$now" +%s) 58 | exp2=$(( (d1 - d2) / 86400 )) 59 | exp3=$(($exp2 + $masaaktif)) 60 | exp4=`date -d "$exp3 days" +"%Y-%m-%d"` 61 | sed -i "/### $user/c\### $user $exp4" /etc/xray/config.json 62 | systemctl restart xray > /dev/null 2>&1 63 | clear 64 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 65 | echo " Shadowsocks Account Was Successfully Renewed" 66 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 67 | echo "" 68 | echo " Client Name : $user" 69 | echo " Expired On : $exp4" 70 | echo "" 71 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 72 | echo "" 73 | read -n 1 -s -r -p "Press any key to back on menu" 74 | menu 75 | fi 76 | -------------------------------------------------------------------------------- /xray/renew-tr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | red='\e[1;31m' 6 | green='\e[0;32m' 7 | NC='\e[0m' 8 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 9 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 10 | 11 | 12 | 13 | 14 | clear 15 | NUMBER_OF_CLIENTS=$(grep -c -E "^#! " "/etc/xray/config.json") 16 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 17 | clear 18 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 19 | echo -e "\E[44;1;39m ⇱ Renew Trojan ⇲ \E[0m" 20 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 21 | echo "" 22 | echo "You have no existing clients!" 23 | echo "" 24 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 25 | echo "" 26 | read -n 1 -s -r -p "Press any key to back on menu" 27 | menu 28 | fi 29 | 30 | clear 31 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 32 | echo -e "\E[44;1;39m ⇱ Renew Trojan ⇲ \E[0m" 33 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 34 | echo "" 35 | grep -E "^#! " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 36 | echo "" 37 | red "tap enter to go back" 38 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 39 | read -rp "Input Username : " user 40 | if [ -z $user ]; then 41 | menu 42 | else 43 | read -p "Expired (days): " masaaktif 44 | exp=$(grep -wE "^#! $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 45 | now=$(date +%Y-%m-%d) 46 | d1=$(date -d "$exp" +%s) 47 | d2=$(date -d "$now" +%s) 48 | exp2=$(( (d1 - d2) / 86400 )) 49 | exp3=$(($exp2 + $masaaktif)) 50 | exp4=`date -d "$exp3 days" +"%Y-%m-%d"` 51 | sed -i "/#! $user/c\#! $user $exp4" /etc/xray/config.json 52 | systemctl restart xray > /dev/null 2>&1 53 | clear 54 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 55 | echo " Trojan Account Was Successfully Renewed" 56 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 57 | echo "" 58 | echo " Client Name : $user" 59 | echo " Expired On : $exp4" 60 | echo "" 61 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 62 | echo "" 63 | read -n 1 -s -r -p "Press any key to back on menu" 64 | menu 65 | fi 66 | -------------------------------------------------------------------------------- /xray/renew-vless.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | red='\e[1;31m' 6 | green='\e[0;32m' 7 | NC='\e[0m' 8 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 9 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 10 | 11 | 12 | 13 | 14 | clear 15 | 16 | NUMBER_OF_CLIENTS=$(grep -c -E "^#& " "/etc/xray/config.json") 17 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 18 | clear 19 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 20 | echo -e "\E[44;1;39m ⇱ Renew Vless ⇲ \E[0m" 21 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 22 | echo "" 23 | echo "You have no existing clients!" 24 | echo "" 25 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo "" 27 | read -n 1 -s -r -p "Press any key to back on menu" 28 | menu 29 | fi 30 | 31 | clear 32 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 33 | echo -e "\E[44;1;39m ⇱ Renew Vless ⇲ \E[0m" 34 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 35 | echo "" 36 | grep -E "^#& " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 37 | echo "" 38 | red "tap enter to go back" 39 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 40 | read -rp "Input Username : " user 41 | if [ -z $user ]; then 42 | menu 43 | else 44 | read -p "Expired (days): " masaaktif 45 | exp=$(grep -wE "^#& $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 46 | now=$(date +%Y-%m-%d) 47 | d1=$(date -d "$exp" +%s) 48 | d2=$(date -d "$now" +%s) 49 | exp2=$(( (d1 - d2) / 86400 )) 50 | exp3=$(($exp2 + $masaaktif)) 51 | exp4=`date -d "$exp3 days" +"%Y-%m-%d"` 52 | sed -i "/#& $user/c\#& $user $exp4" /etc/xray/config.json 53 | systemctl restart xray > /dev/null 2>&1 54 | clear 55 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 56 | echo " VLESS Account Was Successfully Renewed" 57 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 58 | echo "" 59 | echo " Client Name : $user" 60 | echo " Expired On : $exp4" 61 | echo "" 62 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 63 | echo "" 64 | read -n 1 -s -r -p "Press any key to back on menu" 65 | menu 66 | fi 67 | -------------------------------------------------------------------------------- /xray/renew-ws.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dateFromServer=$(curl -v --insecure --silent https://google.com/ 2>&1 | grep Date | sed -e 's/< Date: //') 3 | biji=`date +"%Y-%m-%d" -d "$dateFromServer"` 4 | ######################### 5 | red='\e[1;31m' 6 | green='\e[0;32m' 7 | NC='\e[0m' 8 | green() { echo -e "\\033[32;1m${*}\\033[0m"; } 9 | red() { echo -e "\\033[31;1m${*}\\033[0m"; } 10 | 11 | 12 | 13 | 14 | clear 15 | NUMBER_OF_CLIENTS=$(grep -c -E "^### " "/etc/xray/config.json") 16 | if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then 17 | clear 18 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 19 | echo -e "\E[44;1;39m ⇱ Renew Vmess ⇲ \E[0m" 20 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 21 | echo "" 22 | echo "You have no existing clients!" 23 | echo "" 24 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 25 | echo "" 26 | read -n 1 -s -r -p "Press any key to back on menu" 27 | menu 28 | fi 29 | 30 | clear 31 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 32 | echo -e "\E[44;1;39m ⇱ Renew Vmess ⇲ \E[0m" 33 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 34 | echo "" 35 | grep -E "^### " "/etc/xray/config.json" | cut -d ' ' -f 2-3 | column -t | sort | uniq 36 | echo "" 37 | red "tap enter to go back" 38 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 39 | read -rp "Input Username : " user 40 | if [ -z $user ]; then 41 | menu 42 | else 43 | read -p "Expired (days): " masaaktif 44 | exp=$(grep -wE "^### $user" "/etc/xray/config.json" | cut -d ' ' -f 3 | sort | uniq) 45 | now=$(date +%Y-%m-%d) 46 | d1=$(date -d "$exp" +%s) 47 | d2=$(date -d "$now" +%s) 48 | exp2=$(( (d1 - d2) / 86400 )) 49 | exp3=$(($exp2 + $masaaktif)) 50 | exp4=`date -d "$exp3 days" +"%Y-%m-%d"` 51 | sed -i "/### $user/c\### $user $exp4" /etc/xray/config.json 52 | systemctl restart xray > /dev/null 2>&1 53 | clear 54 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 55 | echo " VMESS Account Was Successfully Renewed" 56 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 57 | echo "" 58 | echo " Client Name : $user" 59 | echo " Expired On : $exp4" 60 | echo "" 61 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 62 | echo "" 63 | read -n 1 -s -r -p "Press any key to back on menu" 64 | menu 65 | fi 66 | -------------------------------------------------------------------------------- /xray/trialssws.sh: -------------------------------------------------------------------------------- 1 | domain=$(cat /etc/xray/domain) 2 | tls="$(cat ~/log-install.txt | grep -w "Shadowsocks WS TLS" | cut -d: -f2|sed 's/ //g')" 3 | ntls="$(cat ~/log-install.txt | grep -w "Shadowsocks WS none TLS" | cut -d: -f2|sed 's/ //g')" 4 | user=trial` /tmp/log 14 | shadowsocks_base64=$(cat /tmp/log) 15 | echo -n "${shadowsocks_base64}" | base64 > /tmp/log1 16 | shadowsocks_base64e=$(cat /tmp/log1) 17 | shadowsockslink="ss://${shadowsocks_base64e}@isi_bug_disini:$tls?path=ss-ws&security=tls&host=${domain}&type=ws&sni=${domain}#${user}" 18 | shadowsockslink2="ss://${shadowsocks_base64e}@isi_bug_disini:$ntls?path=ss-ws&security=tls&host=${domain}&type=ws#${user}" 19 | shadowsockslink1="ss://${shadowsocks_base64e}@${domain}:$tls?mode=gun&security=tls&type=grpc&serviceName=ss-grpc&sni=bug.com#${user}" 20 | systemctl restart xray > /dev/null 2>&1 21 | service cron restart > /dev/null 2>&1 22 | clear 23 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 24 | echo -e "\\E[0;41;36m Shadowsocks Account \E[0m" 25 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 26 | echo -e "Remarks : ${user}" 27 | echo -e "Domain : ${domain}" 28 | echo -e "Wildcard : (bug.com).${domain}" 29 | echo -e "Port TLS : ${tls}" 30 | echo -e "Port none TLS : ${tls}" 31 | echo -e "Port gRPC : ${tls}" 32 | echo -e "Password : ${uuid}" 33 | echo -e "Ciphers : ${cipher}" 34 | echo -e "Network : ws/grpc" 35 | echo -e "Path : /ss-ws" 36 | echo -e "ServiceName : ss-grpc" 37 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 38 | echo -e "Link TLS : ${shadowsockslink}" 39 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 40 | echo -e "Link none TLS : ${shadowsockslink2}" 41 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 42 | echo -e "Link gRPC : ${shadowsockslink1}" 43 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 44 | echo -e "Expired On : $exp" 45 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 46 | echo "" | tee -a /etc/log-create-user.log 47 | read -n 1 -s -r -p "Press any key to back on menu" 48 | menu 49 | -------------------------------------------------------------------------------- /xray/trialtrojan.sh: -------------------------------------------------------------------------------- 1 | domain=$(cat /etc/xray/domain) 2 | tls="$(cat ~/log-install.txt | grep -w "Trojan WS TLS" | cut -d: -f2|sed 's/ //g')" 3 | ntls="$(cat ~/log-install.txt | grep -w "Trojan WS none TLS" | cut -d: -f2|sed 's/ //g')" 4 | user=trial` /dev/null 2>&1 65 | service cron restart > /dev/null 2>&1 66 | clear 67 | 68 | 69 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 70 | echo -e "\E[0;41;36m Trial Mmess \E[0m" 71 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 72 | echo -e "Remarks : ${user}" 73 | echo -e "Domain : ${domain}" 74 | echo -e "Wildcard : (bug.com).${domain}" 75 | echo -e "Port TLS : ${tls}" 76 | echo -e "Port none TLS : ${none}" 77 | echo -e "Port gRPC : ${tls}" 78 | echo -e "id : ${uuid}" 79 | echo -e "alterId : 0" 80 | echo -e "Security : auto" 81 | echo -e "Network : ws" 82 | echo -e "Path : /vmess" 83 | echo -e "ServiceName : vmess-grpc" 84 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 85 | echo -e "Link TLS : ${vmesslink1}" 86 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 87 | echo -e "Link none TLS : ${vmesslink2}" 88 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 89 | echo -e "Link gRPC : ${vmesslink3}" 90 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 91 | echo -e "Expired On : $exp" 92 | echo -e "\033[0;34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m" 93 | echo "" 94 | 95 | read -n 1 -s -r -p "Press any key to back on menu" 96 | 97 | menu 98 | --------------------------------------------------------------------------------