Skip to content

Commit

Permalink
1.391.825
Browse files Browse the repository at this point in the history
  • Loading branch information
tenne committed Jun 26, 2023
1 parent f3ed57c commit 9f5a241
Show file tree
Hide file tree
Showing 25 changed files with 107 additions and 67 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Proxy manager - Change Log

## 1.391.155 Stable
- :star: Checking traffic for malware option on cloud lpm agents
## 1.391.825 Stable
- :bug: fix update general settings via UI

## 1.390.445 Stable
- :bug: fix unable update port to number less then UI port
Expand Down
4 changes: 2 additions & 2 deletions README-zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
- <a href="https://nodejs.org/en/download/">Node.js</a> 6+版

### Windows
下载 <a href="https://lum-lpm.com/static/lpm/luminati-proxy-manager-v1.391.155-setup.exe">代理管理安装器</a>.
下载 <a href="https://lum-lpm.com/static/lpm/luminati-proxy-manager-v1.391.825-setup.exe">代理管理安装器</a>.

### Linux/MacOS
- 安装 Node.js 10.15.3版 (最好用x
Expand Down Expand Up @@ -107,7 +107,7 @@ Options:
--zone Zone name [string] [default: "static"]
--password Zone password [string]
--proxy Hostname or IP of super proxy
[string] [default: "zproxy.lum-superproxy.io"]
[string] [default: "brd.superproxy.io"]
--proxy_port Super proxy port [number] [default: 22225]
--proxy_connection_type Determines what kind of connection will be
used between Proxy Manager and Super Proxy
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Please report issues or bugs to your account manager or from our [help center](h
## Installation

### Windows
Download the [Proxy Manager installer](https://github.com/luminati-io/luminati-proxy/releases/download/v1.391.155/luminati-proxy-manager-v1.391.155-setup.exe)
Download the [Proxy Manager installer](https://github.com/luminati-io/luminati-proxy/releases/download/v1.391.825/luminati-proxy-manager-v1.391.825-setup.exe)

### Linux/MacOS - Install script
- Run the setup script to install
Expand Down Expand Up @@ -159,7 +159,7 @@ Options:
--zone Zone name [string] [default: "static"]
--password Zone password [string]
--proxy Hostname or IP of super proxy
[string] [default: "zproxy.lum-superproxy.io"]
[string] [default: "brd.superproxy.io"]
--proxy_port Super proxy port [number] [default: 22225]
--proxy_connection_type Determines what kind of connection will be
used between Proxy Manager and Super Proxy
Expand Down
2 changes: 1 addition & 1 deletion bin/lpm_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if [ $(id -u) = 0 ]; then
IS_ROOT=1
fi
LUM=0
VERSION="1.391.155"
VERSION="1.391.825"
if [ -f "/usr/local/hola/zon_config.sh" ]; then
LUM=1
fi
Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bin/pub/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><html><head><meta charset="utf-8"><title>Proxy Manager</title><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><base href="/"><link rel="shortcut icon" href="/favicon.ico"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.0/css/all.css" integrity="sha384-Mmxa0mLqhmOeaE8vgOSbKacftZcsNYDjQzuCOm6D02luYSzBG8vpaOykv9lFQ51Y" crossorigin="anonymous"></head><body><div id="react_root"></div><div id="notif_react_modal"></div><div id="del_modal"></div><script src="/184114fda7188f14a2d0.runtime.js"></script><script src="/7fa460a8b95add180df3.app.js"></script><script src="/51f2f7d96de8ad7b9770.vendor.js"></script></body></html>
<!doctype html><html><head><meta charset="utf-8"><title>Proxy Manager</title><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><base href="/"><link rel="shortcut icon" href="/favicon.ico"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.0/css/all.css" integrity="sha384-Mmxa0mLqhmOeaE8vgOSbKacftZcsNYDjQzuCOm6D02luYSzBG8vpaOykv9lFQ51Y" crossorigin="anonymous"></head><body><div id="react_root"></div><div id="notif_react_modal"></div><div id="del_modal"></div><script src="/184114fda7188f14a2d0.runtime.js"></script><script src="/15ac732d00e979faf7c5.app.js"></script><script src="/51f2f7d96de8ad7b9770.vendor.js"></script></body></html>
2 changes: 1 addition & 1 deletion extensions/timezone/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@
"*://*/*",
"webNavigation"
],
"version": "1.391.155"
"version": "1.391.825"
}
2 changes: 1 addition & 1 deletion extensions/webrtc/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
"permissions": [
"privacy"
],
"version": "1.391.155"
"version": "1.391.825"
}
1 change: 1 addition & 0 deletions lib/lpm_f.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const util_lib = require('./util.js');
const consts = require('./consts.js');

const domains = [
'brd.superproxy.io',
'lum-superproxy.io',
'luminati.io',
];
Expand Down
3 changes: 2 additions & 1 deletion lib/manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -1959,7 +1959,7 @@ E.prototype.get_params = function(){

E.prototype.get_cloud_url_address = function(){
const {_defaults: {account_id, customer_id}} = this;
return `pmgr-customer-${customer_id||account_id}.zproxy.lum-superproxy.io`;
return `pmgr-customer-${customer_id||account_id}.brd.superproxy.io`;
};

E.prototype.get_settings = function(){
Expand Down Expand Up @@ -3807,6 +3807,7 @@ function*run_resolving_proxies(_this){

E.prototype.resolve_proxies = etask._fn(function*resolve_proxies(_this){
const superproxy_domains = [
'brd.superproxy.io',
'zproxy.lum-superproxy.io',
'zproxy.luminati.io',
'zproxy.'+_this._defaults.api_domain,
Expand Down
12 changes: 11 additions & 1 deletion lib/middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const lpm_api_models = require('../util/lpm_api_models.js');
const lpm_util = require('./util.js');
const logger = require('./logger.js').child({category: 'MW'});
const {RL_MAX_REQS, RL_WINDOW, HL_TRANSPORT_MAX_AGE} = require('./consts.js');
const {keys} = Object;
const E = module.exports;

const add_successor_header = (res, link)=>{
Expand Down Expand Up @@ -80,26 +81,35 @@ E.deprecation = {
},
};

const coerce_conf = (source, schema)=>Object.keys(source).forEach(k=>{
const coerce_conf = (source, schema)=>keys(source).forEach(k=>{
if (!schema[k] || !schema[k].type)
return;
const required = lpm_util.alias_type(schema[k].type);
const actual = typeof source[k];
if (actual != required)
source[k] = lpm_util.get_coercer(actual, required)(source[k]);
if (lpm_util.bool_str.includes(source[k]))
source[k] = lpm_util.coercers.string.boolean(source[k]);
});

const empty_arrays = obj=>keys(obj).forEach(k=>{
if (Array.isArray(obj[k]) && obj[k].length==1 && obj[k][0]==='')
obj[k] = [];
});

E.validator = {
port_conf: (req, res, next)=>{
if (_.isEmpty(req.body) || _.isEmpty(req.body.proxy))
return void next();
coerce_conf(req.body.proxy, lpm_api_models.proxy_fields);
empty_arrays(req.body.proxy);
next();
},
settings: (req, res, next)=>{
if (_.isEmpty(req.body))
return void next();
coerce_conf(req.body, lpm_api_models.manager_fields);
empty_arrays(req.body);
next();
},
};
Expand Down
2 changes: 1 addition & 1 deletion lib/swagger.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
"version": "1.391.155",
"version": "1.391.825",
"title": "Proxy Manager",
"license": {
"name": "MIT",
Expand Down
2 changes: 2 additions & 0 deletions lib/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -662,3 +662,5 @@ E.alias_type = type=>{

E.get_coercer = (from, to)=>E.coercers[from] && E.coercers[from][to]
|| E.coercers.default(to);

E.bool_str = ['true', 'false'];
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@
"webpack.dev.js",
"webpack.prod.js"
],
"md5": "0dc914829a663245ac7f13380c4eaa97"
"md5": "66180cf28423edd58a4a37bd6e83efce"
},
"main": "bin/index.js",
"name": "@luminati-io/luminati-proxy",
Expand Down Expand Up @@ -449,5 +449,5 @@
"build": "webpack --env production",
"dev": "webpack --env development"
},
"version": "1.391.155"
"version": "1.391.825"
}
17 changes: 15 additions & 2 deletions src/pub/api.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
// LICENSE_CODE ZON ISC
'use strict'; /*jslint browser:true, react:true, es6:true*/
import _ from 'lodash4';
import etask from '../../util/etask.js';
import ajax from '../../util/ajax.js';
import date from '../../util/date.js';
const {assign} = Object;
const {assign, keys} = Object;

const process_payload = payload=>{
if (!payload || _.isEmpty(payload))
return payload;
let new_pl = _.cloneDeep(payload);
keys(new_pl).forEach(k=>{
// jquery omit empty arrays in req body payload
if (Array.isArray(new_pl[k]) && !new_pl[k].length)
new_pl[k] = [''];
});
return new_pl;
};

const Requester = etask._class(class Requester {
constructor(json, base_url, qs, headers){
Expand Down Expand Up @@ -35,7 +48,7 @@ const Requester = etask._class(class Requester {
method,
qs: _qs,
headers: _headers,
data: body,
data: process_payload(body),
json: !!_this.json,
timeout,
return_headers: exp_hdr,
Expand Down
22 changes: 11 additions & 11 deletions src/pub/instructions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ const E = {};

E.code = (proxy=22225, lpm_token, hostname=document.location.hostname)=>({
shell: `curl --proxy ${hostname}:${proxy} ${!is_local() && lpm_token ?
`--proxy-user lum-auth-token:${lpm_token} ` : ''}`
`--proxy-user brd-auth-token:${lpm_token} ` : ''}`
+`"http://lumtest.com/myip.json"`,
node: `#!/usr/bin/env node
require('request-promise')({
url: 'https://lumtest.com/myip.json',
proxy: 'http://${!is_local() && lpm_token ? `lum-auth-token:${lpm_token}@`
proxy: 'http://${!is_local() && lpm_token ? `brd-auth-token:${lpm_token}@`
: ''}${hostname}:${proxy}',
rejectUnauthorized: false
}).then(function(data){
Expand Down Expand Up @@ -49,7 +49,7 @@ public class Example {
new InetSocketAddress("${hostname}", ${proxy}));
URLConnection yc = url.openConnection(proxy);${!is_local() &&
lpm_token ? `
String auth = "lum-auth-token:${lpm_token}";
String auth = "brd-auth-token:${lpm_token}";
String encoded_auth = Base64.getEncoder().encodeToString(
auth.getBytes());
yc.setRequestProperty("Proxy-Authorization", "Basic "+encoded_auth);`
Expand All @@ -74,7 +74,7 @@ class Example
let client = new WebClient();
client.Proxy = new WebProxy("${hostname}:${proxy}");${!is_local() &&
lpm_token? `
client.Proxy.Credentials = new NetworkCredential("lum-auth-token", "${lpm_token}");` : ''};
client.Proxy.Credentials = new NetworkCredential("brd-auth-token", "${lpm_token}");` : ''};
Console.WriteLine(client.DownloadString(
"https://lumtest.com/myip.json"));
}
Expand All @@ -86,7 +86,7 @@ Module Example
Dim Client As New WebClient
Client.Proxy = New WebProxy("http://${hostname}:${proxy}")${
!is_local() && lpm_token ? `
Client.Proxy.Credentials = New NetworkCredential("lum-auth-token", "${lpm_token}")` : ''}
Client.Proxy.Credentials = New NetworkCredential("brd-auth-token", "${lpm_token}")` : ''}
Console.WriteLine(Client.DownloadString(
"http://lumtest.com/myip.json"))
End Sub
Expand All @@ -103,7 +103,7 @@ if sys.version_info[0]==2:
ctx.verify_flags = ssl.VERIFY_DEFAULT
opener = request.build_opener(
request.ProxyHandler({'http': 'http://${!is_local && lpm_token ?
`lum-auth-token:${lpm_token}@` : ''}${hostname}:${proxy}'}),
`brd-auth-token:${lpm_token}@` : ''}${hostname}:${proxy}'}),
request.HTTPSHandler(context=ctx))
print(opener.open('https://lumtest.com/myip.json').read())
if sys.version_info[0]==3:
Expand All @@ -112,7 +112,7 @@ if sys.version_info[0]==3:
ctx.verify_flags = ssl.VERIFY_DEFAULT
opener = urllib.request.build_opener(
urllib.request.ProxyHandler({'http': 'http://${!is_local() && lpm_token
? `lum-auth-token:${lpm_token}@` : ''}${hostname}:${proxy}'}),
? `brd-auth-token:${lpm_token}@` : ''}${hostname}:${proxy}'}),
urllib.request.HTTPSHandler(context=ctx))
print(opener.open('https://lumtest.com/myip.json').read())`,
ruby: `#!/usr/bin/ruby
Expand All @@ -122,7 +122,7 @@ require 'net/http'
uri = URI.parse('{{example.user_url}}')
proxy = Net::HTTP::Proxy('${hostname}', ${proxy}${!is_local() && lpm_token ?
`, 'lum-auth-token', '${lpm_token}'` : ''})
`, 'brd-auth-token', '${lpm_token}'` : ''})
req = Net::HTTP::Get.new(uri.path)
Expand All @@ -134,15 +134,15 @@ puts result.body`,
php: `<?php
$curl = curl_init('https://lumtest.com/myip.json');
curl_setopt($curl, CURLOPT_PROXY, 'http://${hostname}:${proxy}');${!is_local() && lpm_token ? `
curl_setopt($curl, CURLOPT_PROXYUSERPWD, 'lum-auth-token:${lpm_token}')` : ''}
curl_setopt($curl, CURLOPT_PROXYUSERPWD, 'brd-auth-token:${lpm_token}')` : ''}
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($curl);
?>`,
perl: `#!/usr/bin/perl
use LWP::UserAgent;
my $agent = LWP::UserAgent->new();
$agent->proxy(['http', 'https'], "http://${!is_local() && lpm_token ?
`lum-auth-token:${lpm_token}\\@` : ''}${hostname}:${proxy}");
`brd-auth-token:${lpm_token}\\@` : ''}${hostname}:${proxy}");
print $agent->get('http://lumtest.com/myip.json')->content();`,
});

Expand All @@ -157,7 +157,7 @@ const Auth_step = ({lpm_token, type})=>{
if (is_local() || !lpm_token)
return null;
const creds = <React.Fragment>
<code><T>Username</T></code>:<Code>lum-auth-token</Code><br/>
<code><T>Username</T></code>:<Code>brd-auth-token</Code><br/>
<code><T>Password</T></code>:<Code>{lpm_token}</Code>
</React.Fragment>;
if (type=='mac')
Expand Down
2 changes: 1 addition & 1 deletion util/lpm_config_static.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ conf.server_default = {
tls_lib: 'open_ssl',
av_check: false,
test_url: 'http://lumtest.com/myip.json',
proxy: 'zproxy.lum-superproxy.io',
proxy: 'brd.superproxy.io',
proxy_port: 22225,
proxy_retry: 2,
proxy_country: '',
Expand Down
3 changes: 2 additions & 1 deletion util/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ E.get_nth_level_domain = function(domain, level, strip_www){
// XXX josh: move to email.js:get_domain
E.get_domain_email = function(email){
// XXX viktor: /^[\p{L}0-9_.\-+*%!]+@(.*)$/u works only in ES9
var match = (email||'').toLowerCase().match(/^[a-z0-9_.\-+*%!ö]+@(.*)$/);
var match = String(email||'').toLowerCase()
.match(/^[a-z0-9_.\-+*%!ö]+@(.*)$/);
return match && match[1];
};

Expand Down
6 changes: 3 additions & 3 deletions versions.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[
{
"ver": "1.391.155",
"ver": "1.391.825",
"type": "stable",
"changes": [
{
"type": "star",
"text": "Checking traffic for malware option on cloud lpm agents"
"type": "bug",
"text": "fix update general settings via UI"
}
]
},
Expand Down
2 changes: 1 addition & 1 deletion www/lum/pub/locale/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
"Guidelines to switch from API to Proxy Manager:": "Guía para cambiar de API a Proxy Manager?",
"Install the Bright Data Proxy Manager": "Instala el Bright Data Proxy Manager",
"here": "Aquí",
"Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to zproxy.lum-superproxy.io:22225": "Cambia el codigo de mandar HTTP requests directo al puerto especifico (por ejemplo 127.0.0.1:24000) en vez de hacerlo a zproxy.lum-superproxy.io:22225",
"Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to brd.superproxy.io:22225": "Cambia el codigo de mandar HTTP requests directo al puerto especifico (por ejemplo 127.0.0.1:24000) en vez de hacerlo a brd.superproxy.io:22225",
"Configure the settings for your custom proxies and Zones through the LPM dashboard. You do not need to send the user parameter (brd-customer-customer_name-zone-zone_name…) alongside your requests, as all the needed data is wrapped within the manual proxy configuration.": "Configura las settings para tus Custom proxies y las zonas a traves del Dashboard del LPM. No es necesario mandar el user parameter (brd-customer-customer_name-zone-zone_name…) en las requests, ya que todos los datos necesarios son tomados de la configuracion del LPM.",
"How to configure Bright Data raw API with iPhone": "Cómo configurar Bright Data raw API en un iPhone",
"Guidelines for configuring Bright Data raw API with iPhone": "Guía para configurar Bright Data raw API en un iPhone",
Expand Down
2 changes: 1 addition & 1 deletion www/lum/pub/locale/pt-br.json
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@
"Install the Bright Data Proxy Manager":
"Instale o Gerenciador de Proxies Bright Data ",
"here": "Aqui",
"Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to zproxy.lum-superproxy.io:22225": "Altere o código para enviar solicitações HTTP diretamente para a porta especificada (por exemplo, 127.0.0.1:24000) em vez de para zproxy.lum-superproxy.io:22225",
"Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to brd.superproxy.io:22225": "Altere o código para enviar solicitações HTTP diretamente para a porta especificada (por exemplo, 127.0.0.1:24000) em vez de para brd.superproxy.io:22225",
"Configure the settings for your custom proxies and Zones through the LPM dashboard. You do not need to send the user parameter (brd-customer-customer_name-zone-zone_name…) alongside your requests, as all the needed data is wrapped within the manual proxy configuration.": "Configure as configurações para os seus proxies e zonas por meio do painel do LPM. Você não precisa enviar o parâmetro do usuário (brd-customer-customer_name-zone-zone_name ...) juntamente com suas solicitações, pois todos os dados necessários são agrupados na configuração do proxy manual.",
"How to configure Bright Data raw API with iPhone":
"Como configurar o API Bright Data com iPhone",
Expand Down
2 changes: 1 addition & 1 deletion www/lum/pub/locale/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -2431,7 +2431,7 @@
"Assuming you're running 10 million requests, 1 request per second per IP with 1000 data center IPs, your routine can take about 3 hours. With 10,000,000 residential IPs, your routine can potentially take 1 second.": "Предположим, что Вы выполняете 10 миллионов запросов, 1 запрос в секунду на IP с 1000 Дата Центр IP. Данная операция может занять около 3 часов. С 10 000 000 резидентских IP это займет всего 1 секунду.",
"Check the port of your residential Zone": "Проверьте порт Вашей резидентской зоны",
"Amount of time between IP changes": "Время между ротацией IP",
"Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to zproxy.lum-superproxy.io:22225": "Измените код для отправки HTTP-запросов непосредственно на указанный порт (например, 127.0.0.1:24000) вместо zproxy.lum-superproxy.io:22225",
"Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to brd.superproxy.io:22225": "Измените код для отправки HTTP-запросов непосредственно на указанный порт (например, 127.0.0.1:24000) вместо brd.superproxy.io:22225",
"Cost effectiveness of residential IPs": "Экономическая эффективность резидентских IP",
"How do I rotate my IP address?": "Как датировать мой IP-адрес?",
"is the port of the residential Zone": "это порт резидентской зоны",
Expand Down
Loading

0 comments on commit 9f5a241

Please sign in to comment.