Initial Russian Winbox macOS launcher
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
.DS_Store
|
||||
Releases/
|
||||
*.dmg
|
||||
*.zip
|
||||
Winbox-mac.app/
|
||||
@@ -0,0 +1,22 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 nrlquaker
|
||||
Copyright (c) 2026 Dmitry Fofanov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,92 @@
|
||||
# Winbox macOS Wrapper
|
||||
|
||||
Небольшая оболочка для запуска официального `winbox64.exe` в Wine на macOS.
|
||||
Проект восстановлен по идее и launcher-скрипту [nrlquaker/winbox-mac](https://github.com/nrlquaker/winbox-mac), но намеренно не распространяет готовый `.app`, Wine, Winbox.exe или другие сторонние бинарники.
|
||||
|
||||
## Для чего нужен
|
||||
|
||||
Скрипт задаёт отдельный Wine-префикс и запускает указанный пользователем файл Winbox.
|
||||
Это позволяет не смешивать настройки Winbox с другими Wine-приложениями и удобно
|
||||
передавать стандартные аргументы запуска.
|
||||
|
||||
Проект **не является официальным продуктом MikroTik** и не связан с MikroTik.
|
||||
Winbox, Wine и их товарные знаки принадлежат соответствующим правообладателям.
|
||||
|
||||
## Что входит и чего нет
|
||||
|
||||
В репозитории есть только Bash-скрипт запуска и документация. В нём нет:
|
||||
|
||||
- `winbox64.exe`;
|
||||
- Wine или его библиотек;
|
||||
- готового macOS-приложения, установщика DMG или ZIP-релиза;
|
||||
- сохранённых учётных данных, адресов роутеров и конфигураций.
|
||||
|
||||
Winbox следует получить с официального сайта MikroTik, а Wine — установить из
|
||||
проверенного вами источника. Это важно и для безопасности, и для соблюдения
|
||||
условий распространения сторонних компонентов.
|
||||
|
||||
## Требования
|
||||
|
||||
- macOS;
|
||||
- установленный `wine64`, совместимый с вашим Mac;
|
||||
- локальный путь к официальному `winbox64.exe`;
|
||||
- Bash 3.2 или новее.
|
||||
|
||||
На Apple Silicon используйте сборку Wine, которая поддерживает нужную вам
|
||||
архитектуру; проект не поставляет Rosetta, Wine или готовые runtime-библиотеки.
|
||||
|
||||
## Быстрый запуск
|
||||
|
||||
```bash
|
||||
git clone https://github.dfv24.com/fofanov.dmitry/winbox-macos-wrapper.git
|
||||
cd winbox-macos-wrapper
|
||||
chmod +x bin/winbox-macos
|
||||
|
||||
WINBOX_EXE="$HOME/Downloads/winbox64.exe" ./bin/winbox-macos
|
||||
```
|
||||
|
||||
По умолчанию Wine-префикс создаётся в
|
||||
`~/Library/Application Support/com.mikrotik.winbox`. Чтобы изолировать тестовую
|
||||
установку, передайте другой путь:
|
||||
|
||||
```bash
|
||||
WINEPREFIX="$HOME/Library/Application Support/com.example.winbox-test" \
|
||||
WINBOX_EXE="$HOME/Downloads/winbox64.exe" \
|
||||
./bin/winbox-macos
|
||||
```
|
||||
|
||||
## Параметры и переменные окружения
|
||||
|
||||
| Переменная | Назначение | Значение по умолчанию |
|
||||
|---|---|---|
|
||||
| `WINBOX_EXE` | Обязательный абсолютный или относительный путь к `winbox64.exe` | нет |
|
||||
| `WINE64_BIN` | Исполняемый файл Wine | `wine64` из `PATH` |
|
||||
| `WINEPREFIX` | Каталог настроек Wine | `~/Library/Application Support/com.mikrotik.winbox` |
|
||||
| `WINEDEBUG` | Уровень диагностического вывода Wine | `fixme-esync` |
|
||||
|
||||
Аргументы после имени скрипта передаются Winbox без изменений. Не передавайте
|
||||
пароли в аргументах командной строки: они могут быть видны в списке процессов и
|
||||
истории оболочки.
|
||||
|
||||
```bash
|
||||
WINBOX_EXE="$HOME/Downloads/winbox64.exe" \
|
||||
./bin/winbox-macos 192.0.2.1 admin
|
||||
```
|
||||
|
||||
## Проверка
|
||||
|
||||
Проверить синтаксис launcher-скрипта можно без Wine и Winbox:
|
||||
|
||||
```bash
|
||||
bash -n bin/winbox-macos
|
||||
```
|
||||
|
||||
При запуске скрипт проверяет наличие Wine и файла Winbox до создания процесса.
|
||||
|
||||
## Происхождение и лицензия
|
||||
|
||||
Основа запуска и идея отдельного Wine-префикса взяты из
|
||||
[`nrlquaker/winbox-mac`](https://github.com/nrlquaker/winbox-mac), лицензированного
|
||||
по MIT. Изменённый код и документация также распространяются по [MIT License](LICENSE).
|
||||
Лицензия относится только к коду этого репозитория; она не предоставляет прав на
|
||||
Winbox, Wine или другие сторонние компоненты.
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
# Запускает пользовательский Winbox в отдельном Wine-префиксе macOS.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Winbox не включён в репозиторий: пользователь явно выбирает официальный файл.
|
||||
: "${WINBOX_EXE:?Укажите путь к winbox64.exe через WINBOX_EXE}"
|
||||
WINE64_BIN="${WINE64_BIN:-wine64}"
|
||||
WINEPREFIX="${WINEPREFIX:-$HOME/Library/Application Support/com.mikrotik.winbox}"
|
||||
WINEDEBUG="${WINEDEBUG:-fixme-esync}"
|
||||
|
||||
if ! command -v "$WINE64_BIN" >/dev/null 2>&1; then
|
||||
printf 'Не найден Wine: %s\n' "$WINE64_BIN" >&2
|
||||
exit 127
|
||||
fi
|
||||
|
||||
if [[ ! -f "$WINBOX_EXE" ]]; then
|
||||
printf 'Не найден файл Winbox: %s\n' "$WINBOX_EXE" >&2
|
||||
exit 66
|
||||
fi
|
||||
|
||||
# Эти переменные повторяют минимально необходимые настройки исходного launcher.
|
||||
export LC_CTYPE="en_US.UTF-8"
|
||||
export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
export WINEDEBUG WINEPREFIX
|
||||
|
||||
exec "$WINE64_BIN" "$WINBOX_EXE" "$@"
|
||||
Reference in New Issue
Block a user