PDA

View Full Version : New Web Browswer



ki4jgt
February 25th, 2011, 11:10 PM
What do you guys think?

Quote from: http://www.hackforums.net/showthread.php?tid=1086164


I know, I know, I know. I'm not talking programming aspect of this. I'm talking community "End User" I've looked at so many browser which claim to be "secured" but only on the inside. There is not a bit of cosmetic security to the browser. So here is my idea.

http://img401.imageshack.us/img401/958/testdgl.png (http://img401.imageshack.us/i/testdgl.png/)

Uploaded with ImageShack.us (http://imageshack.us)

These are the qualities I want implemented into my browser:

- Ability to only access it with a password
- Set a key combination which will instantly take focus off of what you are doing and onto your homepage.
- Paranoid tabs (Love the firefox app)
- Built in Tor access (Doesn't require the external Tor program)
- Allow the user to take the cache off the hard drive and place it into memory only mode.
- Multiple users
- I have several others.
- Could be USB portable
- Network control integration

Any other bright ideas? I'm wanting to program in Python for Linux don't know how to do it yet, so I'm going to be reading up on it, just wanting more ideas from the actual population and not a bunch of programmers (Programmers are welcome LOL, I just don't want to talk about the programming aspect of it here)

jerenept
February 25th, 2011, 11:16 PM
403 Forbidden.

ki4jgt
February 25th, 2011, 11:24 PM
403 Forbidden.

Hackforums? Yeah, I think they require a username and password. I'd say 70% of them are in High School and are quite good at hacking. So naturally, they don't want anyone to just be able to access their site :-( I pulled the quoted text from the forum for you.

sydbat
February 26th, 2011, 01:41 AM
Hackforums? Yeah, I think they require a username and password. I'd say 70% of them are in High School and are quite good at hacking. So naturally, they don't want anyone to just be able to access their site :-( I pulled the quoted text from the forum for you.Maybe it's me, but isn't this an oxymoron?

ki4jgt
February 26th, 2011, 02:04 AM
Maybe it's me, but isn't this an oxymoron?

Don't know, LOL probably. . . I know it's all they seem to seem to talk about anyways. Who knows?

I have personally looked at some of the programs they've written in VB and several other languages, They seem very well structured and put together.

jerenept
February 26th, 2011, 02:09 AM
download linky plox.

NightwishFan
February 26th, 2011, 04:57 AM
I am coding a web browser using python and webkit as well it is very fun and easy. :)
Screenshot:
http://ubuntuone.com/p/f0K/

Please keep us informed with your progress! and you can use my ui as example as well as my programs are all gpl. Also (screenshot is a little old, about it replaced with a menu button now)

Evil-Ernie
February 26th, 2011, 05:16 AM
Sounds good to me!

ki4jgt
February 26th, 2011, 07:51 PM
I am coding a web browser using python and webkit as well it is very fun and easy. :)
Screenshot:
http://ubuntuone.com/p/f0K/

Please keep us informed with your progress! and you can use my ui as example as well as my programs are all gpl. Also (screenshot is a little old, about it replaced with a menu button now)

Nice!! I like this! :-) I may use some source code to educate myself with. I was considering webkit after I found it FINALLY. I may just take it. I'm still stuck on the whole GUI thing though, I'm a BASIC person. but I'm getting there. I also plan to impliment a few more features which no one knows about yet, but quick Q: Does webkit support flash and JAVA?

NightwishFan
February 26th, 2011, 08:18 PM
My browser basically only uses:

browser = webkit.WebView()

And it finds the flash plug-in on it's own, I have no idea about java.

Edit: If you develop on Ubuntu you might want to take a look at quickly.
https://wiki.ubuntu.com/Quickly

ki4jgt
February 26th, 2011, 08:24 PM
My browser basically only uses:

browser = webkit.WebView()

And it finds the flash plug-in on it's own, I have no idea about java.

Edit: If you develop on Ubuntu you might want to take a look at quickly.
https://wiki.ubuntu.com/Quickly

I usually develop on Windows. This'll be my first huge program that uses anything else besides BASIC. The BASIC I was using was only a free trial version, the advanced version cost money :-) A thing which I am running low on at the moment. So I switched to Python. Have only taken two courses and am now ready to rock the world! :-)

