1
0

mod-v2ray.sh 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733
  1. #!/bin/sh
  2. #Autor: Henry Chumo
  3. #Alias : ChumoGH
  4. clear
  5. config="/usr/local/etc/trojan/config.json"
  6. temp="/etc/trojan/temp.json"
  7. trojdir="/etc/trojan" && [[ ! -d $trojdir ]] && mkdir $trojdir
  8. user_conf="/etc/trojan/user" && [[ ! -e $user_conf ]] && touch $user_conf
  9. backdir="/etc/trojan/back" && [[ ! -d ${backdir} ]] && mkdir ${backdir}
  10. tmpdir="$backdir/tmp"
  11. [[ ! -e $trojdir/conf ]] && echo "autBackup 0" > $trojdir/conf
  12. if [[ $(cat $trojdir/conf | grep "autBackup") = "" ]]; then
  13. echo "autBackup 0" >> $trojdir/conf
  14. fi
  15. unset barra
  16. barra="\033[0;34m•••••••••••••••••••••••••••••••••••••••••••••••••\033[0m"
  17. [[ -e /bin/ejecutar/msg ]] && source /bin/ejecutar/msg || source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg)
  18. numero='^[0-9]+$'
  19. hora=$(printf '%(%H:%M:%S)T')
  20. fecha=$(printf '%(%D)T')
  21. trojan()
  22. {
  23. wget -q https://www.dropbox.com/s/vogt0tyaqg0gee1/trojango.sh; chmod +x trojango.sh; ./trojango.sh
  24. rm -f trojango.sh
  25. }
  26. install_ini () {
  27. add-apt-repository universe
  28. apt update -y; apt upgrade -y
  29. clear
  30. echo -e "$BARRA"
  31. echo -e "\033[92m -- INSTALANDO PAQUETES NECESARIOS -- "
  32. echo -e "$BARRA"
  33. #bc
  34. [[ $(dpkg --get-selections|grep -w "bc"|head -1) ]] || apt-get install bc -y &>/dev/null
  35. [[ $(dpkg --get-selections|grep -w "bc"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  36. [[ $(dpkg --get-selections|grep -w "bc"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  37. echo -e "\033[97m # apt-get install bc................... $ESTATUS "
  38. #jq
  39. [[ $(dpkg --get-selections|grep -w "jq"|head -1) ]] || apt-get install jq -y &>/dev/null
  40. [[ $(dpkg --get-selections|grep -w "jq"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  41. [[ $(dpkg --get-selections|grep -w "jq"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  42. echo -e "\033[97m # apt-get install jq................... $ESTATUS "
  43. #curl
  44. [[ $(dpkg --get-selections|grep -w "curl"|head -1) ]] || apt-get install curl -y &>/dev/null
  45. [[ $(dpkg --get-selections|grep -w "curl"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  46. [[ $(dpkg --get-selections|grep -w "curl"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  47. echo -e "\033[97m # apt-get install curl................. $ESTATUS "
  48. #npm
  49. [[ $(dpkg --get-selections|grep -w "npm"|head -1) ]] || apt-get install npm -y &>/dev/null
  50. [[ $(dpkg --get-selections|grep -w "npm"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  51. [[ $(dpkg --get-selections|grep -w "npm"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  52. echo -e "\033[97m # apt-get install npm.................. $ESTATUS "
  53. #nodejs
  54. [[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] || apt-get install nodejs -y &>/dev/null
  55. [[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  56. [[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  57. echo -e "\033[97m # apt-get install nodejs............... $ESTATUS "
  58. #socat
  59. [[ $(dpkg --get-selections|grep -w "socat"|head -1) ]] || apt-get install socat -y &>/dev/null
  60. [[ $(dpkg --get-selections|grep -w "socat"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  61. [[ $(dpkg --get-selections|grep -w "socat"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  62. echo -e "\033[97m # apt-get install socat................ $ESTATUS "
  63. #netcat
  64. [[ $(dpkg --get-selections|grep -w "netcat"|head -1) ]] || apt-get install netcat -y &>/dev/null
  65. [[ $(dpkg --get-selections|grep -w "netcat"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  66. [[ $(dpkg --get-selections|grep -w "netcat"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  67. echo -e "\033[97m # apt-get install netcat............... $ESTATUS "
  68. #netcat-traditional
  69. [[ $(dpkg --get-selections|grep -w "netcat-traditional"|head -1) ]] || apt-get install netcat-traditional -y &>/dev/null
  70. [[ $(dpkg --get-selections|grep -w "netcat-traditional"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  71. [[ $(dpkg --get-selections|grep -w "netcat-traditional"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  72. echo -e "\033[97m # apt-get install netcat-traditional... $ESTATUS "
  73. #net-tools
  74. [[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] || apt-get net-tools -y &>/dev/null
  75. [[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  76. [[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  77. echo -e "\033[97m # apt-get install net-tools............ $ESTATUS "
  78. #cowsay
  79. [[ $(dpkg --get-selections|grep -w "cowsay"|head -1) ]] || apt-get install cowsay -y &>/dev/null
  80. [[ $(dpkg --get-selections|grep -w "cowsay"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  81. [[ $(dpkg --get-selections|grep -w "cowsay"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  82. echo -e "\033[97m # apt-get install cowsay............... $ESTATUS "
  83. #figlet
  84. [[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] || apt-get install figlet -y &>/dev/null
  85. [[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  86. [[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  87. echo -e "\033[97m # apt-get install figlet............... $ESTATUS "
  88. #lolcat
  89. apt-get install lolcat -y &>/dev/null
  90. sudo gem install lolcat &>/dev/null
  91. [[ $(dpkg --get-selections|grep -w "lolcat"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  92. [[ $(dpkg --get-selections|grep -w "lolcat"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  93. echo -e "\033[97m # apt-get install lolcat............... $ESTATUS "
  94. echo -e "$BARRA"
  95. echo -e "\033[92m La instalacion de paquetes necesarios a finalizado"
  96. echo -e "$BARRA"
  97. echo -e "\033[97m Si la instalacion de paquetes tiene fallas"
  98. echo -ne "\033[97m Puede intentar de nuevo [s/n]: "
  99. read inst
  100. [[ $inst = @(s|S|y|Y) ]] && install_ini
  101. }
  102. enon(){
  103. echo "source <(curl -sSL https://www.dropbox.com/s/0g49zme77giypns/mod-v2ray.sh)" > /bin/troj.sh
  104. chmod +x /bin/troj.sh
  105. clear
  106. echo -e $barra
  107. blanco " Se ha agregado un autoejecutor en el Sector de Inicios Rapidos"
  108. echo -e $barra
  109. blanco " Para Acceder al menu Rapido \n Utilize * troj.sh * !!!"
  110. echo -e $barra
  111. echo -e " \033[4;31mNOTA importante\033[0m"
  112. echo -e " \033[0;31mSi deseas desabilitar esta opcion, apagala"
  113. echo -e " Y te recomiendo, no alterar nada en este menu, para"
  114. echo -e " Evitar Errores Futuros"
  115. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  116. echo -e $barra
  117. continuar
  118. read foo
  119. }
  120. enoff(){
  121. rm -f /bin/v2r.sh
  122. echo -e $barra
  123. echo -e " \033[4;31mNOTA importante\033[0m"
  124. echo -e " \033[0;31mSe ha Desabilitado el menu Rapido de troj.sh"
  125. echo -e " Y te recomiendo, no alterar nada en este menu, para"
  126. echo -e " Evitar Errores Futuros"
  127. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  128. echo -e $barra
  129. continuar
  130. read foo
  131. }
  132. enttrada () {
  133. while :
  134. do
  135. clear
  136. echo -e $barra
  137. blanco " Ajustes e Entrasda Rapida de Menu TROJAN"
  138. echo -e $barra
  139. col "1)" "Habilitar troj.sh, Como entrada Rapida"
  140. col "2)" "Eliminar troj.sh, Como entrada Rapida"
  141. echo -e $barra
  142. col "0)" "Volver"
  143. echo -e $barra
  144. blanco "opcion" 0
  145. read opcion
  146. [[ -z $opcion ]] && vacio && sleep 0.3 && break
  147. [[ $opcion = 0 ]] && break
  148. case $opcion in
  149. 1)enon;;
  150. 2)enoff;;
  151. *) blanco " solo numeros de 0 a 2" && sleep 0.3;;
  152. esac
  153. done
  154. }
  155. on_off_res(){
  156. if [[ $(cat $trojdir/conf | grep "autBackup" | cut -d " " -f2) = "0" ]]; then
  157. echo -e "\033[0;31m[off]"
  158. else
  159. echo -e "\033[1;92m[on]"
  160. fi
  161. }
  162. blanco(){
  163. [[ ! $2 = 0 ]] && {
  164. echo -e "\033[1;37m$1\033[0m"
  165. } || {
  166. echo -ne " \033[1;37m$1:\033[0m "
  167. }
  168. }
  169. col(){
  170. nom=$(printf '%-55s' "\033[0;92m${1} \033[0;31m ➣ \033[1;37m${2}")
  171. echo -e " $nom\033[0;31m${3} \033[0;92m${4}\033[0m"
  172. }
  173. col2(){
  174. echo -e " \033[1;91m$1\033[0m \033[1;37m$2\033[0m"
  175. }
  176. vacio(){
  177. blanco "\n no se puede ingresar campos vacios..."
  178. }
  179. cancelar(){
  180. echo -e "\n \033[3;49;31minstalacion cancelada...\033[0m"
  181. }
  182. continuar(){
  183. echo -e " \033[3;49;32mEnter para continuar...\033[0m"
  184. }
  185. title2(){
  186. trojanports=`lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN" | grep trojan | awk '{print substr($9,3); }' > /tmp/trojan.txt && echo | cat /tmp/trojan.txt | tr '\n' ' ' > /etc/adm-lite/trojanports.txt && cat /etc/adm-lite/trojanports.txt` > /dev/null 2>&1
  187. v1=$(cat /etc/adm-lite/v-local.log)
  188. v2=$(cat /bin/ejecutar/v-new.log)
  189. echo -e "\033[7;49;35m =====>>►► 🐲 Menu TROJAN ChumoGH💥VPS 🐲 ◄◄<<===== \033[0m"
  190. echo -e $barra
  191. [[ $v1 = $v2 ]] && echo -e " \e[97m\033[1;41mProyecto Trojan by @ChumoGH [$v1] \033[0m" || echo -e " \e[97m\033[1;41mProyecto Trojan by @ChumoGH [$v1] >> \033[1;92m[$v2] \033[0m"
  192. [[ $trojanports > 0 ]] && echo -e " \e[97m\033[1;41mPuerta Activa en menu : \033[0m \033[3;32m $trojanports\033[3;32m" || echo -e " \e[97m\033[1;41mERROR A INICIAR TROJAN : \033[0m \033[3;32m FAIL\033[3;32m"
  193. }
  194. title(){
  195. echo -e $barra
  196. echo -e " >>>>>>> Fecha Actual $(date '+%d-%m-%Y') <<<<<<<<<<<"
  197. blanco "$1"
  198. echo -e $barra
  199. }
  200. userDat(){
  201. #echo -e " >>>>>>> Fecha Actual $(date '+%d-%m-%Y') <<<<<<<<<<<"
  202. blanco " N° Usuarios fech exp dias"
  203. echo -e $barra
  204. }
  205. log_traff () {
  206. tail -f /usr/local/etc/trojan/config.json
  207. }
  208. add_user(){
  209. autoDel
  210. unset seg
  211. seg=$(date +%s)
  212. while :
  213. do
  214. clear
  215. nick="$(cat $config | grep ',"')"
  216. users="$(cat < ${user_conf}adm) $(echo $nick|sed -e 's/[^a-z0-9 -]//ig')"
  217. title " CREAR USUARIO Trojan"
  218. userDat
  219. n=0
  220. for i in $users
  221. do
  222. unset DateExp
  223. unset seg_exp
  224. unset exp
  225. [[ $i = "chumoghscript" ]] && {
  226. n=0
  227. i="ADM-SCRIPT"
  228. a='◈'
  229. DateExp="【 I N D E F I N I D O 】"
  230. col "$a)" "$i" "$DateExp"
  231. } || {
  232. [[ $i = "$(cat < ${user_conf}adm)" ]] && {
  233. n=0
  234. i="$(cat < ${user_conf}adm)"
  235. a='◈'
  236. DateExp="【 I N D E F I N I D O 】"
  237. col "$a)" "$i" "$DateExp"
  238. } || {
  239. DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
  240. seg_exp=$(date +%s --date="$DateExp")
  241. exp="[$(($(($seg_exp - $seg)) / 86400))]"
  242. col "$n)" "$i" "$DateExp" "$exp"
  243. }
  244. }
  245. let n++
  246. done
  247. echo -e $barra
  248. col "0)" "VOLVER"
  249. echo -e $barra
  250. blanco "Ingresa Nombre de USUARIO :" 0
  251. read usser
  252. [[ -z $usser ]] && vacio && sleep 0.3 && continue
  253. [[ $usser = 0 ]] && break
  254. [[ -z $(echo "$users" | grep $usser) ]] && {
  255. opcion=$usser
  256. echo -e $barra
  257. blanco "DURACION EN DIAS" 0
  258. read dias
  259. espacios=$(echo "$opcion" | tr -d '[[:space:]]')
  260. opcion=$espacios
  261. mv $config $temp
  262. movetm=$(echo -e "$opcion" | sed 's/^/,"/;s/$/"/')
  263. sed "10i\ $movetm" $temp > $config
  264. #echo -e "$opcion" | sed 's/^/,"/;s/$/"/'
  265. sed -i "/usser/d" $user_conf
  266. echo "$opcion | $usser | $(date '+%y-%m-%d' -d " +$dias days")" >> $user_conf
  267. chmod 777 $config
  268. rm $temp
  269. clear
  270. echo -e $barra
  271. blanco " Usuario $usser creado con exito"
  272. echo -e $barra
  273. autoDel
  274. killall trojan > /dev/null
  275. screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json
  276. sleep 0.3
  277. } || echo " USUARIO YA EXISTE " && sleep 1
  278. done
  279. }
  280. renew(){
  281. while :
  282. do
  283. unset user
  284. clear
  285. title " RENOVAR USUARIOS"
  286. userDat
  287. userEpx=$(cut -d " " -f1 $user_conf)
  288. n=1
  289. for i in $userEpx
  290. do
  291. DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
  292. seg_exp=$(date +%s --date="$DateExp")
  293. [[ "$seg" -gt "$seg_exp" ]] && {
  294. col "$n)" "$i" "$DateExp" "\033[0;31m[Exp]"
  295. uid[$n]="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f2|tr -d '[[:space:]]')"
  296. user[$n]=$i
  297. let n++
  298. }
  299. done
  300. [[ -z ${user[1]} ]] && blanco " No hay expirados"
  301. echo -e $barra
  302. col "0)" "VOLVER"
  303. echo -e $barra
  304. blanco "NUMERO DE USUARIO A RENOVAR" 0
  305. read opcion
  306. [[ -z $opcion ]] && vacio && sleep 0.3 && continue
  307. [[ $opcion = 0 ]] && break
  308. [[ ! $opcion =~ $numero ]] && {
  309. blanco " solo numeros apartir de 1"
  310. sleep 0.3
  311. } || {
  312. [[ $opcion>=${n} ]] && {
  313. let n--
  314. blanco "solo numero entre 1 y $n"
  315. sleep 0.3
  316. } || {
  317. blanco "DURACION EN DIAS" 0
  318. read dias
  319. mv $config $temp
  320. movetm=$(echo -e "${user[$opcion]}" | sed 's/^/,"/;s/$/"/')
  321. sed "10i\ $movetm" $temp > $config
  322. sed -i "/${user[$opcion]}/d" $user_conf
  323. echo "${user[$opcion]} | ${user[$opcion]} | $(date '+%y-%m-%d' -d " +$dias days")" >> $user_conf
  324. chmod 777 $config
  325. rm -f $temp
  326. clear
  327. echo -e $barra
  328. blanco " Usuario > ${user[$opcion]} renovado hasta $(date '+%y-%m-%d' -d " +$dias days")"
  329. sleep 5s
  330. }
  331. }
  332. done
  333. killall trojan > /dev/null
  334. screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json
  335. continuar
  336. read foo
  337. }
  338. autoDel(){
  339. source <(curl -sSL https://www.dropbox.com/s/6mbvvyzxppecqqp/autodel-trojan.sh)
  340. }
  341. dell_user(){
  342. unset seg
  343. seg=$(date +%s)
  344. while :
  345. do
  346. clear
  347. nick="$(cat $config | grep ',"')"
  348. users="$(cat < ${user_conf}adm) $(echo $nick|sed -e 's/[^a-z0-9 -]//ig')"
  349. title " ELIMINAR USUARIO TROJAN"
  350. userDat
  351. n=0
  352. for i in $users
  353. do
  354. userd[$n]=$i
  355. unset DateExp
  356. unset seg_exp
  357. unset exp
  358. [[ $i = "chumoghscript" ]] && {
  359. i="ADM-SCRIPT"
  360. a='◈'
  361. DateExp="【 I N D E F I N I D O 】"
  362. col "$a)" "$i" "$DateExp"
  363. } || {
  364. [[ $i = "$(cat < ${user_conf}adm)" ]] && {
  365. i="$(cat < ${user_conf}adm)"
  366. a='◈'
  367. DateExp="【 I N D E F I N I D O 】"
  368. col "$a)" "$i" "$DateExp"
  369. } || {
  370. DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
  371. seg_exp=$(date +%s --date="$DateExp")
  372. exp="[$(($(($seg_exp - $seg)) / 86400))]"
  373. col "$n)" "$i" "$DateExp" "$exp"
  374. }
  375. }
  376. p=$n
  377. let n++
  378. done
  379. userEpx=$(cut -d " " -f 1 $user_conf)
  380. for i in $userEpx
  381. do
  382. DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
  383. seg_exp=$(date +%s --date="$DateExp")
  384. [[ "$seg" -gt "$seg_exp" ]] && {
  385. col "$n)" "$i" "$DateExp" "\033[0;31m[Exp]"
  386. expUser[$n]=$i
  387. }
  388. let n++
  389. done
  390. echo -e $barra
  391. col "0)" "VOLVER"
  392. echo -e $barra
  393. blanco "NUMERO DE USUARIO A ELIMINAR" 0
  394. read opcion
  395. [[ -z $opcion ]] && vacio && sleep 0.3 && continue
  396. [[ $opcion = 0 ]] && break
  397. [[ ! $opcion =~ $numero ]] && {
  398. blanco " solo numeros apartir de 1"
  399. sleep 0.3
  400. } || {
  401. let n--
  402. [[ $opcion>=${n} ]] && {
  403. blanco "solo numero entre 1 y $n"
  404. sleep 0.3
  405. } || {
  406. [[ $opcion>=${p} ]] && {
  407. sed -i "/${expUser[$opcion]}/d" $user_conf
  408. } || {
  409. mv $config $temp
  410. sed -i "/${expUser[$opcion]}/d" $user_conf
  411. sed "/${userd[$opcion]}/ d" $temp > $config
  412. chmod 777 $config
  413. rm $temp
  414. clear
  415. echo -e $barra
  416. blanco " Usuario ${userd[$opcion]}${expUser[$opcion]} eliminado"
  417. echo -e $barra
  418. sleep 0.5s
  419. }
  420. }
  421. }
  422. done
  423. killall trojan > /dev/null
  424. screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json
  425. }
  426. bakc() {
  427. clear
  428. while :
  429. do
  430. clear
  431. #col "5)" "\033[1;33mCONFIGURAR Trojan"
  432. echo -e $barra
  433. col "1)" "\033[1;33mRestaurar Copia"
  434. echo -e $barra
  435. col "2)" "\033[1;33mCrear Copia"
  436. echo -e $barra
  437. col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
  438. echo -e $barra
  439. blanco "opcion" 0
  440. read opcion
  441. case $opcion in
  442. 1)[[ -e config.json ]] && cp config.json /usr/local/etc/trojan/config.json || echo "No existe Copia";;
  443. 2)[[ -e /usr/local/etc/trojan/config.json ]] && cp /usr/local/etc/trojan/config.json config.json || echo "No existe Copia";;
  444. 0) break;;
  445. *) blanco "\n selecione una opcion del 0 al 2" && sleep 0.3;;
  446. esac
  447. done
  448. }
  449. reintro() {
  450. clear
  451. while :
  452. do
  453. clear
  454. #col "5)" "\033[1;33mCONFIGURAR Trojan"
  455. echo -e $barra
  456. col "1)" "\033[1;33mReinstalar Servicio"
  457. echo -e $barra
  458. col "2)" "\033[1;33mReiniciar Servicio"
  459. echo -e $barra
  460. col "3)" "\033[1;33mEditar Manual ( nano )"
  461. echo -e $barra
  462. col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
  463. echo -e $barra
  464. blanco "opcion" 0
  465. read opcion
  466. case $opcion in
  467. 1)
  468. trojan
  469. ;;
  470. 2)
  471. [[ -e /usr/local/etc/trojan/config.json ]] && {
  472. title "Fichero Interno Configurado"
  473. killall trojan > /dev/null
  474. screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json && blanco "Reinicio Completado Exitosamente " || blanco "Error al Aplicar Reinicio "
  475. } || echo -e "Servicio No instalado Aun"
  476. ;;
  477. 3)
  478. nano /usr/local/etc/trojan/config.json
  479. ;;
  480. 0) break;;
  481. *) blanco "\n selecione una opcion del 0 al 3" && sleep 0.3;;
  482. esac
  483. done
  484. continuar
  485. read foo
  486. }
  487. cattro () {
  488. clear
  489. while :
  490. do
  491. clear
  492. #col "5)" "\033[1;33mCONFIGURAR Trojan"
  493. echo -e $barra
  494. col "1)" "\033[1;33mMostrar fichero de CONFIG "
  495. echo -e $barra
  496. col "2)" "\033[1;33mEditar Config Manual ( Comando nano )"
  497. echo -e $barra
  498. col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
  499. echo -e $barra
  500. blanco "opcion" 0
  501. read opcion
  502. case $opcion in
  503. 1)
  504. title "Fichero Interno Configurado"
  505. cat /usr/local/etc/trojan/config.json
  506. blanco "Fin Fichero "
  507. continuar
  508. read foo
  509. ;;
  510. 2)
  511. [[ -e /usr/local/etc/trojan/config.json ]] && {
  512. title "Fichero Interno Configurado"
  513. nano /usr/local/etc/trojan/config.json
  514. killall trojan > /dev/null
  515. screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json && blanco "Reinicio Completado Exitosamente " || blanco "Error al Aplicar Reinicio "
  516. } || echo -e "Servicio No instalado Aun"
  517. ;;
  518. 0) break;;
  519. *) blanco "\n selecione una opcion del 0 al 2" && sleep 0.3;;
  520. esac
  521. done
  522. continuar
  523. }
  524. view_user(){
  525. trojanport=`lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN" | grep trojan | awk '{print substr($9,3); }' > /tmp/trojan.txt && echo | cat /tmp/trojan.txt | tr '\n' ' ' > /etc/adm-lite/trojanports.txt && cat /etc/adm-lite/trojanports.txt`;
  526. trojanport=$(cat /etc/adm-lite/trojanports.txt | sed 's/\s\+/,/g' | cut -d , -f1)
  527. unset seg
  528. seg=$(date +%s)
  529. while :
  530. do
  531. clear
  532. nick="$(cat $config | grep ',"')"
  533. users="$(echo $nick|sed -e 's/[^a-z0-9 -]//ig')"
  534. title " VER USUARIO TROJAN"
  535. userDat
  536. n=1
  537. for i in $users
  538. do
  539. unset DateExp
  540. unset seg_exp
  541. unset exp
  542. [[ $i = "$(cat < ${user_conf}adm)" ]] && {
  543. i="$(cat < ${user_conf}adm)"
  544. DateExp="【 I N D E F I N I D O 】"
  545. } || {
  546. [[ $i = "chumoghscript" ]] && {
  547. i="ADM-SCRIPT"
  548. DateExp="【 I N D E F I N I D O 】"
  549. } || {
  550. DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
  551. seg_exp=$(date +%s --date="$DateExp")
  552. exp="[$(($(($seg_exp - $seg)) / 86400))]"
  553. }
  554. }
  555. col "$n)" "$i" "$DateExp" "$exp"
  556. let n++
  557. done
  558. echo -e $barra
  559. col "0)" "VOLVER"
  560. echo -e $barra
  561. blanco "VER DATOS DEL USUARIO" 0
  562. read opcion
  563. [[ -z $opcion ]] && vacio && sleep 0.3 && continue
  564. [[ $opcion = 0 ]] && break
  565. n=1
  566. unset i
  567. for i in $users
  568. do
  569. unset DateExp
  570. unset seg_exp
  571. unset exp
  572. DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
  573. seg_exp=$(date +%s --date="$DateExp")
  574. exp="[$(($(($seg_exp - $seg)) / 86400))]"
  575. #col "$n)" "$i" "$DateExp" "$exp"
  576. [[ $n = $opcion ]] && trojanpass=$i && dataEX=$DateExp && dEX=$exp
  577. let n++
  578. done
  579. let opcion--
  580. addip=$(wget -qO- ifconfig.me)
  581. echo -e " PARA FINALIZAR AGREGA TU HOST SNI / HOST:Port"
  582. read -p " Host / SNI : " host
  583. [[ -z $host ]] && host="coloca-tu-SNI"
  584. clear&&clear
  585. blanco $barra
  586. blanco " TROJAN LINK CONFIG"
  587. blanco $barra
  588. col "$opcion)" "$trojanpass" "$dataEX" "$dEX"
  589. trojan_conf
  590. blanco $barra
  591. continuar
  592. read foo
  593. done
  594. }
  595. trojan_conf (){
  596. echo -e $barra
  597. col2 "Remarks:" "$trojanpass"
  598. col2 "IP-Address:" "$addip"
  599. col2 "Port:" "$trojanport"
  600. col2 "password:" "$trojanpass"
  601. [[ ! -z $host ]] && col2 "Host/SNI:" "$host"
  602. echo -ne "$(msg -verd "") $(msg -verm2 " ") "&& msg -bra "\033[1;41mEn APPS como HTTP Inyector,CUSTOM,Trojan,etc"
  603. echo -e "\033[3;32m trojan://$(echo $trojanpass@$addip:$trojanport?sni=$host#$trojanpass )\033[3;32m"
  604. }
  605. main(){
  606. [[ ! -e $config ]] && {
  607. clear
  608. echo -e $barra
  609. blanco " No se encontro ningun archovo de configracion Trojan"
  610. echo -e $barra
  611. blanco " No instalo Trojan o esta usando\n una vercion diferente!!!"
  612. echo -e $barra
  613. echo -e " \033[4;31mNOTA importante\033[0m"
  614. echo -e " \033[0;31mSi esta usando una vercion Trojan diferente"
  615. echo -e " y opta por cuntinuar usando este script."
  616. echo -e " Este puede; no funcionar correctamente"
  617. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  618. echo -e $barra
  619. continuar
  620. read foo
  621. }
  622. while :
  623. do
  624. _usor=$(printf '%-8s' "$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')")
  625. _usop=$(printf '%-1s' "$(top -bn1 | awk '/Cpu/ { cpu = "" 100 - $8 "%" }; END { print cpu }')")
  626. [[ -e /bin/troj.sh ]] && enrap="\033[1;92m[Encendido]" || enrap="\033[0;31m[Apagado]"
  627. clear
  628. title2
  629. title " Ram: \033[1;32m$_usor \033[0;31m<<< \033[1;37mMENU Trojan \033[0;31m>>> \033[1;37mCPU: \033[1;32m$_usop"
  630. col "1)" "CREAR USUARIO "
  631. col "2)" "\033[0;92mRENOVAR USUARIO "
  632. col "3)" "\033[0;31mREMOVER USUARIO <->"
  633. col "4)" "VER DATOS DE USUARIOS "
  634. #col "5)" "\033[1;33mCONFIGURAR Trojan"
  635. echo -e $barra
  636. col "6)" "\033[1;33mEntrada Rapida $enrap"
  637. echo -e $barra
  638. col "7)" "\033[1;33mMostrar/Editar Fichero interno"
  639. col "8)" "\033[1;33mMenu Avanzado Trojan"
  640. col "9)" "\033[1;33mCrear Copia de Config Trojan"
  641. echo -e $barra
  642. col "10)" "\033[1;33mMostrar Log del Trafico"
  643. echo -e $barra
  644. col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
  645. echo -e $barra
  646. blanco "opcion" 0
  647. read opcion
  648. case $opcion in
  649. 1)add_user;;
  650. 2)renew;;
  651. 3)dell_user;;
  652. 4)view_user;;
  653. 5)settings;;
  654. 6)enttrada;;
  655. 7)cattro;;
  656. 8)reintro;;
  657. 9)bakc;;
  658. 10)log_traff;;
  659. 0) break;;
  660. *) blanco "\n selecione una opcion del 0 al 10" && sleep 0.3;;
  661. esac
  662. done
  663. }
  664. [[ $1 = "autoDel" ]] && {
  665. autoDel
  666. } || {
  667. autoDel
  668. main
  669. }