Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avin/bez-zapreta


https://github.com/avin/bez-zapreta

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

        

# Bez-Zapreta

Socks5 прокси сервер, который проверяет, находится ли запрашиваемый ресурс в черных списках и только в этом случае использует обходной путь.
В случае если ресурса нет в списках - трафик на него пойдет напрямую.

## Установка и запуск

Установите выполнив команду (нужно предварительно установить Node.js):

```sh
npm i -g bez-zapreta
```

Положите в домашнюю директорию файл `.bez-zapreta.js` с настройками обхода блокировки (примеры настроек см. ниже) и запускайте сервер:

```sh
bez-zapreta
```

После этого пропишите в браузере адрес socks5 прокси (по умолчанию это 127.0.0.1:1080). Наслаждайтесь!

## Примеры настроек

Для работы программы необходимо задать способ обход блокировки. Доступные способы: `socks5`; `ssh`;

Общие необязательные параметры:

```js
module.exports = {
// Хост для socks5 сервера (по умочанию '127.0.0.1')
host: '127.0.0.1',

// Порт для socks5 сервер (по умочанию 1080)
port: 1080,

// Список доменов для которых будет применяться обходной путь
domains: ['wixmp.com'],

// Список IP для которых будет применяться обходной путь
ips: ['95.66.188.0/24'],

// Ссылки на файлы со списком IP адресов для которых будет применяться обходной путь
ipsUrls: ['https://antifilter.download/list/allyouneed.lst'],

// Ссылки на файлы со списком доменов для которых будет применяться обходной путь
domainsUrls: ['https://community.antifilter.download/list/domains.lst'],

// Автоматически применять правила для субдоменов из списка доменов (по умолчанию true)
// Например если у вас в списках доменов есть 'wixmp.com', то правила будут применены ко всем субдоменам '*.wixmp.com'
withSubdomains: true,

// ... тут обязательные настройки обхода блокировки (см. ниже) ...
};
```

Нужно добавить хотя бы один список, иначе программа будет работать в холостую. Рекомендуем начать с

```js
ipsUrls: ['https://antifilter.download/list/allyouneed.lst'];
```

и добавлять другие списки по мере необходимости.

### Обходные пути:

#### Через Socks5

```javascript
module.exports = {
// ... тут необязательные настройки (см. выше) ...

method: 'socks5',
socks5: {
host: 'mysocks.com', // Тут сервер через который будем пропускать запросы на заблокированные ресурсы
port: 1080,

// username: 'login', // Если сервер требует авторизацию
// password: 'password',
},
};
```

#### Через SSH

SSH сервер должен поддерживать port forwarding

```javascript
const os = require('os');
const path = require('path');
const fs = require('fs');

module.exports = {
// ... тут необязательные настройки (см. выше) ...

method: 'ssh',
socks5: {
host: 'myssh.com', // Тут сервер через который будем пропускать запросы на заблокированные ресурсы
port: 22,

username: 'root',
password: 'password_here',

// privateKey: fs.readFileSync(path.resolve(os.homedir(), ".ssh", "id_rsa")),
// passphrase: "passphrase_of_key_here",

// ... полный список доступных настроек ssh-соединения смотрите тут:
// https://github.com/mscdex/ssh2#client-methods (настройки `connect`)
},
};
```

#### Через Tor

Tor клиент умеет поднимать socks5 сервер. Используйте его в настройках Socks5

#### Через PPTP/L2TP и другие VPN

Ничего не выйдет.