β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–„    β–ˆ  β–„β–ˆβ–ˆβ–ˆβ–ˆβ–„   β–ˆβ–ˆβ–€β–ˆβ–ˆβ–ˆ β–“β–ˆβ–ˆ   β–ˆβ–ˆβ–“ β–ˆβ–ˆβ–“β–ˆβ–ˆβ–ˆ  β–„β–„β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“
β–“β–ˆ   β–€  β–ˆβ–ˆ β–€β–ˆ   β–ˆ β–’β–ˆβ–ˆβ–€ β–€β–ˆ  β–“β–ˆβ–ˆ β–’ β–ˆβ–ˆβ–’β–’β–ˆβ–ˆ  β–ˆβ–ˆβ–’β–“β–ˆβ–ˆβ–‘  β–ˆβ–ˆβ–’β–“  β–ˆβ–ˆβ–’ β–“β–’
β–’β–ˆβ–ˆβ–ˆ   β–“β–ˆβ–ˆ  β–€β–ˆ β–ˆβ–ˆβ–’β–’β–“β–ˆ    β–„ β–“β–ˆβ–ˆ β–‘β–„β–ˆ β–’ β–’β–ˆβ–ˆ β–ˆβ–ˆβ–‘β–“β–ˆβ–ˆβ–‘ β–ˆβ–ˆβ–“β–’β–’ β–“β–ˆβ–ˆβ–‘ β–’β–‘
β–’β–“β–ˆ  β–„ β–“β–ˆβ–ˆβ–’  β–β–Œβ–ˆβ–ˆβ–’β–’β–“β–“β–„ β–„β–ˆβ–ˆβ–’β–’β–ˆβ–ˆβ–€β–€β–ˆβ–„   β–‘ β–β–ˆβ–ˆβ–“β–‘β–’β–ˆβ–ˆβ–„β–ˆβ–“β–’ β–’β–‘ β–“β–ˆβ–ˆβ–“ β–‘ 
β–‘β–’β–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–ˆβ–ˆβ–‘   β–“β–ˆβ–ˆβ–‘β–’ β–“β–ˆβ–ˆβ–ˆβ–€ β–‘β–‘β–ˆβ–ˆβ–“ β–’β–ˆβ–ˆβ–’ β–‘ β–ˆβ–ˆβ–’β–“β–‘β–’β–ˆβ–ˆβ–’ β–‘  β–‘  β–’β–ˆβ–ˆβ–’ β–‘ 
β–‘β–‘ β–’β–‘ β–‘β–‘ β–’β–‘   β–’ β–’ β–‘ β–‘β–’ β–’  β–‘β–‘ β–’β–“ β–‘β–’β–“β–‘  β–ˆβ–ˆβ–’β–’β–’ β–’β–“β–’β–‘ β–‘  β–‘  β–’ β–‘β–‘   
 β–‘ β–‘  β–‘β–‘ β–‘β–‘   β–‘ β–’β–‘  β–‘  β–’     β–‘β–’ β–‘ β–’β–‘β–“β–ˆβ–ˆ β–‘β–’β–‘ β–‘β–’ β–‘         β–‘    
   β–‘      β–‘   β–‘ β–‘ β–‘          β–‘β–‘   β–‘ β–’ β–’ β–‘β–‘  β–‘β–‘         β–‘      
   β–‘  β–‘         β–‘ β–‘ β–‘         β–‘     β–‘ β–‘                       
                  β–‘                 β–‘ β–‘                       
				  
==============================================================

πŸ› οΈ Prerequisites
-----------------
Ensure your system has the following installed:

- πŸ–₯️ **C++ Compiler**: GCC or Clang
- πŸ” **OpenSSL**: For cryptographic functions
- 🧡 **libpthread**: For multithreading support

πŸ’‘ Install them using your package manager. For example, on Debian/Ubuntu:

apt update
apt install build-essential libssl-dev git openssl wget


=====================Run as NON-root user=====================
|                                                            |
|    *Create a System User Without Login Access:             |
|  --------------------------------------------------------- |
|  sudo useradd -r -s /usr/sbin/nologin eNcRyPt              |
|  |                                                         |
|  |--> This command creates a system user named `eNcRyPt`   |
|      with no login shell (`/usr/sbin/nologin`),            |
|      preventing interactive login. The `-r` flag           |
|      designates it as a system account.                    |
==============================================================
|    *Set Ownership of a Directory:                          |
|  --------------------------------------------------------- |
|  sudo chown -R eNcRyPt:eNcRyPt /root/e-N-c-R-y-P-t         |
|  |                                                         |
|  |--> This command recursively changes the ownership of    |
|      the `/root/e-N-c-R-y-P-t` directory and its contents  |
|      to the `eNcRyPt` user and group.                      |
==============================================================
|    *Execute a Command as the eNcRyPt User:                 |
|  --------------------------------------------------------- |
|  sudo -u eNcRyPt bash -c './e-N-c-R-y-P-t'                 |
|  |                                                         |
|  |--> This command runs the `e-N-c-R-y-P-t` executable as  |
|      the `eNcRyPt` user. It uses `bash -c` to execute the  |
|      command string.                                       |
==============================================================

πŸ“₯ Download the Source Code
---------------------------
Clone the repository:

git clone https://codeberg.org/e-N-c-R-y-P-t/e-N-c-R-y-P-t.git
cd e-N-c-R-y-P-t

or

wget https://e-n-c-r-y-p-t.cc/e-N-c-R-y-P-t.cpp

πŸ—οΈ Build the Project
---------------------

g++ -o e-N-c-R-y-P-t e-N-c-R-y-P-t.cpp -lssl -lcrypto -pthread -std=c++17

▢️ Run the Application
-----------------------
Execute the compiled binary:

./e-N-c-R-y-P-t

βš™οΈ Configuration
----------------
The application uses several files for configuration:

- πŸ“„ **allowed_hashes.txt**: Contains allowed peer hashes, one hash per line
- πŸ”’ **trusted_hashes.txt**: Stores trusted peer hashes, one hash per line
- πŸ“ **stats.lock**: Ensures a single instance is running
- πŸ“Š **stats.log**: Logs statistics

Ensure these files are present in the application's directory.

βœ… Testing
----------
To verify the application is working:

1. Start the application
2. Monitor the logs:

tail -f stats.log

or

cat stats.log

3. Log format:

[2025-08-27 08:58:25] Banned IPs: 0, Non-TLS Attempts: 0, TLS Connections: 0, Traffic RX: 0.00 B, Traffic TX: 0.00 B, Packets RX: 0, Packets TX: 0

Made with ❀️ in πŸ‡ΈπŸ‡°