Это небольшой гайд про то как запустить Flatpak версию Discord через socks5 прокси, при этом не натягивая TUN на всю систему, как обычно, это бывает в классических случаях. Работа данного способа была проверенна на Fedora 42 Gnome и Plasma workstation. Во всех остальных случаях думаю работать будет аналогично. Гайд сделан сугубо от нуба и ламера, не претендует на профессиональность
Перед началом действий, убедитесь что Discord работает через socks5 прокси в ручном режиме
Для того чтобы проверить будет ли Discord вообще работать с socks5 прокси. Нужно попробовать запустить его с флагом для Flatpak среды которая четко будет указывать что данное приложение должно быть запущено с заданными параметрами. Команда для запуска выглядит так
flatpak run com.discordapp.Discord --proxy-server="socks5://127.0.0.1:7771"
В данном случае параметры в строке “socks5://127.0.0.1:7771” можно заменить на свои. В моем случае, при использовании V2rayN, он по умолчанию цепляет socks5 и не только на порт 10808. Соответственно строчка в моем случае выглядит так “socks5://127.0.0.1:10808”
Теперь чтобы все выглядело красиво нужно все это дело автоматизировать и еще лучше прицепить в .desktop файл, который в Gnome и Plasma используется, чтобы запускать приложения из ярлыков, которые находятся в обзоре Gnome и “пуске” Plasma соответственно. В моем случае, решение проблемы с запуском любезно советовала мне нейронка Grok.
Перейдем непосредственно к настройке
- После того как вы убедились что у вас работает ручной запуск Discord с параметром данным выше. Нужно все это дело засунуть в скрипт. Все буду показывать через GUI утилиты, консоль это легче и проще для кого-то, а для кого-то нет
- Создаем файл скрипта. Создать можно просто в домашней директории, то есть /home/ваш_ник. Создать можно штатными средствами, в моем случае это обычный текстовик Gnome который идет по умолчанию в Fedora 42
В файл мы вписываем сам скрипт, он очень простой, те же самые строчки, что из запуска вручную.
#!/bin/bash
flatpak run com.discordapp.Discord --proxy-server="socks5://127.0.0.1:7771"
Сохраняем в домашнюю директорию, просто в корень домашней директории или в любое другое место куда будет угодно, с расширением .sh и с понятным заданным именем, желательно без пробелов
Также не забываем про права на файл
chmod +x ~/ваш_скрипт.sh
Соответственно название скрипта вписываем свое, открыть терминал Gnome можно по клику правой клавишей мыши(чтобы задать права через терминал) прямо в той директории в которой находитесь в проводнике, прям как в windows ничего нового
- Создаем .desktop файл в директории
/home/ваш_ник/.local/share/applications
В случае с Gnome обычно там хранятся пользовательские .desktop файлы, в случае с Plasma все должно быть похоже. Содержание файла должно быть таким
[Desktop Entry]
Name=Discord (Proxy)
Exec=/home/ваш_ник/discord-proxy.sh
Type=Application
Icon=com.discordapp.Discord
Terminal=false
Comment=Discord with SOCKS5 Proxy
Categories=Network;Chat;
- Параметр Name указывает на то как будет называться ярлык
- Параметр Exec указывает на запуск нашего скрипта. Тут думаю все понятно и нужно просто вставить путь до нашего скрипта (в моем случае это discord-proxy.sh, в вашем - по вашему)
- Icon - тут можно ничего не трогать, если discord уже был установлен в системе, иконка должна где-то лежать, у меня по крайней мере было так. Но в случае чего иконку можно указать и в качестве пути, принимаются обычные png файлы, путь к ним прописывается по аналогии с exec. Вот пример одного из .desktop файлов который я создавал для V2rayN
Переваривает даже кириллицу в пути - Comment - комментарий от любезной нейронки чтобы мы не забыли потом что тут делали и для чего был этот файл, также коммент отображается в Plasma, насколько помню в качестве подписи
- Categories - тут больше актуально для Plasma или Gnome но если есть расширения по типу “пуск” обычно там идет сортировка на категории приложений, она берется как раз отсюда, чтобы в Plasma у вас ярлык добавился в нужную категорию, нужно тут соответственно вписать что-то то куда вы хотите чтобы добавился ваш ярлык. Про остальные категории и что лучше тут указать думаю можно погуглить или спросить у нейронки. Для обзора Gnome это не очень актуально, в нем карусель без сортировки, в моем случае оставил все как есть
После создания сохраняем файл, может потребоваться ввести пароль sudo, чтобы сохранить файл, вводим и сохраняем.
Также в случае с Gnome может потребоваться обновление кэша либо перелогиниваемся, тоже должно сработать. Команда для обновления кэша ниже
update-desktop-database ~/.local/share/applications
- В итоге должна получиться вот такая иконка(ярлык) которая будет запускать нам Discord через наш скрипт в котором мы указали тот самый параметр запуска(флаг) с socks5 прокси. Подключение к голосовым каналам работать не будет так как данный способ не проксирует UDP
P.s Для rpm версии которая была установлена через DNF шаги будут похожими, только строка для запуска в скрипте будет чуть другая, ну и для простой “portable” версии которая распространяется на сайте discord через tar.gz архив, шаги тоже будут очень похожи. Там ярлык запуска придется создавать в любом случае, так как вся программа лежит в архиве и запускается по исполняемому файлу
P.ss Буду рад если в комментариях напишете способ получше или дополните мой. Также если нужен будет способ с запуском rpm версии или “portable” версии, тоже пишите, может подскажу команды для запуска именно для этих версий.
┌───┐════════════════════════════════════════════════════════════════════════════
│ ┌─┼──────────────────────────────────────────────────────────────────────────┐ ║
│ │ │ / __ \____ _ _____ ________ ____/ / / /_ __ __ / | / _/ │ ║
└─┼─┘ / /_/ / __ \ | /| / / _ \/ ___/ _ \/ __ / / __ \/ / / / / /| | / / │ ║
║ │ / ____/ /_/ / |/ |/ / __/ / / __/ /_/ / / /_/ / /_/ / / ___ |_/ / ┌─┼─┐
║ │ /_/ \____/|__/|__/\___/_/ \___/\__,_/ /_.___/\__, / /_/ |_/___/ │ │ │
║ └──────────────────────────────────────────────────────────────────────────┼─┘ │
════════════════════════════════════════════════════════════════════════════└───┘