Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compile

gcc -Wall proxy_server.c sha256.c hmac.c -o proxy_server
gcc -Wall proxy_client.c sha256.c hmac.c -o proxy_client

Usage

Copy proxy_server to remote server. Run server:

./proxy_server
Proxy Server listening on port 7000 (PID: 2945643)

Options:

./proxy_server -h
Usage: proxy_server [-x xor-byte] [-l listen] [-k secret-key][--help]

Example:

./proxy_server -l 8000 -x 0x55

Run client (on local machine):

./proxy_client
Local Proxy listening on port 9000 for browser connections.
Forwarding to Remote XOR-Proxy at 78.125.145.15:7000

Options:

./proxy_client -h
Usage: proxy_client [-s server-host]  [-x xor-byte] [-l listen] [-k secret-key] [-p server-port] [--help]

Example:
./proxy_client -p 8000 -s 78.125.134.94 -l 9000 -x 0x55

Теперь Локальный Прокси-Сервер (proxy_client.c) будет принимать адрес цели от браузера и передавать его через зашифрованный туннель вашему удаленному серверу. Браузер, настраиваем на использование HTTP/HTTPS-прокси: 127.0.0.1:9000.

Youtube работает.

Конфиг для Удаленного XOR-Прокси-Сервера

Этот юнит будет управлять программой proxy_server.c.

📄 Файл: /etc/systemd/system/xor-proxy.service

[Unit]
Description=Remote XOR Proxy Server (Data Obfuscation)
After=network.target

[Service]
[Service]
Type=simple
ExecStart=/home/ubuntu/proxy_server -k superpassword
User=ubuntu
Group=ubuntu
Restart=always
RestartSec=5s
StandardOutput=journal
StandardError=journal

# Автоматический перезапуск в случае сбоя
Restart=always
RestartSec=5s

# Стандартный вывод и ошибки будут перенаправлены в журнал systemd (journalctl)
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Конфиг для Локального Прокси-Сервера (Клиент XOR)

Этот юнит будет управлять программой proxy_client.c.

📄 Файл: /etc/systemd/system/http-proxy-client.service

Важное замечание: Если ваш удаленный сервер работает на другом компьютере, замените REMOTE_PROXY_IP и REMOTE_PROXY_PORT в коде proxy_client.c на реальные данные перед компиляцией.

[Unit]
Description=Remote XOR Proxy Server (Data Obfuscation)
After=network.target

[Service]
[Service]
Type=simple
ExecStart=/home/ubuntu/proxy_client -k superpassword
User=ubuntu
Group=ubuntu
Restart=always
RestartSec=5s
StandardOutput=journal
StandardError=journal

# Автоматический перезапуск в случае сбоя
Restart=always
RestartSec=5s

# Стандартный вывод и ошибки будут перенаправлены в журнал systemd (journalctl)
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

🚀 Активация и запуск сервисов

После создания файлов выполните следующие команды для каждого сервиса (например, сначала для xor-proxy):

Шаг 1: Перезагрузка systemd

Сообщите systemd о новых файлах конфигурации. Bash

sudo systemctl daemon-reload

Шаг 2: Включение автозапуска

Включите сервисы, чтобы они запускались автоматически при загрузке системы. Bash

sudo systemctl enable xor-proxy.service
sudo systemctl enable http-proxy.service

Шаг 3: Запуск сервисов

Запустите сервисы вручную. Важно: Сначала запустите удаленный сервер, затем локальный. Bash

1. Запуск удаленного сервера

sudo systemctl start xor-proxy.service

2. Запуск локального клиента

sudo systemctl start http-proxy.service

Шаг 4: Проверка статуса и логов

Проверьте, что сервисы запущены и работают. Bash

sudo systemctl status xor-proxy.service
sudo systemctl status http-proxy.service

Для просмотра всех логов, которые генерируют ваши программы (включая сообщения printf), используйте journalctl: Bash

Посмотреть логи удаленного прокси за последние 5 минут

sudo journalctl -u remote-xor-proxy -f -n 100 

Посмотреть логи локального прокси

sudo journalctl -u local-http-proxy -f -n 100

About

simple-proxy

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages