# AuthProject-PUBLIC
A high-performance server application with integrated DDoS protection, encryption, and user management. This project uses ENet for networking, OpenSSL for encryption, and nlohmann/json for JSON parsing.
## Features
- **DDoS Protection:** Protects the server from DDoS attacks by limiting request rates and packet sizes.
- **Encryption:** Secures communication using AES-256 encryption.
- **User Management:** Manages user data, including adding, removing, banning, and searching for users.
## Prerequisites
- **CMake**: Ensure you have CMake installed. You can download it from [here](https://cmake.org/download/).
- **vcpkg**: This project uses vcpkg for dependency management. Install it by following these steps:
```sh
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.shUse vcpkg to install the necessary libraries:
[ LINUX ]
./vcpkg install enet
./vcpkg install openssl
./vcpkg install nlohmann-json
[ WINDOWS ]
vcpkg install enet
vcpkg install openssl
vcpkg install nlohmann-json-
Clone the repository:
git clone https://github.com/subugt/AuthProject-PUBLIC.git cd AuthProject-PUBLIC -
Create a
builddirectory and navigate into it:mkdir build cd build -
Configure the project using CMake:
cmake .. -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmakeEnsure that the
VCPKG_ROOTenvironment variable is set to your vcpkg installation path. -
Build the project:
cmake --build .
After building, you can run the server executable located in the build directory:
[LINUX]
./MyServer
[WINDOWS]
cmd MyServer.exeThe DDoSProtection class monitors and controls the rate of requests and packet sizes to prevent DDoS attacks. It registers requests from IP addresses and blocks those that exceed a specified rate or packet size.
The Encryption class provides methods for encrypting and decrypting messages using AES-256.
The UserManager class handles operations related to user management, including adding, removing, banning, and searching for users. It also manages maintenance modes and request blocking.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License. See the https://github.com/subugt/AuthProject-PUBLIC/blob/master/LICENSE.txt file for details.
- Create Users
- Ban Users
- Search users by username
- Extend version etc.
- Full Ddos protection (limits - low level)
- Build Files ( i will generate visual studio and cmake, gcc for easy build on every os
- Forward INVALID REQUESTS TO GOOGLE
- ENCRYPTION AND SAVE WITH JSON
- EXTRA SECURITY ( WEB TOKENS )
- MACOS, LINUX Support ( not tested but it should support at all we are not sure so unchecked )
- to cease updating the project indefinitely.
LEAVE A STAR FOR SUPPORTING ME 😂