LINUX.ORG.RU

Не запускается приложение Wireguard

 , ,


0

1

Установил на винду Wireguard,он не запускается.пишет тип Значок в системном трее Wireguard не появился после 30 сек. Посмотрел,служба Wireguard Manager не может запустится на локальный компьютер…Если это служба нет от винды,то сообщите разрабу код для ошибки 11

Ребят,я понял что форум linux,но всё же.Я фиг знает куда более писать,т.к. явно есть люди юзающие сейчас винду и знают как оншить трабл,wireguard как ни как кросс-платнорменное приложение.

наглядно тут:

https://youtu.be/pVlVk-pGILY



Последнее исправление: AndOCsa (всего исправлений: 1)
Ответ на: комментарий от AndOCsa

И каким боком тут форум о линуксе?

anonymous
()
Ответ на: комментарий от anonymous

я новорег,мне главное проблему решить

AndOCsa
() автор топика

На винфак люди добрее, обязательно помогут, особенно если дашь доступ к удаленному рабочему столу.

One ★★★★★
()
Ответ на: комментарий от One

было бы хорошо,кроме удаленного раб стола и смерти форума

AndOCsa
() автор топика
Ответ на: комментарий от AndOCsa

Попробуй в IRC (Freenode, #wireguard) написать.
Может не сразу, но ответят.

Sorcus
()

служба Wireguard Manager не может запустится на локальный компьютер…Если это служба нет от винды,то сообщите разрабу код для ошибки 11

Самое главное пропустил, негодяй. «Подробности содержатся в журнале системных событий.» Тащи подробности.

Ну или ставь чего попроще, раз wireguard не осилил.

anonymous
()

Установил на винду Wireguard, он не запускается...

https://tunsafe.com/ - android/оффтопик, удобный GUI.

DiMoN ★★★
()
2 июля 2022 г.

Столкнулся с похожей проблемой, как оказалось приложение плохо переносит симлинки. Если кратко, то есть два решения, отказаться от использования симлимнков ИЛИ патчниг + перекомпиляция (не факт что 100% корректный патч, смотрите сами).

Подробнее: У меня весь Program Files переброшен на другой диск симлинком, поэтому отказ сейчас крайне проблематичен.

Немного покапавшись в коде, обнаружилось следующее:

  1. exe’шник обладает 2 видами логов: консоль и файл. Консоль доступна не всегда, поэтому она опциональна. В файл начинает писать как запустит службу.
  2. Консоли у службы естественно нет, а до файла дело не доходит.
  3. Программа пытается достучаться до лог файла по прибитому пути, располагающемуся в Program Files без вариантов смены пути настройкой (мб только через подмену переменной окружения, но не факт)
  4. Происходит вызов GetFinalPathNameByHandle, который собственно всё рушит в моём случае

Общие замечания: Репа на момент написания находится по этому адресу: https://git.zx2c4.com/wireguard-windows/tree/ и все упоминания о файлах ведутся относительно корня репозитория. Там же есть инструкция по компиляции, она достаточно простая.

Стратегия отладки (путём патча):

  1. Принудительный вывод логгера в файл для службы. Для этого в файле main.go в switch case’е для случая «/managerservice» (собственно служба) прописать
logfile, logFileError := os.OpenFile("load.log", os.O_APPEND | os.O_CREATE | os.O_WRONLY, 0744)    
log.SetOutput(logfile)

if logFileError != nil {
}

if особо не нужен, без использования переменной компиль ругается. Я не знаю go, так что, мб где нужно было отключить какой-то флаг или ещё что сделать.

  1. Ловим файл в system32 и смотрим что там появилось.

В моём случае получаем Unable to open log file: Data directory jumped to unexpected location

Соответственно далее было найдено место, в котором выводится данное сообщение, оказался файл conf/path_windows.go, почти конец функции RootDirectory. Там стоит вызов GetFinalPathNameByHandle который затем сравнивает путь хандла лог файла с оригинальным путём (зачем?) и роняет службу. Решение было простым, комментим (с помощью //) if:

if !strings.EqualFold(`\\?\`+data, windows.UTF16ToString(buf[:])) {
	return "", errors.New("Data directory jumped to unexpected location")
}

и в месте с ним исключаем из импорта (вверху файла) "strings", иначе ругнётся что не юзается более нигде

Перекомпилированны билд запустился, посмотрим как дальше себя поведёт

Надеюсь пригодится)

a21a1ss3
()

т.к. явно есть люди юзающие сейчас винду

Таких здесь нет

и знают как оншить трабл

Чего? Давай по-русски

wireguard как ни как кросс-платнорменное приложение

Слабый аргумент

antonvaino
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.