Compare commits

..

No commits in common. "eb1dc859acbd594acf49ba1680cde907157db4ab" and "dd686ca0c67f3a0c2bad7f88885a451956b1039b" have entirely different histories.

5 changed files with 14 additions and 22 deletions

View File

@ -2,18 +2,14 @@
This project sets up a simple HTTP proxy using Ruby and Nginx. It's designed to forward requests to a specified host, with the option to replace certain strings in the response.
# IT IS IN NO WAY FINISHED OR IN A STABLE STATE DO NOT FOLLOW THIS GUIDE, IT SERVERS AS A GUIDELINE ON HOW THE INSTALLATION AND FUNCTION SHOULD BE AND NOT YET AS A GUIDE
## Installation
To install the necessary dependencies and set up the proxy, run the following command:
```bash
sudo bash installer.sh
bash installer.sh
```
Please dont forget to copy the installer from /root/ruby-proxy to your home directory and to change its owner recursively
This will:
Install Ruby and the 'webrick' gem.

View File

@ -1,11 +0,0 @@
{
"replacements": {
"example.com": "example.mydomain.com",
"Example": "Example @ Mydomain",
"example": "example @ ,ydomain",
"https:": "http:"
},
"host": "example.com",
"port": 8000
}

7
config.yml Normal file
View File

@ -0,0 +1,7 @@
replacements:
example.com: example.mydomain.com
">example<": "example @ mydomain<"
https:: http:
host: example.com
port: 8000

View File

@ -47,7 +47,7 @@ read -p "Enter proxy_set_header (the host header for the website you wanna modif
# Create the Nginx config file
if [ ! -f /etc/nginx/sites-available/ruby-proxy ]; then
echo "Creating Nginx configuration file..."
sudo cat << EOF > /etc/nginx/sites-available/ruby-proxy
cat << EOF > /etc/nginx/sites-available/ruby-proxy
resolver 8.8.8.8;
server {

View File

@ -3,15 +3,15 @@
require "webrick"
require "net/http"
require "uri"
require "json"
require "yaml"
# Load configuration from file
CONFIG = JSON.parse(File.read(File.join(__dir__, 'config.json')))
config = YAML.load_file(File.join(__dir__, 'config.yml'))
$replacements = CONFIG['replacements']
$replacements = config['replacements']
class MyProxy < WEBrick::HTTPServlet::AbstractServlet
HOST = CONFIG['host'] # set host to proxy duh
HOST = config['host'] # set host to proxy duh
def do_GET(request, response)
uri = request.unparsed_uri
@ -43,7 +43,7 @@ end
$stdout.reopen(File.join(__dir__, 'ruby-proxy.log'), 'a')
$stderr.reopen($stdout)
server = WEBrick::HTTPServer.new(:Port => CONFIG['port'] || 8000) # define port on which the proxy runs ... so this would be localhost:8000
server = WEBrick::HTTPServer.new(:Port => config['port'] || 8000) # define port on which the proxy runs ... so this would be localhost:8000
server.mount "/", MyProxy
trap("INT"){ server.shutdown }