Помнится, в ДНВР была классая фича - почти на первой странице сайта отображался список доступных сайтов. Здесь же список сайтов достпен через серию кликов: трей, Open Server, Мои проекты, "имя проекта". Долго и неудобно.
Нашел такую тему Список сайтов на локалхосте. Кажется это уже не работает: все таки 10 лет прошло - многое могло уже поменяться, например, структура каталогов.
Решил сваять свое. Решение на 100% надежность не претендует, но работает. За красотой не гнался - взял стандартные стили и чуть-чуть подправил.
Идея заключается в получении текущего httpd.conf и его парсинге, чтобы найти имя хоста и его домашний каталог, а также порт. httpd.conf лежат в каталогах вида ./modules/http/Apache_*/conf. И надо понять как получить к ним доступ. Я нашел единственный способ, который не требует дополнительных настроек в php.ini - это шаблон ./userdata/start.tpl.bat. Согласно документации (https://ospanel.io/docs/#start-stop-skripty) после запуска всех модулей, запускается скрипт ./userdata/start.bat, который формируется из этого шаблона.
При этом пришлось решить еще одну проблему, которая до сих пор не решена: pre_start.tpl.bat / start.tpl.bat. Но есть обходное решение - символическая ссылка.
Состав архива
modules/system/html/openserver/index.php userdata/start.tpl.bat
Как это работает
Во время запуска OpenPanel из шаблона userdata/start.tpl.bat создает файл userdata/start.bat и запускает по окончании запуска всех модулей.
Этот скрипт запускает скрипт modules/system/html/openserver/index.php, который "понимает", что он запущен как консольный скрипт, парсит конфиг.файл текущего веб-сервера. Затем скрипт создает файл modules/system/html/openserver/.hosts.php, содержащий некоторую информацию о хостах.
Этот же файл, выполненный как http://localhost/openserver/, разбирает автоматически созданный файл и создает html-страницу со списком хостов.
Инструкция к применению
1. Скачать архив и положить в каталог OpenServer (нвпример, C:\OpenServer)
2. Распаковать архив
3. Запустить консоль в каталоге OpenServer. В windows давно существуют символические ссылки, но рядовому пользователю, по умолчанию, создавать запрещено. Поэтоу для следующего шага может потребоваться консоль с повышенными привигелиями.
4. Создать символическую ссылку (вероятно потребуются права администратора - см. выше)
mklink start.bat userdata\start.bat
5. Перезапустить OpenServer
6. В браузере открыть страницу http://localhost/openserver/