def Profle(self, topFrame, navself): # option in the navbar: options = [" Profile", "Show all Profiles", "Create profile"] work = [ lambda: seeProfle(profile, navself), lambda: allprofile(profile, navself), lambda: createprofile(profile, navself) ] profile = Toplevel(navself) profile.geometry("300x685+0+55") profile.minsize(300, 685) profile.maxsize(300, 685) profile.config(bg="grey17") profile.title("Profile") # Navbar Option Buttons: y = 10 x = 22 for i in range(3): Button(profile, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, command=work[i]).place(x=x, y=y) y += 40 switch(navself, topFrame, btnState=True) profile.mainloop()
def More_Tools(self, topFrame, navself): # option in the navbar: options = ["Hash decrypter"] work = [lambda: hashdecrypter(more_tools, navself)] more_tools = Toplevel(navself) more_tools.geometry("300x685+0+55") more_tools.minsize(300, 685) more_tools.maxsize(300, 685) more_tools.config(bg="grey17") more_tools.title("More Tools") # Navbar Option Buttons: y = 10 x = 22 for i in range(1): Button(more_tools, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, command=work[i]).place(x=x, y=y) y += 40 switch(navself, topFrame, btnState=True) more_tools.mainloop()
def Feedback(self, topFrame, navself): # option in the navbar: options = ["", "", "", ""] feedback = Toplevel(navself) feedback.geometry("1200x900+75+200") feedback.config(bg="grey17") feedback.title("Feedback") # Navbar Option Buttons: y = 10 x = 22 for i in range(4): Button(feedback, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, command=[i]).place(x=x, y=y) y += 40 switch(navself, topFrame, btnState=True) # feedback.mainloop() return
def Change_country(self, topFrame, navself): # option in the navbar: options = [ "FR (France)", "LU (Luxembourg)", "BE (Belgique)", "All (FR, BE, CH, LU)", "CH (Suisse)" ] work = [ lambda: FR(options, navself), lambda: LU(options, navself), lambda: BE(options, navself), lambda: All(options, navself), lambda: CH(options, navself) ] changecountry = Toplevel(navself) changecountry.geometry("300x685+0+55") changecountry.minsize(300, 685) changecountry.maxsize(300, 685) changecountry.config(bg="grey17") changecountry.title("Change Country") # Navbar Option Buttons: y = 10 x = 22 for i in range(5): Button(changecountry, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, command=work[i]).place(x=x, y=y) y += 40 switch(navself, topFrame, btnState=True) # changecountry.mainloop() return
def handle(opcode): switch( opcode, [ # todo: implement, this is just a test Case(0x40, lambda value: print(f'{value}')) ])
def Profle(self, text, topFrame, navself): text.delete(1.0, END) profile = Toplevel(navself) profile.title("Profile") profile.minsize(713, 398) profile.maxsize(713, 398) profile.config(bg="grey17") Label(profile, text="Profile Name:", bg="grey17", fg="red", font=("comicsansms", 12, "bold"), relief=FLAT).pack(anchor=SW, pady=10, padx=(20, 10)) Label(profile, text="(Format: First name Last name)", bg="grey17", fg="red", font=("comicsansms", 15, "bold"), relief=FLAT).pack(side=BOTTOM, fill=X) name = Entry(profile) name.pack(side=TOP, pady=(1, 1), padx=(20, 10)) # profile name Label(profile, text="Twitter Link:", bg="grey17", fg="red", font=("comicsansms", 12, "bold"), relief=FLAT).pack(anchor=SW, pady=10, padx=(20, 10)) twitter = Entry(profile) twitter.pack(side=TOP, pady=(1, 1), padx=(20, 10)) Label(profile, text="Instagram Link:", bg="grey17", fg="red", font=("comicsansms", 12, "bold"), relief=FLAT).pack(anchor=SW, pady=10, padx=(20, 10)) instagram = Entry(profile) instagram.pack(side=TOP, pady=(1, 1), padx=(20, 10)) Label(profile, text="Facebook Link:", bg="grey17", fg="red", font=("comicsansms", 12, "bold"), relief=FLAT).pack(anchor=SW, pady=10, padx=(20, 10)) facebook = Entry(profile) facebook.pack(side=TOP, pady=(1, 1), padx=(20, 10)) Button( profile, text="submit", command=lambda: prof(self, text, topFrame, navself, name.get( ), twitter.get(), instagram.get(), facebook.get())).pack(side=BOTTOM) switch(navself, topFrame, btnState=True) profile.mainloop()
def Feedback(self, topFrame, navself): feedback = Toplevel(navself) feedback.geometry("1200x900+75+200") feedback.config(bg="grey17") feedback.title("Feedback") link1 = Label(feedback, activebackground="black", activeforeground="white", bg="white", fg="black", font=("comicsansms", 13, "bold"), relief=SUNKEN, borderwidth=3, text="Register Issue", cursor="hand2") link1.place(x=300, y=200) link1.bind( "<Button-1>", lambda e: Url.callback( "https://github.com/Ankesh054-official/LittleBrother-GUI-/issues/new" )) link2 = Label(feedback, activebackground="black", activeforeground="white", bg="white", fg="black", font=("comicsansms", 13, "bold"), relief=SUNKEN, borderwidth=3, text="Support", cursor="hand2") link2.place(x=800, y=200) link2.bind("<Button-1>", lambda e: Url.callback("mailto:[email protected]")) Label(feedback, text= "Developed BY: \n\t\t\t\t\t\t\tFRONTEND + Joining BACKEND: ANKESH\t", bg="grey17", fg="white", font=("comicsansms", 9, "bold"), relief=FLAT).pack(side=BOTTOM, anchor=NE) switch(navself, topFrame, btnState=True) feedback.mainloop()
def About(self, topFrame, navself): # option in the navbar: options = ["", "", "", "", ""] About = Toplevel(navself) About.geometry("1200x900+75+200") About.config(bg="grey17") About.title("About") # label for About Label( About, text="{0}".format( 'LittleBrother is an information collection tool (OSINT), It is basically a CLI ' 'based tool which aims to carry out research on\n a French, Swiss, Luxembourgish ' 'or Belgian person.It provides various modules that allow efficient ' 'searches. \nLittleBrother does not require an API key or login\n ID.' 'This is a extended version of LittleBrother tool, It is a GUI based tool.\n\n' 'We need some of your information to run this tool properly, We promise you not\n' ' to leak your data and try to make it more secure.'), bg="grey17", fg="white", font=("comicsansms", 20, "bold"), relief=FLAT).place(x=10, y=200) Label(About, text= "Developed BY: \n\t\t\t\t\t\t\tFRONTEND + Joining BACKEND: ANKESH\t", bg="grey17", fg="white", font=("comicsansms", 13, "bold"), relief=FLAT).pack(side=BOTTOM, anchor=NE) Button(About, activebackground="black", activeforeground="white", text="Exit", bg="white", fg="black", font=("comicsansms", 9, "bold"), relief=SUNKEN, borderwidth=3, command=lambda: About.destroy()).place(x=1250, y=10) switch(navself, topFrame, btnState=True) # About.mainloop() return
def Lookup(self, topFrame, navself): lookup = Toplevel(navself) # option in the navbar: options = [ "Person lookup", "Mail tracer", "Username lookup", "Employees search", "Lookup address", "Google search", "Phone lookup", "Facebook GraphSearch", "IP lookup", "twitter info", "SSID locator", "instagram info", "Email lookup" ] work = [ lambda: Person_lookup(self, lookup), lambda: Mail_tracer(self, lookup), lambda: Username_lookup(self, lookup), lambda: Employees_search(self, lookup), lambda: Lookup_address(self, lookup), lambda: Google_search(self, lookup), lambda: Phone_lookup(self, lookup), lambda: Facebook_GraphSearch(self, lookup), lambda: IP_lookup(self, lookup), lambda: twitter_info(self, lookup), lambda: SSID_locator(self, lookup), lambda: instagram_info(self, lookup), lambda: Email_lookup(self, lookup) ] lookup.geometry("300x685+0+55") lookup.minsize(300, 685) lookup.maxsize(300, 685) lookup.config(bg="grey17") lookup.title("Lookup") # Navbar Option Buttons: y = 10 x = 22 for i in range(13): Button(lookup, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, command=work[i]).place(x=x, y=y) y += 40 switch(navself, topFrame, btnState=True) lookup.mainloop()
def main_Help(self, topFrame, navself): # option in the navbar: options = """ Action ------ Do some research on a person. Use tools other than recognition. Create a '.txt' file to write the information obtained. Access the database. Exit the software. Displays this message. Clear the screen. Clear the screen. """ name = """ Name ---- Name ---- Lookup Other Tool Make file Show Database Exit Help Clear """ help = Toplevel(navself) help.geometry("1200x900+75+200") help.config(bg="grey17") help.title("Help") # top Navigation bar: left = Frame(help, width=600, bg="#252726") left.pack(side=LEFT, fill=Y) # setting Navbar frame: right = Frame(help, bg="gray17", width=600) right.pack(side=RIGHT, fill=Y) Label(left, font="Bahnschrift 15", bg="#252726", fg="black", height=2, width=300, padx=20).place(x=0, y=0) # label for help La = Label(left, text=name, bg="grey17", fg="white", font=("comicsansms", 20, "bold"), relief=FLAT).pack() La = Label(right, text=options, bg="grey17", fg="white", font=("comicsansms", 20, "bold"), relief=FLAT).pack() Button(right, activebackground="black", activeforeground="white", text="Exit", bg="white", fg="black", font=("comicsansms", 9, "bold"), relief=SUNKEN, borderwidth=3, command=lambda: help.destroy()).place(x=480, y=10) switch(navself, topFrame, btnState=True) # help.mainloop() return
def main_frame(self): self.destroy() self = Tk() # p1 = PhotoImage(file='../res/bit.png') p1 = PhotoImage(file='res/bit.png') self.iconphoto(False, p1) self.title("LittleBrother") height = self.winfo_screenheight() width = self.winfo_screenwidth() self.maxsize(width, height) self.minsize(width - 100, height - 100) self.geometry("{0}x{1}+75+75".format(height, width)) self.config(bg="black") # dictionary of colors: color = {"nero": "#252726", "orange": "#FF8700", "darkorange": "#FE6101"} navIcon = PhotoImage(file="res/menu.png") closeIcon = PhotoImage(file="res/close.png") # Scroll bar for vertical movement for data: h = Scrollbar(self, orient='horizontal') h.pack(side=BOTTOM, fill=X) v = Scrollbar(self) v.pack(side=RIGHT, fill=Y) text = Text(self, height=39.35, width=120, bg="grey17", fg="white", xscrollcommand=h.set, yscrollcommand=v.set) text.place(x=60, y=10) text.insert(1.0, "OUTPUT OF EVERY TOOL WILL BE DISPLAYED HERE") h.config(command=text.xview) v.config(command=text.yview) # top Navigation bar: topFrame = Frame(self, width=50, bg="#252726") topFrame.pack(side=LEFT, fill=Y) # setting Navbar frame: navself = Frame(self, bg="gray17", height=1000, width=300) navself.place(x=-300, y=0) Label(navself, font="Bahnschrift 15", bg="#252726", fg="black", height=2, width=300, padx=20).place(x=0, y=0) # option in the navbar: options = [ "Profile", "Person lookup", "Username lookup", "Employees search", "Lookup address", "Google search", "Phone lookup", "IP lookup", "SSID locator", "instagram info", "Main Help", "About", "Feedback" ] # commands for the navbar: work = [ lambda: Profle(self, text, topFrame, navself), lambda: Person_lookup(self, text, navself, topFrame), lambda: Username_lookup(self, text, navself, topFrame), lambda: Employees_search(self, text, navself, topFrame), lambda: Lookup_address(self, text, navself, topFrame), lambda: Google_search(self, text, navself, topFrame), lambda: Phone_lookup(self, text, navself, topFrame), lambda: IP_lookup(self, text, navself, topFrame), lambda: SSID_locator(navself, topFrame), lambda: instagram_info(self, text, navself, topFrame), lambda: main_Help(self, topFrame, navself), lambda: About(self, topFrame, navself), lambda: Feedback(self, topFrame, navself) ] # set y-coordinate of Navbar widgets: y = 50 x = 15 # Navbar Option Buttons: for i in range(12): Button(navself, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, width=19, command=work[i]).place(x=x, y=y) y += 40 # Navbar button: navbarBtn = Button( topFrame, image=navIcon, bg=color["orange"], activebackground=color["orange"], bd=0, padx=20, command=lambda: switch(navself, text, topFrame, btnState=False)) navbarBtn.place(x=6, y=10) # Navbar Close Button: closeBtn = Button( navself, image=closeIcon, bg=color["orange"], activebackground=color["orange"], bd=0, command=lambda: switch(navself, text, topFrame, btnState=True)) closeBtn.place(x=250, y=10) self.mainloop()
def main_frame(self, Email): self.destroy() self = Tk() p1 = PhotoImage(file='../res/bit.png') self.iconphoto(False, p1) self.title("LittleBrother") self.geometry("1200x900+75+200") self.minsize(980, 660) self.config(bg="black") img = PhotoImage(file="../res/canvalogo1.png") lb = Label(self, image=img) lb.place(x=5, y=-1) # dictionary of colors: color = {"nero": "#252726", "orange": "#FF8700", "darkorange": "#FE6101"} # loading Navbar icon image: navIcon = PhotoImage(file="../res/menu.png") closeIcon = PhotoImage(file="../res/close.png") # top Navigation bar: topFrame = Frame(self, width=50, bg="#252726") topFrame.pack(side=LEFT, fill=Y) # setting Navbar frame: navself = Frame(self, bg="gray17", height=1000, width=300) navself.place(x=-300, y=0) Label(navself, font="Bahnschrift 15", bg="#252726", fg="black", height=2, width=300, padx=20).place(x=0, y=0) # option in the navbar: options = [ "Profile", "Lookup", "More Tools", "Change country", "Main Help", "About", "Feedback" ] # commands for the navbar: work = [ lambda: Profle(self, topFrame, navself), lambda: Lookup(self, topFrame, navself), lambda: More_Tools(self, topFrame, navself), lambda: Change_country(self, topFrame, navself), lambda: main_Help(self, topFrame, navself), lambda: About(self, topFrame, navself), lambda: Feedback(self, topFrame, navself) ] # set y-coordinate of Navbar widgets: y = 80 x = 30 # Navbar Option Buttons: for i in range(7): x += randrange(5, 20, 5) Button(navself, text=options[i], font="BahnschriftLight 15", bg="gray17", fg="white", activebackground="gray17", activeforeground="green", bd=0, command=work[i]).place(x=x, y=y) y += 40 x -= randrange(10, 20, 5) # Navbar button: navbarBtn = Button( topFrame, image=navIcon, bg=color["orange"], activebackground=color["orange"], bd=0, padx=20, command=lambda: switch(navself, topFrame, btnState=False)) navbarBtn.place(x=6, y=10) # Navbar Close Button: closeBtn = Button(navself, image=closeIcon, bg=color["orange"], activebackground=color["orange"], bd=0, command=lambda: switch(navself, topFrame, btnState=True)) closeBtn.place(x=250, y=10) self.mainloop() # main_frame(self="root",Email="*****@*****.**")