...
🧠 Блог посвящен теме VPN и безопасности, конфиденциальности данных в Интернете. Рассказываем про актуальные тренды и новости связанные с защитой.

Руководство по установке Shadowsocks [обновлено в марте 2022 г.]

1 129

В настоящее время Китай находится в гонке за создание собственной сегрегированной сетевой инфраструктуры. Свобода обходить ограничения с помощью VPN также уменьшается с каждым днем. Хотя эффект не резкий. Постепенно, но верно Китай обрывает все связи с глобальным интернетом.

Социальные сети, такие как Facebook и Twitter, больше не работают в стране. Блокируются даже мощные поисковые системы, такие как Google.

Теоретически китайское правительство решает, что можно и что нельзя делать в Интернете.

Вот тут-то и появляется технология Shadowsocks. Эта технология работает очень похоже на VPN, однако есть очевидные преимущества использования Shadowsocks по сравнению с традиционными VPN.

Звучит многообещающе, верно? Это. В этом блоге я расскажу о ShadowsocksR (SSR) и расскажу вам, ребята, как создать, оптимизировать, загрузить и настроить сервер Shadowsocks с помощью программного обеспечения Shadowsocks.

Что вообще такое Shadowsocks?

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

Тем не менее, Shadowsocks не прост в использовании. Его создание и настройка не для всех и требует определенных технических знаний.

Вот почему Shadowsocks очень популярен среди технически подкованных людей, особенно в сообществе программистов.

Разбивка технологии Shadowsocks

Shadowsocks состоит из двух компонентов. Фактический сервер Shadowsocks и клиентское программное обеспечение Shadowsocks для взаимодействия с сервером. Я объясню, что делают оба этих компонента, в отдельных заголовках ниже.

Shadowsocks сервер

  • Сервер Shadowsocks может находиться где угодно за пределами великого брандмауэра Китая.
  • Это позволяет нескольким устройствам или пользователям обходить географические ограничения.
  • Сервер Shadowsocks можно использовать как для личного пользования, так и сдавать в аренду другим пользователям.

Клиентское программное обеспечение Shadowsocks

  • Клиентское программное обеспечение Shadowsocks работает на различных устройствах и платформах. Поддерживаются Windows, Android, iOS.
  • Клиентское программное обеспечение можно использовать абсолютно бесплатно.
  • Сервер Shadowsocks можно использовать для подключения к удаленному серверу Shadowsocks за пределами китайской юрисдикции.

Версии Shadowsocks

Поскольку эта технология является относительно новой, она имеет только две версии. Shadowsocks (SS) и ShadowsocksR (SSR).

Shadowsocks (СС)

  • Shadowsocks (SS) был первым выпуском этой технологии.
  • Это предшественник ShadowsocksR (SSR).
  • Shadowsocks (SS) устарел по сегодняшним меркам и редко используется в настоящее время.

ShadowsocksR (ССР)

  • ShadowsocksR (SSR) является преемником Shadowsocks (SS).
  • ShadowsocksR (SSR) улучшен по сравнению с версией SS и предлагает расширенные функции, такие как шифрование.

Необходимое условие для создания собственного сервера Shadowsocks

Прежде чем вы будете слишком взволнованы, я собираюсь рассказать о реальных знаниях и ресурсах, необходимых для создания вашего собственного рабочего сервера Shadowsocks.

Знакомство с вычислительными командами.

Прежде чем вы даже подумаете о создании собственного сервера Shadowsocks, вам необходимо ознакомиться с командами Linux и их работой.

Для справки, команда Linux выглядит примерно так:

  • Компакт диск
  • Pwd
  • лс
  • сп

Если вы никогда не были знакомы с такими командами, не тратьте свое время и усилия на создание сервера Shadowsocks.

Покупка аккаунта Shadowsocks и расходы на аутсорсинг

Виртуальные частные серверы недешевы, они могут стоить от нескольких долларов до нескольких сотен долларов.