NightwishFan
February 26th, 2011, 08:35 PM
I am not sure how to develop on Windows but I am willing to bet python with gtk and webkit would be cross platform. Links:
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments

pi3.1415926535...
February 27th, 2011, 06:31 AM
In terms of the browser UIs, chrome/chromium is very good, especially the search/address bar, though it does lack some important things. I personally quite like the search engine chooser on the side of the bar with Firefox. The screenshot look very good.

Thank you

jerenept
February 27th, 2011, 07:36 AM
I am not sure how to develop on Windows but I am willing to bet python with gtk and webkit would be cross platform. Links:
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments

I'm willing to say that Mono.NET is probably the most cross-platform system out there.

ki4jgt
February 27th, 2011, 08:05 AM
Any language that's interpreted like BASIC which doesn't change like Python. Don't mean to down Python, but it's like you have to learn a whole new language for every module you use‽ Anyway, I like the idea of developing in VB, but I've tried Mono and it has all this preconfiguration mumbo jumbo that I don't really understand. :-( I just want to get to the coding and compiling. I'm also considering free webhosting for anyone using the browser. Meaning, any file of any size. So they can host photos, files, CD images and software freely for their website or blog. I'm looking into the webkit module mentioned above. I love it so far, but like I said, I just don't like python's need to create a different programming style for each module :-(

ki4jgt
February 27th, 2011, 08:19 AM
I am coding a web browser using python and webkit as well it is very fun and easy. :)
Screenshot:
http://ubuntuone.com/p/f0K/

Please keep us informed with your progress! and you can use my ui as example as well as my programs are all gpl. Also (screenshot is a little old, about it replaced with a menu button now)

Hey, where's the source code to this? If you don't mind me asking. I would like to learn from it, maybe use it in my own endeavor.

***EDIT: Never mind :-) I found this simple 14 line browser. I love it! I just need to impliment a scroll bar and address bar. Oh well, I'll do in a sec but here's a link. http://ardoris.wordpress.com/2009/04/26/a-browser-in-14-lines-using-python-and-webkit/

I think I'm gonna go back to Glade, and design the UI a bit and then post the results here. So far I'm studying and may use this as a model this 14 line code for python.

#!/usr/bin/env python

import gtk
import webkit
import gobject

gobject.threads_init()
win = gtk.Window()
bro = webkit.WebView()
bro.open("http://www.google.com")
win.add(bro)
win.show_all()

gtk.main()

NightwishFan
February 27th, 2011, 08:38 PM
Here is the source for the python only version:
http://tinyurl.com/4a7ch2w

My newer one uses glade and etc, and has a menu and a lot more features, however I decided to drop glade and just code it into one monolithic script.

ki4jgt
February 27th, 2011, 10:26 PM
Wow, I love this language. I made three changes to the 14 line code and still have only 14 lines :-) (Not posting them - not really what I wanted, but still produced great results.) Thanks for the source code. I'm reading it. Nice! I think I'm gonna borrow firefox's menubar without the history section and without any browser cache. Do you know if Webkit chaches anywhere? If not, then I think part of my program is already finished.
I never thought this would be so easy. I thought I was going to have to program an entire browser and here I have Webkit already in the mix for me. :-) Python really is easy as everyone says.

***EDIT: Can I suggest something? If the address bar doesn't contain :// add http:// to the beginning. other than that, I love it!

NightwishFan
February 27th, 2011, 11:32 PM
Thanks. I am not sure how webkit works much yet as I have not worked much on this project yet.

RiceMonster
February 27th, 2011, 11:41 PM
I'm willing to say that Mono.NET is probably the most cross-platform system out there.

Uhhh... Java?

ki4jgt
February 27th, 2011, 11:45 PM
Thanks. I am not sure how webkit works much yet as I have not worked much on this project yet.

Yeah, well, I'm glad it's around. I was getting ready to write my own rendering engine and everything. :-) Glad someone already did it.

***EDIT: Hey found this. I think it's cool.

self.set_icon_from_file("web.png")
I tried an ICO file and it works quite well

ki4jgt
March 2nd, 2011, 04:23 AM
#!/usr/bin/env python
# SmashIndex Web Browser is a spin off of Virgil's Web Browser. It's original
# code has allowed the creation of this great program.
# Known bugs: Trying to open a new browser window is possible from the GUI,
# but does not work. You have to type "http://" before everything or it will
# not work.
# Requires gtk and webkit.
import gtk
import webkit

