Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Project Setup Improvements #22

Open
wants to merge 2 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 16 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Robin is a Web Security debugging tool built using `Electron` and `React JS`. We
## Installing
---

Choose the OS and download the latest release
Choose your OS and download the latest release

[![All platforms download](https://img.shields.io/badge/download-any_platform-green.svg)](https://github.com/olmps/Robin/releases/latest)

Expand All @@ -18,14 +18,14 @@ The codebase is divided in two main modules: `main` and `renderer`.

The `main` module represents the `Electron` app. It wraps the React application and is responsible for making OS-level tasks.

## Renderer
### Renderer

The `renderer` module represents the `React` app. It includes all the application interface and is responsible for presentation and user-interaction tasks.

## Enabled HTTPS
## Enabling HTTPS
---

If you run `Robin` and your browser show scary messages about the traffic, you need to trust Robins certificate to intercept and inspect HTTPS traffic. Robin uses a wildcard certificate and performs a Man In the Middle between the request origin and its destination. In order to perform these MITM, you need to trust Robin's wildcard certificate. Follow these steps to enable HTTPS traffic intercept:
If you run `Robin` and your browser show scary messages about the traffic security, you need to trust Robin's certificate to intercept and inspect HTTPS traffic. Robin uses a wildcard certificate and performs a Man In the Middle (*MITM*) between the request origin and its destination. So, in order to perform these *MITM*, you need to trust Robin's wildcard certificate. Follow these steps to enable HTTPS traffic intercept:

### MacOS
1. Install the certificate by double-tapping the certificate and its key at `main/src/resources/certificates/`
Expand All @@ -38,31 +38,28 @@ If you run `Robin` and your browser show scary messages about the traffic, you n
## Contributing
---

Any contribution is accepted, but we follow some [guidelines](./CONTRIBUTING.MD) to keep things running as best as we can!

### Setting up the Environment
```bash
# Clone the repository
# We'll clone the repository and cd into it
git clone https://github.com/olmps/Robin
cd Robin
# Install the root dependencies
npm i
# Install the Main dependencies
cd main
# Then install both root and submodules' dependencies through NPM
npm i
# Install the Renderer dependencies
cd renderer
npm i

# Start the app
# At last, we start the application
npm run start
```

By default, the application automatically turn on the proxy settings on `macOS` environment. But you can manually enable/disable this settings on `System Preferences -> Network -> Advanced -> Proxies`.

### Proxy
By default, the application turns on the proxy settings on `macOS` environment automatically. To manually enable/disable this settings, go to `System Preferences -> Network -> Advanced -> Proxies`.
To turn the proxy on, the server specs must follow:

- Web Proxy (HTTP): 127.0.0.1 : 8080
- Secure Web Proxy (HTTPS): 127.0.0.1 : 8080

### If after closing the application / debug session you appear to be without network connection, it may be the case that the application failed to disable the proxy settings on the machine. Follow the steps above to manually turn it off.
## Troubleshooting
---

Q: *After closing the application/debug session, it looks that I have lost network connection, why?*

### Read the [Contributing Guidelines](./CONTRIBUTING.MD)
A: There are cases where the application fails to disable the proxy settings. To solve this, you should follow the steps in the **Proxy** section above.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
"description": "A Web Security Tool",
"main": "index.js",
"scripts": {
"postinstall": "npm run install-modules",
"install-modules": "concurrently --kill-others-on-fail \"cd main && npm i\" \"cd renderer && npm i\"",
"copy-shared": "copyfiles --flat shared/*.ts main/src/shared/ && copyfiles --flat shared/*.ts renderer/src/shared/",
"start-react": "cd renderer && npm run start",
"start-electron": "cd main && npm run start",
Expand Down