Хотя процедура оплаты, связанная с покупкой Shadowsocks, относительно проста, вы должны убедиться, что действительно можете позволить себе стоимость зарубежных серверов.

Кроме того, вам необходимо твердо владеть английским языком, чтобы общаться с глобальными поставщиками VPS.

Установка соединения с VPS

Даже если вы можете позволить себе VPS и разбираетесь в командах Linux, вам все равно нужно знать, как подключиться к виртуальному частному серверу с помощью SSH. Это означает, что для пользователя Mac вам нужно знать, как использовать встроенный терминал, а пользователи Windows должны знать, как использовать Putty.

Наконец, создайте, оптимизируйте и войдите в конфигурацию сервера Shadowsocks.

Теперь, когда вы знаете, что нужно для того, чтобы SSR построил свой собственный сервер Shadowsocks, пришло время углубиться в реализацию.

Чтобы не нырнуть прямо в него.

Купить зарубежный виртуальный частный сервер

Теперь нет жесткого правила выбора провайдера VPS. Вы можете пойти с любым поставщиком, который соответствует вашим потребностям.

Если вы не знаете надежных поставщиков VPS, вот несколько для начала:

  • DigitalOcean
  • Вультр
  • Амазон АВС

Для этого урока я буду использовать DigitalOcean.

Создать хост VPS

Теперь, когда вы приобрели DigitalOcean, вам нужно создать виртуальный хост с помощью VPS. Хотя это длительный процесс, он относительно прост. Я собираюсь перечислить все шаги ниже.

  1. Прежде всего, используйте кнопку «Создать », расположенную вверху страницы.
  2. Теперь выберите опцию «Капли» в раскрывающемся меню.
  3. При создании «капель» выберите параметры, как указано в шагах ниже.

Выберите изображение

Чтобы выбрать образ, выберите «Ubuntu », расположенный в разделе «Распространение».

Выберите размер

Теперь выберите размер капли. Мой совет: выберите самый дешевый вариант из списка стандартных капель (например, 1 ГБ, 1 виртуальный ЦП, 25 ГБ SSD-диск, передача 1 ТБ, 5 долларов США в месяц).

Добавить резервные копии

Просто выберите «Нет».

Добавить блочное хранилище

Просто выберите «Нет».

Выберите регион центра обработки данных

Выбор центра обработки данных может быть сложным. Если вы выберете сервер, который находится слишком далеко, вы получите ужасную скорость Shadowsocks. Поэтому рекомендуется выбирать американские и азиатские серверы.

По моему опыту, серверы на Западном побережье, в Сан-Франциско (1, 2) и в Сингапуре работали очень быстро.

Выберите дополнительные параметры

Просто выберите «Нет».

Добавьте свои SSH-ключи

Используйте предоставленный открытый ключ SSH для входа на недавно приобретенный виртуальный хост.

Выберите имя хоста

Теперь дайте вашему виртуальному хосту имя. Это может быть что угодно.

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

Подключиться к хосту по SSH:

Теперь, когда вы уже создали хост-VPS, пришло время подключить его с помощью SSH. Если вы когда-либо использовали SSH раньше, вы должны знать, что общая командная строка для установки соединения — это "ssh root@ [IP address]".

Вы можете запустить эту команду как в Терминале, так и в Putty, какой из них вы в конечном итоге используете.

После того, как вы успешно установили соединение, вам необходимо обновить хост с помощью команды, указанной ниже.

Apt-get update && apt-get upgrade -y

Установите ShadowsocksR:

Теперь пришло время установить ShadowsocksR. Хотя можно пойти на Shadowsocks (SS). Рекомендуется выбрать ShadowsocksR (SSR) из-за его лучшей производительности.

Обычно процесс установки был довольно сложным, однако благодаря сценарию, предоставленному Teddysun, он стал довольно простым. Теперь вы можете запустить простой скрипт, и он автоматически установит различные версии Shadowsocks.

