AdslProxy

MIT License

Stars
17

1.

sh ppp.sh
adsl-start

2.

CentOSTinyProxy

yum install -y epel-release
yum update -y
yum install -y tinyproxy

vi /etc/tinyproxy/tinyproxy.conf
Allow 127.0.0.1

systemctl enable tinyproxy.service
systemctl restart  tinyproxy.service

curl -x IP:PORT www.baidu.com

IPIPPORT

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
systemctl stop firewalld.service

3.Python3

CentOS

sudo yum groupinstall -y development tools
sudo yum install -y epel-release python34-devel  libxslt-devel libxml2-devel openssl-devel
sudo yum install -y python34 python34-setuptools
sudo easy_install-3.4 pip

Ubuntu

sudo apt-get install -y python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
sudo apt-get install -y python3 python3-pip

4.

pip3 install redis tornado requests

5.Clone

git clone https://github.com/Germey/ADSLProxy.git

6.Redis

RedisIPVPSRedis

7.

adslproxy/config.py

ADSL_BASH

adsl-stop;adsl-start

PROXY_PORT

TinyProxy8888Squid31288888

CLIENT_NAME

adsl1

ADSL_IFNAME

ifconfigIPppp0

REDIS_HOST

RedisIPRedis Hostlocalhost

REDIS_PASSWORD

RedisNoneNone

REDIS_PORT

Redis6379

PROXY_KEY

Redisadsl

8.

python3 run.py
(python3 run.py > /dev/null &)

1.ADSLProxy

pip3 install adslproxy

2.Redis

from adslproxy import RedisClient, server

client = RedisClient(host='', password='', port='')
random = client.random()
all = client.all()
first = client.first()
keys = client.keys()
count = client.count()


print('RANDOM:', random)
print('ALL:', all)
print('FIRST:', first)
print('KEYS:', keys)
print('COUNT:', count)

host

RedisIPlocalhost

password

RedisNone

port

Redis6379

proxy_key

Redisadsl

random()

Redis

all()

Redislist

first()

Redis

keys()

Redis

count()

Redis

RANDOM: 118.124.38.119:8888
ALL: [{'name': 'adsl2', 'proxy': '112.84.20.161:8888'}, {'name': 'adsl1', 'proxy': '118.124.38.119:8888'}]
FIRST: 112.84.20.161:8888
KEYS: ['adsl2', 'adsl1']
COUNT: 2
import requests
proxies  = {
  'http': 'http://' + client.random()
}
r = requests.get('http://httpbin.org/get', proxies=proxies)
print(r.text)

3.API

from adslproxy import RedisClient, server
client = RedisClient(host='', password='', port='')
server(client, port=8000)

8000API

import requests

def get_random_proxy():
    try:
        url = 'http://localhost:8000/random'
        return requests.get(url).text
    except requests.exceptions.ConnectionError:
        return None
import requests
proxies  = {
  'http': 'http://' + get_random_proxy()
}
r = requests.get('http://httpbin.org/get', proxies=proxies)
print(r.text)