mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-24 02:13:43 +03:00
Fix sanitizing logic to use new utils parser
This commit is contained in:
parent
9495910261
commit
e4bf2292b4
|
@ -403,16 +403,18 @@ export default function getProxyEditor(theState) {
|
||||||
const errors = splitBySemi(this.state.stashedExports)
|
const errors = splitBySemi(this.state.stashedExports)
|
||||||
.map((proxyAsString) => {
|
.map((proxyAsString) => {
|
||||||
|
|
||||||
const [rawType, crededAddr, ...rest] = proxyAsString.split(/\s+/);
|
const {
|
||||||
if (rest && rest.length) {
|
type,
|
||||||
return new Error(
|
creds,
|
||||||
`"${rest.join(', ')}" кажется мне лишним. Вы забыли ";"?`
|
hostname,
|
||||||
);
|
port,
|
||||||
}
|
} = theState.utils.parseProxyScheme(proxyAsString);
|
||||||
|
const crededAddr = `${creds ? `${creds}@` : ''}${hostname}:${port}`;
|
||||||
|
|
||||||
const knownTypes = PROXY_TYPE_LABEL_PAIRS.map(([type, label]) => type);
|
const knownTypes = PROXY_TYPE_LABEL_PAIRS.map(([type, label]) => type);
|
||||||
if( !knownTypes.includes(rawType.toUpperCase()) ) {
|
if( !knownTypes.includes(type.toUpperCase()) ) {
|
||||||
return new Error(
|
return new Error(
|
||||||
`Неверный тип ${rawType}. Известные типы: ${knownTypes.join(', ')}.`
|
`Неверный тип ${type}. Известные типы: ${knownTypes.join(', ')}.`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (!(crededAddr && /^(?:[^@]+@)?[^:]+:\d+$/.test(crededAddr))) {
|
if (!(crededAddr && /^(?:[^@]+@)?[^:]+:\d+$/.test(crededAddr))) {
|
||||||
|
@ -420,16 +422,10 @@ export default function getProxyEditor(theState) {
|
||||||
`Адрес прокси "${crededAddr || ''}" не соответствует формату "<опц_логин>:<опц_пароль>@<домен_или_IP>:<порт_из_цифр>".`
|
`Адрес прокси "${crededAddr || ''}" не соответствует формату "<опц_логин>:<опц_пароль>@<домен_или_IP>:<порт_из_цифр>".`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
let [creds, addr] = crededAddr.split('@');
|
const portInt = parseInt(port);
|
||||||
if (!addr) {
|
if (portInt < 0 || portInt > 65535) {
|
||||||
addr = creds;
|
|
||||||
creds = '';
|
|
||||||
}
|
|
||||||
const [hostname, rawPort] = addr.split(':');
|
|
||||||
const port = parseInt(rawPort);
|
|
||||||
if (port < 0 || port > 65535) {
|
|
||||||
return new Error(
|
return new Error(
|
||||||
`Порт "${rawPort}" должен быть целым числом от 0 до 65535.`
|
`Порт "${port}" должен быть целым числом от 0 до 65535.`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user