https://github.com/umutsevdi/brauzer
A graphical web browser from scratch in C for a variety of alternative web protocols
https://github.com/umutsevdi/brauzer
browser c ftp ftp-client gemini gemini-client gemini-protocol gopher gopher-client gtk gtk4 http http-client libadwaita web-browser
Last synced: about 1 month ago
JSON representation
A graphical web browser from scratch in C for a variety of alternative web protocols
- Host: GitHub
- URL: https://github.com/umutsevdi/brauzer
- Owner: umutsevdi
- License: gpl-3.0
- Created: 2023-09-12T16:57:34.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-04T21:17:47.000Z (over 1 year ago)
- Last Synced: 2023-11-04T22:21:07.229Z (over 1 year ago)
- Topics: browser, c, ftp, ftp-client, gemini, gemini-client, gemini-protocol, gopher, gopher-client, gtk, gtk4, http, http-client, libadwaita, web-browser
- Language: C
- Homepage:
- Size: 7.49 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
A web browser from scratch in C programming language that implements
various web protocols.
Being actively developed by
Umut Sevdi## What is Brauzer
Brauzer is a simple web browser that can communicate through the following protocols.* HTTP/HTTPS
* Gopher
* GeminiIt can currently parse Gopher and Gemini files as of 05/11/2023.
I would like to build a GUI for the Brauzer in the future.## Demo Videos
* HTTP/HTTPS

* Gemini

* Gopher
### Installation
Requirements:
* [OpenSSL](https://packages.debian.org/bookworm/openssl)
* [libglib2.0-0](https://packages.debian.org/bookworm/libglib2.0-0)The current version does not require the following packages, But the future versions will require:
* [libgtk-4](https://packages.debian.org/bookworm/libgtk-4-1)
* [libadwaita](https://packages.debian.org/bookworm/libs/libadwaita-1-0)1. Clone the repository.
```sh
git clone https://github.com/umutsevdi/brauzer.git
```2. Compile the program.
```sh
make
```### Status
This project is currently a work in progress.
#### To-do List:- [x] TCP Session Management
- [x] TLS/SSL System
- [x] Protocol Spesific Calls
- [x] User Agent
- [x] URI Parser
- [x] CLI Interface
- [ ] **Supported Protocols**:
- [ ] HTTP
- [x] HTTP 1.1 Polling
- [x] Success
- [x] Header Parser
- [ ] Post/Put (Partially)
- [ ] Redirect
- [ ] HTML Parser
- [ ] Link Analysis and Installation
- [x] Gemini:
- [x] Success
- [x] Polling
- [x] Input
- [x] Redirect
- [x] Gemtext Parser
- [x] Gopher:
- [x] Protocol
- [x] Parser
- [ ] FTP/SFTP:## License
Distributed under the GPL License. See `LICENSE` for more information.
## Contact
Feel free to contact me for any further information or suggestions.
Project: [umutsevdi/brauzer](https://github.com/umutsevdi/brauzer)
Developed by Umut Sevdi