
Introduction
В 2022 году в публичный доступ вышел GitHub Copilot – довольно удобный современный инструмент для разработчиков, использующий генеративные языковые модели и код публичных репозиториев GitHub. Нельзя сказать, что многие приняли такую разработку с распростертыми объятьями, но все же это большой вклад в развитие инструментов для программистов и не только. Я знаю, что в компаниях запрещают пользоваться любыми AI инструментами для написания кода, однако дома, для личных проектов, фриланса Copilot – неотъемлемый инструмент.
Вышли в свет и различные интеграции с Copilot в 2023 году. Вскоре после этого его использование в РФ и ряде других стран было ограничено (как и многих других сервисов). Опытным пользователям ПК эти ограничения не показались проблемой, однако я был сильно удивлен, когда узнал, что некоторые из моих знакомых до сих пор не знают, как использовать столь мощный инструмент.
В этой короткой статье поделюсь своим опытом взаимодействия с GitHub Copilot, а главное тем, как его использовать в IDE от JetBrains. Приятного чтения!
Получаем GitHub Copilot
Не буду отнимать хлеб у коллег, поэтому про способы (бесплатного) получения Copilot вы сможете почитать в Интернете, статья не об этом. Скажу только, что я получал доступ с помощью GitHub Student Pack, есть много гайдов о том как это сделать. Обращаю внимание на то, что нужно правильно оформить справку перед отправкой GitHub.
Подробнее о том, как это сделать можно почитать здесь.
Конечно, вы также можете попробовать оплатить подписку самостоятельно. Способ выше актуален только для школьников и студентов, ведь вам нужна справка из ВУЗа/Школы. (Ее ведь очень сложно сделать самому…)
Качаем, настраиваем Tor
Начало работы
Для обхода блокировки будем использовать Tor. Нам нужен только CLI версия, поэтому браузер устанавливать не придется.
Достать CLI Tor можно 2 способами:
Найти и установить с помощью вашего package manager (для MacOS это brew)
Скачать TorBrowser и в файлах программы найти исполняемый Tor. В Windows можно найти по пути Tor Browser ▸ Browser ▸ TorBrowser ▸ Tor
Для Windows
Если вы на Windows, то можете сами пособирать все файлы: lyrebird
, geoip
и другие. Либо взять у меня готовый пакет. В целом все они есть в файлах TorBrowser, только вот с obfs4proxy у меня были проблемы.
Я уже собрал все в один архив. Нужно разархивировать и папку Tor поместить в Program Files.
Для MacOS
Для работы obfs
в tor нужен PluggableTransport obfs4proxy
илиlyrebird
. В новых версиях tor
актуален именно lyrebird
. Его нет в brew
, поэтому можно его либо самостоятельно скомпилировать, либо взять из исходников Tor Browser.
Я разместил исходник на GitHub (из браузера). Файл lyrebird
нужно скопировать в директорию /usr/local/bin
.
Вы также можете использовать obfs4proxy
вместо lyrebird
. Установить его можно командой:
brew install obfs4proxy
Рекомендую использовать lyrebird
, так как это новое решение.
А как настроить?
1. Получаем мосты
На сайте выбираем obfs4 https://bridges.torproject.org/options/
Проходим капчу
Копируем мосты (их два)
2. Вставляем в torrc
Файл torrc – конфигурационный. Там нужно прописать конфигурацию сервиса tor
.
Для WIndows
Если использовали мой архив, то файл будет располагаться по пути:
C ▸ Program Files ▸ Tor ▸ torrc
В файл записываем мой шаблон.
Также в этот файл добавляем наши строки мостов. Обратите внимание, что перед obfs4
нужно добавлять слово Bridge
для каждой строки конфигурации моста.
Для MacOS
После установки tor
через brew
, будет создан пример файла конфигурации по пути:
usr ▸ local ▸ etc ▸ tor ▸ torrc.sample
Файл torrc.sample
можно переименовать в torrc
или создать рядом новый файл с именем torrc
. В файле torrc.sample
перечислены возможные настройки, может быть полезно для более точной настройки.
В файл записываем мой шаблон.
Также в этот файл добавляем наши строки мостов. Обратите внимание, что перед obfs4
нужно добавлять слово Bridge
для каждой строки конфигурации моста.
В файле конфигурации в настройке
ClientTransportPlugin
указывается плагинobfs4
и путь доlyrebird
. Если он не совпадает с реальным путем до исполняемого файла в вашей системе, то нужно его заменить. Путь доlyrebird
вернет команда:which lyrebird
Если вы используете obfs4proxy, то путь соответственно вернет команда:
which obfs4proxy
3. Автозапуск
Нужно настроить автоматический запуск tor
при старте системы. Этот пункт можно пропустить, если вы не хотите, чтобы tor
запускался автоматически.
Для Windows
Создаем сервис командой:
"C:\Program Files\Tor\tor\tor.exe" —nt-service "-f" "C:\Program Files\Tor\torrc"
Сервис появится в диспетчере задач в разделе Службы. Там можно узнать состояние сервиса и включить автоматический запуск при старте системы.

