SDA (Steam Desktop Authenticator) для Linux

val1ant

12 oz. Mouse
Дней с нами
2.849
Розыгрыши
12
Сообщения
3.805
Репутация
588
Реакции
4.421
Надоело мне использовать виндовый SteamDesktopAuthenticator, он хоть и запускается через Mono, но кроме генерации 2FA кодов почти все остальные функции не работали. Поэтому я решил проверить есть ли возможность портировать его на Linux. Но когда просмотрел его исходники и понял сколько всего придется переделывать, я сказал, - Да ну его нафиг! Но потом, решив что опыт разработки GTK-приложений лишним не будет, и чтобы испытать свои способности, я сам себя "взял на слабо". :)
Пришлось немало помучиться с лютой поебенью под названием CEF, но в итоге у меня все получилось! :)
sda.png
Проверена работа почти всех функций, кроме создания новых аккаунтов и деактивации аутентификатора. Но по идее все должно работать (кроме ввода капчи).

Скачать SDA: SDA_linux64.tar.xz
Распаковать архив: tar -xf SDA_linux64.tar.xz
Запуск: ./sda
 
Исходники не думал куда-нибудь на гитхаб выложить?
 
Нет. Могу здесь выложить, а на гитхабе не хочу.
 
  • Like
Реакции: creative36rus
Можно и тут, не принципиально.
 
  • Like
Реакции: creative36rus
вот бы на макос такой был)
 
Извиняюсь за ап темы. Чем их компилить? Попытался через monodevelop, сначала ругалось на отсутствие расширения .NET Core SDK , поставил, теперь вот такая ошибка
Код:
/usr/share/dotnet/sdk/6.0.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.props(38,38): Error MSB4236: не удалось найти указанный пакет SDK "Microsoft.NET.SDK.WorkloadAutoImportPropsLocator". (MSB4236) (sda)
 
Извиняюсь за ап темы. Чем их компилить?
---------Двойное сообщение соединено: ---------
Чем их компилить?
Немного ошибся, я компилировал этой командой:
dotnet publish -c release -r linux-x64 --self-contained
 
Последнее редактирование:
  • Like
Реакции: creative36rus и damage88
Извини что беспокою. Стоит убунта 20.04, поставил все необходимое, захожу в /sda , пишу dotnet build --runtime ubuntu.20.04-x64 , все компилится. Далее пытался запустить, были ошибки, ругалось что нет libcef, скачал бинарники нужной версии ручками подкинул в проект. Теперь ступор вот на этой ошибке и вообще никак. Не подскажешь, в какую сторону копать?
Код:
[Info] Running Linux chromium 70.0.3538.102
[1229/230232.021385:ERROR:icu_util.cc(172)] Invalid file descriptor to ICU data received.
Ловушка трассировки/останова (стек памяти сброшен на диск)
 
Последнее редактирование:
Не подскажешь, в какую сторону копать?
Возьми бинарники из моей сборки. Вот список необходимых файлов:
locales/
swiftshader/
cef_100_percent.pak
cef_200_percent.pak
cef_extensions.pak
cef.pak
devtools_resources.pak
icudtl.dat
libcef.so
natives_blob.bin
snapshot_blob.bin
v8_context_snapshot.bin
 
Для тех у кого не получалось собрать. Ставите эти пакеты:
https://docs.microsoft.com/en-us/dotnet/core/install/linux
У кого арч - скриптом с арч вики:
https://wiki.archlinux.org/title/.NET#Install_multiple_versions_manually
Далее качаете отсюда архив с бинарниками cef_binary_3.3538.1851.g5622787_linux64_client.tar.bz2 (обязательно именно эту версию, с другими не заведется):
https://cef-builds.spotifycdn.com/index.html#linux64
Далее заходите в /sda и компилите командой dotnet publish -c release -r linux-x64 --self-contained , далее идете в /bin/release/netcoreapp3.1/linux-x64 и закидываете сюда все бинарники с архива (директория release). Далее в терминале запускаете саму программу, и все будет работать (./sda).
Извиняюсь что апнул эту тему, просто мало ли, кому пригодится.
 
  • Like
Реакции: SomeSomebody
Сорри что снова апаю. Под linux-arm64 я так понимаю запустить вообще без вариантов? Я компилю с флагом linux-arm64, но вся загвоздка в CEF, бинарников нужной версии (о которых я писал выше) нет под arm64, я попытался закинуть самые старые, что есть, но оно не запускается и ругается именно на версию CEF.
Нет идей, что с этим можно сделать? Спасибо.