This project implements a Proxy Server designed to handle client requests and forward them to the intended remote server. The primary objective of this application is to provide an intermediary server that facilitates secure communication and data exchange using SSL/TLS protocols.
- SSL/TLS Support: Secure communication between the proxy, client, and remote server.
- Request Forwarding: Forward HTTP/HTTPS requests and return responses without modifying data.
- Multi-threading: Efficient handling of multiple client connections simultaneously.
- Logging: Track requests, connections, and errors with detailed logs.
- Configuration Management: Customize server settings through configuration files.
- UI: A basic UI that help peole control and config easily.
ProxyServer
├── ASSETS
│ └── [Logo] # Application icon
├── CERTIFICATE
│ └── [Certificates files] # Certificates for SSL/TLS encryption
├── CONFIG
│ └── [Configuration files] # Custom server settings
├── OUTPUT
│ └── [Inno Setup Installer] # Setup files generated by Inno Setup
├── HEADER
│ └── [Header files] # Header files in the project.
├── SRC
│ └── [Source code files] # Source code in the project.
├── Makefile # Makefile
└── README.md # Project documentation
- Operating System: Windows (x64)
- Dependencies:
- OpenSSL
- GCC compiler (MinGW from MSYS2 recommended)
- Inno Setup (for packaging the application)
- Download the installer from the
Output
directory or the provided link. - Run the installer
ProxyServerSetup.exe
. - Follow the on-screen instructions to complete the installation.
- Launch the application by running
demo.exe
. - Configure the server settings using files in the
CONFIG
directory if needed. - Monitor logs to track ERRORS (for development).
- Install MinGW (or a compatible GCC compiler).
- Clone the repository and navigate to the project directory.
- Build the executable:
make build # Build project make run # Run code
- Install Inno Setup.
- Use the provided
ProxyServerSetup.iss
file to generate the installer:Open Inno Setup > Load ProxyServerSetup.iss > Compile
- Icons Not Displayed in Shortcuts: Ensure the
.ico
file is in the correct directory and specified in the installer script. - SSL Errors: Verify that the certificate files in the
CERTIFICATE
directory are valid and correctly configured. - Connection Issues: Check firewall or network settings that may block the proxy server.
- Huỳnh Quốc Huy
- Đỗ Trọng Huy
- Hoàng Ngọc Phú
Special thanks to the developers of OpenSSL and the MinGW community for providing robust tools and libraries.