EvilZone

Programming and Scripting => C - C++ => : l3v3r.l0ck June 07, 2011, 12:56:00 AM

: C++ Web browser help pls
: l3v3r.l0ck June 07, 2011, 12:56:00 AM
I am building a secure web browser for personal use. I may release the source as soon as I get a version of the program I am comfortable using myself on a daily basis. My question and the main problem I am having at this point is how do I store the sites I have visited in my comboBox? Let me know if I need to post more info or even some of the source. Just let me know what you need. Thanks ahead of time...
: Re: C++ Web browser help pls
: iMorg June 07, 2011, 01:22:45 AM
What GUI library are you using?
: Re: C++ Web browser help pls
: ande June 07, 2011, 01:55:22 AM
Are you using native C++? Or is this some IE webbrowser control dot net thingy?
: Re: C++ Web browser help pls
: l3v3r.l0ck June 07, 2011, 02:33:59 AM
Well right now I am coding it in VC++ 2010 because I just upgraded to it. (I could not take Code::Blocks anymore) I had to much trouble linking libraries with Code::Blocks, that is what initiated my switch. I might go back to Code::Blocks if I have the right reason to though...
: Re: C++ Web browser help pls
: ande June 07, 2011, 02:39:16 AM
Well right now I am coding it in VC++ 2010 because I just upgraded to it. (I could not take Code::Blocks anymore) I had to much trouble linking libraries with Code::Blocks, that is what initiated my switch. I might go back to Code::Blocks if I have the right reason to though...

But are you coding in C++ with the .net framework or is this is legit win32 application? Doesn't really matter that much. Whats matter is, if you want to make a browser. First thats a huge task. Second, you cant use any existing IE webbrowser control or anything like that. That would just make your browser an extension of an iframe.
: Re: C++ Web browser help pls
: l3v3r.l0ck June 07, 2011, 02:54:24 AM
So from what I understand I am going about it the wrong way... I should just ditch the .NET and write the code myself from scratch?
: Re: C++ Web browser help pls
: ande June 07, 2011, 03:16:55 AM
So from what I understand I am going about it the wrong way... I should just ditch the .NET and write the code myself from scratch?

You can write a browser in .NET, not a problem. You just cannot use the IE Webbrowser control :P Its just a type of project I know a lot of people want to make, and they all try to use the Webbrowser control(if they use .NET) first.

What you need to do is download the page data with sockets and interpreted it, you can use the net.webclient to, but idd recommend the use of sockets if you want an in depth understanding. As you may understand, this is a huge task. Once the data have been interpreted, you need to render a web page with images, colors, buttons etc etc.(All from scratch)
: Re: C++ Web browser help pls
: Tsar June 07, 2011, 04:14:24 AM
Maybe look up using webkit
: Re: C++ Web browser help pls
: Stackprotector June 07, 2011, 01:55:28 PM
Its a bitch to render it your self according to the html 5 standards
: Re: C++ Web browser help pls
: l3v3r.l0ck June 07, 2011, 05:04:43 PM
Maybe look up using webkit
You can write a browser in .NET, not a problem. You just cannot use the IE Webbrowser control :P Its just a type of project I know a lot of people want to make, and they all try to use the Webbrowser control(if they use .NET) first.

What you need to do is download the page data with sockets and interpreted it, you can use the net.webclient to, but idd recommend the use of sockets if you want an in depth understanding. As you may understand, this is a huge task. Once the data have been interpreted, you need to render a web page with images, colors, buttons etc etc.(All from scratch)


I will look into this... Thanks guys...
: Re: C++ Web browser help pls
: iTpHo3NiX May 17, 2012, 07:19:27 AM
asdf
: Re: C++ Web browser help pls
: Kulverstukas May 17, 2012, 11:39:58 AM
If you don't want IE then you can use other engines, such as "Gecko" which Mozzila developed and is used in many browsers: https://developer.mozilla.org/en/Gecko
Or "WebKit" which was developed by Apple and is mostly used in mobile devices: http://www.webkit.org/
: Re: C++ Web browser help pls
: iTpHo3NiX May 18, 2012, 09:25:17 PM
asdf
: Re: C++ Web browser help pls
: ande July 15, 2012, 07:24:34 PM
Sorry to dig up an old topic, but ande if you could elaborate please. I am very interested in this project as it will benifit my project. If I were to go about create a web browser in C++ (Using the NetBeans IDE with C/C++ plugin) I do not want to just use the IE engine, I want it to be a secure browser environment that is filter through defaultly proxies, then users can set up vpns as well as private proxies, etc.

Pretty much I want to code it the correct way, and I want to learn how to code it. However where do I start what would I need to look into to doing this the correct way?

And I am equally sorry for the late replay, currently digging in old unanswered topics. I don't even know if you still want an answer or not but I guess I can elaborate a bit.

If you use native C++ (or .Net for that matter) and do not use any existing components/libraries that has to do with IE, you are not using any IE engine.

If I were to tackle this project I would create classes from scratch and use "raw" sockets. That is sockets from the bottom up but not real raw sockets, like determine the source/destination MAC and TCP/IP flags and so forth).

You could have something like a URL/I class handeling URL's, splitting things into domains, paths, files and arguments. Another class could be NetworkHandeling or something, handeling requests back and forth. An extension of the NetworkHandeling could be RequestClass containing information of previous, current anew planned requests and their URL(s) and arguments. You probably want to make a HTTPHeader class as well. Basically you build up logical structures of a web browser from scratch.

Once you have the overall things working you can start rendering data received from the web. This is probably going to be the hardest part. There are so many standards and other crap to follow and do correctly and this is what's hard. Interpreting things the correct or standard way. Styles and CSS files and other attributes all have to come together and make a correct image/render.