検索に数時間失敗した後、リソースを使用することになりました!
そのため、最終的に何が起こるべきか:
1. VM Ubuntu / Debian 2 CPU、2GB RAM、8GB HDD(それはまったく要求されません)
2.リクエストをプロキシするためのPRIVOXY(nginx、ニスを使用できます-Privoxyを使用しました)
3. TORサーバー
私自身の経験から、70のプロキシがどこかで約30メガビットのチャネルを消費すると言います。 とても幸せでした。 おそらく、あなたのリソースはトラフィックをより要求するでしょう。
まず、必要なライブラリを作成します。
apt-get install tor privoxy expect
将来的には、privoxyおよびtorスクリプトのクローンを作成し、個別のサービスを開始するため、初期設定は不要です。
インストールは遅れており、サービスの自動展開のためのスクリプトの作成に進みます
初期入力パラメーターを定義します。
PID_END=99 # PRIVOXY_PORT=8100 # privoxy, 8100 8199 TOR_PORT=9100 # Tor, 9101 9199 TOR_CONTROL=20000 # Tor. , . BASE_IP=10.0.0.1 #, IP . . BASE_DIR=./data_tor # PID TOR BASE_DIR_PRIVOXY=/etc # Privoxy, 52 53 INSTANCE=$1 # . 99
最初に何が起こるか、自分で決める。 最初に99個のTorインスタンスを作成し、その後99個のPrivoxyインスタンスを作成します。
TORが特定のポートで動作するには、このようなコマンドを実行する必要があります
tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword "" --ControlPort $c_port --PidFile tor$i.pid --SocksPort $s_port --DataDirectory ${BASE_DIR}/tor$i
しかし、privoxyはひどいことをしなければなりません:設定と実行可能ファイルを複製します。
すぐに実行スクリプトを提供します。 間違えないように、すべてを詳細に描いた。
次のようにTorとPrivoxyを実行できます:
./tor_privoxy_start.sh 50
次のようなストリームを更新します。
./tor_privoxy_start.sh 50 update
tor_privoxy_start.sh
#!/bin/bash #set -e # PID_END=99 # PRIVOXY_PORT=8100 # privoxy, 8100 8199 TOR_PORT=9100 # Tor, 9101 9199 TOR_CONTROL=20000 # Tor. , . BASE_IP=10.1.9.98 #, IP . . BASE_DIR=./data_tor # PID TOR BASE_DIR_PRIVOXY=/etc # Privoxy, 64 65 INSTANCE=$1 # . 99 ACTION=$2 UPDATE="update" if [ ! -d $BASE_DIR ]; then mkdir -p $BASE_DIR fi echo " :" echo "1 TOR Privoxy" echo "2 TOR" echo "3 TOR Privoxy" read doing case $doing in 1) # for i in $(seq 1 ${INSTANCE}); do p_port=$((PRIVOXY_PORT+i)) s_port=$((TOR_PORT+i)) c_port=$((TOR_CONTROL+i)) if [ $i -gt $PID_END ]; then echo " Treads , \n" break fi if [ ! -d "$BASE_DIR/tor${i}" ]; then echo " ${BASE_DIR}/tor${i}" mkdir -p "${BASE_DIR}/tor${i}" fi if [ ! -d "${BASE_DIR_PRIVOXY}/privoxy${i}" ]; then echo " ${BASE_DIR_PRIVOXY}/privoxy${i}" mkdir -p "${BASE_DIR_PRIVOXY}/privoxy${i}" fi cp -r ${BASE_DIR_PRIVOXY}/privoxy/* ${BASE_DIR_PRIVOXY}/privoxy$i # # echo "" > ${BASE_DIR_PRIVOXY}/privoxy$i/config; echo "forward-socks4a / 127.0.0.1:${s_port} ." >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "confdir ${BASE_DIR_PRIVOXY}/privoxy${i}" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "logdir /var/log/privoxy/" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "logfile privoxy.log" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "#actionsfile standard" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "actionsfile default.action" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "actionsfile user.action" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "filterfile default.filter" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "debug 4096" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "debug 8192" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "listen-address ${BASE_IP}:${p_port}" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "user-manual /usr/share/doc/privoxy/user-manual" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "toggle 1" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "enable-remote-toggle 0" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "enable-edit-actions 0" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "enable-remote-http-toggle 0" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config echo "buffer-limit 4096" >> ${BASE_DIR_PRIVOXY}/privoxy$i/config cp -r /etc/init.d/privoxy /etc/init.d/privoxy$i cp -r /usr/sbin/privoxy /usr/sbin/privoxy$i sed -i "s/NAME=privoxy/NAME=privoxy${i}/g" /etc/init.d/privoxy$i FROM="CONFIGFILE=\/etc\/privoxy\/config" TO="CONFIGFILE=\/etc\/privoxy${i}\/config" sed -i "s/$FROM/$TO/g" /etc/init.d/privoxy$i echo ": tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword \"\" --ControlPort $c_port --PidFile tor$i.pid --SocksPort $s_port --DataDirectory ${BASE_DIR}/tor$i" tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword "" --ControlPort $c_port --PidFile tor$i.pid --SocksPort $s_port --DataDirectory ${BASE_DIR}/tor$i echo "Update RC" update-rc.d privoxy$i defaults systemctl daemon-reload # /etc/init.d/privoxy$i restart done # netstat -4ln | grep $BASE_IP:80** | grep -Eo '10.{12}' > ./proxy_list.txt ;; 2) # echo " TOR\n" for i in $(seq 1 ${INSTANCE}); do c_port=$((TOR_CONTROL+i)) ./tor_renew.exp $c_port done ;; 3) for i in $(seq 1 ${PID_END}); do rm -r /etc/privoxy${i} rm /etc/init.d/privoxy${i} rm /usr/sbin/privoxy${i} done kill $(ps aux | grep -e 'tor' -e 'privoxy' | awk '{print $2}') ;; esac
また、制御ポートを介したTorストリーム更新スクリプト。
tor_renew.exp
#!/usr/bin/expect -f set port [lindex $argv 0] spawn telnet 127.0.0.1 $port expect "Escape character is '^]'." send "AUTHENTICATE\r" expect "250 OK" send "signal NEWNYM\r" expect "250 OK" send "quit\r"
そして、監視を強化することを忘れないでください!
PS使用できます!