Чтобы установить Shadowsocks SSR, подключитесь к виртуальному хосту как root и выполните команды, указанные ниже.

  • Wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
  • Chmod +x shadowsocks-all.sh
  • ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

Как только вы запустите последнюю командную строку, вы получите следующее приглашение: Какой сервер Shadowsocks вы бы выбрали.

Поскольку мы хотим установить ShadowsocksR, выберите сервер, соответствующий ShadowsocksR.

Теперь вы получите возможность ввести пароль для ShadowsocksR. Введите пароль по вашему выбору. Убедитесь, что вы помните этот пароль, потому что он понадобится вам для доступа через стену.

Теперь вы получите такой вариант: «Пожалуйста, введите порт для ShadowsocksR [1-65535]». Хотя вы можете выбрать любой порт из диапазона, рекомендуется использовать 443.

Далее вы получите такой вариант: «Пожалуйста, выберите потоковый шифр для ShadowsocksR». Эта опция в основном требует, чтобы вы выбрали метод шифрования shadowsocks. Просто выберите chacha20-ietf.

После этого вам будет предложено «Выберите протокол для ShadowsocksR». Просто используйте Origin для этой опции.

Далее вы получите такую ​​​​опцию: «Пожалуйста, выберите OBFS для ShadowsocksR». Хотя вы можете выбрать любой режим обфускации, рекомендуется выбрать http_simple_compatible.

Если все прошло гладко, вы получите сообщение вроде этого: «Нажмите любую клавишу, чтобы начать… или нажмите Ctrl+C, чтобы отменить». Поскольку вы хотите установить ShadowsocksR (SSR), нажмите любую клавишу, чтобы начать процесс установки.

Процесс установки занимает довольно много времени, так что наберитесь терпения.

После завершения процесса установки вы увидите важную информацию о вашем сервере Shadowsocks. Это включает в себя ваш IP-адрес сервера, порт сервера, obfs, метод шифрования Shadowsocks, пароль и протокол shadowsocks.

Обязательно запишите эту информацию где-нибудь.

Поздравляем! Вы успешно установили сервер ShadowsocksR. Если вы хотите изменить какие-либо настройки после установки, вы можете использовать редактор для изменения файла, указанного ниже.

Nano /etc/shadowsocks-r/config.json

После внесения необходимых изменений вам необходимо перезапустить ShadowsocksR. Для этого используйте команду ниже.

/etc/init.d/shadowsocks-r restart

Оптимизируйте Shadowsocks для увеличения скорости вашего сервера

Этот шаг является необязательным. Однако, если вы хотите повысить скорость своего сервера, вы можете воспользоваться некоторыми дополнительными методами, которые я описал ниже.

Метод 1: Используйте алгоритм управления перегрузкой Google TCP BBR и увеличьте скорость сервера

Для установки алгоритма управления перегрузкой TCP BBR от Google воспользуемся скриптом Teddysun.

После успешного подключения к хосту как root SSH вам нужно будет запустить командную строку, указанную ниже.

Wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

Теперь, как и раньше, нажмите клавишу ввода, чтобы начать процесс установки. После завершения установки вам потребуется перезапустить хост-сервер.

Метод 2: Увеличьте количество одновременных подключений на вашем сервере

Чтобы увеличить количество соединений на вашем сервере, вам необходимо отредактировать файл «/etc/security/limits.conf».

Nano /etc/security/limits.conf

Вы также должны добавить две строки, упомянутые ниже, в конец файла. (Две строки, упомянутые ниже, также содержат символ *).

* soft nofile 51200

* hard nofile 51200

Теперь выйдите из файла и запустите команду, указанную ниже.

Ulimit -n 51200

Метод 3: Настройка параметров ядра

Чтобы изменить настройки ядра, вам нужно отредактировать файл «/etc/sysctl.conf».

Nano /etc/sysctl.conf

Теперь, как и раньше, добавьте указанную ниже строку в самый конец файла.

Fs.file-max = 51200

Net.core.rmem_max = 67108864

Net.core.wmem_max = 67108864

