Skip to content

Commit 2b2697e

Browse files
v1.0.07
1 parent ca454e8 commit 2b2697e

File tree

13 files changed

+9385
-35869
lines changed

13 files changed

+9385
-35869
lines changed
Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,60 @@
1-
name: Build and Release EXE
2-
3-
on:
4-
push:
5-
tags:
6-
- "v*.*.*" # Triggers on v1.0.0, v2.1.3, etc.
7-
workflow_dispatch: # Manual trigger for testing
8-
9-
permissions:
10-
contents: write # Required for creating releases
11-
12-
jobs:
13-
build-windows-exe:
14-
runs-on: windows-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v3
19-
20-
- name: Set up Python
21-
uses: actions/setup-python@v4
22-
with:
23-
python-version: "3.11"
24-
25-
- name: Install dependencies
26-
run: |
27-
python -m pip install --upgrade pip
28-
python -m pip install pyinstaller
29-
# Add your requirements.txt if you have one
30-
# python -m pip install -r requirements.txt
31-
32-
- name: Build EXE with PyInstaller
33-
run: |
34-
python -m PyInstaller --onefile --windowed --name="AWS_EC2_VPN" --icon=Assets/icon.ico --paths=Client --distpath=dist Client/main.py
35-
36-
- name: Get version from tag
37-
id: get_version
38-
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $env:GITHUB_OUTPUT
39-
40-
- name: Create Release and Upload EXE
41-
uses: softprops/action-gh-release@v1
42-
with:
43-
tag_name: ${{ github.ref }}
44-
name: AWS EC2 VPN ${{ steps.get_version.outputs.VERSION }}
45-
body: |
46-
## Download
47-
Download `AWS_EC2_VPN.exe` below to get started.
48-
49-
## Installation
50-
1. Download the exe file
51-
2. Run AWS_EC2_VPN.exe
52-
3. No Python installation required
53-
54-
## Changes
55-
- Built from commit: ${{ github.sha }}
56-
draft: false
57-
prerelease: false
58-
files: ./dist/AWS_EC2_VPN.exe
59-
env:
60-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1+
# name: Build and Release EXE
2+
3+
# on:
4+
# push:
5+
# tags:
6+
# - "v*.*.*" # Triggers on v1.0.0, v2.1.3, etc.
7+
# workflow_dispatch: # Manual trigger for testing
8+
9+
# permissions:
10+
# contents: write # Required for creating releases
11+
12+
# jobs:
13+
# build-windows-exe:
14+
# runs-on: windows-latest
15+
16+
# steps:
17+
# - name: Checkout code
18+
# uses: actions/checkout@v3
19+
20+
# - name: Set up Python
21+
# uses: actions/setup-python@v4
22+
# with:
23+
# python-version: "3.11"
24+
25+
# - name: Install dependencies
26+
# run: |
27+
# python -m pip install --upgrade pip
28+
# python -m pip install pyinstaller
29+
# # Add your requirements.txt if you have one
30+
# # python -m pip install -r requirements.txt
31+
32+
# - name: Build EXE with PyInstaller
33+
# run: |
34+
# python -m PyInstaller --onefile --windowed --name="AWS_EC2_VPN" --icon=Assets/icon.ico --paths=Client --distpath=dist Client/main.py
35+
36+
# - name: Get version from tag
37+
# id: get_version
38+
# run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $env:GITHUB_OUTPUT
39+
40+
# - name: Create Release and Upload EXE
41+
# uses: softprops/action-gh-release@v1
42+
# with:
43+
# tag_name: ${{ github.ref }}
44+
# name: AWS EC2 VPN ${{ steps.get_version.outputs.VERSION }}
45+
# body: |
46+
# ## Download
47+
# Download `AWS_EC2_VPN.exe` below to get started.
48+
49+
# ## Installation
50+
# 1. Download the exe file
51+
# 2. Run AWS_EC2_VPN.exe
52+
# 3. No Python installation required
53+
54+
# ## Changes
55+
# - Built from commit: ${{ github.sha }}
56+
# draft: false
57+
# prerelease: false
58+
# files: ./dist/AWS_EC2_VPN.exe
59+
# env:
60+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

AWS_EC2_VPN.spec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
a = Analysis(
55
['Client\\main.py'],
6-
pathex=[],
6+
pathex=['Client'],
77
binaries=[],
88
datas=[],
99
hiddenimports=[],
@@ -35,5 +35,5 @@ exe = EXE(
3535
target_arch=None,
3636
codesign_identity=None,
3737
entitlements_file=None,
38-
icon=['10400217.png'],
38+
icon=['Assets\\icon.ico'],
3939
)

README.md

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
1-
<div align="center">
2-
<table style="border: none; border-collapse: collapse;">
3-
<tr>
4-
<td style="padding: 20px; width: 50%;">
5-
<img src="Assets/IP%20Change.gif" alt="IP Location Change" style="width: 100%; max-width: 600px; height: auto; border-radius: 10px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
6-
<h3 align="center">🌍 IP Location Change</h3>
7-
</td>
8-
<td style="padding: 20px; width: 50%;">
9-
<img src="Assets/Speed.gif" alt="Speed Test" style="width: 100%; max-width: 600px; height: auto; border-radius: 10px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
10-
<h3 align="center">⚡ Speed Test</h3>
11-
</td>
12-
</tr>
13-
</table>
14-
</div>
15-
16-
<br>
17-
<br>
1+
<table>
2+
<tr>
3+
<td width="50%">
4+
<img src="Assets/IP%20Change.gif" alt="IP Location Change" width="100%">
5+
</td>
6+
<td width="50%">
7+
<img src="Assets/Speed.gif" alt="Speed Test" width="100%">
8+
</td>
9+
</tr>
10+
</table>
1811

1912
# EC2 VPN
2013

21-
A custom VPN implementation built from scratch that routes internet traffic through an AWS EC2 instance. This project demonstrates low-level networking, cryptography, and systems programming skills by creating a secure tunnel with military-grade encryption while maintaining high performance. The Windows client connects to a Linux-based server running on AWS EC2.
14+
A custom VPN implementation built from scratch that routes internet traffic through an AWS EC2 instance (t4g.nano costing $3.04/month). The .exe is a standalone Windows 10/11 client that auto-configures and connects to the VPN server with a single click. hTe VPN uses AES-256-GCM encryption. This was created fully with python + tkinter for the GUI. The server is deployed through a GitHub Actions CI/CD pipeline that builds and deploys a Docker container to the EC2 instance on every push to main.
2215

2316
## Features
2417

18+
- **Auto Setup** - One-click activation of VPN on Windows 10/11 client machines
2519
- **IP Address Masking** - Routes all traffic through AWS EC2 instance to hide real location
2620
- **Encryption** - AES-256-GCM encryption with perfect forward secrecy
2721
- **High Performance** - Achieves 95% of native connection speed with <10ms latency overhead

build/AWS_EC2_VPN/AWS_EC2_VPN.pkg

-20.7 MB
Binary file not shown.

0 commit comments

Comments
 (0)