# Create main window and it's properties.
window = gtk.Window()
window.set_title("SmashIndex")
window.resize(640, 480)
window.connect("destroy", gtk.main_quit)
window.set_icon_from_file("favicon.ico")

# Create the widgets.
address = gtk.Entry()

progress = gtk.ProgressBar()
progress.set_text("Loading. . .")

go = gtk.Button("Go")
m = gtk.MenuItem("|\/|")
m.set_submenu(m)

browser = webkit.WebView()

scroll = gtk.ScrolledWindow()
scroll.add(browser)

# Load a default page. This can be changed.
DEFAULT_URL = 'http://www.duckduckgo.com/'
url = DEFAULT_URL
browser.open(url)

# Define the horizontal widgets.
toolbar = gtk.HBox()
toolbar.pack_start(m, False)
toolbar.pack_start(address)
toolbar.pack_start(go, False)

# Define the vertical widgets.
display = gtk.VBox()
display.pack_start(toolbar, False)
display.pack_start(scroll)
display.pack_start(progress, False)

# Function to define the load page button.
def goclicked(btn):
browser.open(address.get_text())
go.connect("clicked", goclicked)

# Function to load a page on key press.
def loadpagekey(key):
browser.open(address.get_text())
address.connect("activate", loadpagekey)

# Funtion to define the progress bar.
def load_progress_changed(webview, amount):
progress.set_fraction(amount / 100.0)
browser.connect("load-progress-changed", load_progress_changed)

# Function to show the progress bar during page load.
def load_started(webview, frame):
progress.set_visible(True)
browser.connect("load-started", load_started)

# Function to hide the progress bar when load is finished.
def load_finished(webview, frame):
progress.set_visible(False)
address.set_text(frame.get_uri())
browser.connect("load_finished", load_finished)

# Show the widgets
window.add(display)
window.show_all()

# Start the program
gtk.main()


I like the code. I've made a few adjustments for mine. I plan to keep yours in the source code though. I don't want to take credit, when it's due to you. I know it looks a lot like Chrome, but I'm working on adding some features which are not Chrome friendly. Everything will be in the M menu.
Also, what URL should I credit your browser to, so when people see the source, they can attribute it to you.

***EDIT: please interpret code above, as layout. I love it! but I do need to get your copyright info and website details. To allow people who download mine to see yours is where the layout came from. Thanks.

NightwishFan
March 2nd, 2011, 05:05 AM
Hey feel free to use it. :) Do not even have to mention me. I will work more on the advanced version perhaps, as I am back on Ubuntu again. I will get some screenshots and a code for you after I finish the upgrade to maverick.

ki4jgt
March 2nd, 2011, 05:35 AM
Hey feel free to use it. :) Do not even have to mention me. I will work more on the advanced version perhaps, as I am back on Ubuntu again. I will get some screenshots and a code for you after I finish the upgrade to maverick.

Well, I'd like to have you on my dev team, if you don't care. I haven't got anything official setup, but this was your brain child. Not to mention, you've been in longer than I have, and probably have a lot more wisdom in programming than I could ever dream of.
I haven't put anything together officially yet, I'm about to lose my website, so I'm going to wait and figure out what to do next step, but who knows I may come around and reinvent it later.

NightwishFan
March 3rd, 2011, 01:06 AM
Here is the newer web browser UI I have been working on. I will sort out the source code for you some time if you want. Though this one uses glade for the UI.

I would be happy to help you. Though please feel free as I said to use anything without asking me, its what open source is all about. :) Also, no I only know a little of python-gtk, and this browser project is about me learning, though if you take yours to the next level I certainly will not mind lending a hand.

Rasa1111
March 3rd, 2011, 01:25 AM
Maybe it's me, but isn't this an oxymoron?

lol, not really.

It surprised me also..
but there actually are some highschool kids today who are better hackers than some of the guys who've been at it since the late 80's, early 90's.

I am 30 myself..
and am nowhere close to a "hacker"..
But i do know a few.. and have met even more...
and there really are some kids today who make actual security experts look like clowns. lol

OP,
Sounds good!
I'd give it a try if it existed! lol :D

ki4jgt
March 3rd, 2011, 02:02 AM
Here is the newer web browser UI I have been working on. I will sort out the source code for you some time if you want. Though this one uses glade for the UI.