Для MacOS
Создаем сервис командой:
brew services start tor
В настройках переходим в пункт Настройки ▸ Основные ▸ Объекты входа. Включаем пункт рядом с tor.

Что можно настроить?
В поле HTTPTunnelPort
можно указать порт, который будет проксировать трафик для copilot.
Как проверить работу tor?
Чтобы убедиться в том, что tor
сервис запущен, можно посмотреть работу портов на вашем ПК любым удобным способом. Ниже приведены примеры, как это сделать.
Для Windows
В терминале нужно выполнить команду:
netstat -anob | find "9080"
9080 – замените на ваш порт, если указали другой.

Если команда вернула похожий ответ, значит tor
запущен. Можно посмотреть статус порта: LISTENING
– значит порт прослушивается и можно работать. Последнее число в выводе это PID
. По нему в разделе служб можно найти программу, которая занимаем порт (полезно, если tor не запускается, так как другая программа заняла порт).
Далее можно выполнить команду:
http_proxy=http://127.0.0.1:9080 curl -I https://www.google.com/
Мы должны получить успешный ответ HTTP/2 200
и другие данные. Так и произошло – значит, все работает.
Для MacOS
В терминале нужно выполнить команду:
lsof -i -P -n | grep "tor"

В выводе команды получим все порты, занимаемые программой tor. Если ничего не вышло – tor
не запустился. Можно увидеть порт, который мы настроили. У меня это вторая строка и порт 9081 (у вас может быть и другой). Можно посмотреть статус порта: LISTENING
– значит порт прослушивается и можно работать.
Далее можно выполнить команду:
http_proxy=http://127.0.0.1:9080 curl -I https://www.google.com/
Мы должны получить успешный ответ HTTP/2 200
и другие данные. Так и произошло – значит, все работает.
Подключаем в IDE
1. Конфигурация Proxy
В любой JetBrains IDE заходим в настройки и ищем пункт Proxy. Выставляем настройки как на скриншоте.

Host name – только 127.0.0.1 (localhost не работает)
No proxy – необязательно.
Port number – ваш порт из предыдущего пункта.
2. Скачиваем плагин Copilot.
Он пока не будет работать.
3. Сохраняем, перезапускаем.
Входим в аккаунт Copilot и радуемся.
Важные доработки для Android Studio
Если вы работаете в Android Studio, то вероятно вы используете Gradle. Каждый раз при запуске, Studio будет просить добавить конфигурацию прокси для демона Gradle.
Нужно найти свой gradle.properties (Global) файл Gradle системный (именно глобальный). Он будет внизу в списке файлов проекта, если выбрать отображение проекта как Android.
Там нужно добавить следующие строки:
systemProp.http.nonProxyHosts=dl.google.com|repo.maven.apache.org
systemProp.https.nonProxyHosts=dl.google.com|repo.maven.apache.org
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=<ВАШ ПОРТ>
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=<ВАШ ПОРТ>
Делаем это, чтобы не проксировать трафик загрузки зависимостей проекта, какие-то из хостов не работают и Gradle не может найти ресурс для загрузки. Не забывайте перезапускать программу после изменений настроек прокси.
Troubleshooting
В личных сообщениях мне начали писать, что перестал работать или не работал Tor клиент.
Просмотр логов
Для поиска неисправности попробуйте посмотреть логи. Весь процесс подключения Tor клиента к сети логируется и выводятся проценты готовности от 0% до 100%, где 100 – это успешное подключение. Например, для linux и macOS логи можно найти по пути usr ▸ local ▸ var ▸ tor ▸ tor.log
Также попробуйте:
1. Поменять DNS сервер
2. Отключить другие прокси
3. Отключить программы по типу GoodbyeDPI
4. ПОМЕНЯТЬ МОСТЫ
4. Поменять мосты
В последнее время многие мосты, которые выдает официальный сайт перестают работать. На Github есть скрипт на Python, который перебирает мосты и ищет рабочие, но даже он мне не помог.
Решение:
Все очень просто, заходим в Tor Browser (вы его уже скачивали, если доставали плагины). В Tor Browser подключаем через настройки мосты и получаем 4 готовых к работе моста, которые нужно добавить в файл конфигурации по инструкции выше, не знаю почему именно они работают, а другие нет. Но проблему это во многих случаях решает.

Бонус (JetBrains Toolbox)
Не так давно JetBrains заблокировали доступ к репозиториям с новыми версиями их IDE.
Если вы используете решение, описанное выше, то тогда просто прописываем прокси в настройках Toolbox и радуемся. (Порт нужно выставить свой).

Заключение
Я привел подробную инструкцию по настройке Copilot. Это решение работает у меня уже больше года на маке и ноутбуке с Windows. К преимуществам такого подхода относится то, что нам не нужно прогонять весь трафик устройства через VPN или Proxy, это полностью бесплатно, быстро работает и легко настраивается.
Я не сторонник написания кода вслепую, не использую Copilot для разработки сложных частей проекта. Но это незаменимый инструмент для составления тестов, моковых данных, моделей и других рутинных задач. Используйте его с умом!
Если хотите видеть больше интересных публикаций, подписывайтесь на мой тг канал https://t.me/stakan_live