NginScript: Upstream-Randomizer | Komentor

Vorwort

Vor einigen Monaten habe ich erstellt Nginx eingerichtet, die umgeleitet jede einzelne Anfrage zu einem zufälligen Proxy aus einer Liste. Diese Funktion wurde ausschließlich innerhalb der Nginx-Konfiguration mit dem Javascript-Plugin implementiert. Lassen Sie mich Ihnen zeigen, wie Sie mit NginxScript selbst beginnen und einfache Funktionen wie Randomizer in der Konfiguration implementieren. Dieses Setup wurde installiert Ubuntu 16.04

Installieren von nginx und nginScript

Schritt 1

sudo apt-get update
wget 
sudo apt-key add nginx_signing.key

Schritt 2

Am Ende der Datei /etc/apt/sources.list hinzufügen

deb  xenial nginx
deb-src  xenial nginx

Schritt 3

sudo apt-get update
sudo apt-get install nginx
sudo apt-get install nginx-module-njs

Der Installationsvorgang ist abgeschlossen.

Konfiguration eingerichtet

Schritt 1

Schaffen script.js Datei drin /etc/nginx/ Mappe
Und fügen Sie diesen Code darin ein.

var list = [
  "201.140.132.34:8080",
  "50.233.137.34:80",
  "204.52.206.65:8080",
  "75.114.77.38:8080",
  "50.233.137.33:80",
  "52.8.41.246:3128",
  "198.50.168.210:80",
  "173.192.21.89:80",
  "75.114.77.35:8080",
  "206.81.5.117:8080"
]

function random(){
    var index = Math.floor(list.length * Math.random());
    return list[index];
}

Schritt 2
Jetzt modifizieren lassen /etc/nginx/nginx.conf
Fügen Sie dort den folgenden Code ein.

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


load_module modules/ngx_http_js_module.so;
load_module modules/ngx_stream_js_module.so;


events {
    worker_connections  1024;
}

stream {


        js_include  script.js;

        js_set $proxy random;


        server {
            listen 53;
            proxy_responses 1;
            proxy_timeout 20s;
            proxy_pass $proxy;
        }
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;



    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    #
    #include /etc/nginx/conf.d/*.conf;
}

Im Grunde ist es das. Alles erledigt.
Führen Sie das einfach aus Befehl:

sudo service nginx restart

Und die neuesten Änderungen werden angewendet.

HINWEIS!

Ich nahm eine Liste öffentlicher Proxys. Aber superstabil sind sie nicht. Aus diesem Grund musste ich jeden von ihnen häufig überwachen und eine Liste der verfügbaren aktualisieren.
Es wurde mit implementiert Python und bash Skript.

Wenn jemand so etwas braucht, ping mich einfach in einer privaten Nachricht an.

Alex Polymath

Similar Posts

Leave a Reply

Your email address will not be published.