Skip to content

Commit

Permalink
Added documentation and various text processing
Browse files Browse the repository at this point in the history
  • Loading branch information
umutsevdi committed Nov 4, 2023
1 parent dc88b97 commit 001c54e
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 32 deletions.
76 changes: 45 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,58 @@
</a>

<p align="center">
A graphical web browser from scratch in C programming language that implements
A web browser from scratch in C programming language that implements
various web protocols.
<br/><i>Being actively developed by <a href="https://github.com/umutsevdi">
Umut Sevdi</a></i>
<!--<p align="center"><a href="docs.md"><strong>Explore the docs »
</strong></a></p>-->

## Definition
## What is Brauzer
Brauzer is a simple web browser that can communicate through the following protocols.
* HTTP/HTTPS
* Gopher
* Gemini
I would like to build a graphical user interface with GTK framework for this project.
It can currently parse Gopher and Gemini files as of 05/11/2023.

### Status: WORK IN PROGRESS
#### Back-end:

## Demo Videos

* HTTP/HTTPS
![HTTPS](screenshot/https.GIF)
* Gemini
![Gemini](screenshot/gemini.GIF)
* Gopher
![Gopher](screenshot/gopher.GIF)

<p id="installation">
### Installation

Requirements:
* [OpenSSL](https://packages.debian.org/bookworm/openssl)
* [libglib2.0-0](https://packages.debian.org/bookworm/libglib2.0-0)

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 work in progress.
#### To-do List:

- [x] TCP Session Management
- [x] TLS/SSL System
Expand All @@ -41,33 +82,6 @@ various web protocols.
- [x] Protocol
- [x] Parser
- [ ] FTP/SFTP:
#### User Interface:
**STATUS**: Not started


<p id="installation">

### Installation

Requirements:
* [OpenSSL](https://packages.debian.org/bookworm/openssl)
* [libglib2.0-0](https://packages.debian.org/bookworm/libglib2.0-0)

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
```

## 5. License

Expand Down
2 changes: 1 addition & 1 deletion include/br_txt.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ typedef struct {
char* URI;
} BrGemtextItem;
#define BrGemtextItem_unwrap(r) \
"type:%5s\tURI:%-30s\t%s\n", BR_GEMTXT_S((r)->type), \
"|type:%5s|\tURI:%-30s|\t%s\n", BR_GEMTXT_S((r)->type), \
(r)->URI != NULL ? (r)->URI : "", (r)->line

typedef struct {
Expand Down
Binary file added screenshot/gemini.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot/gopher.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshot/https.GIF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/test.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ void test_br_http_response_new_when_invalid_headers()
BrHttpResponse r = {0};
assert(br_http_response_new(&s, &r) == BR_PRT_HTTP_OK);
}

int main(void)
{
TEST(is_ip);
Expand Down

0 comments on commit 001c54e

Please sign in to comment.