# 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.sh
Use 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
build
directory and navigate into it:mkdir build cd build
-
Configure the project using CMake:
cmake .. -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
Ensure that the
VCPKG_ROOT
environment 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.exe
The 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 😂