一个HTTP/HTTPS 代理服务器在你身边,为你世界各地的代理流量加速/压缩/轮流/分发/管理/监控/汇报/日志/调试
用 Luminati HTTP/HTTPS 代理管理器你可以使用Luminati 住宅 IPs 或 Luminati 数据心 IPs.
这个工具需要一个 Luminati 账户.
- 可扩展
- 连接池(更快的反应)
- 省心的建立组态
- 统计数据
- 每N请求自动轮流IP
- 负载均衡
- SSL 嗅探
- SOCKSv5 代理
软件要求:
下载 代理管理安装器.
- 安装 Node.js 6+版 (最好用x nave)
- 从终端安装 Luminati 代理:
sudo npm install -g luminati-io/luminati-proxy
- 用npm升级
sudo npm install -g luminati-io/luminati-proxy
你可以在 CHANGELOG.md 里找到每个版本的修改.
第一次运行之后:
luminati
把你的浏览器设到 http://127.0.0.1:22999 为了设置凭证和代理服务器.
登录之后,你会看到Luminati的默认设置所含一个”drop in”代理服务器在接口22225运行。细节提供在下面.
Luminati 代理服务器所含的”Dropin 模式” 和现有的超级代理服务器的功能相同。在 ‘dropin’ 模式运行代理时,你不需要登录行政UI就能发出请求。代理账户和密码会自动被提供。’dropin’ 模式是默认模式,和可以让你容易的从一般的超级代理服务器转到Luminati 代理管理器.
’dropin’ 模式是默认模式。如果你想禁用’dropin’,请用命令:--no-dropin:
luminati --no-dropin
为了完整的API解说文件 (为了'dropin'代理请求),请从你的Luminati.io账户关注 API例网页.
luminati --help
Usage:
luminati [options] config1 config2 ...
Options:
--port, -p Port for the HTTP proxy [number]
--proxy_type Decide if to save proxy into the configuration file.
specifing "persist" in "proxy_type" value will create
port and save it in the configuration file. [string]
--multiply Multiply the port definition given number of times
[number]
--history Logs [boolean] [default: false]
--ssl Enable SSL analyzing [boolean] [default: false]
--socks SOCKS5 port [number]
--log Log level [string] [default: "error"]
--iface Interface or IP to listen on
[string] [default: "0.0.0.0"]
--customer Luminati customer [string]
--zone Zone [string] [default: "static"]
--password Zone password [string]
--proxy Hostname or IP of super proxy
[string] [default: "zproxy.lum-superproxy.io"]
--proxy_port Super proxy port [number] [default: 22225]
--proxy_count Minimum number of super proxies to use
[number] [default: 1]
--secure_proxy Use SSL when accessing super proxy
[boolean] [default: false]
--short_username Use Shorthand username for super proxy credentials
[boolean] [default: false]
--proxy_switch Automatically switch super proxy on failure
[number] [default: 5]
--proxy_retry Automatically retry on super proxy failure
[number] [default: 2]
--use_proxy_cache Cache resolved ips of superagents
[boolean] [default: true]
--insecure Enable SSL connection/analyzing to insecure hosts
[boolean] [default: false]
--country Country [string]
--state State [string]
--city City [string]
--asn ASN [number]
--ip Datacenter IP [string]
--vip VIP [number]
--ext_proxies A list of proxies from external vendors. Format:
[username:password@]ip[:port] [array]
--ext_proxy_username default username for external vendor ips [string]
--ext_proxy_password default password for external vendor ips [string]
--ext_proxy_port default port for external vendor ips [number]
--dns DNS resolving [string]
--reverse_lookup_dns Process reverse lookup via DNS
[boolean] [default: false]
--reverse_lookup_file Process reverse lookup via file [string]
--reverse_lookup_values Process reverse lookup via value [array]
--debug Luminati request debug info [string]
--timeout Overall request timeout (seconds) [number]
--request_timeout Timeout for request on the super proxy (seconds)
[number]
--allow_proxy_auth Allow Luminati authentication per request
[boolean] [default: true]
--session Luminati session for all proxy requests [string]
--sticky_ip Use session per requesting host to maintain IP per
host [boolean] [default: false]
--pool_size Session pool size [number] [default: 3]
--pool_type Pool session iteration order
[string] [default: "sequential"]
--keep_alive Generate request to keep session alive after given
idle time (seconds) [number]
--seed Session ID seed used for identifying sessions from
this proxy [string]
--max_requests Maximum requests per session [string] [default: 50]
--session_duration Maximum duration of session (seconds) [string]
--throttle Throttle requests above given number [number]
--null_response URL regex pattern for null response [string]
--bypass_proxy URL regex for bypassing the proxy manager and send
directly to host [string]
--direct_include URL regex for requests to be sent directly from super
proxy [string]
--exclude_include URL regex for requests to not be sent directly from
super proxy [string]
--rules Proxy request rules [default:
{"post":[{"res":[{"action":{"req_status_cnt":true,"req_status_success":true,"r
etry":false},"head":true,"status":{"arg":"([23]..|404)","type":"=~"}},{"action
":{"req_status_cnt":true,"req_status_success":false,"retry":false},"head":true
,"status":{"arg":"([23]..|404)","type":"!~"}}],"url":"**","tag":"req_status"}]
}]
--whitelist_ips Whitelist ip list for granting access to proxy
[array] [default: []]
--race_reqs Race several requests at once and choose fastest
[number]
--disable_color Disable colors in log [boolean] [default: false]
--www HTTP port for browser admin UI [default: 22999]
--ws Websocket port used for request logs [default: 22998]
--config Config file containing proxy definitions
[string] [default: "/home/maximk/.luminati.json"]
--database Database file containing logs and cached values
[string] [default: "/home/maximk/.luminati.sqlite3"]
--cookie Cookie Jar file
[string] [default: "/home/maximk/.luminati.jar"]
--mode Defines a set of permissible operations within the
UI/API [string] [default: "root"]
--dropin Create dropin mode proxy port (default: 22225)
[boolean] [default: true]
--dropin_port Port for dropin mode [default: 22225]
--no_usage_stats Disable collection of usage statistics
[boolean] [default: false]
--token A Google authorization token for accessing
luminati.io [string]
--proxy_creds_check Validate proxy credentials [boolean] [default: true]
--request_stats Enable requests statistics [boolean] [default: true]
--request_stats_limit Maximum request stats to keep [default: 5000]
--beta_features Enable beta features [boolean] [default: false]
--test_url A url for testing proxy
[string] [default: "http://lumtest.com/myip.json"]
--no-www Disable local web
--no-config Working without a config file
--no-cookie Working without a cookie file
--daemon, -d Start as a daemon
--stop-daemon Stop running daemon
--upgrade Upgrade proxy manager
--version, -v Show version number [boolean]
--help, -h, -? Show help [boolean]
--api [default: "https://luminati-china.io"]
'Docker' 图片能在这里找着 https://hub.docker.com/r/luminati/luminati-proxy/
docker pull luminati/luminati-proxy
docker run luminati/luminati-proxy
docker run luminati/luminati-proxy luminati --version
-ssl 参数是为了 SSL analyzing, HTTPS请求不需要它就能运行
常见问题 FAQ
如果你在Luminati 常见问题找不着解决方式,可以在 github 上提问.
或联系 support@luminati.io.
API的解说文件能在APP里找着
详细解释能在 这里 找到
代理管理器可以当作一个需要的软件为了node.js软件 - 消除独立运行node.js的必要.
API支持 Promises 和 Generators. 它内部会用 request module 莫和支持所有它的特征
'use strict';
const Luminati = require('luminati-proxy').Luminati;
const proxy = new Luminati({
customer: 'CUSTOMER', // your customer name
password: 'PASSWORD', // your password
zone: 'gen', // zone to use
proxy_count: 5, //minimum number of proxies to use for distributing requests
});
proxy.on('response', res=>console.log('Response:', res));
proxy.listen(0, '127.0.0.1').then(()=>new Promise((resolve, reject)=>{
proxy.request('http://lumtest.com/myip', (err, res)=>{
if (err)
return reject(err);
resolve(res);
});
})).then(res=>{
console.log('Result:', res.statusCode, res.body);
}, err=>{
console.log('Error:', err);
}).then(()=>proxy.stop());
'use strict';
const etask = require('hutil').etask;
const Luminati = require('luminati-proxy').Luminati;
etask(function*(){
const proxy = new Luminati({
customer: 'CUSTOMER', // your customer name
password: 'PASSWORD', // your password
zone: 'gen', // zone to use
proxy_count: 5, //minimum number of proxies to use for distributing requests
});
yield proxy.listen(0, '127.0.0.1'); // port and ip to listen to
let res = yield etask.nfn_apply(proxy, '.request',
['http://lumtest.com/myip']);
console.log('Result:', res.statusCode, res.body);
yield proxy.stop();
});