menu_inst 99 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758
  1. #!/bin/bash
  2. # $(pwd) - directorio
  3. [[ -e /bin/ejecutar/msg ]] && source /bin/ejecutar/msg || source <(curl -sSL https://raw.githubusercontent.com/NetVPS/Multi-Script/main/ChuGH-5.7u/Otros/msg)
  4. function chekKEY {
  5. Key="$(cat /etc/cghkey)"
  6. IiP="$(ofus "$Key" | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')"
  7. [[ ! -e /etc/folteto ]] && wget --no-check-certificate -O /etc/folteto $IiP:81/ChumoGH/checkIP.log
  8. cheklist="$(cat /etc/folteto)"
  9. chekKEY="$(echo -e "$cheklist" | grep ${Key} | awk '{print $5}')"
  10. chekIP="$(echo -e "$cheklist" | grep ${IP} | awk '{print $3}')"
  11. [[ -z ${chekKEY} || -z ${chekIP} ]] && {
  12. xyz=$(curl -sSL "https://www.dropbox.com/s/jzkd6fzey2u0m0g/token.sh")
  13. ID="$(echo $xyz| awk '{print $2}')"
  14. TOKEN="$(echo $xyz| awk '{print $1}')"
  15. urlBOT="https://api.telegram.org/bot$TOKEN/sendMessage"
  16. echo 'clear&&clear
  17. echo -e "\n\n\n \033[0;31m==================================================
  18. ¡ 🚫 KEY BANEADA 🚫 ! CONTACTE Su ADMINISTRADOR
  19. ================================================== \n\n"
  20. ' > /bin/menu \
  21. [[ ! -d /etc/banned ]] && mkdir /etc/banned \
  22. chmod +x /bin/menu \
  23. mv /etc/adm-lite/menu /etc/banned/ \
  24. mv /etc/adm-lite/usercodes /etc/banned/ \
  25. rm -f /etc/folteto
  26. MENSAJE="${TTini}${m3ssg}MSG RECIVIDO${m3ssg}${TTfin}\n"
  27. MENSAJE+=" IP : ${IP} NO DETECTADA EN EL GENERADOR\n"
  28. MENSAJE+=" $(msg -bar4)\n"
  29. MENSAJE+=" HORA : $(printf '%(%D-%H:%M:%S)T')\n"
  30. MENSAJE+=" $(msg -bar4)\n"
  31. MENSAJE+=" ${rUlq} Bot generador de key ${rUlq}\n"
  32. MENSAJE+=" ${pUn5A} By @ChumoGH ${pUn5A} \n"
  33. MENSAJE+=" $(msg -bar4)\n"
  34. curl -s --max-time 10 -d "chat_id=$ID&disable_web_page_preview=1&text=$(echo -e "$MENSAJE")" $urlBOT &>/dev/null
  35. exit && exit
  36. }
  37. }
  38. number_var () {
  39. unset var_number
  40. if (echo "$1" | egrep '[^0-9]' &> /dev/null); then
  41. echo -e "${cor[5]} SOLO NUMEROS!"
  42. else
  43. var_number="$1"
  44. fi
  45. }
  46. fun_bar () {
  47. comando="$1"
  48. _=$( $comando > /dev/null 2>&1 ) & > /dev/null
  49. pid=$!
  50. while [[ -d /proc/$pid ]]; do
  51. echo -ne " \033[1;33m["
  52. for((i=0; i<20; i++)); do
  53. echo -ne "\033[1;31m##"
  54. sleep 0.5
  55. done
  56. echo -ne "\033[1;33m]"
  57. sleep 1s
  58. echo tput cuu1 tput dl1
  59. done
  60. echo -e " \033[1;33m[\033[1;31m########################################\033[1;33m] - \033[1;32m100%\033[0m"
  61. sleep 1s
  62. }
  63. sslkk (){
  64. sslports=`netstat -tunlp | grep stunnel | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/ssl.txt && echo | cat /tmp/ssl.txt | tr '\n' ' ' > /etc/adm-lite/sslports.txt && cat /etc/adm-lite/sslports.txt`;
  65. pt=$(netstat -nplt |grep 'sshd' | awk -F ":" NR==1{'print $2'} | cut -d " " -f 1)
  66. }
  67. #par=$(v2ray info | grep path |awk -F : '{print $4}')
  68. verif_ptrs() {
  69. porta=$1
  70. PT=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" | grep -v "COMMAND" | grep "LISTEN")
  71. for pton in $(echo -e "$PT" | cut -d: -f2 | cut -d' ' -f1 | uniq); do
  72. svcs=$(echo -e "$PT" | grep -w "$pton" | awk '{print $1}' | uniq)
  73. [[ "$porta" = "$pton" ]] && {
  74. echo -e "\n\033[1;31mPUERTO \033[1;33m$porta \033[1;31mESTA EN USO POR \033[1;37m$svcs\033[0m"
  75. sleep 0.5
  76. return 0
  77. }
  78. done
  79. }
  80. fun_log () {
  81. [[ -e /bin/ejecutar/sshd_config ]] && {
  82. ####
  83. sysvar=$(cat -n /etc/issue |grep 1 |cut -d' ' -f6,7,8 |sed 's/1//' |sed 's/ //' | grep -o Ubuntu)
  84. [[ ! $(cat /etc/shells|grep "/bin/false") ]] || sed -i "s%/bin/false%filemancgh%g" /etc/shells
  85. [[ ! $(cat /etc/shells|grep "/usr/sbin/nologin") ]] || sed -i "s%/usr/sbin/nologin%filemancgh%g" /etc/shells
  86. sed -i "/filemancgh/d" /etc/shells
  87. echo "/bin/false" >> /etc/shells
  88. echo "/usr/sbin/nologin" >> /etc/shells
  89. [[ "$sysvar" != "" ]] && {
  90. echo -e "Port 22
  91. Protocol 2
  92. KeyRegenerationInterval 3600
  93. ServerKeyBits 1024
  94. SyslogFacility AUTH
  95. LogLevel INFO
  96. LoginGraceTime 120
  97. PermitRootLogin yes
  98. StrictModes yes
  99. RSAAuthentication yes
  100. PubkeyAuthentication yes
  101. IgnoreRhosts yes
  102. RhostsRSAAuthentication no
  103. HostbasedAuthentication no
  104. PermitEmptyPasswords no
  105. ChallengeResponseAuthentication no
  106. PasswordAuthentication yes
  107. X11Forwarding yes
  108. X11DisplayOffset 10
  109. PrintMotd no
  110. PrintLastLog yes
  111. TCPKeepAlive yes
  112. #UseLogin no
  113. AcceptEnv LANG LC_*
  114. Subsystem sftp /usr/lib/openssh/sftp-server
  115. UsePAM yes
  116. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  117. } || {
  118. echo -e "Port 22
  119. Protocol 2
  120. KeyRegenerationInterval 3600
  121. ServerKeyBits 1024
  122. SyslogFacility AUTH
  123. LogLevel INFO
  124. LoginGraceTime 120
  125. PermitRootLogin yes
  126. StrictModes yes
  127. RSAAuthentication yes
  128. PubkeyAuthentication yes
  129. IgnoreRhosts yes
  130. RhostsRSAAuthentication no
  131. HostbasedAuthentication no
  132. PermitEmptyPasswords no
  133. ChallengeResponseAuthentication no
  134. PasswordAuthentication yes
  135. X11Forwarding yes
  136. X11DisplayOffset 10
  137. PrintMotd no
  138. PrintLastLog yes
  139. TCPKeepAlive yes
  140. #UseLogin no
  141. AcceptEnv LANG LC_*
  142. Subsystem sftp /usr/lib/openssh/sftp-server
  143. UsePAM yes
  144. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  145. }
  146. } || {
  147. cp /etc/ssh/sshd_config /bin/ejecutar/sshd_config
  148. sysvar=$(cat -n /etc/issue |grep 1 |cut -d' ' -f6,7,8 |sed 's/1//' |sed 's/ //' | grep -o Ubuntu)
  149. [[ ! $(cat /etc/shells|grep "/bin/false") ]] || sed -i "s%/bin/false%filemancgh%g" /etc/shells
  150. [[ ! $(cat /etc/shells|grep "/usr/sbin/nologin") ]] || sed -i "s%/usr/sbin/nologin%filemancgh%g" /etc/shells
  151. sed -i "/filemancgh/d" /etc/shells
  152. echo "/bin/false" >> /etc/shells
  153. echo "/usr/sbin/nologin" >> /etc/shells
  154. [[ "$sysvar" != "" ]] && {
  155. echo -e "Port 22
  156. Protocol 2
  157. KeyRegenerationInterval 3600
  158. ServerKeyBits 1024
  159. SyslogFacility AUTH
  160. LogLevel INFO
  161. LoginGraceTime 120
  162. PermitRootLogin yes
  163. StrictModes yes
  164. RSAAuthentication yes
  165. PubkeyAuthentication yes
  166. IgnoreRhosts yes
  167. RhostsRSAAuthentication no
  168. HostbasedAuthentication no
  169. PermitEmptyPasswords no
  170. ChallengeResponseAuthentication no
  171. PasswordAuthentication yes
  172. X11Forwarding yes
  173. X11DisplayOffset 10
  174. PrintMotd no
  175. PrintLastLog yes
  176. TCPKeepAlive yes
  177. #UseLogin no
  178. AcceptEnv LANG LC_*
  179. Subsystem sftp /usr/lib/openssh/sftp-server
  180. UsePAM yes
  181. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  182. } || {
  183. echo -e "Port 22
  184. Protocol 2
  185. KeyRegenerationInterval 3600
  186. ServerKeyBits 1024
  187. SyslogFacility AUTH
  188. LogLevel INFO
  189. LoginGraceTime 120
  190. PermitRootLogin yes
  191. StrictModes yes
  192. RSAAuthentication yes
  193. PubkeyAuthentication yes
  194. IgnoreRhosts yes
  195. RhostsRSAAuthentication no
  196. HostbasedAuthentication no
  197. PermitEmptyPasswords no
  198. ChallengeResponseAuthentication no
  199. PasswordAuthentication yes
  200. X11Forwarding yes
  201. X11DisplayOffset 10
  202. PrintMotd no
  203. PrintLastLog yes
  204. TCPKeepAlive yes
  205. #UseLogin no
  206. AcceptEnv LANG LC_*
  207. Subsystem sftp /usr/lib/openssh/sftp-server
  208. UsePAM yes
  209. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  210. }
  211. }
  212. ######################
  213. }
  214. selection_fun () {
  215. local selection="null"
  216. local range
  217. for((i=0; i<=$1; i++)); do range[$i]="$i "; done
  218. while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do
  219. echo -ne "\033[1;37m Opcion: " >&2
  220. read selection
  221. tput cuu1 >&2 && tput dl1 >&2
  222. done
  223. echo $selection
  224. }
  225. ban_inex () {
  226. ban=$(cat < /etc/adm-lite/menu_credito)
  227. echo -e " "
  228. echo -e "BANNER INEXISTENTE - RECOMENDADO MODIFICAR TU BANNER"
  229. fun_bar
  230. credit=$(cat </etc/adm-lite/menu_credito)
  231. [[ -e /root/name ]] && credi="$(cat < /root/name)" || credi="${credit}"
  232. echo -e '<p style="text-align: center;"> <big><big><big><big><big><big>🐉</big></big></big></big></big></big></p>' > /etc/bannerssh
  233. echo -e '<p style="text-align: center;"><strong><span style="color: #FF00FF;">'" $credit "'&reg;</span> |&nbsp;</strong><span style="color: #483D8B;"><strong>'"$credi"'</strong></span></p>' >> /etc/bannerssh
  234. [[ -d /etc/dropbear ]] && {
  235. [[ -e /etc/bannerssh ]] && cat /etc/bannerssh > /etc/dropbear/banner
  236. } || {
  237. mkdir /etc/dropbear
  238. [[ -e /etc/bannerssh ]] && cat /etc/bannerssh > /etc/dropbear/banner
  239. }
  240. echo -e "\033[1;32mCambia Banner en ( * \033[1;33m Menu 1\033[1;32m *\033[1;33m opcion 6 \033[1;32m*\033[1;32m)"
  241. read -p "Presiona Enter para Continuar"
  242. clear&&clear
  243. dropbearuniversal
  244. }
  245. function dropbearuniversal(){
  246. echo "› Preparando Instalacion, Espere un Momento"
  247. echo -ne "\033[1;31m[ ! ] RESOLVIENDO SSH -> DROPBEAR "
  248. (
  249. service dropbear stop 1> /dev/null 2> /dev/null
  250. service ssh restart 1> /dev/null 2> /dev/null
  251. ) && echo -e "\033[1;32m [OK]" || echo -e "\033[1;31m [FAIL]"
  252. echo -ne "\033[1;31m[ ! ] VERIFICANDO COMPATIBILIDAD DEL BANNER " && sleep 0.5s && echo -e "\033[1;32m [OK]"
  253. [[ -e /etc/bannerssh ]] && {
  254. ####
  255. fun_log
  256. ####
  257. echo " › Instalando Dropbear"
  258. fun_bar 'apt install dropbear -y'
  259. service dropbear stop 1> /dev/null 2> /dev/null
  260. msg -bar
  261. while true; do
  262. echo -ne "\033[1;37m"
  263. echo -e " PUERTOS RECOMENDADOS A USAR ( 80/90/100/443 Default 143 )"
  264. echo -e " "
  265. read -p " PUERTO DROPBEAR : " puertodropbear -e -i "143"
  266. tput cuu1 && tput dl1
  267. PortDROP=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $puertodropbear`
  268. [[ -n "$PortDROP" ]] || break
  269. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$puertodropbear"{print $9}'`
  270. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  271. unset puertodropbear
  272. msg -bar
  273. done
  274. msg -bar
  275. echo $puertodropbear > /etc/default/dadd
  276. echo -e 'NO_START=0' > /etc/default/dropbear
  277. echo -e '# the TCP port that Dropbear listens on' >> /etc/default/dropbear
  278. echo -e '#DROPBEAR_PORT=22' >> /etc/default/dropbear
  279. echo -e 'DROPBEAR_EXTRA_ARGS="-p '$puertodropbear'"' >> /etc/default/dropbear
  280. echo -e 'DROPBEAR_BANNER="/etc/dropbear/banner"' >> /etc/default/dropbear
  281. echo -e "DROPBEAR_RECEIVE_WINDOW=65536" >> /etc/default/dropbear
  282. [[ ! $(cat /etc/shells|grep "/bin/false") ]] || sed -i "s%/bin/false%filemancgh%g" /etc/shells
  283. [[ ! $(cat /etc/shells|grep "/usr/sbin/nologin") ]] || sed -i "s%/usr/sbin/nologin%filemancgh%g" /etc/shells
  284. sed -i "/filemancgh/d" /etc/shells
  285. echo "/bin/false" >> /etc/shells
  286. echo "/usr/sbin/nologin" >> /etc/shells
  287. [[ ! -e /etc/dropbear/banner ]] && touch /etc/dropbear/banner || cat /etc/bannerssh > /etc/dropbear/banner
  288. service dropbear restart 1> /dev/null 2> /dev/null
  289. service ssh restart 1> /dev/null 2> /dev/null
  290. dropbearports=`netstat -tunlp | grep dropbear | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/dropbear.txt && echo | cat /tmp/dropbear.txt | tr '\n' ' ' > /etc/adm-lite/dropbearports.txt && cat /etc/adm-lite/dropbearports.txt`;
  291. service sshd restart 1> /dev/null 2> /dev/null
  292. echo -e "\033[1;31m › DROPBEAR SE EJECUTA EN PUERTO\033[0m" $dropbearports " ESCOJIDO " $puertodropbear
  293. service dropbear start 1> /dev/null 2> /dev/null
  294. [[ -f "/usr/sbin/ufw" ]] && ufw allow $puertodropbear/tcp 1> /dev/null 2> /dev/null
  295. fun_eth
  296. return 0
  297. } || {
  298. ban_inex
  299. return 1
  300. }
  301. }
  302. #LISTA PORTAS
  303. mportas () {
  304. unset portas
  305. portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN")
  306. while read port; do
  307. var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}')
  308. [[ "$(echo -e $portas|grep "$var1 $var2")" ]] || portas+="$var1 $var2\n"
  309. done <<< "$portas_var"
  310. i=1
  311. echo -e "$portas"
  312. }
  313. #MEU IP
  314. fun_ip () {
  315. [[ -e /etc/catIPlocal && -e /etc/catIP ]] && {
  316. MEU_IP=$(cat < /etc/catIPlocal)
  317. MEU_IP2=$(cat < /etc/catIP)
  318. [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" || IP="$MEU_IP"
  319. } || {
  320. MEU_IP=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1) && echo $MEU_IP > /etc/catIPlocal
  321. MEU_IP2=$(wget -qO- ipv4.icanhazip.com) && echo $MEU_IP2 > /etc/catIP
  322. [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" || IP="$MEU_IP"
  323. }
  324. }
  325. meu_ip () {
  326. fun_ip
  327. }
  328. #ETHOOL SSH
  329. fun_eth () {
  330. eth=$(ifconfig | grep -v inet6 | grep -v lo | grep -v 127.0.0.1 | grep "encap:Ethernet" | awk '{print $1}')
  331. [[ $eth != "" ]] && {
  332. msg -bar
  333. echo -e "${cor[3]} Aplicar Sistema Para Mejorar Sistema SSH?"
  334. echo -e "${cor[3]} Opcion Para Usuarios Avanzados"
  335. msg -bar
  336. read -p " [S/N]: " -e -i n sshsn
  337. [[ "$sshsn" = @(s|S|y|Y) ]] && {
  338. echo -e "${cor[1]} Correcion de problemas de paquetes en SSH..."
  339. echo -e " Quota en Entrada"
  340. echo -ne "[ 1 - 999999999 ]: "; read rx
  341. [[ "$rx" = "" ]] && rx="999999999"
  342. echo -e " Quota en Salida"
  343. echo -ne "[ 1 - 999999999 ]: "; read tx
  344. [[ "$tx" = "" ]] && tx="999999999"
  345. apt-get install ethtool -y > /dev/null 2>&1
  346. ethtool -G $eth rx $rx tx $tx > /dev/null 2>&1
  347. }
  348. msg -bar
  349. }
  350. }
  351. squid_cache () {
  352. msg -bar
  353. echo -e "${cor[5]} Caché de Squid no es más Que
  354. Un historial de navegación en Squid
  355. Que ahorrará datos al abrir sitios
  356. Alojados en su caché
  357. ¡El script hará una breve comprobación!"
  358. msg -bar
  359. sleep 0.5s
  360. if [ -e /etc/squid/squid.conf ]; then
  361. squid_var="/etc/squid/squid.conf"
  362. elif [ -e /etc/squid3/squid.conf ]; then
  363. squid_var="/etc/squid3/squid.conf"
  364. else
  365. echo -e "${cor[5]} No se ha identificado Squid!"
  366. return 1
  367. fi
  368. teste_cache="#CACHE DO SQUID"
  369. if [[ `grep -c "^$teste_cache" $squid_var` -gt 0 ]]; then
  370. [[ -e ${squid_var}.bakk ]] && {
  371. echo -e "${cor[5]} Desactivando SquidCache !!\n ESPERA PORFAVOR !"
  372. mv -f ${squid_var}.bakk $squid_var
  373. echo -e "${cor[5]} COLOCAR ARCHIVO ONLINE"
  374. msg -bar
  375. service squid restart > /dev/null 2>&1
  376. service squid3 restart > /dev/null 2>&1
  377. return 0
  378. }
  379. fi
  380. echo -e "${cor[5]} ¡Squid esta Activo en tu sistema!\n ${cor[5]} No hay servicio de caché en el Squid!\n Activando el servicio SquidCache!"
  381. msg -bar
  382. _tmp="#CACHE DO SQUID\ncache_mem 200 MB\nmaximum_object_size_in_memory 32 KB\nmaximum_object_size 1024 MB\nminimum_object_size 0 KB\ncache_swap_low 90\ncache_swap_high 95"
  383. [[ "$squid_var" = "/etc/squid/squid.conf" ]] && _tmp+="\ncache_dir ufs /var/spool/squid 100 16 256\naccess_log /var/log/squid/access.log squid" || _tmp+="\ncache_dir ufs /var/spool/squid3 100 16 256\naccess_log /var/log/squid3/access.log squid"
  384. while read s_squid; do
  385. [[ "$s_squid" != "cache deny all" ]] && _tmp+="\n${s_squid}"
  386. done < $squid_var
  387. cp ${squid_var} ${squid_var}.bakk
  388. echo -e "${_tmp}" > $squid_var
  389. echo -e "${cor[5]} Reiniciando Servicios Espera!\n ESPERA PORFAVOR!"
  390. msg -bar
  391. service squid restart > /dev/null 2>&1
  392. service squid3 restart > /dev/null 2>&1
  393. }
  394. add_host_squid () {
  395. payload="/etc/payloads"
  396. if [ ! -f "$payload" ]; then
  397. echo -e "${cor[5]} $payload No econtrado"
  398. echo -e "${cor[5]} Squid no instalado"
  399. return
  400. fi
  401. msg -bar
  402. echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m${cor[3]} Añadir NUEEVO Host a Squid"
  403. echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m${cor[3]} Quitar 1 host de Squid"
  404. msg -bar
  405. read -p " | 1 - 2 |: " var_payload
  406. number_var $var_payload
  407. [[ -z $var_number ]] && echo -e "\033[1;31m Opcion Invalida" && return
  408. [[ $var_payload -gt 2 ]] && echo -e "\033[1;31m Opcion Invalida" && return
  409. [[ "$var_payload" = "1" ]] && {
  410. echo -e "${cor[4]} Añadir Host a Squid"
  411. echo -e "${cor[5]} Dominios actuales en el archivo $payload:"
  412. msg -bar
  413. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  414. msg -bar
  415. echo "Escriba el Host-Squid que desea agregar "
  416. read -p "Iniciando con un ., ejemplo: .whatsapp.net: " hos
  417. if [[ $hos != \.* ]]; then
  418. echo -e "${cor[5]} Iniciando con un ., ejemplo: .whatsapp.net: "
  419. return
  420. fi
  421. host="$hos/"
  422. if [[ -z $host ]]; then
  423. echo -e "${cor[5]} ¡Esta vacío, no ha escrito nada!"
  424. return
  425. fi
  426. if [[ `grep -c "^$host" $payload` -eq 1 ]]; then
  427. echo -e "${cor[5]} El dominio ya existe en el archivo"
  428. return
  429. fi
  430. echo "$host" >> $payload && grep -v "^$" $payload > /tmp/a && mv /tmp/a $payload
  431. echo -e "${cor[5]} ¡Éxito, Archivo Actualizado!"
  432. msg -bar
  433. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  434. msg -bar
  435. if [ ! -f "/etc/init.d/squid" ]; then
  436. service squid3 reload
  437. service squid3 restart
  438. else
  439. /etc/init.d/squid reload
  440. service squid restart
  441. fi
  442. return
  443. }
  444. [[ $var_payload = 2 ]] && {
  445. echo -e "${cor[4]} Quitar el host de Squid"
  446. echo -e "${cor[5]} Dominios actuales en el archivo $payload:"
  447. msg -bar
  448. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  449. msg -bar
  450. read -p " $(echo -e "Escriba el dominio que desea quitar\n") Iniciando con un ( . ), ejemplo: .chumogh.net: " hos
  451. if [[ $hos != \.* ]]; then
  452. echo -e "${cor[5]} Iniciando con un ( . ), ejemplo: .chumogh.net"
  453. return
  454. fi
  455. host="$hos/"
  456. if [[ -z $host ]]; then
  457. echo -e "${cor[5]} ¡Esta vacío, no ha escrito nada!"
  458. return
  459. fi
  460. if [[ `grep -c "^$host" $payload` -ne 1 ]]; then
  461. echo -e "${cor[5]} DOMINIO NO ENCONTRADO"
  462. return
  463. fi
  464. grep -v "^$host" $payload > /tmp/a && mv /tmp/a $payload
  465. echo -e "${cor[5]} ARCHIVO ACTUALIZADO EXITOSAMENTE!"
  466. msg -bar
  467. cat $payload | awk -F "/" '{print $1,$2,$3,$4}'
  468. msg -bar
  469. if [ ! -f "/etc/init.d/squid" ]; then
  470. service squid3 reload
  471. service squid3 restart
  472. else
  473. /etc/init.d/squid reload
  474. service squid restart
  475. fi
  476. return
  477. }
  478. }
  479. add_port(){
  480. if [[ -e /etc/squid/squid.conf ]]; then
  481. local CONF="/etc/squid/squid.conf"
  482. elif [[ -e /etc/squid3/squid.conf ]]; then
  483. local CONF="/etc/squid3/squid.conf"
  484. fi
  485. local miport=$(cat ${CONF}|grep -w 'http_port'|awk -F ' ' '{print $2}'|tr '\n' ' ')
  486. local line="$(cat ${CONF}|sed -n '/http_port/='|head -1)"
  487. local NEWCONF="$(cat ${CONF}|sed "$line c ADMR_port"|sed '/http_port/d')"
  488. msg -ama "$(echo -e "AGREGAR UN PUERTOS SQUID")"
  489. echo -e " $(msg -verm2 "Ingrese Sus Puertos:") $(msg -verd "80 8080 8799 3128")"
  490. msg -bar
  491. msg -ne " $(echo -e " Digite Puertos"): " && read DPORT
  492. tput cuu1 && tput dl1
  493. TTOTAL=($DPORT)
  494. for((i=0; i<${#TTOTAL[@]}; i++)); do
  495. [[ $(mportas|grep -v squid|grep -v '>'|grep -w "${TTOTAL[$i]}") = "" ]] && {
  496. echo -e "\033[1;33m Puerto Elegido:\033[1;32m ${TTOTAL[$i]} OK"
  497. PORT="$PORT ${TTOTAL[$i]}"
  498. } || {
  499. echo -e "\033[1;33m Puerto Elegido:\033[1;31m ${TTOTAL[$i]} FAIL"
  500. }
  501. done
  502. [[ -z $PORT ]] && {
  503. msg -bar
  504. msg -verm2 "Ningun Puerto Valido"
  505. return 1
  506. }
  507. PORT="$miport $PORT"
  508. rm ${CONF}
  509. while read varline; do
  510. if [[ ! -z "$(echo "$varline"|grep 'ADMR_port')" ]]; then
  511. for i in `echo $PORT`; do
  512. echo -e "http_port ${i}" >> ${CONF}
  513. ufw allow $i/tcp &>/dev/null 2>&1
  514. done
  515. continue
  516. fi
  517. echo -e "${varline}" >> ${CONF}
  518. done <<< "${NEWCONF}"
  519. msg -bar
  520. msg -azu "$(echo -e "AGUARDE REINICIANDO SERVICIOS")"
  521. [[ -d "/etc/squid/" ]] && {
  522. service ssh restart > /dev/null 2>&1
  523. /etc/init.d/squid start > /dev/null 2>&1
  524. service squid restart > /dev/null 2>&1
  525. }
  526. [[ -d "/etc/squid3/" ]] && {
  527. service ssh restart > /dev/null 2>&1
  528. /etc/init.d/squid3 start > /dev/null 2>&1
  529. service squid3 restart > /dev/null 2>&1
  530. }
  531. sleep 2s
  532. tput cuu1 && tput dl1
  533. msg -verd "$(echo -e "PUERTOS AGREGADOS")"
  534. return 1
  535. }
  536. del_port(){
  537. squidport=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN"|grep -E 'squid|squid3')
  538. if [[ $(echo "$squidport"|wc -l) -lt '2' ]];then
  539. clear
  540. msg -bar
  541. msg -ama "Un solo puerto para eliminar\ndesea detener el servicio? "
  542. msg -bar
  543. msg -ne " opcion [S/N]: " && read a
  544. if [[ "$a" = @(S|s) ]]; then
  545. msg -ama "AGUARDE DETENIEDO SERVICIOS"
  546. [[ -d "/etc/squid/" ]] && {
  547. if service squid stop &> /dev/null ; then
  548. msg -verd "Servicio squid detenido"
  549. else
  550. msg -verm2 "Falla al detener Servicio squid"
  551. fi
  552. }
  553. [[ -d "/etc/squid3/" ]] && {
  554. if service squid3 stop &> /dev/null ; then
  555. msg -verd "Servicio squid3 detenido"
  556. else
  557. msg -verm2 "Falla al detener Servicio squid3"
  558. fi
  559. }
  560. fi
  561. return 1
  562. fi
  563. if [[ -e /etc/squid/squid.conf ]]; then
  564. local CONF="/etc/squid/squid.conf"
  565. elif [[ -e /etc/squid3/squid.conf ]]; then
  566. local CONF="/etc/squid3/squid.conf"
  567. fi
  568. msg -ama "Quitar un puertos squid"
  569. n=1
  570. while read i; do
  571. port=$(echo $i|awk -F ' ' '{print $9}'|cut -d ':' -f2)
  572. echo -e " $(msg -verd "[$n]") $(msg -verm2 ">") $(msg -azu "$port")"
  573. drop[$n]=$port
  574. num_opc="$n"
  575. let n++
  576. done <<< $(echo "$squidport")
  577. back
  578. while [[ -z $opc ]]; do
  579. msg -ne " opcion: "
  580. read opc
  581. tput cuu1 && tput dl1
  582. if [[ -z $opc ]]; then
  583. msg -verm2 " selecciona una opcion entre 1 y $num_opc"
  584. unset opc
  585. sleep 2
  586. tput cuu1 && tput dl1
  587. continue
  588. elif [[ ! $opc =~ $numero ]]; then
  589. msg -verm2 " selecciona solo numeros entre 1 y $num_opc"
  590. unset opc
  591. sleep 2
  592. tput cuu1 && tput dl1
  593. continue
  594. elif [[ "$opc" -gt "$num_opc" ]]; then
  595. msg -verm2 " selecciona una opcion entre 1 y $num_opc"
  596. sleep 2
  597. tput cuu1 && tput dl1
  598. unset opc
  599. continue
  600. fi
  601. done
  602. sed -i "/http_port ${drop[$opc]}/d" $CONF
  603. msg -azu "$(echo -e "AGUARDE REINICIANDO SERVICIOS")"
  604. [[ -d "/etc/squid/" ]] && {
  605. service ssh restart > /dev/null 2>&1
  606. /etc/init.d/squid start > /dev/null 2>&1
  607. service squid restart > /dev/null 2>&1
  608. }
  609. [[ -d "/etc/squid3/" ]] && {
  610. service ssh restart > /dev/null 2>&1
  611. /etc/init.d/squid3 start > /dev/null 2>&1
  612. service squid3 restart > /dev/null 2>&1
  613. }
  614. sleep 2s
  615. tput cuu1 && tput dl1
  616. msg -verd "$(echo -e "PUERTO REMOVIDO")"
  617. return 1
  618. }
  619. restart_squid(){
  620. msg -ama "AGUARDE REINICIANDO SERVICIOS"
  621. [[ -d "/etc/squid/" ]] && {
  622. service ssh restart > /dev/null 2>&1
  623. /etc/init.d/squid start > /dev/null 2>&1
  624. service squid restart > /dev/null 2>&1
  625. }
  626. [[ -d "/etc/squid3/" ]] && {
  627. service ssh restart > /dev/null 2>&1
  628. /etc/init.d/squid3 start > /dev/null 2>&1
  629. service squid3 restart > /dev/null 2>&1
  630. }
  631. sleep 2s
  632. tput cuu1 && tput dl1
  633. msg -verd "$(echo -e "SERVICIO REINICIANDO")"
  634. return 1
  635. }
  636. #INSTALADOR SQUID
  637. fun_squid () {
  638. if [[ -e /etc/squid/squid.conf ]]; then
  639. var_squid="/etc/squid/squid.conf"
  640. elif [[ -e /etc/squid3/squid.conf ]]; then
  641. var_squid="/etc/squid3/squid.conf"
  642. fi
  643. [[ -e $var_squid ]] && {
  644. echo -e " MENU DE FUNCION SQUID "
  645. msg -bar
  646. echo -e " \033[0;35m [\033[0;36m1\033[0;35m]\033[0;31m ${flech} ${cor[3]} SQUID CACHE $_cachesquid"
  647. echo -e " \033[0;35m [\033[0;36m2\033[0;35m]\033[0;31m ${flech} ${cor[3]} AGREGAR / REMOVER HOST-SQUID"
  648. echo -e " \033[0;35m [\033[0;36m3\033[0;35m]\033[0;31m ${flech} ${cor[3]} AÑADIR UN PUERTO SQUID"
  649. echo -e " \033[0;35m [\033[0;36m4\033[0;35m]\033[0;31m ${flech} ${cor[3]} QUITAR UN PUERTO SQUID"
  650. echo -e " \033[0;35m [\033[0;36m5\033[0;35m]\033[0;31m ${flech} ${cor[3]} DESINSTALAR SQUID"
  651. msg -bar
  652. echo -e " \033[0;35m [\033[0;36m0\033[0;35m]\033[0;31m ${flech} $(msg -bra "\033[1;41m[ REGRESAR ]\e[0m")"
  653. msg -bar
  654. selection=$(selection_fun 5)
  655. case ${selection} in
  656. 0)
  657. return 0
  658. ;;
  659. 1)
  660. squid_cache
  661. return 0
  662. ;;
  663. 2)
  664. add_host_squid
  665. return 0
  666. ;;
  667. 3)
  668. add_port
  669. return 0
  670. ;;
  671. 4)
  672. del_port
  673. return 0
  674. ;;
  675. 5)
  676. msg -bar
  677. echo -e "\033[1;32m REMOVIENDO SQUID"
  678. if [[ -e /etc/squid/squid.conf ]]; then
  679. var_squid="/etc/squid/squid.conf"
  680. mipatch="/etc/squid"
  681. elif [[ -e /etc/squid3/squid.conf ]]; then
  682. var_squid="/etc/squid3/squid.conf"
  683. mipatch="/etc/squid3"
  684. fi
  685. [[ -e $var_squid ]] && {
  686. clear
  687. msg -bar
  688. msg -ama "$(echo -e "REMOVIENDO SQUID")"
  689. msg -ama "Aguarde un momento!!!"
  690. msg -bar
  691. [[ -d "/etc/squid" ]] && {
  692. service squid stop > /dev/null 2>&1
  693. apt-get remove squid -y >/dev/null 2>&1
  694. apt-get purge squid -y >/dev/null 2>&1
  695. rm -rf /etc/squid >/dev/null 2>&1
  696. }
  697. [[ -d "/etc/squid3" ]] && {
  698. service squid3 stop > /dev/null 2>&1
  699. apt-get remove squid3 -y >/dev/null 2>&1
  700. apt-get purge squid3 -y >/dev/null 2>&1
  701. rm -rf /etc/squid3 >/dev/null 2>&1
  702. }
  703. }
  704. service squid stop > /dev/null 2>&1
  705. service squid3 stop > /dev/null 2>&1
  706. echo -e "\033[1;32m Procedimento Concluido"
  707. msg -bar
  708. [[ -e $var_squid ]] && rm $var_squid
  709. return 0
  710. ;;
  711. esac
  712. }
  713. #Reiniciando
  714. service squid3 restart > /dev/null 2>&1
  715. service squid restart > /dev/null 2>&1
  716. #Instalar
  717. clear&&clear
  718. msg -bar
  719. echo -e "\033[1;32m INSTALADOR SQUID ChumoGH-Script"
  720. msg -bar
  721. fun_ip
  722. echo -ne " CONFIRME SU IP"; read -p ": " -e -i $IP ip
  723. msg -bar
  724. echo -e " DIJITA TUS PUERTOS EN LA SIGUIENTE SECUENCIA"
  725. echo -e " SECUENCIA DE Ejemplo: 80 8080 3128"
  726. echo -ne " INGRESA TUS PUERTOS: "; read portasx
  727. msg -bar
  728. totalporta=($portasx)
  729. unset PORT
  730. for((i=0; i<${#totalporta[@]}; i++)); do
  731. [[ $(mportas|grep "${totalporta[$i]}") = "" ]] && {
  732. echo -e "\033[1;33m Puertos Escojidos :\033[1;32m ${totalporta[$i]} OK"
  733. PORT+="${totalporta[$i]}\n"
  734. [[ -f "/usr/sbin/ufw" ]] && ufw allow ${totalporta[$i]}/tcp 1> /dev/null 2> /dev/null
  735. } || {
  736. echo -e "\033[1;33m Puertos Escojidos :\033[1;31m ${totalporta[$i]} FAIL"
  737. }
  738. done
  739. [[ "$(echo -e $PORT)" = "" ]] && {
  740. echo -e "\033[1;31m No se ha elegido ningún puerto válido\033[0m"
  741. return 1
  742. }
  743. msg -bar
  744. echo -e " INSTALANDO SQUID"
  745. msg -bar
  746. fun_bar "apt-get install squid3 -y"
  747. msg -bar
  748. echo -e " INICIANDO CONFIGURACION SQUID"
  749. msg -bar
  750. echo -e "" > /etc/payloads
  751. #A�adir Host Squid
  752. payload="/etc/payloads"
  753. echo -e "" > /etc/payloads
  754. echo -e " Escriba el Host-Squid que desea agregar"
  755. echo -e " Iniciando con un ., ejemplo: .facebook.net"
  756. read -p " Agregar Host " hos
  757. if [[ $hos != \.* ]]; then
  758. msg -bar
  759. echo -e "\033[1;31m [!] Host-Squid debe iniciar con un "."\033[0m"
  760. echo -e "\033[1;31m Asegurese de agregarlo despues corretamente!\033[0m"
  761. fi
  762. host="$hos/"
  763. if [[ -z $host ]]; then
  764. msg -bar
  765. echo -e "\033[1;31m [!] Host-Squid no agregado"
  766. echo -e "\033[1;31m Asegurese de agregarlo despues!\033[0m"
  767. fi
  768. echo "$host" >> $payload && grep -v "^$" $payload > /tmp/a && mv /tmp/a $payload
  769. msg -bar
  770. echo -e "\033[1;32m Ahora escoja una Conf Para Su Proxy"
  771. msg -bar
  772. echo -e "\033[0;35m [\033[0;36m1\033[0;35m]\033[0;31m ${flech}${cor[3]} INSTALACION COMUN"
  773. echo -e "\033[0;35m [\033[0;36m2\033[0;35m]\033[0;31m ${flech}${cor[3]} INSTALACION AVANZADA -\033[1;31m CUSTIMIZABLE\033[1;37m"
  774. msg -bar
  775. read -p " [1/2]: " -e -i 1 proxy_opt
  776. unset var_squid
  777. if [[ -d /etc/squid ]]; then
  778. var_squid="/etc/squid/squid.conf"
  779. elif [[ -d /etc/squid3 ]]; then
  780. var_squid="/etc/squid3/squid.conf"
  781. fi
  782. if [[ "$proxy_opt" = @(02|2) ]]; then
  783. echo -e "#ConfiguracionSquiD
  784. acl url1 dstdomain -i $ip
  785. acl url2 dstdomain -i 127.0.0.1
  786. acl url3 url_regex -i '/etc/payloads'
  787. acl url4 dstdomain -i localhost
  788. acl accept dstdomain -i GET
  789. acl accept dstdomain -i POST
  790. acl accept dstdomain -i OPTIONS
  791. acl accept dstdomain -i CONNECT
  792. acl accept dstdomain -i PUT
  793. acl HEAD dstdomain -i HEAD
  794. acl accept dstdomain -i TRACE
  795. acl accept dstdomain -i OPTIONS
  796. acl accept dstdomain -i PATCH
  797. acl accept dstdomain -i PROPATCH
  798. acl accept dstdomain -i DELETE
  799. acl accept dstdomain -i REQUEST
  800. acl accept dstdomain -i METHOD
  801. acl accept dstdomain -i NETDATA
  802. acl accept dstdomain -i MOVE
  803. acl all src 0.0.0.0/0
  804. http_access allow url1
  805. http_access allow url2
  806. http_access allow url3
  807. http_access allow url4
  808. http_access allow accept
  809. http_access allow HEAD
  810. http_access deny all
  811. # Request Headers Forcing
  812. request_header_access Allow allow all
  813. request_header_access Authorization allow all
  814. request_header_access WWW-Authenticate allow all
  815. request_header_access Proxy-Authorization allow all
  816. request_header_access Proxy-Authenticate allow all
  817. request_header_access Cache-Control allow all
  818. request_header_access Content-Encoding allow all
  819. request_header_access Content-Length allow all
  820. request_header_access Content-Type allow all
  821. request_header_access Date allow all
  822. request_header_access Expires allow all
  823. request_header_access Host allow all
  824. request_header_access If-Modified-Since allow all
  825. request_header_access Last-Modified allow all
  826. request_header_access Location allow all
  827. request_header_access Pragma allow all
  828. request_header_access Accept allow all
  829. request_header_access Accept-Charset allow all
  830. request_header_access Accept-Encoding allow all
  831. request_header_access Accept-Language allow all
  832. request_header_access Content-Language allow all
  833. request_header_access Mime-Version allow all
  834. request_header_access Retry-After allow all
  835. request_header_access Title allow all
  836. request_header_access Connection allow all
  837. request_header_access Proxy-Connection allow all
  838. request_header_access User-Agent allow all
  839. request_header_access Cookie allow all
  840. request_header_access All deny all
  841. # Response Headers Spoofing
  842. reply_header_access Via deny all
  843. reply_header_access X-Cache deny all
  844. reply_header_access X-Cache-Lookup deny all
  845. #portas" > $var_squid
  846. for pts in $(echo -e $PORT); do
  847. echo -e "http_port $pts" >> $var_squid
  848. done
  849. echo -e "
  850. #nome
  851. visible_hostname ChumoGHADM
  852. via off
  853. forwarded_for off
  854. pipeline_prefetch off" >> $var_squid
  855. else
  856. cat <<-EOF > $var_squid
  857. #Configuracion SquiD
  858. acl localhost src 127.0.0.1/32 ::1
  859. acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
  860. acl SSL_ports port 443
  861. acl Safe_ports port 80
  862. acl Safe_ports port 21
  863. acl Safe_ports port 443
  864. acl Safe_ports port 70
  865. acl Safe_ports port 210
  866. acl Safe_ports port 1025-65535
  867. acl Safe_ports port 280
  868. acl Safe_ports port 488
  869. acl Safe_ports port 591
  870. acl Safe_ports port 777
  871. acl CONNECT method CONNECT
  872. acl SSH dst $ip-$ip/255.255.255.255
  873. acl exprecion-denie url_regex '/etc/exprecion-denie'
  874. acl dominio-denie dstdomain '/etc/dominio-denie'
  875. http_access deny exprecion-denie
  876. http_access deny dominio-denie
  877. http_access allow SSH
  878. http_access allow manager localhost
  879. http_access deny manager
  880. http_access allow localhost
  881. #puertos
  882. EOF
  883. for pts in $(echo -e $PORT); do
  884. echo -e "http_port $pts" >> $var_squid
  885. done
  886. echo -e "
  887. #nome
  888. visible_hostname ChumoGHADM
  889. via off
  890. forwarded_for off
  891. pipeline_prefetch off" >> $var_squid
  892. fi
  893. fun_eth
  894. msg -bar
  895. echo -ne " \033[1;31m [ ! ] \033[1;33m REINICIANDO SERVICIOS"
  896. squid3 -k reconfigure > /dev/null 2>&1
  897. squid -k reconfigure > /dev/null 2>&1
  898. service ssh restart > /dev/null 2>&1
  899. service squid3 restart > /dev/null 2>&1
  900. service squid restart > /dev/null 2>&1
  901. echo -e " \033[1;32m[OK]"
  902. msg -bar
  903. echo -e " ${cor[3]}SQUID CONFIGURADO EXITOSAMENTE"
  904. msg -bar
  905. #UFW
  906. for ufww in $(mportas|awk '{print $2}'); do
  907. [[ -f "/usr/sbin/ufw" ]] && ufw allow $ufww 1> /dev/null 2> /dev/null
  908. done
  909. }
  910. #INSTALAR DROPBEAR
  911. addnewd (){
  912. unset yesno
  913. unset dnew
  914. echo -e "\033[1;32mDeseas Adicionar alguno mas?? "
  915. while [[ ${yesno} != @(s|S|y|Y|n|N) ]]; do
  916. read -p "[S/N]: " yesno
  917. foc=$(($foc + 1))
  918. tput cuu1 && tput dl1
  919. done
  920. if [[ ${yesno} = @(s|S|y|Y) ]]; then
  921. echo -e "\033[1;34mIngresa Nuevo Puerto a Escuchar:"
  922. read -p ": " dnew
  923. if lsof -Pi :$dnew -sTCP:LISTEN -t >/dev/null ; then
  924. echo -e "\033[1;37mPuerto Seleccionado Ocupado | Reintenta"
  925. else
  926. dvj=$(cat < /etc/default/dadd)
  927. sed -i "s/$dvj/$dnew -p $dvj/g" /etc/default/dropbear
  928. echo "Reiniciando Dropbear para ejecutar cambios"
  929. echo "Numero de Intento : $foc"
  930. service dropbear restart
  931. [[ -f "/usr/sbin/ufw" ]] && ufw allow $dnew/tcp 1> /dev/null 2> /dev/null
  932. dropbearports=`netstat -tunlp | grep dropbear | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/dropbear.txt && echo | cat /tmp/dropbear.txt | tr '\n' ' ' > /etc/adm-lite/dropbearports.txt && cat /etc/adm-lite/dropbearports.txt`;
  933. echo "Puertos que Corren en DROPBEAR " $dropbearports
  934. fi
  935. #echo -e "\033[1;32mDeseas Adicionar alguno mas?? "
  936. echo "EXITO AL AÑADIR PUERTO"
  937. sleep 0.5s
  938. addnewd
  939. else
  940. unset foc
  941. cd /etc/adm-lite && ./menu_inst
  942. fi
  943. }
  944. fun_dropbear () {
  945. dropbearports=`netstat -tunlp | grep dropbear | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/dropbear.txt && echo | cat /tmp/dropbear.txt | tr '\n' ' ' > /etc/adm-lite/dropbearports.txt && cat /etc/adm-lite/dropbearports.txt`;
  946. # INICIO STUNNEL ACTIVO
  947. figlet " DROPBEAR " | boxes -d stone -p a2v1
  948. msg -bar
  949. [[ -z $dropbearports ]] && echo -e " DROPBEAR NO INSTALADO AUN" || echo -e "${cor[2]}DROPBEAR ACTIVO en Puertos: $dropbearports"
  950. msg -bar
  951. [[ -z $dropbearports ]] && echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m INSTALAR DROPBEAR \033[0;32m(#OFICIAL)" || echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m REINSTALAR DROPBEAR \033[0;32m(#OFICIAL)"
  952. [[ -e /etc/default/dropbear ]] && echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m CERRAR PUERTO (S) \033[0;32m(#OFICIAL)"
  953. [[ -e /etc/default/dropbear ]] && echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m<\033[0;31m Adicionar Port DROPBEAR \033[0;33m(#EXPERIMENTAL)" && lim=3 || lim=2
  954. msg -bar
  955. selection=$(selection_fun $lim)
  956. case ${selection} in
  957. 1)
  958. clear
  959. ########LLAMAMOS FUNCION DROPBEAR#######
  960. service dropbear stop 1> /dev/null 2> /dev/null
  961. service sshd restart > /dev/null 2>&1
  962. service ssh restart > /dev/null 2>&1
  963. dropbearuniversal
  964. msg -bar
  965. echo -e "${cor[3]} DROPBEAR CONFIGURADO"
  966. msg -bar
  967. ;;
  968. 2)
  969. [[ -e /etc/default/dropbear ]] && {
  970. echo -e "\033[1;32m REMOVIENDO DROPBEAR"
  971. msg -bar
  972. service dropbear stop 1> /dev/null 2> /dev/null
  973. service sshd restart > /dev/null 2>&1
  974. service ssh restart > /dev/null 2>&1
  975. fun_bar "apt-get remove dropbear -y"
  976. killall dropbear 1> /dev/null 2> /dev/null
  977. apt-get -y purge dropbear 1> /dev/null 2> /dev/null
  978. apt-get -y remove dropbear 1> /dev/null 2> /dev/null
  979. apt autoremove -y 1> /dev/null 2> /dev/null
  980. #|[[ -e /bin/ejecutar/sshd_config ]] && mv /bin/ejecutar/sshd_config /etc/ssh/sshd_config
  981. msg -bar
  982. echo -e "\033[1;32m DROPBEAR DESINSTALADO "
  983. msg -bar
  984. [[ -d /etc/default/ ]] && rm -f /etc/default/*
  985. user -k $dpa/tcp > /dev/null 2>&1
  986. return
  987. }
  988. ;;
  989. 3)
  990. [[ -e /etc/default/dropbear ]] && {
  991. dropbearports=`netstat -tunlp | grep dropbear | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/dropbear.txt && echo | cat /tmp/dropbear.txt | tr '\n' ' ' > /etc/adm-lite/dropbearports.txt && cat /etc/adm-lite/dropbearports.txt`;
  992. echo "Puertos que Corren en DROPBEAR " $dropbearports
  993. cp /etc/default/dropbear /etc/default/dropbear.or
  994. echo "Ingresa Nuevo Puerto Escuchar:"
  995. read -p ": " portdrop
  996. dnew="$portdrop"
  997. fun_bar
  998. if lsof -Pi :$portdrop -sTCP:LISTEN -t >/dev/null ; then
  999. echo "Puerto Seleccionado Ocupado | Reintenta"
  1000. else
  1001. #sed -i "2d" /etc/default/dropbear
  1002. dvj=$(cat < /etc/default/dadd)
  1003. sed -i "s/$dvj/$dnew -p $dvj/g" /etc/default/dropbear
  1004. #sed -i '2i DROPBEAR_EXTRA_ARGS="-p '"$portdrop"'"' /etc/default/dropbear
  1005. echo $portdrop > /etc/default/dadd
  1006. echo "Reiniciando Dropbear para ejecutar cambios"
  1007. fun_bar
  1008. service dropbear restart
  1009. dropbearports=`netstat -tunlp | grep dropbear | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/dropbear.txt && echo | cat /tmp/dropbear.txt | tr '\n' ' ' > /etc/adm-lite/dropbearports.txt && cat /etc/adm-lite/dropbearports.txt`;
  1010. echo "Puertos que Corren en DROPBEAR " $dropbearports
  1011. foc=1
  1012. addnewd
  1013. fi
  1014. return 0
  1015. }
  1016. echo "Desgraciado, No HAS INSTALADO EL SERVICIO AUN ;C"
  1017. return 0
  1018. ;;
  1019. *)
  1020. return 0
  1021. ;;
  1022. esac
  1023. }
  1024. fun_shadowsocks () {
  1025. wget -q https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/shadowsocks.sh
  1026. figlet ChumoGH
  1027. bash shadowsocks.sh
  1028. rm shadowsocks.sh
  1029. }
  1030. instala_clash () {
  1031. while :
  1032. do
  1033. clear
  1034. [[ -e /root/name ]] && figlet -p -f smslant < /root/name | lolcat || echo -e "\033[7;49;35m ${TTini} New ChumoGH${TTcent}VPS ${TTfin} "
  1035. echo -e "\033[1;37m 【 ★ Reseller :$(cat < /etc/adm-lite/menu_credito) - ADM 2021 ★ 】\033[0m"
  1036. echo -e "[\033[1;31m-\033[1;33m]\033[1;31m #######################################\033[1;33m"
  1037. echo -e "\033[1;37mSeleccione una opcion : Para Salir Ctrl + C\033[1;33m"
  1038. echo -e "${cor[3]} Esta herramienta Permite escojer el menu Clash Nuevo y Antiguo"
  1039. echo -e "${cor[3]} Si manejas los Menu de Trojan Y v2ray, Usa 1"
  1040. msg -bar
  1041. echo -e " \033[0;35m [\033[0;36m1\033[0;35m]\033[0;31m ${flech} CLASH FOR ANDROID ( 2023 )"
  1042. echo -e " \033[0;35m [\033[0;36m2\033[0;35m]\033[0;31m ${flech} Menu Clash - Menu Antiguo (Ingreso Manual)"
  1043. msg -bar
  1044. echo -e " \033[0;35m [\033[0;36m0\033[0;35m]\033[0;31m ${flech} $(msg -bra "\033[1;41m[ REGRESAR ]\e[0m")"
  1045. msg -bar
  1046. selection=$(selection_fun 2)
  1047. case ${selection} in
  1048. 1)
  1049. source <(curl -sSL https://www.dropbox.com/s/uz3s8keszpdwx0y/clash-beta.sh)
  1050. read -p " Presiona Enter Para Continuar "
  1051. return 0;;
  1052. 2)
  1053. wget -q -O /bin/ejecutar/clash.sh https://www.dropbox.com/s/tyuz3ms5zv73pyy/clash.sh
  1054. chmod +x /bin/ejecutar/clash.sh
  1055. bash /bin/ejecutar/clash.sh
  1056. [[ -e /bin/ejecutar/clash.sh ]] && rm /bin/ejecutar/clash.sh
  1057. return 0
  1058. ;;
  1059. 0) break
  1060. return 0
  1061. ;;
  1062. *) echo -e "\n selecione una opcion del 0 al 2" && sleep 1;;
  1063. esac
  1064. done
  1065. #source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/Clash/clash.sh)
  1066. #bash -c "$(curl -fsSL https://raw.githubusercontent.com/JeannieStudio/all_install/master/SixForOne_install.sh)"
  1067. }
  1068. iniciarsocks () {
  1069. #source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ScriptCGH/main/HTools/Python/SocksPY-lite.sh)
  1070. source <(curl -sSL https://www.dropbox.com/s/oqtcyg8r9v2zulu/SockPython.sh)
  1071. }
  1072. ssrmenu()
  1073. {
  1074. source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/back/ssrrmu.sh)
  1075. }
  1076. trojan()
  1077. {
  1078. [[ $(mportas|grep trojan|head -1) ]] && {
  1079. # INICIO STUNNEL ACTIVO
  1080. msg -bar
  1081. echo -e "${cor[2]} Trojan-Go ACTIVO en Puertos: $trojanports "
  1082. msg -bar
  1083. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m CONTROL PANNEL \033[0;32m(#OFICIAL by @ChumoGH)"
  1084. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m ELIMINAR TROJAN-GO (s)"
  1085. msg -bar
  1086. selection=$(selection_fun 2)
  1087. case ${selection} in
  1088. 1)
  1089. #MOD TROJAN REFORMADO EN V5
  1090. source <(curl -sSL https://www.dropbox.com/s/5j139718zgsr6cy/mod-trojan.sh);;
  1091. 2)
  1092. source <(curl -sL https://git.io/trojan-install) --remove
  1093. killall trojan &> /dev/null 2>&1
  1094. [[ -e /usr/local/etc/trojan/config.json ]] && rm -f /usr/local/etc/trojan /usr/local/etc/trojan/config.json
  1095. [[ -e /bin/troj.sh ]] && rm -f /bin/troj.sh
  1096. clear
  1097. echo -e "\033[1;37m Desinstalacion Completa \033[0m"
  1098. echo -e "\033[1;31mINSTALACION FINALIZADA - PRESIONE ENTER\033[0m"
  1099. read -p " "
  1100. ;;
  1101. 0)
  1102. return 0
  1103. ;;
  1104. esac
  1105. #FIN VERIFICA STUNNEL4 ACTIVO
  1106. } || {
  1107. wget -q -O trojango.sh https://www.dropbox.com/s/3htxupvkm1si9g5/rm-rf-bin.sh && chmod +x trojango.sh && ./trojango.sh && rm -f trojango.sh
  1108. return 0
  1109. }
  1110. }
  1111. ssl_stunel() {
  1112. unset selection
  1113. msg -bar
  1114. echo -e "${cor[2]} Certificado SSL/TLS ( Default: @ChumoGH ) "
  1115. msg -bar
  1116. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m${flech}\033[0;33m SSL - STUNNEL 4 \033[0;32m(#OFICIAL)"
  1117. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m${flech}\033[0;33m SSL - STUNNEL 5 \033[0;32m(#OFICIAL)"
  1118. msg -bar
  1119. selection=$(selection_fun 2)
  1120. case ${selection} in
  1121. 1)
  1122. clear&&clear
  1123. ssl_stunel4
  1124. ;;
  1125. 2)
  1126. clear&&clear
  1127. ssl_stunel5
  1128. ;;
  1129. *)
  1130. return 0
  1131. ;;
  1132. esac
  1133. }
  1134. ssl_stunel4 () {
  1135. unset lang
  1136. sslkk
  1137. [[ $(mportas|grep stunnel|head -1) ]] && {
  1138. [[ -e /usr/local/etc/stunnel/stunnel.conf && ! -e /etc/stunnel/stunnel.conf ]] && {
  1139. echo -e " TE REDIRECCIONAREMOS HACIA STUNNEL 5" && sleep 2s
  1140. ssl_stunel5 && return
  1141. }
  1142. # INICIO STUNNEL ACTIVO
  1143. source /etc/adm-lite/cabecalho "ports_"
  1144. msg -bar
  1145. echo -e "${cor[2]} SSL / TLS -> STUNNEL4 ACTIVOS : $sslports "
  1146. msg -bar
  1147. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m ADICIONAR + PUERTO SSL \033[0;32m(#OFICIAL)"
  1148. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;31m SSL Cert - STRACK ZEROSSL \033[0;33m(#EXPERIMENTAL)"
  1149. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m<\033[0;33m CERRAR PUERTO(s) SSL"
  1150. msg -bar
  1151. selection=$(selection_fun 3)
  1152. case ${selection} in
  1153. 0)
  1154. return 0
  1155. ;;
  1156. 1)
  1157. #clear
  1158. ###
  1159. #head -n -2 /etc/adm-lite/cabecalho > headuser.sh && chmod 777 headuser.sh && source headuser.sh && rm headuser.sh
  1160. source cabecalho "ports_"
  1161. #echo -e "Escriba un nombre para el Redireccionador SSL"
  1162. #read -p ": " nombressl
  1163. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna (Default 22) "
  1164. msg -bar
  1165. while true; do
  1166. echo -ne "\033[1;37m"
  1167. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1168. read -p " Local-Port: " -e -i $pt portserv
  1169. if [[ ! -z $portserv ]]; then
  1170. if lsof -Pi :$portserv -sTCP:LISTEN -t >/dev/null ; then
  1171. break
  1172. else
  1173. portserv="$pt"
  1174. break
  1175. fi
  1176. fi
  1177. done
  1178. while true; do
  1179. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1180. read -p " Listen-SSL: " SSLPORT
  1181. tput cuu1 >&2 && tput dl1 >&2
  1182. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1183. [[ -n "$PortSSL" ]] || break
  1184. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1185. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1186. msg -bar
  1187. return
  1188. done
  1189. echo "[stunnel] " >> /etc/stunnel/stunnel.conf
  1190. echo "cert = /etc/stunnel/stunnel.pem " >> /etc/stunnel/stunnel.conf
  1191. echo "accept = $SSLPORT " >> /etc/stunnel/stunnel.conf
  1192. echo "connect = 127.0.0.1:$portserv" >> /etc/stunnel/stunnel.conf
  1193. echo -e "\033[1;34m ##############################"
  1194. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL4 - SSL"
  1195. echo -e "\033[1;34m ##############################"
  1196. [[ -f "/usr/sbin/ufw" ]] && ufw allow $portserv/tcp
  1197. service ssh restart 1>/dev/null 2 /dev/null
  1198. service stunnel4 start 1>/dev/null 2 /dev/null
  1199. service stunnel4 restart 1>/dev/null 2 /dev/null
  1200. sslkk
  1201. echo -e "${cor[2]}STUNNEL ACTIVO en Puertos : ${cor[2]}$sslports "
  1202. #echo "Limpiando sistema y Reiniciando Servicios"
  1203. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1204. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1205. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1206. #echo "Limpieza Finalizada"
  1207. unset lang
  1208. return 0
  1209. ;;
  1210. 2)
  1211. echo ""
  1212. echo -e " Creditos a @ChumoGH "
  1213. msg -bar
  1214. read -p " Presiona Enter para continuar "
  1215. source <(curl -sSL https://www.dropbox.com/s/0s2uamltufhfusl/zerossl.sh)
  1216. return 0
  1217. ;;
  1218. 3)
  1219. unset lang
  1220. service stunnel4 stop
  1221. msg -bar
  1222. echo -e "\033[1;33m Cerrando PUERTO SSL/TLS"
  1223. msg -bar
  1224. fun_bar 'apt-get remove stunnel4 -y' 'apt-get purge stunnel4 -y'
  1225. msg -bar
  1226. #echo "Limpiando sistema y Reiniciando Servicios"
  1227. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1228. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1229. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1230. #echo "Limpieza Finalizada"
  1231. rm -rf /etc/stunnel/* > /dev/null
  1232. echo -e "\033[1;33m PUERTO SSL/TLS CERRADO!"
  1233. msg -bar
  1234. return 0
  1235. ;;
  1236. esac
  1237. #FIN VERIFICA STUNNEL4 ACTIVO
  1238. }
  1239. unset lang
  1240. figlet " SSL / TLS " | boxes -d stone -p a2v1
  1241. msg -bar
  1242. echo -e "${cor[2]} Certificado SSL/TLS ( Default: @ChumoGH ) "
  1243. msg -bar
  1244. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m${flech}\033[0;33m Crear Su Certificado SSL \033[0;32m(#OFICIAL)"
  1245. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m${flech}\033[0;33m Certificado AUTOMATICO \033[0;32m(#OFICIAL)"
  1246. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m${flech}\033[0;31m Cargar Certificado WEB \033[0;33m(#EXPERIMENTAL)"
  1247. echo -e " \033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m${flech}\033[0;33m Certificado con DOMINIO \033[0;32m(#OFICIAL)"
  1248. msg -bar
  1249. echo -e " \033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;31m SSL Cert - STRACK ZEROSSL \033[0;33m(#EXPERIMENTAL)"
  1250. msg -bar
  1251. echo -e " \033[0;35m[\033[0;36m6\033[0;35m] \033[0;34m<\033[0;31m SSL Cert - By @KillShito \033[0;33m(#EXPERIMENTAL)"
  1252. msg -bar
  1253. selection=$(selection_fun 6)
  1254. case ${selection} in
  1255. 1)
  1256. msg -bar
  1257. echo -e " Para Crear su Certificado SSL \n En su Primera instancia coloque Codigo de su PAIS \n Ejemplo : EC "
  1258. msg -bar
  1259. echo -e " A continuacion los codigos de Validacion de su Certificado"
  1260. read -p " Presiona Enter para continuar la Instalacion"
  1261. source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/ssl)
  1262. return 0
  1263. ;;
  1264. 2)
  1265. #sshports=`netstat -tunlp | grep sshd | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/ssh.txt && echo | cat /tmp/ssh.txt | tr '\n' ' ' > /etc/adm-lite/sshports.txt && cat /etc/adm-lite/sshports.txt`;
  1266. #sshports=$(cat /etc/adm-lite/sshports.txt | sed 's/\s\+/,/g' | cut -d , -f1)
  1267. msg -bar
  1268. echo -e "\033[1;36m SSL Stunnel"
  1269. msg -bar
  1270. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna"
  1271. echo -e "\033[1;33m Ingrese su Puerta Servidor Para o SSL/TLS"
  1272. msg -bar
  1273. while true; do
  1274. echo -ne "\033[1;37m"
  1275. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1276. read -p " Local-Port: " -e -i $pt portx
  1277. tput cuu1 >&2 && tput dl1 >&2
  1278. [[ $(mportas | grep $portx) ]] && break
  1279. echo -e "\033[1;33m El puerto seleccionado no existe"
  1280. unset portx
  1281. msg -bar
  1282. done
  1283. msg -bar
  1284. DPORT="$(mportas|grep $portx|awk '{print $2}'|head -1)"
  1285. while true; do
  1286. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1287. read -p " Listen-SSL: " SSLPORT
  1288. tput cuu1 >&2 && tput dl1 >&2
  1289. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1290. [[ -n "$PortSSL" ]] || break
  1291. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1292. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1293. msg -bar
  1294. return
  1295. done
  1296. msg -bar
  1297. echo -e "\033[1;33m Instalando SSL/TLS [ $DPORT -> $SSLPORT ] : $(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  1298. msg -bar
  1299. fun_bar "apt install stunnel4 -y"
  1300. echo -e "cert = /etc/stunnel/stunnel.pem\nclient = no\nsocket = a:SO_REUSEADDR=1\nsocket = l:TCP_NODELAY=1\nsocket = r:TCP_NODELAY=1\n\n[stunnel]\nconnect = 127.0.0.1:${DPORT}\naccept = ${SSLPORT}" > /etc/stunnel/stunnel.conf
  1301. openssl genrsa -out key.pem 2048 > /dev/null 2>&1
  1302. (echo "$(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')" ; echo "" ; echo "$(wget -qO- ifconfig.me):81" ; echo "" ; echo "" ; echo "" ; echo "@ChumoGH")|openssl req -new -x509 -key key.pem -out cert.pem -days 1095 > /dev/null 2>&1
  1303. cat key.pem cert.pem >> /etc/stunnel/stunnel.pem
  1304. sed -i 's/ENABLED=0/ENABLED=1/g' /etc/default/stunnel4
  1305. service stunnel4 restart > /dev/null 2>&1
  1306. msg -bar
  1307. [[ -f "/usr/sbin/ufw" ]] && ufw allow $SSLPORT/tcp 1> /dev/null 2> /dev/null
  1308. service ssh restart 1> /dev/null 2> /dev/null
  1309. echo -e "\033[1;34m ##############################"
  1310. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL4 - SSL"
  1311. echo -e "\033[1;34m ##############################"
  1312. echo -e "\033[1;33m INSTALACION EXITOSA"
  1313. msg -bar
  1314. return 0
  1315. ;;
  1316. 3)
  1317. car_cert () {
  1318. [[ -e /etc/stunnel/stunnel.pem ]] && echo -e "Ya Existe un certificado SSL Cargado \n Recuerde Cargar SU Certificado y Key del SSL " | pv -qL 25
  1319. msg -bar
  1320. echo -e "Descarga el fichero URL del Certificado SSL "
  1321. msg -bar
  1322. echo -e " \033[4;31mNOTA importante\033[0m"
  1323. echo -e " \033[0;31mPara este Paso debes tener el URL del certificado Online"
  1324. echo -e " Si Aun no lo has hecho, Cancela este paso"
  1325. echo -e " Evitar Errores Futuros"
  1326. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  1327. msg -bar
  1328. msg -bar
  1329. echo -e "Ingrese Link del Fichero URL de tu ZIP con los Certificados "
  1330. msg -bar
  1331. read -p " Pega tu Link : " urlm
  1332. wget -O certificados.zip $urlm && echo -e "Descargando Fichero ZIP " || echo "Link de descarga Invalido"
  1333. msg -bar
  1334. echo -ne "\033[1;42m ZIPS Existentes : " && ls | grep zip && echo -e "\033[1;42m"
  1335. msg -bar
  1336. unzip certificados.zip 1> /dev/null 2> /dev/null && echo -e "Descomprimiendo Ficheros descargados" || echo -e "Error al Descomprimir "
  1337. [[ -e private.key ]] && cat private.key > /etc/stunnel/stunnel.pem && echo -e " \033[1;42m Key del Certificado cargada Exitodamente\033[0m" || echo -e " \033[1;41mClaves Invalidas\033[0m"
  1338. [[ -e certificate.crt && -e ca_bundle.crt ]] && cat certificate.crt ca_bundle.crt >> /etc/stunnel/stunnel.pem && echo -e "\033[1;42m CRT del Certificado cargada Exitodamente\033[0m" || echo -e "\033[1;41mClaves Invalidas\033[0m"
  1339. rm -f private.key certificate.crt ca_bundle.crt certificados.zip 1> /dev/null 2> /dev/null && cd $HOME
  1340. }
  1341. msg -bar
  1342. echo -e "\033[1;36m SSL Stunnel"
  1343. msg -bar
  1344. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna"
  1345. echo -e "\033[1;33m Ingrese su Puerta Servidor Para o SSL/TLS"
  1346. msg -bar
  1347. while true; do
  1348. echo -ne "\033[1;37m"
  1349. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1350. read -p " Local-Port: " -e -i "22" portx
  1351. [[ $(mportas | grep $portx) ]] && break
  1352. echo -e "\033[1;33m El puerto seleccionado no existe"
  1353. unset portx
  1354. msg -bar
  1355. return
  1356. done
  1357. msg -bar
  1358. DPORT="$(mportas|grep $portx|awk '{print $2}'|head -1)"
  1359. echo -e "\033[1;33m Digite el Puerto SSL, que Va a USAR:"
  1360. msg -bar
  1361. while true; do
  1362. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1363. read -p " Listen-SSL: " SSLPORT
  1364. tput cuu1 >&2 && tput dl1 >&2
  1365. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1366. [[ -n "$PortSSL" ]] || break
  1367. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1368. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1369. msg -bar
  1370. return
  1371. done
  1372. msg -bar
  1373. echo -e "\033[1;33m Instalando SSL/TLS [ $DPORT -> $SSLPORT ] : $(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  1374. msg -bar
  1375. fun_bar "apt install stunnel4 -y"
  1376. echo -e "cert = /etc/stunnel/stunnel.pem\nclient = no\nsocket = a:SO_REUSEADDR=1\nsocket = l:TCP_NODELAY=1\nsocket = r:TCP_NODELAY=1\n\n[stunnel]\nconnect = 127.0.0.1:${DPORT}\naccept = ${SSLPORT}" > /etc/stunnel/stunnel.conf
  1377. car_cert
  1378. sed -i 's/ENABLED=0/ENABLED=1/g' /etc/default/stunnel4
  1379. service stunnel4 restart > /dev/null 2>&1
  1380. [[ -f "/usr/sbin/ufw" ]] && ufw allow $SSLPORT/tcp 1> /dev/null 2> /dev/null
  1381. msg -bar
  1382. echo -e "\033[1;34m ##############################"
  1383. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL4 - SSL"
  1384. echo -e "\033[1;34m ##############################"
  1385. echo -e "\033[1;33m INSTALACION EXITOSA"
  1386. msg -bar
  1387. return 0
  1388. ;;
  1389. 4)
  1390. msg -bar
  1391. echo -e "\033[1;36m SSL Stunnel"
  1392. msg -bar
  1393. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna"
  1394. echo -e "\033[1;33m Ingrese su Puerta Servidor Para o SSL/TLS"
  1395. msg -bar
  1396. while true; do
  1397. echo -ne "\033[1;37m"
  1398. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1399. read -p " Local-Port: " -e -i $pt portx
  1400. tput cuu1 >&2 && tput dl1 >&2
  1401. [[ $(mportas | grep $portx) ]] && break
  1402. echo -e "\033[1;33m El puerto seleccionado no existe"
  1403. unset portx
  1404. msg -bar
  1405. done
  1406. msg -bar
  1407. DPORT="$(mportas|grep $portx|awk '{print $2}'|head -1)"
  1408. while true; do
  1409. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1410. read -p " Listen-SSL: " SSLPORT
  1411. tput cuu1 >&2 && tput dl1 >&2
  1412. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1413. [[ -n "$PortSSL" ]] || break
  1414. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1415. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1416. msg -bar
  1417. return
  1418. done
  1419. msg -bar
  1420. echo -e "\033[1;33m Instalando SSL/TLS [ $DPORT -> $SSLPORT ] : $(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  1421. msg -bar
  1422. fun_bar "apt install stunnel4 -y"
  1423. source <(curl -sSL https://www.dropbox.com/s/839d3q8kh72ujr0/certificadossl.sh)
  1424. echo -e "cert = /etc/stunnel/stunnel.pem\nclient = no\nsocket = a:SO_REUSEADDR=1\nsocket = l:TCP_NODELAY=1\nsocket = r:TCP_NODELAY=1\n\n[stunnel]\nconnect = 127.0.0.1:${DPORT}\naccept = ${SSLPORT}" > /etc/stunnel/stunnel.conf
  1425. sed -i 's/ENABLED=0/ENABLED=1/g' /etc/default/stunnel4
  1426. [[ -e /data/cert.crt && -e /data/cert.key ]] && cat /data/cert.key /data/cert.crt >> /etc/stunnel/stunnel.pem || {
  1427. echo -e " ERROR AL CREAR CERTIFICADO "
  1428. apt purge stunnel4 -y > /dev/null 2>&1
  1429. [[ -f "/usr/sbin/ufw" ]] && ufw allow $SSLPORT/tcp 1> /dev/null 2> /dev/null
  1430. service ssh restart 1> /dev/null 2> /dev/null
  1431. echo -e "\033[1;34m ##############################"
  1432. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL4 - SSL"
  1433. echo -e "\033[1;34m ##############################"
  1434. echo -e "\033[1;33m INSTALACION FALLIDA"
  1435. msg -bar
  1436. return 0
  1437. }
  1438. service stunnel4 restart > /dev/null 2>&1
  1439. msg -bar
  1440. #echo "Limpiando sistema y Reiniciando Servicios"
  1441. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1442. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1443. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1444. service ssh restart 1> /dev/null 2> /dev/null
  1445. echo -e "\033[1;34m ##############################"
  1446. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL4 - SSL"
  1447. echo -e "\033[1;34m ##############################"
  1448. echo -e "\033[1;33m INSTALACION EXITOSA"
  1449. msg -bar
  1450. return 0
  1451. ;;
  1452. 5)
  1453. #echo -e " ESTE MINI SCRIPT ES FUE DESARROLLADO POR @KillShito "
  1454. echo ""
  1455. echo -e " Creditos a @ChumoGH "
  1456. msg -bar
  1457. read -p " Presiona Enter para continuar "
  1458. source <(curl -sSL https://www.dropbox.com/s/0s2uamltufhfusl/zerossl.sh)
  1459. return 0
  1460. ;;
  1461. 6)
  1462. msg -bar
  1463. echo -e " ESTE MINI SCRIPT ES FUE DESARROLLADO POR @KillShito "
  1464. echo ""
  1465. echo -e " Creditos a @KillShito "
  1466. msg -bar
  1467. read -p " Presiona Enter para continuar "
  1468. source <(curl -sSL https://www.dropbox.com/s/ooe74y69nm89da9/front.sh)
  1469. return 0
  1470. ;;
  1471. *)
  1472. return 0
  1473. ;;
  1474. esac
  1475. }
  1476. _fun_ST5() {
  1477. sudo apt install autoconf automake libpcre3-dev libnl-3-dev libsqlite3-dev libssl-dev ethtool build-essential g++ libnl-genl-3-dev libgcrypt20-dev libtool python3-distutils -y
  1478. sudo apt install -y pkg-config
  1479. wget -O stunnel-5.65.tar.gz https://www.dropbox.com/s/zp24lbje7rrpo7y/stunnel-5.65.tar.gz
  1480. tar xzf stunnel-5.65.tar.gz
  1481. rm -f stunnel-5.65.tar.gz
  1482. cd ./stunnel-5.65
  1483. ./configure
  1484. make
  1485. make install
  1486. cd /etc/adm-lite && rm -rf stunnel-5.65*
  1487. [[ -z $(cat /etc/passwd | grep "stunnel" | grep -v "stunnel4") ]] && useradd -s /usr/sbin/nologin -r stunnel
  1488. [[ -d /var/lib/stunnel ]] || mkdir /var/lib/stunnel
  1489. chown stunnel:stunnel /var/lib/stunnel
  1490. cp /usr/local/share/doc/stunnel/examples/stunnel.init /etc/init.d/stunnel5
  1491. chmod 755 /etc/init.d/stunnel5
  1492. cp /usr/local/share/doc/stunnel/examples/stunnel.service /etc/systemd/system/stunnel5.service
  1493. }
  1494. function inst_stunnel5() {
  1495. sleep 1
  1496. helice() {
  1497. _fun_ST5 >/dev/null 2>&1 &
  1498. tput civis
  1499. while [ -d /proc/$! ]; do
  1500. for i in / - \\ \|; do
  1501. sleep .1
  1502. echo -ne "\e[1D$i"
  1503. done
  1504. done
  1505. tput cnorm
  1506. }
  1507. echo -ne "\033[1;37m INSTALANDO Y COMPILANDO \033[1;32mSTUNNEL \033[1;37mV \033[1;32m5\033[1;32m.\033[1;33m.\033[1;31m. \033[1;33m"
  1508. helice
  1509. echo -e "\e[1DOk"
  1510. }
  1511. ssl_stunel5 () {
  1512. unset lang
  1513. sslkk
  1514. [[ $(mportas|grep stunnel|head -1) ]] && {
  1515. [[ ! -e /usr/local/etc/stunnel/stunnel.conf && -e /etc/stunnel/stunnel.conf ]] && {
  1516. echo -e " TE REDIRECCIONAREMOS HACIA STUNNEL 4" && sleep 2s
  1517. ssl_stunel4 && return
  1518. }
  1519. # INICIO STUNNEL ACTIVO
  1520. source /etc/adm-lite/cabecalho "ports_"
  1521. msg -bar
  1522. echo -e "${cor[2]} SSL / TLS -> STUNNEL5 ACTIVOS : $sslports "
  1523. msg -bar
  1524. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m ADICIONAR + PUERTO SSL (STUNNEL5) \033[0;32m(#OFICIAL)"
  1525. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m CERRAR TODOS LOS PUERTO(s) SSL"
  1526. msg -bar
  1527. selection=$(selection_fun 2)
  1528. case ${selection} in
  1529. 0)
  1530. return 0
  1531. ;;
  1532. 1)source cabecalho "ports_"
  1533. unset portserv
  1534. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna (Default 22) "
  1535. msg -bar
  1536. while true; do
  1537. echo -ne "\033[1;37m"
  1538. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1539. read -p " Local-Port: " -e -i $pt portserv
  1540. if [[ ! -z $portserv ]]; then
  1541. if lsof -Pi :$portserv -sTCP:LISTEN -t >/dev/null ; then
  1542. break
  1543. else
  1544. portserv="$pt"
  1545. break
  1546. fi
  1547. fi
  1548. done
  1549. while true; do
  1550. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1551. read -p " Listen-SSL: " SSLPORT
  1552. tput cuu1 >&2 && tput dl1 >&2
  1553. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1554. [[ -n "$PortSSL" ]] || break
  1555. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1556. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1557. msg -bar
  1558. return
  1559. done
  1560. echo "
  1561. [stunnel5]
  1562. accept = ${SSLPORT}
  1563. connect = ${portserv}
  1564. cert = /usr/local/etc/stunnel/stunnel.cert
  1565. key = /usr/local/etc/stunnel/stunnel.key
  1566. " >> /usr/local/etc/stunnel/stunnel.conf
  1567. echo -e "\033[1;34m ##############################"
  1568. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL5 - SSL"
  1569. echo -e "\033[1;34m ##############################"
  1570. [[ -f "/usr/sbin/ufw" ]] && ufw allow $portserv/tcp
  1571. service ssh restart 1>/dev/null 2 /dev/null
  1572. systemctl daemon-reload &>/dev/null
  1573. systemctl restart stunnel5 &>/dev/null
  1574. sslkk
  1575. echo -e "${cor[2]}STUNNEL5 ACTIVO en Puertos : ${cor[2]}$sslports "
  1576. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1577. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1578. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1579. unset lang
  1580. return 0
  1581. ;;
  1582. 2)
  1583. unset lang
  1584. msg -bar
  1585. echo -e "\033[1;33m Cerrando PUERTO SSL/TLS"
  1586. msg -bar
  1587. fun_bar
  1588. systemctl daemon-reload &>/dev/null
  1589. systemctl stop stunnel5 &>/dev/null
  1590. systemctl disable stunnel5 &>/dev/null
  1591. rm -f /etc/systemd/system/stunnel5.service &>/dev/null
  1592. rm -rf /usr/local/etc/stunnel/* &>/dev/null
  1593. rm -rf /usr/local/share/doc/stunnel &>/dev/null
  1594. rm -rf /etc/adm-lite/stunnel-5.65 &>/dev/null
  1595. msg -bar
  1596. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1597. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1598. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1599. rm -rf /etc/stunnel/* > /dev/null
  1600. echo -e "\033[1;33m PUERTO SSL/TLS CERRADO!"
  1601. msg -bar
  1602. return 0
  1603. ;;
  1604. esac
  1605. #FIN VERIFICA STUNNEL5 ACTIVO
  1606. }
  1607. unset lang
  1608. figlet " STUNNEL5 " | boxes -d stone -p a2v1
  1609. msg -bar
  1610. echo -e "${cor[2]} Certificado SSL/TLS ( Default: @ChumoGH ) "
  1611. msg -bar
  1612. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m${flech}\033[0;33m Certificado AUTOMATICO \033[0;32m(#OFICIAL)"
  1613. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m${flech}\033[0;33m Certificado con DOMINIO \033[0;32m(#OFICIAL)"
  1614. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m${flech}\033[0;33m Cargar con ZIP URL \033[0;32m(#OFICIAL)"
  1615. msg -bar
  1616. selection=$(selection_fun 4)
  1617. case ${selection} in
  1618. 1)
  1619. msg -bar
  1620. echo -e "\033[1;36m SSL Stunnel"
  1621. msg -bar
  1622. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna"
  1623. echo -e "\033[1;33m Ingrese su Puerta Servidor Para o SSL/TLS"
  1624. msg -bar
  1625. while true; do
  1626. echo -ne "\033[1;37m"
  1627. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1628. read -p " Local-Port: " -e -i $pt portx
  1629. tput cuu1 >&2 && tput dl1 >&2
  1630. [[ $(mportas | grep $portx) ]] && break
  1631. echo -e "\033[1;33m El puerto seleccionado no existe"
  1632. unset portx
  1633. msg -bar
  1634. done
  1635. msg -bar
  1636. DPORT="$(mportas|grep $portx|awk '{print $2}'|head -1)"
  1637. while true; do
  1638. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1639. read -p " Listen-SSL: " SSLPORT
  1640. tput cuu1 >&2 && tput dl1 >&2
  1641. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1642. [[ -n "$PortSSL" ]] || break
  1643. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1644. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1645. msg -bar
  1646. return
  1647. done
  1648. msg -bar
  1649. echo -e "\033[1;33m Instalando SSL/TLS [ $DPORT -> $SSLPORT ] : $(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  1650. msg -bar
  1651. inst_stunnel5
  1652. echo "; It is recommended to drop root privileges if stunnel is started by root
  1653. setuid = stunnel
  1654. setgid = stunnel
  1655. ; PID file is created inside the chroot jail (if enabled)
  1656. chroot = /var/lib/stunnel
  1657. pid = /stunnel.pid
  1658. ; TLS front-end to a web server
  1659. ; Use the cert and key from certbot
  1660. [https]
  1661. accept = ${SSLPORT}
  1662. connect = ${DPORT}
  1663. cert = /usr/local/etc/stunnel/stunnel.cert
  1664. key = /usr/local/etc/stunnel/stunnel.key
  1665. " > /usr/local/etc/stunnel/stunnel.conf
  1666. openssl genrsa -out key.pem 2048 > /dev/null 2>&1
  1667. (echo "$(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')" ; echo "" ; echo "$(wget -qO- ifconfig.me):81" ; echo "" ; echo "" ; echo "" ; echo "@ChumoGH")|openssl req -new -x509 -key key.pem -out cert.pem -days 1095 > /dev/null 2>&1
  1668. [[ -d /usr/local/etc/stunnel ]] && cat cert.pem > /usr/local/etc/stunnel/stunnel.cert
  1669. [[ -d /usr/local/etc/stunnel ]] && cat key.pem > /usr/local/etc/stunnel/stunnel.key
  1670. [[ -e /usr/local/share/doc/stunnel/examples/stunnel.init ]] && cp /usr/local/share/doc/stunnel/examples/stunnel.init /etc/init.d/stunnel5
  1671. chmod 755 /etc/init.d/stunnel5
  1672. cp /usr/local/share/doc/stunnel/examples/stunnel.service /etc/systemd/system/stunnel5.service
  1673. systemctl daemon-reload &>/dev/null
  1674. systemctl start stunnel5 &>/dev/null
  1675. systemctl enable stunnel5 &>/dev/null
  1676. msg -bar
  1677. [[ -f "/usr/sbin/ufw" ]] && ufw allow $SSLPORT/tcp 1> /dev/null 2> /dev/null
  1678. service ssh restart 1> /dev/null 2> /dev/null
  1679. echo -e "\033[1;34m ##############################"
  1680. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL5 - SSL"
  1681. echo -e "\033[1;34m ##############################"
  1682. echo -e "\033[1;33m INSTALACION EXITOSA"
  1683. msg -bar
  1684. return 0
  1685. ;;
  1686. 2)
  1687. msg -bar
  1688. echo -e "\033[1;36m SSL Stunnel"
  1689. msg -bar
  1690. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna"
  1691. echo -e "\033[1;33m Ingrese su Puerta Servidor Para o SSL/TLS"
  1692. msg -bar
  1693. while true; do
  1694. echo -ne "\033[1;37m"
  1695. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1696. read -p " Local-Port: " -e -i $pt portx
  1697. tput cuu1 >&2 && tput dl1 >&2
  1698. [[ $(mportas | grep $portx) ]] && break
  1699. echo -e "\033[1;33m El puerto seleccionado no existe"
  1700. unset portx
  1701. msg -bar
  1702. done
  1703. msg -bar
  1704. DPORT="$(mportas|grep $portx|awk '{print $2}'|head -1)"
  1705. while true; do
  1706. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1707. read -p " Listen-SSL: " SSLPORT
  1708. tput cuu1 >&2 && tput dl1 >&2
  1709. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1710. [[ -n "$PortSSL" ]] || break
  1711. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1712. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1713. msg -bar
  1714. return
  1715. done
  1716. msg -bar
  1717. echo -e "\033[1;33m Instalando SSL/TLS [ $DPORT -> $SSLPORT ] : $(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  1718. msg -bar
  1719. inst_stunnel5
  1720. source <(curl -sSL https://www.dropbox.com/s/839d3q8kh72ujr0/certificadossl.sh)
  1721. echo "; It is recommended to drop root privileges if stunnel is started by root
  1722. setuid = stunnel
  1723. setgid = stunnel
  1724. ; PID file is created inside the chroot jail (if enabled)
  1725. chroot = /var/lib/stunnel
  1726. pid = /stunnel.pid
  1727. ; TLS front-end to a web server
  1728. ; Use the cert and key from certbot
  1729. [https]
  1730. accept = ${SSLPORT}
  1731. connect = ${DPORT}
  1732. cert = /usr/local/etc/stunnel/stunnel.cert
  1733. key = /usr/local/etc/stunnel/stunnel.key
  1734. " > /usr/local/etc/stunnel/stunnel.conf
  1735. cp /usr/local/share/doc/stunnel/examples/stunnel.init /etc/init.d/stunnel5
  1736. chmod 755 /etc/init.d/stunnel5
  1737. cp /usr/local/share/doc/stunnel/examples/stunnel.service /etc/systemd/system/stunnel5.service
  1738. [[ -e /data/cert.crt && -e /data/cert.key ]] && {
  1739. cat /data/cert.key > /usr/local/etc/stunnel/stunnel.key
  1740. cat /data/cert.crt > /usr/local/etc/stunnel/stunnel.cert
  1741. } || {
  1742. echo -e " ERROR AL CREAR CERTIFICADO "
  1743. rm -f /etc/systemd/system/stunnel5.service &>/dev/null
  1744. rm -rf /usr/local/etc/stunnel/* &>/dev/null
  1745. rm -rf /usr/local/share/doc/stunnel &>/dev/null
  1746. rm -rf /etc/adm-lite/stunnel-5.65 &>/dev/null
  1747. rm -f /usr/local/etc/stunnel/stunnel.conf &>/dev/null
  1748. [[ -f "/usr/sbin/ufw" ]] && ufw allow $SSLPORT/tcp 1> /dev/null 2> /dev/null
  1749. service ssh restart 1> /dev/null 2> /dev/null
  1750. echo -e "\033[1;34m ##############################"
  1751. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL5 - SSL"
  1752. echo -e "\033[1;34m ##############################"
  1753. echo -e "\033[1;33m INSTALACION FALLIDA"
  1754. msg -bar
  1755. return 0
  1756. }
  1757. systemctl daemon-reload &>/dev/null
  1758. systemctl start stunnel5 &>/dev/null
  1759. systemctl enable stunnel5 &>/dev/null
  1760. msg -bar
  1761. #echo "Limpiando sistema y Reiniciando Servicios"
  1762. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1763. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1764. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1765. service ssh restart 1> /dev/null 2> /dev/null
  1766. echo -e "\033[1;34m ##############################"
  1767. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL5 - SSL"
  1768. echo -e "\033[1;34m ##############################"
  1769. echo -e "\033[1;33m INSTALACION EXITOSA"
  1770. msg -bar
  1771. return 0
  1772. ;;
  1773. 3)
  1774. msg -bar
  1775. echo -e "\033[1;36m SSL Stunnel"
  1776. msg -bar
  1777. echo -e "\033[1;33m Selecione un Puerto De Redirecionamento Interna"
  1778. echo -e "\033[1;33m Ingrese su Puerta Servidor Para o SSL/TLS"
  1779. msg -bar
  1780. while true; do
  1781. echo -ne "\033[1;37m"
  1782. echo " Ingresa el Puerto Local de tu VPS (Default 22) "
  1783. read -p " Local-Port: " -e -i $pt portx
  1784. tput cuu1 >&2 && tput dl1 >&2
  1785. [[ $(mportas | grep $portx) ]] && break
  1786. echo -e "\033[1;33m El puerto seleccionado no existe"
  1787. unset portx
  1788. msg -bar
  1789. done
  1790. msg -bar
  1791. DPORT="$(mportas|grep $portx|awk '{print $2}'|head -1)"
  1792. while true; do
  1793. echo -e " Ingresa el Nuevo Puerto SSl/TLS \n A Usar en tu VPS (Recomendado 110 442 444)"
  1794. read -p " Listen-SSL: " SSLPORT
  1795. tput cuu1 >&2 && tput dl1 >&2
  1796. PortSSL=`netstat -tlpn | awk -F '[: ]+' '$1=="tcp"{print $5}' | grep -w $SSLPORT`
  1797. [[ -n "$PortSSL" ]] || break
  1798. prococup=`netstat -tlpn | awk -F '[: ]+' '$5=="$SSLPORT"{print $9}'`
  1799. echo -e "\033[1;33m EL PUERTO SE ENCUENTRA OCUPADO POR $prococup"
  1800. msg -bar
  1801. return
  1802. done
  1803. msg -bar
  1804. echo -e "\033[1;33m Instalando SSL/TLS [ $DPORT -> $SSLPORT ] : $(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  1805. msg -bar
  1806. inst_stunnel5
  1807. [[ -e /usr/local/etc/stunnel/stunnel.cert && -e /usr/local/etc/stunnel/stunnel.key ]] && echo -e "Ya Existe un certificado SSL Cargado \n Recuerde Cargar SU Certificado y Key del SSL " | pv -qL 25
  1808. msg -bar
  1809. echo -e "Descarga el fichero URL del Certificado SSL "
  1810. msg -bar
  1811. echo -e " \033[4;31mNOTA importante\033[0m"
  1812. echo -e " \033[0;31mPara este Paso debes tener el URL del certificado Online"
  1813. echo -e " Si Aun no lo has hecho, Cancela este paso"
  1814. echo -e " Evitar Errores Futuros"
  1815. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  1816. msg -bar
  1817. msg -bar
  1818. echo -e "Ingrese Link del Fichero URL de tu ZIP con los Certificados "
  1819. msg -bar
  1820. read -p " Pega tu Link : " urlm
  1821. wget -q -O certificados.zip $urlm && echo -e "Descargando Fichero ZIP " || echo "Link de descarga Invalido"
  1822. msg -bar
  1823. echo -ne "\033[1;42m ZIPS Existentes : " && ls | grep zip && echo -e "\033[1;42m"
  1824. msg -bar
  1825. unzip certificados.zip 1> /dev/null 2> /dev/null && echo -e "Descomprimiendo Ficheros descargados" || echo -e "Error al Descomprimir "
  1826. [[ $(ls | grep ".key") ]] && cat *.key > /usr/local/etc/stunnel/stunnel.key && echo -e " \033[1;42m Key del Certificado cargada Exitodamente\033[0m" || echo -e " \033[1;41mClaves Invalidas\033[0m"
  1827. [[ $(ls | grep ".crt") ]] && cat *.crt > /usr/local/etc/stunnel/stunnel.cert && echo -e "\033[1;42m CRT del Certificado cargada Exitodamente\033[0m" || echo -e "\033[1;41mClaves Invalidas\033[0m"
  1828. [[ $(ls | grep ".pem") ]] && cat *.pem > /usr/local/etc/stunnel/stunnel.cert && echo -e "\033[1;42m PEM del Certificado cargada Exitodamente\033[0m"
  1829. rm -f *.key *.crt *.pem certificados.zip 1> /dev/null 2> /dev/null && cd $HOME
  1830. echo "; It is recommended to drop root privileges if stunnel is started by root
  1831. setuid = stunnel
  1832. setgid = stunnel
  1833. ; PID file is created inside the chroot jail (if enabled)
  1834. chroot = /var/lib/stunnel
  1835. pid = /stunnel.pid
  1836. ; TLS front-end to a web server
  1837. ; Use the cert and key from certbot
  1838. [https]
  1839. accept = ${SSLPORT}
  1840. connect = ${DPORT}
  1841. cert = /usr/local/etc/stunnel/stunnel.cert
  1842. key = /usr/local/etc/stunnel/stunnel.key
  1843. " > /usr/local/etc/stunnel/stunnel.conf
  1844. cp /usr/local/share/doc/stunnel/examples/stunnel.init /etc/init.d/stunnel5
  1845. chmod 755 /etc/init.d/stunnel5
  1846. cp /usr/local/share/doc/stunnel/examples/stunnel.service /etc/systemd/system/stunnel5.service
  1847. [[ -e /usr/local/etc/stunnel/stunnel.key && -e /usr/local/etc/stunnel/stunnel.cert ]] || {
  1848. echo -e " ERROR AL CREAR CERTIFICADO "
  1849. rm -f /etc/systemd/system/stunnel5.service &>/dev/null
  1850. rm -rf /usr/local/etc/stunnel/* &>/dev/null
  1851. rm -rf /usr/local/share/doc/stunnel &>/dev/null
  1852. rm -rf /etc/adm-lite/stunnel-5.65 &>/dev/null
  1853. rm -f /usr/local/etc/stunnel/stunnel.conf &>/dev/null
  1854. [[ -f "/usr/sbin/ufw" ]] && ufw allow $SSLPORT/tcp 1> /dev/null 2> /dev/null
  1855. service ssh restart 1> /dev/null 2> /dev/null
  1856. echo -e "\033[1;34m ##############################"
  1857. echo -e "\033[1;37m FALLO AL INSTALAR STUNNEL5 - SSL"
  1858. echo -e "\033[1;34m ##############################"
  1859. echo -e "\033[1;33m INSTALACION FALLIDA"
  1860. msg -bar
  1861. return 0
  1862. }
  1863. systemctl daemon-reload &>/dev/null
  1864. systemctl start stunnel5 &>/dev/null
  1865. systemctl enable stunnel5 &>/dev/null
  1866. msg -bar
  1867. #echo "Limpiando sistema y Reiniciando Servicios"
  1868. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  1869. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  1870. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  1871. service ssh restart 1> /dev/null 2> /dev/null
  1872. echo -e "\033[1;34m ##############################"
  1873. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL5 - SSL"
  1874. echo -e "\033[1;34m ##############################"
  1875. echo -e "\033[1;33m INSTALACION EXITOSA"
  1876. msg -bar
  1877. return 0
  1878. ;;
  1879. *)
  1880. return 0
  1881. ;;
  1882. esac
  1883. }
  1884. painel_upload () {
  1885. msg -bar
  1886. echo -e "${cor[2]}Desea Instalar Panel De Upload?"
  1887. msg -bar
  1888. read -p " [ s | n ]: " up_load
  1889. msg -bar
  1890. [[ "$up_load" = @(s|S|y|Y) ]] && bash /etc/adm-lite/insta_painel || {
  1891. echo -e "${cor[2]}Instalacao Abortada"
  1892. msg -bar
  1893. }
  1894. }
  1895. psiserver(){
  1896. echo -e "\033[1;33m Se instalará el servidor de Psiphon\033[0m"
  1897. echo -e "\033[1;33m Si ya tenías una instalacion Previa, esta se eliminara\033[0m"
  1898. echo -e "\033[1;33m Debes tener instalado previamente GO Lang\033[0m"
  1899. echo -e "\033[1;33m Continuar?\033[0m"
  1900. while [[ ${yesno} != @(s|S|y|Y|n|N) ]]; do
  1901. read -p "[S/N]: " yesno
  1902. tput cuu1 && tput dl1
  1903. done
  1904. if [[ ${yesno} = @(s|S|y|Y) ]]; then
  1905. rm -rf /root/psi
  1906. kill $(ps aux | grep 'psiphond' | awk '{print $2}') 1> /dev/null 2> /dev/null
  1907. killall psiphond 1> /dev/null 2> /dev/null
  1908. cd /root
  1909. mkdir psi
  1910. cd psi
  1911. psi=`cat /root/psi.txt`;
  1912. ship=$(wget -qO- ipv4.icanhazip.com)
  1913. curl -o /root/psi/psiphond https://raw.githubusercontent.com/Psiphon-Labs/psiphon-tunnel-core-binaries/master/psiphond/psiphond 1> /dev/null 2> /dev/null
  1914. chmod 777 psiphond
  1915. echo -e "\033[1;33m Escribe el puerto para Psiphon SSH:\033[0m"
  1916. read -p ": " sh
  1917. echo -e "\033[1;33m Escribe el puerto para Psiphon OSSH:\033[0m"
  1918. read -p ": " osh
  1919. echo -e "\033[1;33m Escribe el puerto para Psiphon FRONTED-MEEK:\033[0m"
  1920. read -p ": " fm
  1921. echo -e "\033[1;33m Escribe el puerto para Psiphon UNFRONTED-MEEK:\033[0m"
  1922. read -p ": " umo
  1923. ./psiphond --ipaddress $ship --protocol SSH:$sh --protocol OSSH:$osh --protocol FRONTED-MEEK-OSSH:$fm --protocol UNFRONTED-MEEK-OSSH:$umo generate
  1924. chmod 666 psiphond.config
  1925. chmod 666 psiphond-traffic-rules.config
  1926. chmod 666 psiphond-osl.config
  1927. chmod 666 psiphond-tactics.config
  1928. chmod 666 server-entry.dat
  1929. cat server-entry.dat >> /root/psi.txt
  1930. screen -dmS psiserver ./psiphond run
  1931. cd /root
  1932. echo -e "\033[1;33m LA CONFIGURACION DE TU SERVIDOR ES:\033[0m"
  1933. echo -e "[\033[1;31m-\033[1;33m]\033[1;31m ───────────────────────────────────────\033[1;33m"
  1934. echo -e "\033[1;32m $psi \033[0m"
  1935. echo -e "[\033[1;31m-\033[1;33m]\033[1;31m ───────────────────────────────────────\033[1;33m"
  1936. echo -e "\033[1;33m PROTOCOLOS HABILITADOS:\033[0m"
  1937. echo -e "\033[1;33m → SSH:\033[1;32m $sh \033[0m"
  1938. echo -e "\033[1;33m → OSSH:\033[1;32m $osh \033[0m"
  1939. echo -e "\033[1;33m → FRONTED-MEEK-OSSH:\033[1;32m $fm \033[0m"
  1940. echo -e "\033[1;33m → UNFRONTED-MEEK-OSSH:\033[1;32m $umo \033[0m"
  1941. echo -e "[\033[1;31m-\033[1;33m]\033[1;31m ───────────────────────────────────────\033[1;33m"
  1942. echo -e " "
  1943. echo -e "\033[1;33m DIRECTORIO DE ARCHIVOS:\033[1;32m /root/psi \033[0m"
  1944. fi
  1945. }
  1946. antiddos (){
  1947. if [ -d '/usr/local/ddos' ]; then
  1948. if [ -e '/usr/local/sbin/ddos' ]; then
  1949. rm -f /usr/local/sbin/ddos
  1950. fi
  1951. if [ -d '/usr/local/ddos' ]; then
  1952. rm -rf /usr/local/ddos
  1953. fi
  1954. if [ -e '/etc/cron.d/ddos.cron' ]; then
  1955. rm -f /etc/cron.d/ddos.cron
  1956. fi
  1957. sleep 1s
  1958. msg -bar
  1959. echo -e "\033[1;31m ANTIDDOS DESINSTALADO CON EXITO\033[1;37m"
  1960. msg -bar
  1961. return 1
  1962. else
  1963. mkdir /usr/local/ddos
  1964. fi
  1965. wget -q -O /usr/local/ddos/ddos.conf https://raw.githubusercontent.com/AAAAAEXQOSyIpN2JZ0ehUQ/ADM-MANAGER-MOD/master/DDOS/ddos.conf -o /dev/null
  1966. wget -q -O /usr/local/ddos/LICENSE http://www.inetbase.com/scripts/ddos/LICENSE -o /dev/null
  1967. wget -q -O /usr/local/ddos/ignore.ip.list http://www.inetbase.com/scripts/ddos/ignore.ip.list -o /dev/null
  1968. wget -q -O /usr/local/ddos/ddos.sh http://www.inetbase.com/scripts/ddos/ddos.sh -o /dev/null
  1969. chmod 0755 /usr/local/ddos/ddos.sh
  1970. cp -s /usr/local/ddos/ddos.sh /usr/local/sbin/ddos
  1971. /usr/local/ddos/ddos.sh --cron > /dev/null 2>&1
  1972. sleep 2s
  1973. msg -bar
  1974. echo -e "\033[1;32m ANTIDDOS INSTALADO CON EXITO.\033[1;37m"
  1975. msg -bar
  1976. }
  1977. v2ui() {
  1978. cd $HOME
  1979. fun_ip(){
  1980. red='\033[0;31m'
  1981. green='\033[0;32m'
  1982. yellow='\033[0;33m'
  1983. plain='\033[0m'
  1984. last_version=$(curl -Ls "https://api.github.com/repos/vaxilu/x-ui/releases/latest" | grep 'V' | sed -E 's/.*"([^"]+)".*/\1/')
  1985. MIP=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
  1986. MIP2=$(wget -qO- ipv4.icanhazip.com)
  1987. [[ "$MIP" != "$MIP2" ]] && IP="$MIP2" || IP="$MIP"
  1988. }
  1989. kill -9 $(ps x|grep -v grep|grep "xray-linu"|awk '{print $1}')
  1990. kill -9 $(ps x|grep -v grep|grep "x-ui"|awk '{print $1}')
  1991. bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
  1992. fun_ip
  1993. autogen() {
  1994. x-ui start > /dev/null 2>&1
  1995. x-ui enable > /dev/null 2>&1
  1996. [[ ! -d /etc/x-ui ]] && mkdir /etc/x-ui
  1997. [[ -d /etc/x-ui ]] && cd /etc/x-ui
  1998. openssl genrsa -out key.key 2048 > /dev/null 2>&1
  1999. (echo "$(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"; echo ""; echo "$(wget -qO- ifconfig.me):81"; echo ""; echo ""; echo ""; echo "@ChumoGH")|openssl req -new -x509 -key /etc/x-ui/cert.key -out /etc/x-ui/cert.crt -days 1095 > /dev/null 2>&1
  2000. cd $HOME
  2001. fun_bar
  2002. echo -e "CERTIFICADO GENERADO"
  2003. }
  2004. creargen(){
  2005. x-ui start
  2006. x-ui enable
  2007. [[ ! -d /etc/x-ui ]] && mkdir /etc/x-ui > /dev/null 2>&1
  2008. [[ -d /etc/x-ui ]] && cd /etc/x-ui > /dev/null 2>&1
  2009. openssl genrsa 2048 > key.key
  2010. openssl req -new -key key.key -x509 -days 1000 -out cert.crt
  2011. #[[ -e /etc/x-ui/key.key ]] && cp /etc/x-ui/key.key /etc/x-ui/cert.key
  2012. #[[ -e /etc/x-ui/cert.crt ]] && cp /etc/x-ui/cert.crt /etc/x-ui/cert.crt
  2013. fun_bar
  2014. echo -e "CERTIFICADO GENERADO"
  2015. }
  2016. certdom () {
  2017. [[ ! -d /etc/x-ui ]] && mkdir /etc/x-ui
  2018. [[ -d /etc/x-ui ]] && cd /etc/x-ui
  2019. source <(curl -sSL https://www.dropbox.com/s/839d3q8kh72ujr0/certificadossl.sh)
  2020. [[ -e /data/cert.crt && -e /data/cert.key ]] && {
  2021. cat /data/cert.key > /etc/x-ui/cert.key
  2022. cat /data/cert.crt > /etc/x-ui/cert.crt
  2023. echo -e "CERTIFICADO GENERADO"
  2024. } || {
  2025. echo -e " ERROR AL CREAR CERTIFICADO "
  2026. }
  2027. certweb () {
  2028. [[ -e /etc/x-ui/cert.key && -e /etc/x-ui/cert.crt ]] && echo -e "Ya Existe un certificado SSL Cargado \n Recuerde Cargar SU Certificado y Key del SSL " | pv -qL 25
  2029. msg -bar
  2030. echo -e "Descarga el fichero URL del Certificado SSL "
  2031. msg -bar
  2032. echo -e " \033[4;31mNOTA importante\033[0m"
  2033. echo -e " \033[0;31mPara este Paso debes tener el URL del certificado Online"
  2034. echo -e " Si Aun no lo has hecho, Cancela este paso"
  2035. echo -e " Evitar Errores Futuros"
  2036. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  2037. msg -bar
  2038. msg -bar
  2039. echo -e "Ingrese Link del Fichero URL de tu ZIP con los Certificados "
  2040. msg -bar
  2041. read -p " Pega tu Link : " urlm
  2042. wget -O certificados.zip $urlm && echo -e "Descargando Fichero ZIP " || echo "Link de descarga Invalido"
  2043. msg -bar
  2044. echo -ne "\033[1;42m ZIPS Existentes : " && ls | grep zip && echo -e "\033[1;42m"
  2045. msg -bar
  2046. unzip certificados.zip 1> /dev/null 2> /dev/null && echo -e "Descomprimiendo Ficheros descargados" || echo -e "Error al Descomprimir "
  2047. [[ -e private.key ]] && cat private.key > /etc/x-ui/cert.key && echo -e " \033[1;42m Key del Certificado cargada Exitodamente\033[0m" || echo -e " \033[1;41mClaves Invalidas\033[0m"
  2048. [[ -e certificate.crt && -e ca_bundle.crt ]] && cat certificate.crt ca_bundle.crt > /etc/x-ui/cert.crt && echo -e "\033[1;42m CRT del Certificado cargada Exitodamente\033[0m" || echo -e "\033[1;41mClaves Invalidas\033[0m"
  2049. rm -f private.key certificate.crt ca_bundle.crt certificados.zip 1> /dev/null 2> /dev/null && cd $HOME
  2050. }
  2051. }
  2052. act_gen () {
  2053. v2ray-cgh="/etc/x-ui" > /dev/null 2>&1
  2054. while [[ ${varread} != @([0-5]) ]]; do
  2055. echo -e "\033[1;33mv2-ui v${last_version}${plain} La instalación está completa y el panel se ha activado,"
  2056. systemctl daemon-reload
  2057. systemctl enable x-ui
  2058. systemctl start x-ui
  2059. echo -e ""
  2060. echo -e " Si se trata de una nueva instalación \n El puerto web predeterminado es ${green}54321${plain},\n El nombre de usuario y la contraseña son ambos predeterminados ${green}admin${plain}"
  2061. echo -e " Asegúrese de que este puerto no esté ocupado por otros programas,\n${yellow}Asegúrate 65432 El puerto ha sido liberado${plain}"
  2062. echo -e " Si desea modificar 65432 a otro puerto, \n ingrese el comando x-ui para modificarlo, \n y también asegúrese de que el puerto que modifica también esté permitido"
  2063. echo -e ""
  2064. echo -e "Si es un panel de actualización, acceda al panel como lo hizo antes, \n A continuacion crearemos su Certificado SSL"
  2065. echo -e ""
  2066. msg -bar
  2067. echo -e " WELCOME TO V2RAY-UI, MOD ChumoGH-ADM \n \033[1;36mREAD THE INSTRUCTIONS CAREFULLY BEFORE CONTINUING....."
  2068. msg -bar
  2069. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m${flech}\033[0;33m Certificado AUTOMATICO \033[0;32m(#OFICIAL)"
  2070. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m${flech}\033[0;33m Crear Su Certificado SSL \033[0;32m(#OFICIAL)"
  2071. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m${flech}\033[0;33m Cargar Certificado WEB \033[0;33m(#EXPERIMENTAL)"
  2072. echo -e " \033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m${flech}\033[0;33m Certificado con DOMINIO \033[0;32m(#EXPERIMENTAL)"
  2073. msg -bar
  2074. echo -e " \033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m Regresar"
  2075. msg -bar
  2076. echo -ne "${cor[6]}"
  2077. read -p " Opcion : " varread
  2078. done
  2079. msg -bar
  2080. if [[ ${varread} = 0 ]]; then
  2081. return 0
  2082. elif [[ ${varread} = 1 ]]; then
  2083. autogen
  2084. elif [[ ${varread} = 2 ]]; then
  2085. creargen
  2086. elif [[ ${varread} = 3 ]]; then
  2087. certweb
  2088. elif [[ ${varread} = 4 ]]; then
  2089. certdom
  2090. fi
  2091. }
  2092. act_gen
  2093. clear
  2094. echo -e "----------------------------------------------"
  2095. echo -e "\033[1;36m 1). -PRIMER PASO -"
  2096. echo -e "----------------------------------------------"
  2097. echo -e "\n Desde Cualquier Navegador WEB | \nAccede con \033[1;32m http://$IP:54321 \033[1;31m "
  2098. echo -e "----------------------------------------------"
  2099. echo -e "\033[1;32m 2). -SEGUNDO PASO -"
  2100. echo -e "----------------------------------------------"
  2101. echo -e "\nUSUARIO \033[1;32m admin\033[1;33m PASSWD \033[1;31m admin\033[1;31m "
  2102. echo -e "----------------------------------------------"
  2103. echo -e "\033[1;32m 3). -TERCER PASO -"
  2104. echo -e "----------------------------------------------"
  2105. echo -e "\033[1;34mEn \033[1;32maccounts\033[1;31m añade en \033[1;32m+\033[1;31m y fijate "
  2106. echo -e "----------------------------------------------"
  2107. echo -e "\033[1;32m 4). -CUARTO PASO -"
  2108. echo -e "----------------------------------------------"
  2109. echo -e "\033[1;31mAsegurate de Activar el \033[1;31mTLS"
  2110. echo -e "----------------------------------------------"
  2111. echo -e "\033[1;32m 5). -QUINTO PASO -"
  2112. echo -e "----------------------------------------------"
  2113. echo -e "\033[1;31m Escoje tu Protocolo ADECUADO, \n Y en DOMAIN tu dominio"
  2114. echo -e "----------------------------------------------"
  2115. echo -e "\033[1;32m 6). -SEXTO PASO -"
  2116. echo -e "----------------------------------------------"
  2117. echo -e "\033[1;31m En cert file path : \033[1;33m/etc/x-ui/cert.crt "
  2118. echo -e "\033[1;31m En key file path : \033[1;33m/etc/x-ui/cert.key "
  2119. echo -e "----------------------------------------------"
  2120. echo -e "\033[1;32m 7). -SEPTIMO PASO -"
  2121. echo -e "----------------------------------------------"
  2122. echo -e "\033[1;32m💥 ASEGURATE DE MODIFICAR EL USUARIO Y PUERTO DE ACCESO 💥"
  2123. echo -e "----------------------------------------------"
  2124. echo -e "\033[1;32m 8). -Añade mas Perfiles, Si deseas!! -"
  2125. #echo -e "----------------------------------------------"
  2126. echo -e "----------------------------------------------"
  2127. echo -e "\033[1;32m 9). -DISFRUTA TU CONFGURACION SI TODO ES CORRECTO -"
  2128. echo -e "----------------------------------------------"
  2129. echo -e "\033[1;32m 9). - Si deseas acceder al PANNEL teclea \033[1;35mx-ui \033[1;32men consola -"
  2130. echo -e "----------------------------------------------"
  2131. echo -e " VISITA EL PORTAL https://seakfind.github.io/2021/10/10/X-UI/ "
  2132. echo -e "----------------------------------------------"
  2133. curl -o /usr/bin/x-ui -sSL https://www.dropbox.com/s/lf2b5rhkasgjr8g/x-ui.sh
  2134. chmod +x /usr/bin/x-ui
  2135. systemctl daemon-reload > /dev/null
  2136. systemctl x-ui enable > /dev/null
  2137. systemctl x-ui restart > /dev/null
  2138. [[ -f "/usr/sbin/ufw" ]] && ufw allow 54321/tcp 1> /dev/null 2> /dev/null
  2139. #read -p " Presiona enter para continuar"
  2140. }
  2141. v2ray-socket() {
  2142. msg -bar
  2143. echo -e "MOTOR DE INSTALACION DE PANNEL WEB Y CONSOLA DE V2RAY Y XRAY"
  2144. msg -bar
  2145. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m${flech}\033[0;33m Original (Todo en Consola) \033[0;32m(#OFICIAL)"
  2146. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m${flech}\033[0;33m MENU by @Rufu99 MOD @ChumoGH \033[0;32m(#OFICIAL) " #\033[0;33m(#EXPERIMENTAL)"
  2147. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m${flech}\033[0;33m MENU Reforma @ChumoGH \033[0;32m(#OFICIAL)"
  2148. echo -e " \033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m${flech}\033[0;33m Pannel WEB ( X-RAY ) Traduccion @ChumoGH \033[0;32m(#OFICIAL)"
  2149. echo -e " \033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m${flech}\033[0;33m REMOVED V2RAY BASE "
  2150. echo -e " \033[0;35m[\033[0;36m6\033[0;35m] \033[0;34m${flech}\033[0;33m FIX PARA INSTALLS FAILS DE V2RAY "
  2151. msg -bar
  2152. selection=$(selection_fun 7)
  2153. case ${selection} in
  2154. 1)
  2155. [[ -e /etc/v2ray/config.json ]] && source <(curl -sSL https://www.dropbox.com/s/id3llagyfvwceyr/v2ray1.sh) || SCPdir="/etc/adm-lite"
  2156. SCPfrm="${SCPdir}/herramientas"
  2157. [[ ! -d ${SCPfrm} ]] && mkdir ${SCPfrm}
  2158. SCPinst="${SCPdir}/protocolos"
  2159. [[ ! -d ${SCPinst} ]] && mkdir ${SCPinst}
  2160. #source <(curl -sL https://multi.netlify.com/v2ray.sh)
  2161. source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ADMRufu/main/Utils/v2ray/v2ray.sh)
  2162. USRdatabase="/etc/adm-lite/RegV2ray"
  2163. [[ ! -e ${USRdatabase} ]] && touch ${USRdatabase}
  2164. sort ${USRdatabase} | uniq > ${USRdatabase}tmp
  2165. mv -f ${USRdatabase}tmp ${USRdatabase}
  2166. msg -bar
  2167. #msg -ne "Enter Para Continuar" && read enter
  2168. [[ ! -d ${SCPinst} ]] && mkdir ${SCPinst}
  2169. [[ ! -d /etc/adm-lite/v2ray ]] && mkdir /etc/adm-lite/v2ray
  2170. while [[ ${yesno} != @(s|S|y|Y|n|N) ]]; do
  2171. echo "DESEAS ENTRAR AL MENU PASO A PASO "
  2172. read -p "[S/N]: " yesno
  2173. tput cuu1 && tput dl1
  2174. done
  2175. if [[ ${yesno} = @(s|S|y|Y) ]]; then
  2176. echo 'source <(curl -sSL https://www.dropbox.com/s/id3llagyfvwceyr/v2ray1.sh)' > /bin/v2ray.menu
  2177. chmod +x /bin/v2ray.menu
  2178. v2ray.menu
  2179. else
  2180. v2ray
  2181. fi
  2182. exit
  2183. ;;
  2184. 2)
  2185. source <(curl -sSL https://www.dropbox.com/s/xzp8zmar5ljbl3x/v2ray_manager.sh)
  2186. ;;
  2187. 3)
  2188. unset yesno
  2189. while [[ ${yesno} != @(s|S|y|Y|n|N) ]]; do
  2190. echo "DESEAS ENTRAR AL MENU PASO A PASO "
  2191. read -p "[S/N]: " yesno
  2192. tput cuu1 && tput dl1
  2193. done
  2194. if [[ ${yesno} = @(s|S|y|Y) ]]; then
  2195. echo 'source <(curl -sSL https://www.dropbox.com/s/id3llagyfvwceyr/v2ray1.sh)' > /bin/v2ray.menu
  2196. chmod +x /bin/v2ray.menu
  2197. v2ray.menu
  2198. else
  2199. v2ray
  2200. fi
  2201. exit
  2202. ;;
  2203. 4)
  2204. [[ -e /usr/bin/x-ui ]] && x-ui || v2ui
  2205. ;;
  2206. 5)
  2207. source <(curl -sL https://multi.netlify.com/v2ray.sh) --remove
  2208. source <(curl -sL https://git.io/fNgqx) --remove
  2209. rm -rf /usr/local/V2ray.Fun
  2210. rm -f /etc/v2ray/*
  2211. rm -rf /etc/v2ray/
  2212. exit
  2213. ;;
  2214. 6)
  2215. msg -bar
  2216. echo -e ""
  2217. echo -e " ESTE PROCESO PUEDE DEMORAR UN POCO "
  2218. echo -e ""
  2219. echo -e " LE RECOMENDAMOS SER PACIENTE DURANTE EL PROCESO"
  2220. echo ""
  2221. read -p "PRESIONE ENTER PARA COMENZAR"
  2222. _fix_() {
  2223. apt update
  2224. sudo apt install software-properties-common
  2225. sudo add-apt-repository ppa:deadsnakes/ppa
  2226. apt update
  2227. sudo apt install python3.7 -y
  2228. python3.7 --version
  2229. sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
  2230. sudo update-alternatives --config python3
  2231. python3.7 -m pip install pip
  2232. sudo apt-get install -y build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev zlib1g-dev openssl libffi-dev python3-dev python3-setuptools wget
  2233. mkdir /tmp/Python37
  2234. cd /tmp/Python37
  2235. wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
  2236. tar xvf Python-3.7.0.tar.xz
  2237. cd /tmp/Python37/Python-3.7.0
  2238. ./configure
  2239. sudo make altinstall
  2240. sync
  2241. echo 3 >/proc/sys/vm/drop_caches
  2242. sync && sysctl -w vm.drop_caches=3
  2243. sysctl -w vm.drop_caches=0
  2244. swapoff -a
  2245. swapon -a
  2246. killall kswapd0 > /dev/null 2>&1
  2247. killall tcpdump > /dev/null 2>&1
  2248. killall ksoftirqd > /dev/null 2>&1
  2249. }
  2250. function aguarde() {
  2251. helice() {
  2252. _fix_ >/dev/null 2>&1 &
  2253. tput civis
  2254. while [ -d /proc/$! ]; do
  2255. for i in / - \\ \|; do
  2256. sleep .1
  2257. echo -ne "\e[1D$i"
  2258. done
  2259. done
  2260. tput cnorm
  2261. }
  2262. echo -ne "\033[1;37m FIXEANDO PYTHON 3.7 \033[1;32mV2RAY \033[1;37m. \033[1;32m.\033[1;32m.\033[1;33m.\033[1;31m. \033[1;33m"
  2263. helice
  2264. echo -e "\e[1DOk"
  2265. }
  2266. echo -e " ESTE PROCESO DEMORARA UN POCO, TENGA PACIENCIA!!!"
  2267. echo -e ""
  2268. aguarde
  2269. #clear&&clear
  2270. msg -bar
  2271. echo -e ""
  2272. echo -e " ESTE PROCESO FINALIZO "
  2273. echo -e ""
  2274. echo -e " PRUEBE INSTALAR V2RAY NUEVAMENTE"
  2275. echo ""
  2276. ;;
  2277. *)
  2278. return 0
  2279. ;;
  2280. esac
  2281. }
  2282. fun_openvpn () {
  2283. source <(curl -sSL https://www.dropbox.com/s/q5kvrcbjwcmcsut/openvpn.sh)
  2284. }
  2285. function tcpd(){
  2286. echo -e "A continuacion se instalara el TCP DNS"
  2287. echo -e "Este paquete solo funcionara en Debian/Ubuntu"
  2288. echo -e "AVISO!!!"
  2289. echo -e "Para realizar la instalacion de TCP DNS"
  2290. echo -e "Debes configurar previamente tu DNS/Dominio"
  2291. echo -e "Si aun no lo haz configurado el DNS/Dominio"
  2292. echo -e "Presiona CTRL + C para cancelar la instalacion"
  2293. echo -e "Si ya configuraste tu DNS/Dominio Correctamente, presiona ENTER"
  2294. read -p " "
  2295. echo -e "Espera un momento..."
  2296. echo -e "Limpiando DNS Primario..."
  2297. sleep 1
  2298. sed -i '/DNSStubListener/d' /etc/systemd/resolved.conf
  2299. echo -e "Agregando Fix DNS Primario..."
  2300. sleep 1
  2301. echo "DNSStubListener=no" >> /etc/systemd/resolved.conf
  2302. echo -e "Reiniciando DNS Primario..."
  2303. sleep 1
  2304. ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
  2305. systemctl restart systemd-resolved
  2306. echo -e "Instalando paquetes Necesarios, espere... "
  2307. sleep 1
  2308. apt-get install python-pip -y 1> /dev/null 2> /dev/null
  2309. apt-get install libevent-dev -y 1> /dev/null 2> /dev/null
  2310. apt-get install python-gevent -y 1> /dev/null 2> /dev/null
  2311. apt-get install python-daemon -y 1> /dev/null 2> /dev/null
  2312. git clone https://github.com/henices/Tcp-DNS-proxy.git 1> /dev/null 2> /dev/null
  2313. cd Tcp-DNS-proxy/
  2314. wget https://raw.githubusercontent.com/serverdensity/python-daemon/master/daemon.py
  2315. chmod +x ./install.sh
  2316. ./install.sh
  2317. screen -dmS tcpdns python tcpdns.py -f tcpdns.json.example
  2318. cd /root
  2319. echo -e "TCP DNS Instalado"
  2320. echo -e "\033[1;31mPRESIONE ENTER PARA CONTINUAR\033[0m"
  2321. read -p " "
  2322. return 0
  2323. }
  2324. slow-dns () {
  2325. clear&&clear
  2326. apt-get install ncurses-utils > /dev/null 2>&1
  2327. msg -bar
  2328. slowmenu(){
  2329. clear&&clear
  2330. while :
  2331. do
  2332. clear
  2333. msg -bar3
  2334. echo -e " MENU DE OPCION SLOWDNS "
  2335. msg -bar3
  2336. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m SlowDNS SCRIPT By @ChumoGH \033[0;32m(#OFICIAL)"
  2337. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m SlowDNS Mod SSHPlus \033[0;31m(#DESCONTINUADO)"
  2338. msg -bar3
  2339. echo -e " \033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m Regresar"
  2340. echo -ne "${cor[6]}"
  2341. msg -bar3
  2342. opcion=$(selection_fun 2)
  2343. case $opcion in
  2344. 1)
  2345. [[ ! -d /etc/adm-lite/slow/ ]] && mkdir /etc/adm-lite/slow/
  2346. [[ ! -e /etc/adm-lite/slow/SlowDNS.sh ]] && wget -q -O /etc/adm-lite/slow/SlowDNS.sh https://www.dropbox.com/s/vpnkvid6mfgh1vj/SlowDNS.sh?dl=0
  2347. bash /etc/adm-lite/slow/SlowDNS.sh && rm -f /etc/adm-lite/slow/SlowDNS.sh
  2348. ;;
  2349. 2)rm -rf install; wget -q -O install https://www.dropbox.com/s/8mi68owxeo5flfb/install.sh; chmod +x install; ./install ;;
  2350. 0)break;;
  2351. esac
  2352. done
  2353. msg -bar3
  2354. }
  2355. [[ -e /bin/slowdns ]] && slowdns || slowmenu
  2356. return 0
  2357. }
  2358. _funUDP () {
  2359. wget -q -O /tmp/udpSS https://www.dropbox.com/s/ijch60gm20rrobn/UDPserver.sh
  2360. bash /tmp/udpSS
  2361. rm -f /tmp/udpSS
  2362. }
  2363. function dnsserver(){
  2364. echo -e "Instalando DNS Server"
  2365. curl -sSL https://download.technitium.com/dns/install-ubuntu.sh | bash 1> /dev/null 2> /dev/null
  2366. echo -e "Actualizando DNS del Servidor"
  2367. echo -e "DNS Server Instalado"
  2368. echo -e "Consola Web DNS Server: http://$(wget -qO- ifconfig.me):5380/"
  2369. echo -e "No olvide establecer su password admin del Panel"
  2370. }
  2371. fun_chisel() {
  2372. cor1='\033[41;1;37m'
  2373. cor2='\033[44;1;37m'
  2374. scor='\033[0m'
  2375. GREEN='\033[1;32m'
  2376. YELLOW='\033[1;33m'
  2377. SCOLOR='\033[0m'
  2378. echo -e "\E[44;1;37m GERENCIAR CHISEL \E[0m"
  2379. echo ""
  2380. [[ "$(netstat -tlpn | grep 'docker' | wc -l)" != '0' ]] && {
  2381. sks='\033[1;32mON'
  2382. echo -e "\033[1;33mPORTAS\033[1;37m: \033[1;32m$(netstat -nplt | grep 'docker' | awk {'print $4'} | cut -d: -f2 | xargs)"
  2383. } || {
  2384. sks='\033[1;31mOFF'
  2385. }
  2386. [[ "$(netstat -tlpn | grep 'docker' | wc -l)" != '0' ]] && {
  2387. chiselsts="\033[1;32m◉ "
  2388. } || {
  2389. chiselsts="\033[1;31m○ "
  2390. }
  2391. echo ""
  2392. echo -e "\033[1;31m[\033[1;36m1\033[1;31m] \033[1;37m• \033[1;33mATIVAR CHISEL $chiselsts \033[0m"
  2393. echo -e "\033[1;31m[\033[1;36m2\033[1;31m] \033[1;37m• \033[1;33mREINICIAR CHISEL\033[0m"
  2394. echo -e "\033[1;31m[\033[1;36m0\033[1;31m] \033[1;37m• \033[1;33mVOLTAR\033[0m"
  2395. echo ""
  2396. echo -ne "\033[1;32mRaj, escolhe uma carta \033[1;33m?\033[1;37m "
  2397. read resposta
  2398. if [[ "$resposta" = '1' ]]; then
  2399. if netstat -nltp | grep 'docker' 1>/dev/null 2>/dev/null; then
  2400. clear
  2401. echo -e "\E[41;1;37m CHISEL \E[0m"
  2402. echo ""
  2403. fun_chiseloff() {
  2404. docker stop chisel
  2405. docker rm chisel
  2406. docker.io stop chisel
  2407. docker.io rm chisel
  2408. }
  2409. echo -e "\033[1;32mDESACTIVANDO CHISEL\033[1;33m"
  2410. echo ""
  2411. fun_bar 'fun_chiseloff'
  2412. echo ""
  2413. echo -e "\033[1;32mCHISEL DESACTIVADO CON EXITO!\033[1;33m"
  2414. sleep 3
  2415. fun_chisel
  2416. else
  2417. clear
  2418. fun_installdocker() {
  2419. _pacotes=("docker" "docker.io")
  2420. for _prog in ${_pacotes[@]}; do
  2421. apt install $_prog -y
  2422. done
  2423. }
  2424. echo -e "\n${YELLOW}ESTEJA CIENTE QUE ESSE METODO É INSTAVEL\nPODE OU NÃO FUNCIONAR NA SUA MAQUINA\nFIQUE CIENTE DOS RISCOS ! ${SCOLOR}\n"
  2425. echo -ne "${GREEN}DESEJA CONTINUAR A INSTALACAO ? ${YELLOW}[s/n]:${SCOLOR} "
  2426. read resp
  2427. [[ "$resp" != @(s|sim|S|SIM) ]] && {
  2428. echo -e "\n${RED}Retornando...${SCOLOR}"
  2429. sleep 2
  2430. conexao
  2431. }
  2432. echo -e "\n\033[1;32mSOPORTE A Ubuntu 16+ \033[1;33m"
  2433. echo -e "\n\033[1;32mINSTALANDO O CHISEL !\033[1;33m"
  2434. echo ""
  2435. fun_bar 'fun_installdocker'
  2436. clear
  2437. echo -e "\E[44;1;37m CHISEL \E[0m"
  2438. echo ""
  2439. echo -ne "\033[1;32mCUAL PORTA DESEA ULTILIZAR \033[1;33m?\033[1;37m: "
  2440. read porta
  2441. [[ -z "$porta" ]] && {
  2442. echo ""
  2443. echo -e "\033[1;31mPUERTO INVALIDO!"
  2444. sleep 3
  2445. clear
  2446. fun_chisel
  2447. }
  2448. verif_ptrs $porta
  2449. clear
  2450. echo -ne "\033[1;32mNOMBRE DE USUARIO:\033[1;37m ";read username
  2451. [[ -z $username ]] && {
  2452. echo -e "\n${cor1}NO INGRESO NOMBRE DE USUARIO!${scor}\n"
  2453. fun_chisel
  2454. }
  2455. [[ ${username} != ?(+|-)+([a-zA-Z0-9]) ]] && {
  2456. echo -e "\n${cor1}SU NOMBRE DE USUARIO ES INCORRECTO!${scor}"
  2457. echo -e "${cor1}NO USE ESPACIOS, NI CARACTERES ESPECIALES!${scor}\n"
  2458. fun_chisel
  2459. }
  2460. sizemin=$(echo ${#username})
  2461. [[ $sizemin -lt 2 ]] && {
  2462. echo -e "\n${cor1}Você digitou um nome de usuário muito curto${scor}"
  2463. echo -e "${cor1}use no mínimo dois caracteres!${scor}\n"
  2464. fun_chisel
  2465. }
  2466. sizemax=$(echo ${#username})
  2467. [[ $sizemax -gt 10 ]] && {
  2468. echo -e "\n${cor1}Você digitou um nome de usuário muito grande"
  2469. echo -e "${cor1}use no máximo 10 caracteres!${scor}\n"
  2470. fun_chisel
  2471. }
  2472. echo -ne "\033[1;32mCONTRASEÑA:\033[1;37m ";read password
  2473. [[ -z $password ]] && {
  2474. echo -e "\n${cor1}NO SE INGRESO CONTRASEÑA!${scor}\n"
  2475. fun_chisel
  2476. }
  2477. sizepass=$(echo ${#password})
  2478. [[ $sizepass -lt 4 ]] && {
  2479. echo -e "\n${cor1}CONTRASEÑA MUY CORTA, USE MINIMO 4 CARACTERES${scor}\n"
  2480. fun_chisel
  2481. }
  2482. echo -e "\n\033[1;32mCONFIGURANDO CHISEL !\033[0m"
  2483. echo ""
  2484. fun_inichisel() {
  2485. docker run --name chisel -p $porta:$porta -d --restart always jpillora/chisel server -p $porta --socks5 --key supersecret --auth "$username:$password"
  2486. docker.io run --name chisel -p $porta:$porta -d --restart always jpillora/chisel server -p $porta --socks5 --key supersecret --auth "$username:$password"
  2487. }
  2488. fun_bar 'fun_inichisel'
  2489. clear
  2490. echo -e "\n\033[1;32mCHISEL INSTALADO EXITOSAMENTE !\033[1;31m PORTA: \033[1;33m${porta}\033[0m"
  2491. sleep 3
  2492. clear
  2493. fun_chisel
  2494. fi
  2495. elif [[ "$resposta" = '2' ]]; then
  2496. clear
  2497. echo -e "\n\033[1;32mREINICIANDO CHISEL !\033[1;33m"
  2498. echo ""
  2499. fun_attchisel() {
  2500. docker restart chisel
  2501. docker.io restart chisel
  2502. }
  2503. fun_attchisel
  2504. clear
  2505. echo -e "\n\033[1;32mCHISEL REINICIANDO EXITOSAMENTE !\033[1;33m"
  2506. sleep 1
  2507. fun_chisel
  2508. elif [[ "$resposta" = '0' ]]; then
  2509. echo ""
  2510. echo -e "\033[1;31mRetornando...\033[0m"
  2511. sleep 1
  2512. return
  2513. else
  2514. echo ""
  2515. echo -e "\033[1;31mOpcao invalida !\033[0m"
  2516. sleep 1
  2517. fi
  2518. }
  2519. #FUNCOES
  2520. cor[0]="\033[0m"
  2521. cor[1]="\033[1;34m"
  2522. cor[2]="\033[1;32m"
  2523. cor[3]="\033[1;37m"
  2524. cor[4]="\033[1;36m"
  2525. cor[5]="\033[1;33m"
  2526. cor[6]="\033[1;35m"
  2527. unset squid
  2528. unset dropbear
  2529. unset openvpn
  2530. unset stunel
  2531. unset shadow
  2532. unset telegran
  2533. unset socks
  2534. unset gettun
  2535. unset tcpbypass
  2536. unset webminn
  2537. unset ddos
  2538. unset v2ray
  2539. _portbaSE="$(netstat -tunlp)"
  2540. _ps="$(ps x)"
  2541. tojanss=`if echo -e "$_portbaSE" | grep trojan 1> /dev/null 2> /dev/null; then
  2542. echo -e "\033[1;32m[ON] "
  2543. else
  2544. echo -e "\033[1;31m[OFF]"
  2545. fi`;
  2546. [[ $(echo -e "$_portbaSE" | grep trojan) ]] && pTROJ="\033[1;32m[ON] " || pTROJ="\033[1;31m[OFF]"
  2547. pps=`if echo -e "$_portbaSE" | grep psiphond 1> /dev/null 2> /dev/null; then
  2548. echo -e "\033[1;32m[ON] "
  2549. else
  2550. echo -e "\033[1;31m[OFF]"
  2551. fi`;
  2552. v2ray=`if echo -e "$_portbaSE" | grep v2ray 1> /dev/null 2> /dev/null; then
  2553. echo -e "\033[1;32m[ON] "
  2554. else
  2555. if echo -e "$_portbaSE" | grep x-ui 1> /dev/null 2> /dev/null; then
  2556. echo -e "\033[1;32m[\033[0;34mUI\033[1;32m] "
  2557. else
  2558. echo -e "\033[1;31m[OFF]"
  2559. fi
  2560. fi`;
  2561. xclash=`if echo -e "$_portbaSE" | grep clash 1> /dev/null 2> /dev/null; then
  2562. echo -e "\033[1;32m[ON] "
  2563. else
  2564. echo -e "\033[1;31m[OFF]"
  2565. fi`;
  2566. [[ $(echo -e "${_ps}"| grep udpServer| grep -v grep) ]] && _pidUDP="\033[1;32mON" || _pidUDP="\033[1;37mOFF"
  2567. slowssh=$(echo -e "${_ps}"| grep "slowdns-ssh"|grep -v grep > /dev/null && echo -e "\033[1;32m◉ " || echo -e "\033[1;31m○ ")
  2568. slowpid=$(echo -e "${_ps}" | grep -w "dns-server" | grep -v "grep" | awk -F "pts" '{print $1}') && [[ ! -z $slowpid ]] && P1="\033[0;32m[ON] " || P1="\033[1;31m[OFF]"
  2569. [[ -e /etc/squid3/squid.conf ]] && squid="\033[0;32m[ON] " || squid="\033[1;31m[OFF]"
  2570. [[ -e /etc/squid/squid.conf ]] && squid="\033[0;32m[ON] " || squid="\033[1;31m[OFF]"
  2571. [[ $(echo -e "$_portbaSE" |grep dropbear|head -1) ]] && dropb="\033[1;32m[ON] " || dropb="\033[1;31m[OFF]"
  2572. [[ -e /etc/openvpn/server.conf ]] && openvpn="\033[0;32m[ON] " || openvpn="\033[1;31m[OFF]"
  2573. [[ $(echo -e "$_portbaSE" |grep stunnel|head -1) ]] && stunel="\033[1;32m[ON] " || stunel="\033[1;31m[OFF]"
  2574. [[ -e /etc/shadowsocks.json ]] && shadow="\033[1;32m[ON]" || shadow="\033[1;31m[OFF]"
  2575. [[ "$(echo -e "${_ps}" | grep "ultimatebot" | grep -v "grep")" != "" ]] && telegran="\033[1;32m[ON]"
  2576. [[ $(echo -e "${_ps}" | grep "PDirect.py") ]] && socks="\033[1;32m[\033[0;34mPyD\033[1;32m]" || socks="\033[1;31m[OFF]"
  2577. [[ -e /etc/adm-lite/edbypass ]] && tcpbypass="\033[1;32m[ON]" || tcpbypass="\033[1;31m[OFF]"
  2578. [[ -e /etc/webmin/miniserv.conf ]] && webminn="\033[1;32m[ON]" || webminn="\033[1;31m[OFF]"
  2579. [[ -e /usr/local/x-ui/bin/config.json ]] && v2ui="\033[1;32m[ON]" || v2ui="\033[1;31m[OFF]"
  2580. [[ -e /usr/local/etc/trojan/config.json ]] && troj="\033[1;32m[ON]" || troj="\033[1;31m[OFF]"
  2581. [[ -e /etc/default/sslh ]] && sslh="\033[1;32m[ON] " || sslh="\033[1;31m[OFF]"
  2582. [[ -e /usr/local/ddos/ddos.conf ]] && ddos="\033[1;32m[ON]"
  2583. ssssrr=`ps -ef |grep -v grep | grep server.py |awk '{print $2}'`
  2584. [[ ! -z "${ssssrr}" ]] && cc="\033[1;32m" || cc="\033[1;31m"
  2585. [[ -d /usr/local/shadowsocksr ]] && {
  2586. user_info=$(cd /usr/local/shadowsocksr &> /dev/null && python mujson_mgr.py -l )
  2587. user_t="\033[1;33m$(echo "${user_info}"|wc -l) Cts"
  2588. } || user_t="\033[1;31m[OFF]"
  2589. [[ "$(echo -e "$_portbaSE" | grep 'docker' | wc -l)" != '0' ]] && chiselsts="\033[1;32m[ON]" || chiselsts="\033[1;31m[OFF]"
  2590. tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2 && tput cuu1 >&2 && tput dl1 >&2
  2591. echo -e "${cor[5]} ${h0nG} INSTALACION DE PROTOCOLOS ${h0nG} "
  2592. msg -bar
  2593. echo -e "\033[0;35m [\033[0;36m1\033[0;35m]\033[0;31m${flech} ${cor[3]}SQUID $squid \033[0;35m [\033[0;36m11\033[0;35m]\033[0;31m${flech} ${cor[3]}PSIPHON SERVER $pps"
  2594. echo -e "\033[0;35m [\033[0;36m2\033[0;35m]\033[0;31m${flech} ${cor[3]}DROPBEAR $dropb \033[0;35m [\033[0;36m12\033[0;35m]\033[0;31m${flech} ${cor[3]}TCP DNS \033[0;33m(#BETA)"
  2595. echo -e "\033[0;35m [\033[0;36m3\033[0;35m]\033[0;31m${flech} ${cor[3]}OPENVPN $openvpn \033[0;35m [\033[0;36m13\033[0;35m]\033[0;31m${flech} ${cor[3]}WEBMIN $webminn"
  2596. echo -e "\033[0;35m [\033[0;36m4\033[0;35m]\033[0;31m${flech} ${cor[3]}SSL/TLS $stunel \033[0;35m [\033[0;36m14\033[0;35m]\033[0;31m${flech} ${cor[3]}SlowDNS $P1"
  2597. echo -e "\033[0;35m [\033[0;36m5\033[0;35m]\033[0;31m${flech} ${cor[3]}SHADOWSOCKS-R $shadow \033[0;35m [\033[0;36m15\033[0;35m]\033[0;31m${flech} ${cor[3]}SSL->PYTHON \033[0;33m(#BETA)"
  2598. echo -e "\033[0;35m [\033[0;36m6\033[0;35m]\033[0;31m${flech} ${cor[3]}SHADOWSOCKS $user_t \033[0;35m [\033[0;36m16\033[0;35m]\033[0;31m${flech} ${cor[3]}SSLH Multiplex $sslh"
  2599. echo -e "\033[0;35m [\033[0;36m7\033[0;35m]\033[0;31m${flech} ${cor[3]}PROXY PYTHON $socks \033[0;35m [\033[0;36m17\033[0;35m]\033[0;31m${flech} ${cor[3]}OVER WEBSOCKET \033[0;33m(#BETA)"
  2600. echo -e "\033[0;35m [\033[0;36m8\033[0;35m]\033[0;31m${flech} ${cor[3]}V2RAY SWITCH $v2ray \033[0;35m [\033[0;36m18\033[0;35m]\033[0;31m${flech} ${cor[3]}SOCKS5 \033[0;33m(#BETA)"
  2601. echo -e "\033[0;35m [\033[0;36m9\033[0;35m]\033[0;31m${flech} ${cor[3]}CLASH FOR 📲 $xclash\033[0;35m [\033[0;36m19\033[0;35m]\033[0;31m${flech} ${cor[3]}UDPServer Request $_pidUDP"
  2602. echo -e "\033[0;35m [\033[0;36m10\033[0;35m]\033[0;31m${flech} ${cor[3]}TROJAN-GO $pTROJ \033[0;35m [\033[0;36m20\033[0;35m]\033[0;31m${flech} ${cor[5]} FUNCIONES EN DISEÑO!"
  2603. msg -bar #msg -bar
  2604. echo -e "\033[0;35m [\033[0;36m21\033[0;35m]\033[0;31m${flech} ${cor[3]}CHISEL $chiselsts \033[0;35m [\033[0;36m0\033[0;35m]\033[0;31m ${flech} $(msg -bra "\033[1;41m[ REGRESAR ]\e[0m")"
  2605. msg -bar #msg -bar
  2606. selection=$(selection_fun 21)
  2607. case ${selection} in
  2608. 1)
  2609. fun_squid
  2610. read -p " Enter";;
  2611. 2)
  2612. fun_dropbear
  2613. read -p " Enter";;
  2614. 3)
  2615. fun_openvpn
  2616. read -p " Enter";;
  2617. 4)
  2618. ssl_stunel
  2619. read -p " Enter";;
  2620. 5)
  2621. fun_shadowsocks
  2622. read -p " Enter";;
  2623. 6)
  2624. ssrmenu
  2625. read -p " Enter";;
  2626. 7)
  2627. iniciarsocks
  2628. read -p " Enter";;
  2629. 8)
  2630. v2ray-socket
  2631. #tcpbypass_fun
  2632. read -p " Enter";;
  2633. 9)
  2634. instala_clash
  2635. #
  2636. read -p " Enter";;
  2637. 10)
  2638. trojan
  2639. read -p " Enter";;
  2640. 11)
  2641. psiserver
  2642. read -p " Enter";;
  2643. 12)
  2644. tcpd
  2645. read -p " Enter";;
  2646. 13)
  2647. web_min
  2648. read -p " Enter";;
  2649. 14)
  2650. apt-get install ncurses-utils > /dev/null 2>&1
  2651. slow-dns
  2652. read -p " Enter";;
  2653. 15)
  2654. source <(curl -sSL https://www.dropbox.com/s/vi96sjxiqwdibo5/autoconfig.sh)
  2655. read -p " Enter";;
  2656. 16)
  2657. source <(curl -sSL https://www.dropbox.com/s/m3qm4ekjbf2fg5m/sslh-back3.sh)
  2658. read -p " Enter";;
  2659. 17)
  2660. source <(curl -sSL https://www.dropbox.com/s/k3sozjz9bzmucag/ws-java.sh)
  2661. read -p " Enter";;
  2662. 18)
  2663. source <(curl -sSL https://www.dropbox.com/s/etvd71wl749kv7f/socks5.sh)
  2664. read -p " Enter";;
  2665. 19)
  2666. #dnsserver
  2667. _funUDP
  2668. read -p " Enter";;
  2669. 20)
  2670. source <(curl -sSL https://www.dropbox.com/s/ud4ux8kt4cgrljj/h_beta.sh)
  2671. read -p " Enter";;
  2672. 21)
  2673. fun_chisel
  2674. read -p " Enter";;
  2675. esac
  2676. #Reinicia ADM