I would be happy to help you. Though please feel free as I said to use anything without asking me, its what open source is all about. :) Also, no I only know a little of python-gtk, and this browser project is about me learning, though if you take yours to the next level I certainly will not mind lending a hand.

I love that one! I'm gonna keep glade out of the equation though :-) Here's the code I have so far.



#This project is open sourced under the GPL v3
#!/usr/bin/env python
# SmashIndex Web Browser is a spin off of Virgil's Web Browser.
# (http://tinyurl.com/4a7ch2w) It's original
# code has allowed the creation of this great program.
# Known bugs: Trying to open a new browser window from the GUI, is not possible
# Requires gtk and webkit.
import gtk
import webkit

sit = []
sindex = 0

# Create main window and it's properties.
window = gtk.Window()
window.set_title("SmashIndex")
window.resize(640, 480)
window.connect("destroy", gtk.main_quit)
window.set_icon_from_file("favicon.ico")

# Create the widgets.
m = gtk.MenuItem("|\/|")
m.set_submenu(m)

back = gtk.Button("<")
forward = gtk.Button(">")

address = gtk.Entry()

progress = gtk.ProgressBar()
progress.set_text("Loading. . .")

browser = webkit.WebView()

scroll = gtk.ScrolledWindow()
scroll.add(browser)

# Load a default page. This can be changed.
DEFAULT_URL = 'http://www.duckduckgo.com/'
url = DEFAULT_URL
browser.open(url)

# Define the horizontal widgets.
toolbar = gtk.HBox()
toolbar.pack_start(m, False)
toolbar.pack_start(back, False)
toolbar.pack_start(forward, False)
toolbar.pack_start(address)

# Define the vertical widgets.
display = gtk.VBox()
display.pack_start(toolbar, False)
display.pack_start(scroll)
display.pack_start(progress, False)

# Function to load a page on key press.
def backclicked(btn):
browser.open(address.get_text())
back.connect("clicked", backclicked)

def forwardclicked(btn):
browser.open(address.get_text())
forward.connect("clicked", forwardclicked)

def loadpagekey(key):
site = address.get_text()
if site.find(" ") != -1 or site.find(".") == -1:
site.replace(" ", "+")
site = "http://duckduckgo.com/?q=" + site
elif site.find("://") == -1:
site = "http://" + site
browser.open(site)
sit.append(site)
print sit
address.connect("activate", loadpagekey)

# Funtion to define the progress bar.
def load_progress_changed(webview, amount):
progress.set_fraction(amount / 100.0)
browser.connect("load-progress-changed", load_progress_changed)

# Function to show the progress bar during page load.
def load_started(webview, frame):
progress.set_visible(True)
browser.connect("load-started", load_started)

# Function to hide the progress bar when load is finished.
def load_finished(webview, frame):
progress.set_visible(False)
address.set_text(frame.get_uri())
browser.connect("load_finished", load_finished)

# Show the widgets
window.add(display)
window.show_all()

# Start the program
gtk.main()


Wow, another plus for your browser, NO POP-UPS

NightwishFan
March 3rd, 2011, 03:01 AM
Ah excellent, looks like you added code to append the http:// if I am right. Great work. I think for my version I might try to remove "new window" and force everything to use tabs. Be a lot of reading to learn how to do that though. I probably will not start coding on it until june or july. (I am fairly busy with Severed Fifth and have a trip planned in a few months)

ki4jgt
March 3rd, 2011, 03:44 AM
Ah excellent, looks like you added code to append the http:// if I am right. Great work. I think for my version I might try to remove "new window" and force everything to use tabs. Be a lot of reading to learn how to do that though. I probably will not start coding on it until june or july. (I am fairly busy with Severed Fifth and have a trip planned in a few months)

Well, be sure to keep me in the loop when you return Please. Also, how does FREE UNLIMITED FILE HOSTING sound? If I can get this thing up and running, I definitely want to offer all my users free file hosting. I think I'm far from getting there, but this is just one plan I have for this browser. If you figure out how to force everything into tabs, be sure to let me know. Otherwise, I may attempt it while you're away. I've already had it crash a bazillion times because it needed another tab :-( Anyway, good luck on your trip.

***EDIT: It also searches DuckDuckGo, if it finds a " " or does not find a "." in the address bar.