Proxy Server
Proxy Server is a simple proxy server implementation using Boost.Asio.
Table of Contents
Introduction
Proxy Server is a lightweight proxy server built with Boost.Asio, designed to facilitate communication between multiple users. It allows users to connect and exchange messages through a central proxy, providing a basic foundation for distributed systems and communication testing.
Requirements
- Boost C++ library for ASIO
- Cmake and g++ for compilation
Features
- Basic proxy server functionality
- Asynchronous communication using Boost.Asio
- Command handling for managing user connections
Getting Started
To get started with the Proxy Server, follow these steps:
- Clone the repository:
git clone https://github.com/KazeTachinuu/Proxy-Messages.git
- Navigate to the project directory:
cd Proxy-Messages
- Build the project using CMake:
mkdir build && cd build && cmake .. && make main
- Run the proxy server:
./main --mode Proxy
Usage
Once the Proxy Server is running, users can connect to it using a TCP client. The server handles user connections and facilitates communication between them.
Example usage:
- Start the proxy server:
./main --mode Proxy
- Connect users to the server using TCP clients:
./main --mode User --secret <secret>
- Exchange messages between connected users with the same secret on the proxy server.
Commands
Once the Proxy Server is running, the following commands can be used to manage user connections:
Server Commands
/list
- Lists all connected users./kill <channelNum>
- Disconnects all users with the specified channel./kick <user>
- Disconnects the specified user./exit, /shutdown
- Stop the proxy server./help
- Displays a list of available commands.
User Commands
/usercount
- Displays the number of connected users./ping <message>
- Sends a message to all connected users./exit
- Exits the user client./list
- List all users in the channel./help
- Displays a list of available commands.