Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@prohetamine/proxy-checker

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@prohetamine/proxy-checker - npm Package Compare versions

Comparing version 1.1.2 to 1.1.3

README/russian.md

2

package.json
{
"name": "@prohetamine/proxy-checker",
"version": "1.1.2",
"version": "1.1.3",
"description": "Proxy parser & proxy checker",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -1,366 +0,8 @@

![enter image description here](/media/logo.png)
![logo](https://github.com/prohetamine/proxy-checker/blob/main/media/logo.png)
##### lang: [ru](#rulang) [en](#enlang)
##### README is available in the following languages: [Russian](https://github.com/prohetamine/proxy-checker/blob/main/README/russian.md) | [English](https://github.com/prohetamine/proxy-checker/blob/main/README.md)
# <a name="rulang">proxy-checker</a>
# proxy-checker
> proxy-checker - Максимально универсальный прокси-парсер и прокси-чекер.
### Почему ?
Мне, а значит и многим необходимо [получать](#load) прокси для обхода бана по IP при большом количестве запросов. Этот модуль позволяет выполнять практически все задачи связанные с подготовкой прокси. Мне, а значит многим требуется собирать прокси индивидуально для некоторых сайтов, я также позаботился об [этом](#checkerInterval). Надеюсь мой вклад облегчит кому-то [жизнь](https://www.patreon.com/prohetamine).
### С чего начать
Установим npm модуль ```@prohetamine/proxy-checker```
```sh
$ npm install @prohetamine/proxy-checker
```
или
```sh
$ yarn add @prohetamine/proxy-checker
```
### Примеры и описание
Подключение модуля
```sh
const proxy = require('@prohetamine/proxy-checker')
```
#### <a name="load">load</a>
Функция [load](#load) собирает прокси и легко их отдает через [all](#all) и [random](#random).
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| port | number | false | нет | используется для фильтра портов |
| debug | boolean | false | нет | используется для отладки |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
const count = await proxy.load({
port: 8888,
debug: true
})
console.log(count) // Количество собранных прокси с портом 8888
})()
```
#### <a name="loadInterval">loadInterval</a>
Функция [loadInterval](#loadInterval) собирает прокси с интервалом в _N миллисекунд_ и легко их отдает через [all](#all) и [random](#random).
| параметры | значение по-умолчанию | информация |
| ------ | ------ | ------ |
| function | () => {} | функция обратного вызова возвращающая в единственном аргументе количество загруженных IP |
| int | 5000 | интервал в миллисекундах |
| object | { started, port, debug } | дополнительные опции |
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| started | boolean | false | нет | используется для мгновенной загрузки |
| port | boolean | false | нет | используется для фильтра портов |
| debug | boolean | false | нет | используется для отладки |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
const kill = await proxy.loadInterval(count => {
console.log(`count parse: ${count}`) // Количество собранных прокси с портом 8080
}, 60000, { started: true, debug: false, port: 8080 })
console.log(proxy.all({ port: 8888 })) // Все загруженные IP адреса с портом 8888
console.log(proxy.random({ port: 80 })) // Один случайный IP адрес с портом 80
setInterval(() => {
if (proxy.all().length > 1488) {
console.log(proxy.all())
kill() // убивает текущий loadInterval
}
}, 5000)
})()
```
#### <a name="all">all</a>
Функция [all](#all) возвращает массив IP адресов когда он загружен [load](#load) или [loadInterval](#loadInterval) и false когда загрузка еще не произошла.
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| port | number | false | нет | используется для фильтра портов |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
const count = await proxy.load({
debug: true
})
console.log(proxy.all({ port: 1488 })) // Все загруженные IP адреса с портом 1488
})()
```
#### <a name="random">random</a>
Функция [random](#random) возвращает один случайный IP адрес когда он загружен [load](#load) или [loadInterval](#loadInterval) и false когда загрузка еще не произошла.
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| port | number | false | нет | используется для фильтра портов |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
const count = await proxy.load({
debug: true
})
console.log(proxy.random({ port: 8888 })) // Один случайный IP адрес с портом 8888
})()
```
#### <a name="checkerInterval">checkerInterval</a>
Функция [checkerInterval](#checkerInterval) чекает прокси с интервалом в _N миллисекунд_ для определенного сайта и легко их отдает через [get.all](#getall) и [get.random](#getrandom).
| параметры | значение по-умолчанию | информация |
| ------ | ------ | ------ |
| string | null | уникальный идентификатор |
| object | { url, isBrowser, browserConfig, timeout, stream, debug, indicators, session, onData } | дополнительные опции |
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| url | string | null | нет | ссылка на сайт |
| isBrowser | boolean | false | нет | используется для проверки через браузер |
| trashIgnore | boolean | false | нет | используется для оптимизации, убирает загрузку media, xhr, fetch, websocket, manifest, image, stylesheet, font, script |
| browserConfig | object | { ... } | нет | используется для настройки лаунчера |
| onData | function | () => { ... } | нет | используется для получения тела успешного запроса (рабоатает только для browser) |
| timeout | int | 10000 | нет | интервал в миллисекундах |
| stream | int | 2 | нет | количество одновременных потоков |
| debug | boolean | false | нет | используется для отладки |
| indicators | array | [] | нет | индикаторы правильно загруженных данных |
| session | string | false | нет | путь для сохранения валидных IP после завершения или сохранения |
| quarantineMode | boolean | false | нет | используется для переведения не рабочих прокси в карантин |
##### array[object]
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| keyword | string | нет | да | используется для поиска на странице по ключевому слову |
| selector | string | нет | да | используется для поиска на странице по дом ноде |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
await proxy.loadInterval(count => {
console.log(`count parse: ${count}`) // Количество собранных прокси
}, 60000, { started: true, debug: false })
const { key, kill, save, clean } = await proxy.checkerInterval('chaturbate', {
url: 'https://chaturbate.com/diana_smiley/',
isBrowser: true,
trashIgnore: true,
browserConfig: proxy => ({
headless: true,
ignoreHTTPSErrors: true,
args: [`--proxy-server=${proxy}`],
}),
timeout: 60000,
stream: 10,
session: __dirname + '/chaturbate.json',
debug: true,
indicators: [{
//keyword: 'close_entrance_terms',
selector: '#close_entrance_terms'
}] // Перечислите другие показатели в объектах если они требуются
})
setInterval(() => {
const proxys = proxy.get(key).all()
console.clear()
console.log(proxys, proxys.length)
if (proxys.length > 20) {
kill() // убивает текущий checkerInterval и сохраняет сессию
save() // только сохраняет сессию
}
}, 3000)
})()
```
```
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
await proxy.loadInterval(count => {
console.log(`count parse: ${count}`) // Количество собранных прокси с портом
}, 60000, { started: true, debug: false })
const keyName = null // Уникальный идентификатор для аккумуляции IP, если установлено значение null, будет сгенерировано автоматически
const { key, kill, save, clean } = await proxy.checkerInterval(keyName, {
url: 'https://github.com/prohetamine',
timeout: 30000,
stream: 20,
session: __dirname + '/github.json',
debug: true,
indicators: [{
keyword: 'Prohetamine',
//selector: '#close_entrance_terms'
}, {
keyword: 'Stas'
}] // Перечислите другие показатели в объектах если они требуются
})
setInterval(() => {
const proxys = proxy.get(key).all()
console.clear()
console.log(proxys, proxys.length)
if (proxys.length > 20) {
kill() // убивает текущий checkerInterval и сохраняет сессию
save() // только сохраняет сессию
}
}, 3000)
})()
```
#### <a name="getall">get.all</a>
Функция [get.all](#getall) возвращает массив прочеканых [checkerInterval](#checkerInterval) IP адресов по уникальному идентификатору и false когда загрузка еще не произошла.
##### get(key)
| параметры | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ |
| string | null | да |уникальный идентификатор |
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| port | number | false | нет | используется для фильтра портов |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
await proxy.loadInterval(count => {
console.log(`count parse: ${count}`) // Количество собранных прокси
}, 60000, { started: true, debug: false })
const { key, kill, save, clean } = await proxy.checkerInterval('chaturbate', {
url: 'https://chaturbate.com/diana_smiley/',
isBrowser: true,
debugBrowser: false,
timeout: 60000,
stream: 10,
session: __dirname + '/chaturbate.json',
debug: true,
indicators: [{
//keyword: 'close_entrance_terms',
selector: '#close_entrance_terms'
}] // Перечислите другие показатели в объектах если они требуются
})
setInterval(() => {
const proxys = proxy.get(key).all()
console.clear()
console.log(proxys, proxys.length)
if (proxys.length > 20) {
kill() // убивает текущий checkerInterval и сохраняет сессию
save() // только сохраняет сессию
}
}, 3000)
})()
```
#### <a name="getrandom">get.random</a>
Функция [get.random](#getrandom) возвращает один случайный из прочеканых [checkerInterval](#checkerInterval) IP адресов по уникальному идентификатору и false когда загрузка еще не произошла.
##### get(key)
| параметры | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ |
| string | null | да |уникальный идентификатор |
##### object
| ключ | значение | значение по-умолчанию | обязательный | информация |
| ------ | ------ | ------ | ------ | ------ |
| port | number | false | нет | используется для фильтра портов |
```sh
const proxy = require('@prohetamine/proxy-checker')
;(async () => {
await proxy.loadInterval(count => {
console.log(`count parse: ${count}`) // Количество собранных прокси
}, 60000, { started: true, debug: false })
const { key, kill, save, clean } = await proxy.checkerInterval('chaturbate', {
url: 'https://chaturbate.com/diana_smiley/',
isBrowser: true,
debugBrowser: false,
timeout: 60000,
stream: 10,
session: __dirname + '/chaturbate.json',
debug: true,
indicators: [{
//keyword: 'close_entrance_terms',
selector: '#close_entrance_terms'
}] // Перечислите другие показатели в объектах если они требуются
})
setInterval(() => {
console.log(proxy.get(key).random())
}, 3000)
})()
```
### Другие примеры
[больше...](/examples)
### Контакты
Мой Телеграм: [@prohetamine](https://t.me/prohetamine), [канал](https://t.me/prohetamine)
Почта: prohetamine@gmail.com
Донат денег: [patreon](https://www.patreon.com/prohetamine)
Если у вас есть какие-либо вопросы и/или предложения, пожалуйста, напишите мне в телеграмме, если вы найдете ошибки также дайте мне знать, я буду очень благодарен.
-------- OTHER WORLD --------
##### lang: [ru](#rulang) [en](#enlang)
# <a name="enlang">proxy-checker</a>
> proxy-checker - The most versatile proxy parser and proxy checker.

@@ -703,9 +345,7 @@

### Other examples
Other examples from this project can be found here: [examples](https://github.com/prohetamine/proxy-checker/blob/main/examples)
[more...](/examples)
### Contacts
My Telegram: [@prohetamine](https://t.me/prohetamine), [channel](https://t.me/prohetamine)
My Telegram: [@prohetamine](https://t.me/prohetamine), [channel](https://t.me/prohetamines)

@@ -712,0 +352,0 @@ Email: prohetamine@gmail.com

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc