[
  {
    "path": "IPCapture.sh",
    "content": "#!/bin/bash\n\ngreenColour=\"\\e[0;32m\\033[1m\"\nendColour=\"\\033[0m\\e[0m\"\nredColour=\"\\e[0;31m\\033[1m\"\nblueColour=\"\\e[0;34m\\033[1m\"\nyellowColour=\"\\e[0;33m\\033[1m\"\npurpleColour=\"\\e[0;35m\\033[1m\"\nturquoiseColour=\"\\e[0;36m\\033[1m\"\ngrayColour=\"\\e[0;37m\\033[1m\"\n\nclear\necho -e $yellowColour\" ___ ___    ____            _\"$endColour\nsleep 0.25\necho -e $yellowColour\"|_ _|  _ \\ / ___|__ _ _ __ | |_ _   _ _ __ ___\"$endColour\nsleep 0.25\necho -e $yellowColour\" | || |_) | |   / _  |  _ \\| __| | | |  __/ _ \\ \"$endColour\nsleep 0.25\necho -e $yellowColour\" | ||  __/| |__| (_| | |_) | |_| |_| | | |  __/\"$endColour\nsleep 0.25\necho -e $yellowColour\"|___|_|    \\____\\____|  __/ \\__|\\____|_|  \\___|\"$endColour\nsleep 0.25\necho -e $yellowColour\"                     |_|\"$endColour\n\necho -e $yellowColour\"\\n ----------------------------------------------- \\n\\n\"$endColour\n\nif [ $(id -u) != \"0\" ]; then\n   echo -e \"\\n$redColour You must be root to run this program $endColour\\n\"\n   exit\nelse\necho -e \"$greenColour Let's see what programs you have installed and which ones are missing... \\n$endColour\"\nsleep 2\nif [ ! -x /usr/bin/tshark ];then\n    echo -e \"\\n$redColour TShark$endColour$yellowColour: Not installed \\n$endColour \"\n    sleep 1\n    echo -e -n \"$greenColour'TShark' will be installed on your computer, do you want to continue?$endColour $blueColour(Yes/No):$endColour\"\n    read respuestaA\n\n     case $respuestaA in\n\n       Yes | yes | Y | y ) echo \" \"\n            echo -e \"$greenColour Starting the installation...$endColour\"\n            echo \" \"\n            sleep 2\n            sudo apt-get install tshark\n            echo \" \"\n            echo -e \"$blueColour Installation Finished!$endColour\"\n            echo \" \"\n            echo -e \"$redColour Press <Enter> to continue$endColour\"\n            read\n            ;;\n\n       No | n | no | No ) echo \" \"\n            echo -e \"$redColour Canceled 'tshark' installation...\\n\\n$endColour\"\n            sleep 1\n            echo -e \"$redColour Closing IPCapture...$endColour\"\n            sleep 3\n            clear\n            exit\n            ;;\n     esac\nelse\n  echo -e \"$blueColour Tshark$endColour$yellowColour: Installed $endColour\"\nfi\nif [ ! -x /usr/bin/geoiplookup ];then\n    echo -e \"\\n$redColour geoip-bin$endColour$yellowColour: Not installed \\n$endColour \"\n    sleep 1\n    echo -e -n \"$greenColour'geoip-bin' will be installed on your computer, do you want to continue?$endColour $blueColour(Yes/No):$endColour\"\n    read respuestaA\n\n     case $respuestaA in\n\n       Yes | yes | Y | y ) echo \" \"\n            echo -e \"$greenColour Starting the installation...$endColour\"\n            echo \" \"\n            sleep 2\n            sudo apt-get install geoip-bin\n            echo \" \"\n            echo -e \"$blueColour Installation Finished!$endColour\"\n            echo \" \"\n            echo -e \"$redColour Press <Enter> to continue$endColour\"\n            read\n            ;;\n\n       No | n | no | No ) echo \" \"\n            echo -e \"$redColour Canceled 'geoip-bin' installation...\\n\\n$endColour\"\n            sleep 1\n            echo -e \"$redColour Closing IPCapture...$endColour\"\n            sleep 3\n            clear\n            exit\n            ;;\n     esac\nelse\n  echo -e \"$blueColour geoip-bin$endColour$yellowColour: Installed \\n\\n$endColour\"\n  sleep 2\nfi\n  echo -e $greenColour\" Looking for network interfaces\\n$endColour\"\n  sleep 1\n  for i in $( ls /sys/class/net ); do\n   echo -e $yellowColour\" \"$i$endColour\"\\n\"\n  done\n  echo -e -n $greenColour\" Select your interface (enp0s25, wlan0 ...):  $endColour\"\n  read Interfaz\n  clear\n  echo -e $greenColour\" Opening TShark on $Interfaz..\\n$endColour\"\n  sleep 2\n  echo -e $purpleColour\n  tshark -i $Interfaz -f udp > UDPCapture.txt &\n  echo -e $endColour\n  sleep 3\n  clear\n  echo -e $turquoiseColour\" ...Capturing IP from UDP packages...$endColour\\n\"\n  while true\n  do\n      if [ \"$(cat UDPCapture.txt | tail -n1 | grep -c UDP)\" = \"1\" ]; then # check that it is a UDP packet\n      if [ \"$(cat UDPCapture.txt | tail -n1 | grep -oi \"[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\"|sort | head -n1)\" = \"$(hostname -I | sed 's/ //g')\" ]; then # compare the ip with ours\n        ipstranger1=$(cat UDPCapture.txt | tail -n1 | grep -oi \"[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\"|sort | tail -n1); # use the other ip\n      else\n        ipstranger1=$(cat UDPCapture.txt | tail -n1 | grep -oi \"[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\"|sort | head -n1); # use this ip\n      fi\n\n      if [ \"$ipstranger1\" != \"$ipstranger\" ]; then # his conditional prevents the repetitive ip.\n        if [ \"$(cat UDPCapture.txt | tail -n1 | grep -oi \"[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\"|sort | head -n1)\" = \"$(hostname -I | sed 's/ //g')\" ]; then # same conditional\n          ipstranger=$(cat UDPCapture.txt | tail -n1 | grep -oi \"[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\"|sort | tail -n1);\n          if [ \"$ipstranger\" != \"\" ]; then\n            citystranger=\"- $(curl -s ipinfo.io/$ipstranger | grep city | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/,//g')\";\n            regionstranger=\"- $(curl -s ipinfo.io/$ipstranger | grep region | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/,//g')\";\n            postalstranger=\"- $(curl -s ipinfo.io/$ipstranger | grep postal | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/ //g')\";\n            orgstranger=\"- $(curl -s ipinfo.io/$ipstranger | grep org | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/,//g')\";\n            if [ \"$citystranger\" = \"- \" ]; then # avoid empty city\n              citystranger=\"\"\n            fi\n            if [ \"$postalstranger\" == \"- \" ]; then #  avoid empty postal code\n              postalstranger=\"\"\n            fi\n            if [ \"$orgstranger\" == \"- \" ]; then #  avoid empty org\n              orgstranger=\"\"\n            fi\n            if [ \"$regionstranger\" == \"- \" ]; then #  avoid empty org\n              regionstranger=\"\"\n            fi\n            if [ \"$regionstranger\" == \"$citystranger\" ]; then #  avoid empty org\n              regionstranger=\"\"\n            fi\n            echo -e \"Packets -$blueColour IP: $endColour\"$yellowColour $ipstranger $endColour - $turquoiseColour$(geoiplookup $ipstranger | head -n1 | cut -d \":\" -f 2 | cut -d \",\" -f 2 | sed 's/ //g') $regionstranger $citystranger $postalstranger $orgstranger $endColour;\n          fi\n        else\n          ipstranger=$(cat UDPCapture.txt | tail -n1 | grep -oi \"[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\"|sort | head -n1);\n          if [ \"$ipstranger\" != \"\" ]; then\n            citystranger=\"- $(curl -s ipinfo.io/$ipstranger | grep city | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/,//g')\";\n            regionstranger=\"- $(curl -s ipinfo.io/$ipstranger | grep region | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/,//g')\";\n\n            postalstranger=\"- $(curl -s ipinfo.io/$ipstranger | grep postal | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/ //g')\";\n            orgstranger=\"- $(curl -s ipinfo.io/$ipstranger | grep org | cut -d \":\" -f 2 | sed 's/\"//g' | sed 's/,//g')\";\n            if [ \"$citystranger\" = \"- \" ]; then # avoid empty city\n              citystranger=\"\"\n            fi\n            if [ \"$postalstranger\" == \"- \" ]; then #  avoid empty postal code\n              postalstranger=\"\"\n            fi\n            if [ \"$orgstranger\" == \"- \" ]; then #  avoid empty org\n              orgstranger=\"\"\n            fi\n            if [ \"$regionstranger\" == \"- \" ]; then #  avoid empty org\n              regionstranger=\"\"\n            fi\n            if [ \"$regionstranger\" == \"$citystranger\" ]; then #  avoid empty org\n              regionstranger=\"\"\n            fi\n            echo -e \"Packets -$blueColour IP: $endColour\"$yellowColour $ipstranger $endColour - $turquoiseColour$(geoiplookup $ipstranger | head -n1 | cut -d \":\" -f 2 | cut -d \",\" -f 2 | sed 's/ //g') $regionstranger $citystranger $postalstranger $orgstranger $endColour;\n          fi\n        fi\n      fi\n    fi\n  sleep 1\n  done\nfi\n"
  },
  {
    "path": "README.md",
    "content": "# IPCapture\n\n\n\nA simple script to get the IP of strangers in web pages like omegle, by analyzing UDP packets with TShark\n"
  }
]