Skip to content

Commit

Permalink
version 2
Browse files Browse the repository at this point in the history
  • Loading branch information
mrahmadt committed Apr 27, 2019
1 parent b32cfac commit 080a685
Showing 1 changed file with 19 additions and 18 deletions.
37 changes: 19 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# SmartGW

SmartGW is a VPN Gateway/Proxy that allows you to reroute certain internet domains requests to go through a VPN tunnel while keeping other internet domains goes through your ISP gateway.
SmartGW is a VPN Gateway/Proxy that allows you to route HTTP/HTTPS traffic for specific internet domains to go through VPN tunnel while keeping the other traffic goes through your ISP gateway.

**Example:**
- Your request to **netflix.com** (from all devices in your network) --> Traffic to netflix.com will go through the **VPN tunnel**.
- Your request to **youtube.com** (from all devices in your network) --> Traffic to youtube.com will go through your **ISP gateway**.
- HTTP/HTTPS for **netflix.com** (from all devices in your network) --> Will go through your **VPN tunnel**.
- HTTP/HTTPS for **youtube.com** (from all devices in your network) --> Will go through your **ISP gateway**.

**This can help you to:**
- Access Geo-restricted content.
Expand All @@ -14,40 +14,41 @@ SmartGW is a VPN Gateway/Proxy that allows you to reroute certain internet domai
- More browsing privacy?.

## Features
* Can work with all your devices in your local network (PC, Laptop, Mobiles, SmartTV...etc).
* Works with all devices in local network (PC, Laptop, Mobiles, SmartTV...etc).
* No need to change any settings in your devices, install SmartGW and configure the DNS in your internet router.
* Simple GUI to check SmartGW status and to add/remove any domain.
* Can be configured as http proxy to redirect all data to go through the VPN tunnel.
* Automatically connect to least busy, low latency VPN servers in a given country.
* Automatically connect to the fastest low latency VPN servers in a given country.
* Auto retry and auto-failover to next best VPN server if the connection dies.

## How difficult it's?
The setup is straightforward, you just need a Linux server in your network with a VPN subscription (below instructions support <a href="http://nordvpn.com">NordVPN</a> for now).
The setup is straightforward, you need a Linux server, and a <a href="http://nordvpn.com">NordVPN</a> VPN subscription.

## What Do I need to start?
1. You must have a VPN subscription from NordVPN (The method below can work with any VPN provider, but you need to modify the installation script).
2. A Linux server with a static IP in your local network.

1. Linux server (any old laptop or <a href="https://en.wikipedia.org/wiki/Single-board_computer">single-board</a> such us <a href="https://www.raspberrypi.org/">Raspberry Pi</a> will work).
2. <a href="http://nordvpn.com">NordVPN</a> VPN subscription.
3. Static IP in your local network.
4. <a href="https://docker.com/">Docker engine</a> with basic know how.

## Instructions
1. Install Linux (the instructions below tested with a fresh installation of Ubuntu Server 18.04).
1. Install Linux.
2. Set a static IP in your server.
3. Run SmartGW installer
3. Install Docker.
4. Download SmartGW source code.
3. Run SmartGW docker-compose
``` bash
bash -c "$(curl -sSL http://bit.ly/Install-SmartGW)"
docker-compose up
```
4. Open your browser and type your SmartGW ip (port 8081) (http://Your-Server-IP:8081/) & define which network interface to use.
4. Open your browser and type your SmartGW IP (port 8080) (http://Your-Server-IP:8080/) and start adding your domains (e.g., yahoo.com).
5. Define SmartGW IP address as the only DNS entry in the router.
```
Log into your router’s configuration page and find the DHCP/DNS settings.
Login to your router’s configuration page and find the DHCP/DNS settings.
Note: make sure you adjust this setting under your LAN settings and not the WAN.
```
![6e475c318358d8266052015e28841a72b3cc3b84](https://user-images.githubusercontent.com/957921/44320410-9cccc200-a44a-11e8-88fe-570d01eb2e93.png)

6. Enjoy!.

## Screenshots
![screenshot1](https://user-images.githubusercontent.com/957921/44305203-cfa78500-a37a-11e8-961c-cddea95773d2.png)
![screenshot2](https://user-images.githubusercontent.com/957921/44305204-d2a27580-a37a-11e8-881e-120f065df056.png)
![screenshot3](https://user-images.githubusercontent.com/957921/44372980-51b8ba80-a4ef-11e8-9485-2b01aff3a302.png)
![Screen Shot 2019-04-27 at 3 57 54 AM](https://user-images.githubusercontent.com/957921/56842702-fc645280-68a0-11e9-83df-0a9c4089a87e.png)
![Screen Shot 2019-04-27 at 3 58 13 AM](https://user-images.githubusercontent.com/957921/56842707-fff7d980-68a0-11e9-975b-1e81e1bc6133.png)
.

0 comments on commit 080a685

Please sign in to comment.