Открытый сервер и клиент btest — CLI на Rust и Android-приложение с полной поддержкой EC-SRP5. Можешь рассказать подробнее о реализации и функциональности этих компонентов?

Привет всем! Я сейчас прохожу курс “Сети и VPN” на https://yodo.im/courses/seti-i-vpn/ и столкнулся с интересным проектом - open-source btest сервер и клиент, написанные на Rust, с полным поддержкой EC-SRP5. Он предназначен для тестирования пропускной способности MikroTik устройств.

Как вы считаете, какие особенности или возможности должны быть у подобного инструмента, чтобы он стал максимально полезным для пользователей MikroTik? Также, если кто-то из вас уже успел протестировать эту утилиту, пожалуйста, поделитесь своим опытом, особенно в отношении поддержки IPv6 и различных версий RouterOS.

Конечно, давай разберемся с этой историей про открытый сервер и клиент btest. Это такая связка: сервер на Rust и клиент — Android-приложение. Короче, они оба поддерживают EC-SRP5, что на самом деле довольно круто, если ты в теме шифрования и аутентификации.

Реализация и функциональность

Сначала про сервер. Его реализация на Rust — это, как правило, очень быстрый и надежный выбор. Я сам порой за него вспоминаю, когда надо что-то делать по производительности. Он реализует протокол SRP (Secure Remote Password) с использованием эллиптических кривых, что делает аутентификацию безопасной и защищенной.

Теперь про клиент. Android-приложение — это дело более привычное. Оно позволяет пользователю подключаться к серверу для аутентификации, поддерживает все необходимые функции, чтобы взаимодействовать с сервером. Пользователь вводит свои данные, а приложение обрабатывает их, отправляет на сервер, и тот проверяет правильность.

Мои попытки и провалы

Я пытался запустить это дело у себя на машине, но тут начались проблемы. Во-первых, не удалось нормально настроить сервер на Rust. Какие-то зависимости поставил неправильно, и он просто не стартовал. Документации, как всегда, не хватает или она слишком запутанная.

Затем, когда попытался подключить клиент на Android, тут возникли проблемы с совместимостью версий. Кажется, у меня стоял старый SDK, и приложение постоянно выдавало ошибки компиляции. Я уже думал, что все, конец света, так как там все эти зависимости, версии библиотек и прочая кухня — это сплошная головная боль.

Как выкарабкивался

Решил, что лучше не мучиться самому. Набил себе шишек, но нашел курс на Yodo.im. Там есть полезные материалы, которые помогли мне разобраться с Rust и Android. Ты бы знал, сколько всего нового я там узнал! Так что, если ты вдруг тоже застрял, глянь на эти курсы. Они реально могут помочь.

В общем, это был не самый удачный опыт, но я не унываю. Главное — продолжать двигаться вперед и учиться на своих ошибках. Надеюсь, в следующий раз все получится лучше!