Net.core.netdev_max_backlog = 250000

Net.core.somaxconn = 4096

Net.ipv4.tcp_syncookies = 1

Net.ipv4.tcp_tw_reuse = 1

Net.ipv4.tcp_tw_recycle = 0

Net.ipv4.tcp_fin_timeout = 30

Net.ipv4.tcp_keepalive_time = 1200

Net.ipv4.ip_local_port_range = 10000 65000

Net.ipv4.tcp_max_syn_backlog = 8192

Net.ipv4.tcp_max_tw_buckets = 5000

Net.ipv4.tcp_fastopen = 3

Net.ipv4.tcp_mem = 25600 51200 102400

Net.ipv4.tcp_rmem = 4096 87380 67108864

Net.ipv4.tcp_wmem = 4096 65536 67108864

Net.ipv4.tcp_mtu_probing = 1

Теперь выйдите из редактирования файла и выполните команду, указанную ниже.

Sysctl -p

Наконец, перезапустите сервер ShadowsocksR SSR с помощью этой команды:/etc/init.d/shadowsocks-r restart

Вот и все, теперь вы успешно оптимизировали свой сервер Shadowsocks. Теперь вы должны получить лучшую скорость, чем раньше.

Загрузка клиентского приложения Shadowsocks

Теперь, когда вы успешно приобрели, установили и оптимизировали сервер Shadowsocks, вам нужно загрузить и настроить клиентское приложение Shadowsocks.

Для тех из вас, кто не знает, что такое клиентское приложение shadowsocks? По сути, это мультиплатформенное приложение, которое используется для подключения к удаленному серверу Shadowsocks.

Ссылки для скачивания клиентского программного обеспечения Shadowsocks

Поскольку в этом блоге мы использовали версию ShadowsocksR, я перечисляю ссылки на клиент SSR для различных устройств, включая ссылки на мобильные тени.

  • Для клиента Shadowsocks для Windows используйте эту ссылку: Скачать ShadowsocksR-win
  • Для Mac используйте эту ссылку: Скачать ShadowsocksX-NG-R
  • Для устройств Android используйте эту ссылку: Скачать Shadowsocksr-android
  • Для iPhone и iPad выполните поиск «Shadowrocket» или «Potatso Lite» в Apple App Store. (Убедитесь, что вы используете зарубежный идентификатор Apple).

Базовая конфигурация клиента Shadowsocks

Настройка клиента Shadowsocks может быть сложной задачей. Чтобы успешно получить доступ к серверу Shadowsocks с помощью клиентского приложения, вам необходимо указать IP-адрес сервера, порт, пароль, шифрование и некоторую другую информацию.

Все данные должны быть абсолютно точными, иначе вы не сможете установить соединение между сервером и клиентским приложением.

Shadowsocks поддерживает режимы прокси

Shadowsocks в основном поддерживает два режима прокси. Ниже я кратко расскажу об обоих. Если вам интересно узнать больше о том, что может предложить каждый прокси-режим shadowsocks, посетите официальный веб-сайт shadowsocks.

Глобальный режим

Как следует из названия, этот режим прокси позволяет получить доступ ко всем веб-сайтам через Shadowsocks. Если вы обычно посещаете региональные заблокированные веб-сайты, режим глобального прокси может предоставить вам неограниченный доступ.

PAC-режим

Этот режим определяет, какой трафик проходит через Shadowsocks, а какой не проходит. Он следует правилам, указанным в файле PAC. Режим прокси-сервера PAC не рекомендуется для компьютеров Windows, поскольку ОС уже использует правила прокси-сервера.

Завершение!

Итак, у вас есть это, ребята, это был мой исчерпывающий путеводитель по Shadowsocks. Я подробно рассмотрел установку, настройку и оптимизацию как сервера Shadowsocks, так и клиента сервера Shadowsocks.

Я надеюсь, что вы нашли этот блог информативным, надеюсь, теперь вы можете обойти все географические ограничения в Китае.

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