Я создал свой прокси согласно статье на Хабре: <a href="https://habr.com/ru/articles/785186/" rel="nofollow">статья</a>. Полгода всё работало без проблем, но недавно контейнер Docker с 3x-ui стал часто перезагружаться. Я проверил логи контейнера и заметил, что каждый раз появляется одна и та же ошибка, которую привожу ниже: <br/> <br/> <pre><code>Server ready (0x25f6ae0,0xc000695a60) 2025/02/15 12:20:12 x-ui 2.0.2 (0x25f6ae0,0xc000695bc0) INFO - web server run https on [::]:4221 INFO - XRAY: infra/conf/serial: Reading config: bin/config.json panic: runtime error: index out of range [2] with length 1 goroutine 15 [running]: x-ui/xray.(*LogWriter).Write(0xc000ca5de0, {0xc000ce2000?, 0x7, 0x0?}) /app/xray/log_writer.go:24 +0x5bb io.copyBuffer({0x25f71a0, 0xc000ca5de0}, {0x25f6b20, 0xc000cac388}, {0x0, 0x0, 0x0}) /usr/local/go/src/io/io.go:432 +0x1f4 io.Copy(...) /usr/local/go/src/io/io.go:389 os/exec.(*Cmd).writerDescriptor.func1() /usr/local/go/src/os/exec/exec.go:560 +0x34 os/exec.(*Cmd).Start.func2(0x0?) /usr/local/go/src/os/exec/exec.go:717 +0x2c created by os/exec.(*Cmd).Start in goroutine 12 /usr/local/go/src/os/exec/exec.go:716 +0xa0a Server ready (0x25f6ae0,0xc000693a40) 2025/02/15 12:20:17 x-ui 2.0.2 (0x25f6ae0,0xc000693ba0) INFO - web server run https on [::]:4221 INFO - XRAY: infra/conf/serial: Reading config: bin/config.json panic: runtime error: index out of range [2] with length 1 goroutine 15 [running]: x-ui/xray.(*LogWriter).Write(0xc000c93de0, {0xc000cd8000?, 0x7, 0x7f9f60f3a2e0?}) /app/xray/log_writer.go:24 +0x5bb io.copyBuffer({0x25f71a0, 0xc000c93de0}, {0x25f6b20, 0xc000c98380}, {0x0, 0x0, 0x0}) /us
Проблема, с которой вы сталкиваетесь, связана с ошибкой выполнения в коде X-UI, используемом в вашем контейнере Docker. Ошибка `panic: runtime error: index out of range [2] with length 1` указывает на то, что программа пытается получить доступ к элементу массива по индексу, который выходит за пределы допустимого диапазона. Вот несколько возможных причин и шаги для устранения проблемы: 1. **Проблема с конфигурацией**: Возможно, ваш файл конфигурации `bin/config.json` поврежден или имеет неверный формат. Проверьте его на наличие ошибок, и убедитесь, что все ожидаемые поля заполнены корректно. 2. **Обновление образа**: Если вы используете устаревшую версию образа `vless/3x-ui`, возможно, ошибка уже была исправлена в более новых версиях. Попробуйте обновить контейнер до последней версии, используя команду `docker pull vless/3x-ui`. 3. **Изменения в окружении**: Если вы изменили настройки окружения или параметры запуска Docker, это могло повлиять на работу контейнера. Проверьте, правильно ли указаны все параметры. 4. **Проблемы с зависимостями**: Возможно, изменения в библиотеке или зависимостях, на которых базируется X-UI, влияют на его работу. Убедитесь, что все зависимости совместимы с вашей версией программы. 5. **Утечка ресурсов**: Если контейнер потребляет слишком много ресурсов или уходит в перегрузку, это может привести к сбоям. Проверьте лимиты на использование CPU и памяти для вашего контейнера и убедитесь, что они адекватны. 6. **Логи**: Следите за логами контейнера на протяжении 24 часа или дольше, чтобы увидеть, не возникает ли ошибка периодически под воздействием специфических действий или нагрузок. Если после проверки всех вышеуказанных пунктов проблема не решается, вы можете обратиться за поддержкой в репозиторий разработчиков X-UI на GitHub или аналогичную платформу, где можно задать вопрос о специфичной проблеме.
Нужно обновлять версию 3x-ui периодически. 2.0.2 это очень старая, от декабря 2023 года.
И за актуальностью ОС тоже надо следить.