l0rdjcd

Termux - SEC-Installer - CrytoMessenger

Aug 5th, 2020 (edited)
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 15.80 KB | None | 0 0
  1. #!/bin/bash
  2. # ===================================================================
  3. #
  4. # Dieses Programm dient zum Senden und Empfangen vertraulicher
  5. # Text-Nachrichten über den EIGENEN Server.
  6. # ENDE-zu-ENDE Verschlüsselt und das SSH-Prot. wird verwendet.
  7. #
  8. # Die .key-Datei muss auf allen Teilnehmenden Endgeräten kopiert werden.
  9. # Nicht auf dem Server (zb. Rasperry-Pi) liegen lassen!
  10. #
  11. # Downloadlink Termux:
  12. #   https://f-droid.org/en/packages/com.termux/
  13. #
  14. # Downloadlink Termux-Widget:
  15. #   https://f-droid.org/en/packages/com.termux.widget/
  16. #
  17. # DIESEN kompletten Inhalt als "install_sec" in HOME-Verzeichniss
  18. # speichern und in Termux mit Befehl "bash install_sec" starten
  19. # oder direkt als Oneliner mit folgenden Befehl ausführen:
  20. #
  21. # pkg update ; pkg upgrade -y ; pkg install -y w3m && w3m -dump https://pastebin.com/raw/rhPX8YB7 > install_sec ; chmod +wx install_sec ; bash install_sec
  22. #
  23. #
  24. # Nach der Installation Widgets auf Homescreen ablegen für kompfort. Nutzung.
  25. #
  26. # Die ID-Kennung ist frei wählbar. Diese muss zwischen 2 Teilnehmer
  27. # die gleiche sein. Sendet Person A eine Nachricht mit der ID-Kennung
  28. # 12345, so muss Person B beim Lesen auch die ID-Kennung 12345
  29. # eingeben. Andernfalls wird die Nachricht beim Abrufen nicht
  30. # zugeordnet.
  31. #
  32. # Die Nachrichten werden nach dem lesen automatisch gelöscht!
  33. # (Einmal-Nachrichten)
  34. #
  35. # Die .key-Datei die zum entschlüsseln verwendet wird, ist ein
  36. # 65536 langes zufällig generiertes Passwort
  37. # bestehend aus [a-z, A-Z, 0-9 und alle Sonderzeichen] und muss
  38. # bei allen Teilnehmern vorhanden sein.
  39. # Übertragung der verschlüsselten Nachrichten erfolgt via AES256
  40. # und werden als versteckte 2-Fach-gehaschte Dateinamen gespeichert.
  41. #
  42. # USE: bash install_sec
  43. #
  44. # Bei Fragen, Anregungen, Lob, Kritik oder Vorschläge einfach anschreiben.
  45. #
  46. # Coded by: Sebastian Staitsch
  47. # Version: 2.1
  48. # letzte änderung: 14.08.2020 10:33:35
  49. #
  50. # Video:
  51. #   kommt bald...
  52. #
  53. # ===================================================================
  54.  
  55. WAIT_KEY(){
  56.     echo
  57.     read -sn 1 -p $'Taste drücken\n'
  58. }
  59.  
  60. CHECK_SHELL(){
  61.     echo "Überprüfe Shellumgebung..."
  62.     sleep 1
  63.     if [ ! -e /data/data/com.termux/ ]; then
  64.         clear
  65.         echo -e "Shellumgebung \e[5;31;40m[KEINE TERMUX-SHELL]\e[0m"
  66.         echo
  67.         echo "Installation nur in Termux-Shell unter Android möglich"
  68.         sleep 2
  69.         exit 1
  70.     fi
  71.     echo -e "Shellumgebung \e[38;5;82m[OK]\e[0m"
  72.     sleep 1
  73.     return 0
  74. }
  75.  
  76. MAKE_FILES(){
  77.     echo -e "\e[1;33;40m>>> DATEIEN ANLEGEN\e[0m"
  78. echo "
  79. EMQS6YTJNYXWEYLTNAFGSZRALMQCCIBNMUQH4LZONNSXSIC5HMQHI2DFNYQGKY3IN4QCES2FLEQG
  80. 42LDNB2CAZ3FMZ2W4ZDFNYQSEOZAONWGKZLQEAZDWIDFPBUXIIBSHMQGM2IKNFSGK3TDHUSCQ5DF
  81. OJWXK6BNMRUWC3DPM4QC25BAE5EUILKLMVXG45LOM4QGK2LOM5SWEZLOE4QC22JAE4QCOID4EBTX
  82. EZLQEAWUKIBNN4QCOITUMV4HIIR2EARC4KRCE4QHYIDTMVSCAJ3TF4RHIZLYOQRDULZPE4QHYIDU
  83. OIQC2ZBAE4RCOKIKNVSXGPJEFB2GK4TNOV4C2ZDJMFWG6ZZAFV2CAJ2OMFRWQ4TJMNUHIIDFNFXG
  84. OZLCMVXDUJZAFVUSAJZAE4QHYIDHOJSXAIBNIUQC23ZAE4RHIZLYOQRDUIBCFYVCEJZAPQQHGZLE
  85. EATXGLZCORSXQ5BCHIXS6JZAPQQHI4RAFVSCAJZCE4UQU2LEHUSCQZLDNBXSAJDJMRSW4YZAPQQH
  86. G2DBGIZDI43VNUQC26RAPQQHEZLWEB6CA43IME2TCMTTOVWSALL2EB6CA4TFOYQHYIDUOIQC2ZBA
  87. E4QC2JZJEAZD4L3EMV3C63TVNRWAUZLDNBXSAJDNMVZSA7BAN5YGK3TTONWCAYLFOMWTENJWFVRW
  88. EYZAFVYGC43TEBYGC43THISCQY3BOQQH4LZONNSXSKJAFVXXK5BAPYXS43LFONZWCZ3FOMXS4JDJ
  89. MQQDEPRPMRSXML3OOVWGYCTTMNYCA7RPFZWWK43TMFTWK4ZPFYSGSZBAKVJUKUSAIFCFERKTKM5H
  90. 4LZONVSXG43BM5SXGLZOERUWIIBRHYXWIZLWF5XHK3DMBJZG2IBNMYQH4LZONVSXG43BM5SXGLZO
  91. ERUWIIBSHYXWIZLWF5XHK3DMBJRWYZLBOIFHIZLSNV2XQLLUN5QXG5BAEJHGCY3IOJUWG2DUEBTW
  92. K43FNZSGK5BCBJSXQ2LUBI======
  93. " > ~/.sendtmp
  94. base32 -d ~/.sendtmp > /data/data/com.termux/files/usr/bin/senden
  95. echo -e "   \e[1;37;40m/data/data/com.termux/files/usr/bin/senden\e[0m"
  96. sleep .2
  97. echo "
  98. EMQS6YTJNYXWEYLTNAFGSZRALMQCCIBNMUQH4LZONNSXSIC5HMQHI2DFNYQGKY3IN4QCELTLMV4S
  99. A3TJMNUHIIDHMVTHK3TEMVXCCIR3EBZWYZLFOAQDEOZAMV4GS5BAGI5SAZTJBJUWMIC3EARCIKDT
  100. ONUCAVKTIVJEAQKEKJCVGUZAE5WHGIBNIEQH4LZONVSXG43BM5SXGJZAPQQHOYZAFVWCSIRAHUQC
  101. EMBCEBOTWIDUNBSW4CQJBEEWG3DFMFZAUCIJBF2GK4TNOV4C25DPMFZXIIBHJNSWS3TFEBHGCY3I
  102. OJUWG2DUMVXCAYLVMYQFGZLSOZSXEIDWN5ZGQYLOMRSW4JYKBEEQSZLYNF2AUZTJBJUWIZLOMM6S
  103. IKDUMVZG25LYFVSGSYLMN5TSALLUEATUSRBNJNSW43TVNZTSAZLJNZTWKYTFNYTSALLJEATSAJZA
  104. PQQGO4TFOAQC2RJAFVXSAJZCORSXQ5BCHIQCELRKEITSA7BAONSWIIBHOMXSE5DFPB2CEORPF4TS
  105. A7BAORZCALLEEATSEJZJEAZD4L3EMV3C63TVNRWAU2LEHUSCQZLDNBXSAJDJMRSW4YZAPQQHG2DB
  106. GIZDI43VNUQC26RAPQQHEZLWEB6CA43IME2TCMTTOVWSALL2EB6CA4TFOYQHYIDUOIQC2ZBAE4QC
  107. 2JZJBJRWYZLBOIFHGY3QEBKVGRKSIBAUIUSFKNJTU7RPFZWWK43TMFTWK4ZPFYSGSZBAPYXS43LF
  108. ONZWCZ3FOMXS433VOQSGSZBAGE7C6ZDFOYXW45LMNQFGGYLUEB7C6LTNMVZXGYLHMVZS6LTPOV2C
  109. I2LEEB6CA33QMVXHG43MEBQWK4ZNGI2TMLLDMJRSALLEEAWXAYLTOMQHAYLTOM5CIKDDMF2CA7RP
  110. FZVWK6JJEAWW65LUEB7C6LTNMVZXGYLHMVZS6LTFNZRSI2LEEAZD4L3EMV3C63TVNRWAU2LGEBNS
  111. AJB7EAWW4ZJAGAQF2OZAORUGK3QKBEEQSY3MMVQXECQJBEEXIZLSNV2XQLLUN5QXG5BAE5DEKSCM
  112. IVJDUICGMFWHGY3IMUQESRBNJNSW43TVNZTSOCQJBEEWK6DJOQFGM2IKMNWGKYLSBJ2GK4TNOV4C
  113. 2ZDJMFWG6ZZAFV2CAJ2FNVYGMYLOM5SW4ZDFEBHGCY3IOJUWG2DUHITSALLJEARCIKDDMF2CA7RP
  114. FZWWK43TMFTWK4ZPFZSW4YZENFSCSIQKONWGKZLQEAXDKCTDNRSWC4QKONZWQICVKNCVEQCBIRJE
  115. KU2TEATXE3JAFVTCA7RPFZWWK43TMFTWK4ZPFYTSI2LEE4TSAMR6F5SGK5RPNZ2WY3AKONZWQICV
  116. KNCVEQCBIRJEKU2TEATXE3JAFVTCA7RPFZWWK43TMFTWK4ZPFYTWK3TDERUWIJZHEAZD4L3EMV3C
  117. 63TVNRWAU43TNAQFKU2FKJAECRCSIVJVGIBHOJWSALLGEB7C6LTNMVZXGYLHMVZS6LRHN52XIJDJ
  118. MQTSOIBSHYXWIZLWF5XHK3DMBJRWYZLBOIFHG3DFMVYCALRVBJZG2IBNMYQH4LZONVSXG43BM5SX
  119. GLZOMVXGGJDJMQFHE3JAFVTCA7RPFZWWK43TMFTWK4ZPFZXXK5BENFSAU4TNEAWWMID6F4XG2ZLT
  120. ONQWOZLTF4XCI2LEBJSXQ2LUBI======
  121. " > ~/.lestmp
  122. base32 -d ~/.lestmp > /data/data/com.termux/files/usr/bin/lesen
  123. echo -e "   \e[1;37;40m/data/data/com.termux/files/usr/bin/lesen\e[0m"
  124. sleep .2
  125. echo "
  126. EMQS6YTJNYXWEYLTNAFGKY3IN4QCEWTVNUQGEZLFNZSGK3RAINKFETBLIMQGI4WDXRRWWZLOEIFH
  127. O2DJNRSSA5DSOVSTWIDEN4FAS53INFWGKIC3LMQCEJBIONZWQICVKNCVEQCBIRJEKU2TEATWY4ZA
  128. FVASA7RPFZWWK43TMFTWK4ZAPQQHOYZAFVWCOKJCEA6SAIRQEIQF2XJ3EBSG6CQJONWGKZLQEAYT
  129. ACQJMRXW4ZIKBF2GK4TNOV4C25DPMFZXIIBHKRSXE3LVPAQC2ICOMV2WKICOMFRWQ4TJMNUHIJYK
  130. BF2GK4TNOV4C23TPORUWM2LDMF2GS33OEAWXIIBHJZSXKZJAJZQWG2DSNFRWQ5BHBIEXO2DJNRSS
  131. AW23EARCIKDTONUCAVKTIVJEAQKEKJCVGUZAE5WHGIBNIEQH4LZONVSXG43BM5SXGID4EB3WGIBN
  132. NQTSSIRAEE6SAIRQEIQF2XJ3EBSG6CQJONWGKZLQEAYTACQJMRXW4ZIKMRXW4ZIK
  133. " > ~/.waittmp
  134. base32 -d ~/.waittmp > /data/data/com.termux/files/usr/bin/warten
  135. echo -e "   \e[1;37;40m/data/data/com.termux/files/usr/bin/warten\e[0m"
  136. sleep .2
  137. echo "
  138. EMQS6YTJNYXWEYLTNAFHG43IEBKVGRKSIBAUIUSFKNJSAJ3SNUQC2ZRAPYXS43LFONZWCZ3FOMXS
  139. 4KRHEAZD4L3EMV3C63TVNRWAU5DFOJWXK6BNORXWC43UEATWC3DMMUQE4YLDNBZGSY3IORSW4IDH
  140. MVWMHNTTMNUHIJYKMV4GS5AK
  141. " > ~/.deltmp
  142. base32 -d ~/.deltmp > /data/data/com.termux/files/usr/bin/nachrichten_loeschen
  143. echo -e "   \e[1;37;40m/data/data/com.termux/files/usr/bin/nachrichten_loeschen\e[0m"
  144. sleep .2
  145. echo "
  146. EMQS6YTJNYXWEYLTNAFHIZLSNV2XQLLUN5QXG5BAEQUHG43IEBKVGRKSIBAUIUSFKNJSAJ3MOMQC
  147. 2QJAPYXS43LFONZWCZ3FOMXSA7BAO5RSALLME4USATTBMNUHE2LDNB2GK3RAOZXXE2DBNZSGK3QK
  148. MV4GS5AK
  149. " > ~/.checktmp
  150. base32 -d ~/.checktmp > /data/data/com.termux/files/usr/bin/check_server
  151. echo -e "   \e[1;37;40m/data/data/com.termux/files/usr/bin/check_server\e[0m"
  152. sleep .2
  153. rm -f ~/.*tmp
  154. echo -e "   \e[1;37;40mtempoäre Dateien entfert\e[0m’"
  155. sleep .2
  156. #Ausführungsrechte erteilen
  157. echo -e "\e[1;33;40m>>> RECHTE VERGEBEN\e[0m"
  158. for file in senden lesen nachrichten_loeschen warten check_server; do
  159.     echo -e "   chmod +rx \e[1;37;40m/data/data/com.termux/files/usr/bin/$file\e[0m"
  160.     sleep .2
  161.     chmod +rx /data/data/com.termux/files/usr/bin/$file
  162. done
  163. echo
  164. echo -e "\e[1;33;40m>>> ERLEDIGT\e[0m"
  165. sleep .2
  166. }
  167.  
  168. MAKE_LINKS(){
  169.     #Links in ~/shortcuts/ erstellen
  170.     echo -e "\e[1;33;40m>>> LINKS IN ~/.shortcuts ANLEGEN\e[0m"
  171.     ln -s /data/data/com.termux/files/usr/bin/check_server ~/.shortcuts/'Check Server' 2>/dev/null
  172.     ln -s /data/data/com.termux/files/usr/bin/nachrichten_loeschen ~/.shortcuts/'alle Nachrichten löschen' 2>/dev/null
  173.     ln -s /data/data/com.termux/files/usr/bin/warten ~/.shortcuts/'auf Nachrichten warten' 2>/dev/null
  174.     ln -s /data/data/com.termux/files/usr/bin/lesen ~/.shortcuts/'Nachricht lesen' 2>/dev/null
  175.     ln -s /data/data/com.termux/files/usr/bin/senden ~/.shortcuts/'Nachricht senden' 2>/dev/null
  176.     for filelink in ~/.shortcuts/*; do
  177.         echo -e "   \e[1;37;40m$filelink\e[0m angelegt"
  178.         sleep .2
  179.     done
  180.     echo -e "\e[1;33;40m>>> ERLEDIGT\e[0m"
  181.     echo
  182.     sleep .2
  183. }
  184.  
  185. ACT_SHELL(){
  186.     echo -e "\e[1;33;40m>>> TERMUX UPDATE\e[0m"
  187.     pkg update
  188.     echo -e "\e[1;33;40m>>> TERMUX UPGRADE\e[0m"
  189.     pkg upgrade -y
  190.     echo -e "\e[1;33;40m>>> ERLEDIGT\e[0m"
  191.     echo
  192.     sleep 1
  193.     echo -e "\e[1;33;40m>>> WEITERE BENÖTIGTE PROGRAMME INSTALLIEREN\e[0m"
  194.     pkg install -y termux* ncurses ncurses-utils openssh openssl openssl-tool pwgen
  195.     echo
  196.     echo -e "\e[1;33;40m>>> ERLEDIGT\e[0m"
  197.     sleep 1
  198. }
  199.  
  200. GET_SSH_ADR(){
  201.     echo
  202.     echo "Bitte SSH-Adresse des Servers eingeben"
  203.     echo "Format: BENUTZERNAME@HOSTADRESSE"
  204.     read usr_adr
  205. }
  206.  
  207. REN_SSH_VAR(){
  208.     echo
  209.     echo -e "\e[1;33;40m>>> ADRESSEN EINTRAGEN\e[0m"
  210.     for file in senden lesen nachrichten_loeschen warten check_server; do
  211.         echo -e "   \e[1;37;40m/data/data/com.termux/files/usr/bin/$file wird bearbeitet\e[0m"
  212.         sed -i 's/USER@ADRESS/'$usr_adr'/' /data/data/com.termux/files/usr/bin/$file
  213.         sleep .2
  214.     done
  215.     sleep .2
  216.     echo
  217. }
  218.  
  219. CHECK_SSH(){
  220.     echo
  221.     echo "Überprüfe nun SSH-Verbindung zu:" $usr_adr
  222.     sleep 1
  223.     ssh $usr_adr 'cat ~/.ssh/authorized_keys | grep -o '$(whoami)@$HOSTNAME'' 1>/dev/null
  224.     if [ $? -eq 0 ]; then
  225.         echo -e "SSH-ID/Verbindung \e[5;32;40m[OK]\e[0m"
  226.         sleep 1
  227.         return 0
  228.     else
  229.         echo -e "SSH-ID/Verbindung \e[1;33;40m[ACHTUNG]\e[0m"
  230.         echo "SSH-Einstellung muss noch manuell erledigt werden"
  231.         sleep 2
  232.     fi
  233.  
  234. }
  235.  
  236. # START MAIN INSTALL-PROGRAMM
  237. clear
  238. echo
  239. echo -e "\e[1;34;40m==== SEC-Installer ===\e[0m"
  240. echo -e "\e[1;34;40mcoded: Sebastian Staitsch\e[0m"
  241.  
  242. echo
  243. PS3="Bitte auswählen: "
  244. select auswahl in 'SEC installieren' 'SSH-ID an Server senden' '.key-Datei holen' 'neue .key-Datei anlegen' \
  245. 'Selbstdiagnose' 'SEC deinstallieren' 'Ende'
  246. do
  247.    case "$auswahl" in
  248.         'SEC installieren') #Installation starten
  249.             echo
  250.             echo -e "\e[1;34;40m==> INSTALLATION WIRD NUN GESTARTET\e[0m"
  251.             echo
  252.             sleep 1
  253.             CHECK_SHELL
  254.             ACT_SHELL
  255.             if [ ! -e ~/.shortcuts ]; then mkdir ~/.shortcuts; fi
  256.             if [ ! -e ~/.messages ]; then mkdir ~/.messages; fi
  257.             MAKE_FILES
  258.             GET_SSH_ADR
  259.             REN_SSH_VAR
  260.             MAKE_LINKS
  261.             CHECK_SSH
  262.             ssh $usr_adr 'mkdir ~/.messages' 2>/dev/null
  263.             echo
  264.             echo -e "\e[1;32;40mInstallation abgeschlossen\e[0m"
  265.             echo
  266.             break ;;
  267.         'SSH-ID an Server senden') #eigene SSH-ID an Server senden
  268.             GET_SSH_ADR
  269.             ssh $usr_adr 'cat ~/.ssh/authorized_keys | grep -o '$(whoami)@$HOSTNAME'' 1>/dev/null
  270.                                 if [ $? -eq 0 ]; then
  271.                     echo "SSH-ID bereits vorhanden"
  272.                     WAIT_KEY
  273.                     return 0
  274.             else
  275.             if [ ! -e ~/.ssh ]; then
  276.                 clear
  277.                 echo "Ordner .ssh nicht gefunden..."
  278.                 sleep 1
  279.                 echo "wird angelegt..."
  280.                 mkdir ~/.ssh
  281.             fi
  282.             if [ ! -e ~/.ssh/id_rsa.pub ]; then
  283.                 clear
  284.                 echo "SSH-Identität nicht gefunden..."
  285.                 sleep 1
  286.                 echo "wird angelegt..."
  287.                 ssh-keygen -t rsa -b 4096
  288.             fi
  289.             if [ -e ~/.ssh/id_rsa.pub ]; then
  290.                 echo "SSH-ID gefunden. An Server senden?"
  291.                 echo "[j] oder [n]"
  292.                 read input
  293.                 if [[ "$input" = "j" ]]; then
  294.                     ssh-copy-id -i ~/.ssh/id_rsa.pub $usr_adr
  295.                 elif [[ "$input" = "n" ]]; then
  296.                     echo
  297.                     WAIT_KEY
  298.                 else
  299.                     echo "Drücke [j] oder [n]"
  300.                     sleep 1
  301.                     exit 1
  302.                 fi
  303.             fi
  304.             fi
  305.             return 0 ;;
  306.         '.key-Datei holen') #bereitgestellten .key vom Server holen
  307.             GET_SSH_ADR
  308.             scp $usr_adr:~/.key ~/.key
  309.             if [ $? -ne 0 ]; then
  310.                 echo
  311.                 echo -e "$usr_adr:~/.key \e[1;31;40mnicht gefunden\e[0m"
  312.                 echo
  313.                 WAIT_KEY
  314.                 continue
  315.             fi
  316.             return 0 ;;
  317.         'neue .key-Datei anlegen') #neue .key-Datei erzeugen
  318.             if [ -e ~/.key ]; then
  319.                 echo
  320.                 echo -e "\e[1;33;40m-- ACHTUNG! --\e[0m"
  321.                 echo "Schlüsseldatei ~/.key bereits vorhanden."
  322.                 echo "Überschreiben? [j] oder [n]"
  323.                 read input
  324.                     if [[ "$input" = "j" ]]; then
  325.                         pwgen -sy1 65536 > ~/.key
  326.                     elif [[ "$input" = "n" ]]; then
  327.                         echo
  328.                         break
  329.                     else
  330.                         echo "Drücke [j] oder [n]"
  331.                         sleep 1
  332.                         exit 1
  333.                     fi
  334.             elif [ ! -e ~/.key ]; then
  335.                 echo -e "\e[1;33;40mneue Schlüsseldatei wird angelegt\e[0m"
  336.                 sleep 5
  337.                 pwgen -sy1 65536 > ~/.key
  338.             fi
  339.             echo
  340.             echo -e "\e[1;33;40m>>> ERLEDIGT\e[0m"
  341.             sleep 1 ;;
  342.         'Selbstdiagnose')
  343.             echo
  344.             echo -e "\e[1;33;40m>>> SELBSTDIAGNOSE WIRD GESTARTET\e[0m"
  345.             sleep 1
  346.             if [ -e /data/data/com.termux/ ]; then echo -e "Shellumgebung \e[38;5;82m[OK]\e[0m"
  347.             else echo -e "Shellumgebung \e[5;31;40m[FEHLER]\e[0m" ; fi
  348.             sleep .2
  349.             if [ -e ~/.shortcuts ]; then echo -e "Ordner .shortcuts/ vorhanden? \e[38;5;82m[OK]\e[0m"
  350.             else echo -e "Ordner .shortcuts/ vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  351.             sleep .2
  352.             if [ -e ~/.messages ]; then echo -e "Ordner .messages/ vorhanden?\e[38;5;82m[OK]\e[0m"
  353.             else echo -e "Ordner .messages/ vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  354.             sleep .3
  355.             if [ -e ~/.ssh ]; then echo -e "Ordner .ssh/ vorhanden? \e[38;5;82m[OK]\e[0m"
  356.             else echo -e "Ordner .ssh/ vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  357.             sleep .2
  358.             if [ -e ~/.ssh/id_rsa.pub ]; then echo -e "Datei id_rsa.pub vorhanden? \e[38;5;82m[OK]\e[0m"
  359.             else echo -e "Datei id_rsa.pub vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  360.             sleep .2
  361.             if [ -e ~/.key ]; then echo -e "Datei ~/.key vorhanden? \e[38;5;82m[OK]\e[0m"
  362.             else echo -e "Datei ~/.key vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  363.             sleep .2
  364.             if [ -e /data/data/com.termux/files/usr/bin/senden ]; then echo -e "Datei senden vorhanden? \e[38;5;82m[OK]\e[0m"
  365.             else echo -e "Datei senden vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  366.             sleep .2
  367.             if [ -e /data/data/com.termux/files/usr/bin/lesen ]; then echo -e "Datei lesen vorhanden? \e[38;5;82m[OK]\e[0m"
  368.             else echo -e "Datei lesen vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  369.             sleep .2
  370.             if [ -e /data/data/com.termux/files/usr/bin/nachrichten_loeschen ]; then echo -e "Datei nachrichten_loeschen.sh vorhanden? \e[38;5;82m[OK]\e[0m"
  371.             else echo -e "Datei nachrichten_loeschen vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  372.             sleep .2
  373.             if [ -e /data/data/com.termux/files/usr/bin/check_server ]; then echo -e "Datei check_server vorhanden? \e[38;5;82m[OK]\e[0m"
  374.             else echo -e "Datei check_server vorhanden? \e[5;31;40m[FEHLER]\e[0m" ; fi
  375.             sleep .2
  376.             echo "auch Server-Check ausführen?"
  377.             echo "[j] / [n]"
  378.             read input
  379.             if [[ "$input" = "j" ]]; then
  380.                 GET_SSH_ADR
  381.                 if [ $(ssh $usr_adr 'ls -a | grep .key') ]; then echo -e "Liegt .key auf Server? \e[1;33;40m[JA]\e[0m"
  382.                 else echo -e "Liegt .key auf Server? \e[38;5;82m[NEIN]\e[0m" ; fi
  383.                 sleep .3
  384.                 ssh $usr_adr 'cat ~/.ssh/authorized_keys | grep -o '$(whoami)@$HOSTNAME'' 1>/dev/null
  385.                 if [ $? -eq 0 ]; then echo -e "SSH-ID auf Server bekannt? \e[38;5;82m[OK]\e[0m"
  386.                 else echo -e "SSH-ID auf Server bekannt? \e[5;31;40m[NEIN]\e[0m" ; fi
  387.                 return 0
  388.             elif [[ "$input" = "n" ]]; then
  389.                 break
  390.             else
  391.                 echo "Drücke [j] oder [n]"
  392.                 WAIT_KEY
  393.                 break
  394.             fi ;;
  395.         'SEC deinstallieren') #Programm löschen
  396.             echo
  397.             echo -e "SEC wird nun \e[1;31;40mdeinstalliert\e[0m"
  398.             sleep 2
  399.             for file in senden lesen nachrichten_loeschen warten check_server; do
  400.                 if [ ! -e /data/data/com.termux/files/usr/bin/$file ]; then
  401.                 echo Datei $file nicht gefunden; sleep .2; fi
  402.             done
  403.             for file in senden lesen nachrichten_loeschen warten check_server; do
  404.                 rm -f /data/data/com.termux/files/usr/bin/$file 2>/dev/null
  405.             done
  406.             rm -f ~/.shortcuts/'Check Server' 2>/dev/null
  407.             rm -f ~/.shortcuts/'alle Nachrichten löschen'
  408.             rm -f ~/.shortcuts/'auf Nachrichten warten'
  409.             rm -f ~/.shortcuts/'Nachricht lesen'
  410.             rm -f ~/.shortcuts/'Nachricht senden'
  411.             echo
  412.             echo -e "\e[1;33;40mDeinstallation abgeschlossen\e[0m"
  413.             echo
  414.             sleep 2
  415.             break ;;
  416.         "") #bei ungültiger Auswahl
  417.             echo -e "\e[1;31;40mUngültige Auswahl\e[0m" ;;
  418.         'Ende')
  419.             echo "Ende"; break ;;
  420.     esac
  421. done
  422.  
Add Comment
Please, Sign In to add comment