Skip to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Chrome-Vanadium

Пользователи
  • Регистрация

  • В сети

Reputation Activity

  1. Like
    Chrome-Vanadium reacted to AHristich in Чат для общения.   
    Так и мечта стОит 1.5-2млн.р. Всего-то ...
  2. Like
    Chrome-Vanadium got a reaction from Rambo3 in Чат для общения.   
    Кусок ноутбука в аккуратно оформленной коробочке. Имя ему Chatreey AN2P. У меня версия с AMD Ryzen 5 7430U, сунул в неё 64 ГБ DDR4-3200 двумя планками по 32 ГБ, пока ещё она была по относительно вменяемой цене. SSD на 120 ГБ для системы и ещё один на 1 ТБ для данных. Процессору максимум разрешено кушать 40 Вт.
  3. Like
    Chrome-Vanadium reacted to Zero108 in Чат для общения.   
    Ну, мой сервер не выдержал 80k запросов в минуту. Ваш скорее всего выдержал.
  4. Like
    Chrome-Vanadium reacted to Scarzy in Invision Community 4 Nulled   
    Hey @Respected could you please update to 4.7.24 as it includes an important security update. Thanks!
  5. Like
    Chrome-Vanadium reacted to AHristich in Чат для общения.   
    Завел нового зверя



    Озу- 192гб
    Хеоп -10/20
    8sasх3тб
  6. Confused
    Ваша задача — заставить Invision Community (IPS4) корректно работать с SMTPS (TLS на порту 465, implicit TLS), а не только с SMTP+STARTTLS (обычно порт 587). Из того, что вы описали:
    - Вы успешно «пропатчили» механизм авторизации SMTP, заменив LOGIN на PLAIN — это решило вопрос аутентификации.
    - Теперь вы хотите перейти на SMTPS (implicit TLS) на порту 465.
    - При попытке отправки через SMTPS происходит зависание и таймаут.
    ---
    ### Почему возникает проблема?
    Большинство современных PHP-библиотек и реализаций SMTP-клиентов (включая стандартный stream_socket_client и частично PHPMailer, которые может использовать IPS4) по умолчанию поддерживают STARTTLS, но implicit TLS (где TLS начинается сразу при подключении) требует особой настройки соединения.
    Если пытаться подключаться к SMTPS на 465 порт без правильного указания SSL-контекста в stream_socket_client, то соединение либо не устанавливается, либо "зависает".
    ---
    ### Что проверить и как решить
    1. Проверка способа соединения
    Убедитесь, что в IPS4 при использовании порта 465 действительно используется SSL/TLS-соединение с самого начала, а не plain TCP, и не пытается запускать STARTTLS.
    2. Настройка параметров соединения
    В IPS4 (его классе SMTP отправки), скорее всего, используется stream_socket_client(). Для implicit SSL вам нужно использовать транспорт ssl:// или tls:// в URL подключения.
    Например:
    $transport = ($this->smtpPort == 465) ? 'ssl://' : 'tcp://'; $connection = stream_socket_client($transport . $this->smtpHost . ':' . $this->smtpPort, $errno, $errstr, $timeout);Часто ssl:// используется для implicit TLS (порт 465), а tcp:// — для обычного TCP (порт 587 с STARTTLS).
    3. Патчинг IPS4
    Возможно, в исходном коде IPS4 в классе SMTP нет поддержки ssl:// транспорта, или она автоматически не выбирается по порту.
    Попробуйте поискать и изменить логику открытия соединения так, чтобы для порта 465 использовать ssl://.
    Обычно в IPS4 путь к классу — IPS\Email\Outgoing\Smtp или похожий.
    4. Пример патча для подключения:
    Найдите метод, который открывает сокет, может называться _openSocket() или что-то подобное. Добавьте условие:
    $transport = 'tcp://'; if ( $this->smtpPort == 465 ) { $transport = 'ssl://'; } $this->_socket = stream_socket_client( $transport . $this->smtpHost . ':' . $this->smtpPort, $errno, $errstr, $timeout );5. Выключите STARTTLS
    При использовании SMTPS на 465 не нужно запускать команду STARTTLS — TLS уже активен. Проверьте, что IPS4 не пытается выполнить STARTTLS после подключения, иначе возникнет конфликт.
    6. Проверка настроек почтового сервера
    Убедитесь, что ваш SMTP сервер корректно слушает 465 порт с implicit TLS.
    7. Логирование и отладка
    Включите расширенное логирование SMTP соединения в IPS4, чтобы увидеть, на каком этапе происходит зависание.
    8. Альтернативы
    Если IPS4 не поддерживает implicit TLS из коробки, можно:
    - Использовать порт 587 с STARTTLS (если это возможно).
    - Проксировать SMTP через stunnel на сервере, переводя plain 587 в 465 SSL.
    - Использовать внешний SMTP-клиент/шлюз.
    ---
    ### Краткое резюме
    - SMTPS (порт 465) требует подключения с ssl:// transport в PHP.
    - Нужно исправить код создания сокета, чтобы для порта 465 использовать ssl://.
    - Убедиться, что не запускается STARTTLS, когда используешь implicit TLS.
    - Проверьте, что аутентификацию и отправку сообщений IPS4 выполняет после установления TLS.
    - Логируйте SMTP-сессию для диагностики.
    ---
    Если хотите, могу помочь более конкретно с кодом, если вы предоставите исходный код класса, где открывается SMTP-соединение у вас в IPS4.
    Ваш GPT-5
    Спасибо за предоставленный код класса SMTP. Теперь гораздо яснее, как идёт подключение и какая логика используется.
    ---
    ### Ваша задача — заставить Invision Community корректно работать с implicit TLS (SMTPS на порту 465).
    ---
    ## Анализ текущей реализации подключения
    В методе connect() есть эта строка:
    $connection = @fsockopen( ( ( $this->smtpProtocol == 'ssl' ) ? 'ssl://' : '' ) . $this->smtpHost, $this->smtpPort, $errno, $errstr );То есть протокол ssl:// добавляется к хосту только, если $this->smtpProtocol == 'ssl'. Это позволяет открывать implicit TLS соединение, которое как раз используется на порту 465.
    Если $this->smtpProtocol == 'tls', то соединение открывается как plain TCP, и затем вызывается команда STARTTLS.
    Всё выглядит правильно, но:
    - Вы должны убедиться, что в конфигурации IPS4 при использовании порта 465 указано $smtpProtocol = 'ssl'.
    - Если у вас $smtpProtocol == 'tls' на 465 порту — соединение зависнет, так как сервер ожидает TLS с самого начала, а клиент пытается сделать plain connection.
    ---
    ## Рекомендации и исправления
    1. **Проверьте значение $smtpProtocol в вашей конфигурации.**
    Для implicit TLS (порт 465) оно должно быть точно 'ssl', а не 'tls'!
    2. **Убедитесь, что вы не запускаете STARTTLS при $smtpProtocol == 'ssl'.**
    В вашем методе connect() есть такой код:
    if( $this->smtpProtocol == 'tls' ) { // starttls и активация шифрования } Следовательно при 'ssl' этот блок пропускается, что правильно.
    3. **Ваш патч с AUTH PLAIN**
    Ваш код авторизации должен выглядеть примерно так, чтобы включать поддержку PLAIN, например заменить этот участок:
    /* Authenticate */ if ( $this->smtpUser ) { // вместо AUTH LOGIN, сделать: $responseCode = $this->_sendCommand( 'AUTH PLAIN', 334 ); $responseCode = $this->_sendCommand( base64_encode("\0" . $this->smtpUser . "\0" . $this->smtpPass), 235 ); }4. **Добавьте логирование**
    Метод getLog() есть, так что вызовите его после неудачных попыток, чтобы получить подробный лог SMTP сессии. Это поможет отловить, на каком этапе подвисает.
    5. **Пример конфигурации для port 465**
    В конфиге форума/почты должно быть так:
    - SMTP host: ваш сервер
    - SMTP port: 465
    - SMTP protocol: ssl
    - SMTP user/pass: ваши данные
    ---
    ## Можно протестировать -- пример быстрого скрипта для проверки соединения (outside IPS4)
    <?php $host = 'ssl://smtp.yourserver.com'; $port = 465; $user = 'username'; $pass = 'password'; $fp = fsockopen($host, $port, $errno, $errstr, 10); if (!$fp) { die("Ошибка подключения: $errstr ($errno)\n"); } echo fgets($fp, 515); // ждем готовности сервера fputs($fp, "EHLO yourdomain.com\r\n"); echo fgets($fp, 515); fputs($fp, "AUTH PLAIN " . base64_encode("\0$user\0$pass") . "\r\n"); echo fgets($fp, 515); // Далее команда MAIL, RCPT и DATA ...
    Если тестовый скрипт работает, а IPS4 нет — проблема в настройках (smtpProtocol) или нюансах работы класса.
    ---
    ## Резюме
    - В IPS4 для implicit TLS на 465 порт должно быть $smtpProtocol = 'ssl'
    - В этом случае fsockopen() использует ssl:// префикс, TLS устанавливается сразу
    - STARTTLS в этом случае не вызывается
    - Используйте AUTH PLAIN вместо AUTH LOGIN для аутентификации
    - Проверьте лог сессии для диагностики проблем
    - Убедитесь, что порт 465 на сервере корректно работает с implicit TLS
    ---
    Если будете испытывать проблемы — пришлите лог из $smtp->getLog() после неудачной попытки. Помогу проанализировать дальше.
  7. Like
    Для совместимости с Invision Community 4.7 (и более ранних версий, где произошло изменение функции IPS\forums\_Topic::comments) нужно исправить хук \plugins\nb40pinnedposts\hooks\nbPinnedPostPosts.php следующим образом:
    <?php # nbPinnedPostsPosts.php:19 public function comments( $limit=NULL, $offset=NULL, $order='date', $orderDirection='asc', $member=NULL, $includeHiddenComments=NULL, $cutoff=NULL, $extraWhereClause=NULL, $bypassCache=FALSE ) # заменить на public function comments( $limit=NULL, $offset=NULL, $order='date', $orderDirection='asc', $member=NULL, $includeHiddenComments=NULL, $cutoff=NULL, $extraWhereClause=NULL, $bypassCache=FALSE, $includeDeleted=false, $canViewWarn=null ) ?> Увеличилось количество аргументов функции, из-за этого при включении плагина без патча выше движок взрывается:
    Fatal error: Declaration of IPS\forums\hook15::comments($limit = null, $offset = null, $order = 'date', $orderDirection = 'asc', $member = null, $includeHiddenComments = null, $cutoff = null, $extraWhereClause = null, $bypassCache = false) must be compatible with IPS\forums\_Topic::comments($limit = null, $offset = null, $order = 'date', $orderDirection = 'asc', $member = null, $includeHiddenComments = null, $cutoff = null, $extraWhereClause = null, $bypassCache = false, $includeDeleted = false, $canViewWarn = null) in init.php(934) : eval()'d code on line 19  
  8. Like
    Chrome-Vanadium got a reaction from SlawkA in Чат для общения.   
    С наступившим всех! 🎉
  9. Like
    @Chrome-Vanadium лучше добавь X-Requested-With: XMLHttpRequest в исключения, не все AJAX запросы используют контроллер с таким названием.
  10. Like
    Проблему удалось решить вместе с @WaNted очень… странным образом.

    После этого проблема произвольных редиректов решилась.
  11. Like
    Работоспособность данного ПО не гарантирована на php выше 8.2.
  12. Like
    А в лоб и не получится, надо генерить прокси - заменители их классов. Есть неплохое приложение, dev toolbox от codingjungle, оно умело создавать прокси классы для обмана Intelephense.
    https://github.com/codingjungle/toolbox - разбирайтесь, я его не проверял на новых версиях, возможно надо будет немного доработать, т.к. автор его забросил. Но функция создания прокси обычно нормально работала.
  13. Thanks
    Chrome-Vanadium got a reaction from t_reks in Контент Дискорда   
    Да можно по всей базе пройтись заменой cdn.discordapp.com/media.discordapp.net на cdn.discordapp.xyz, не парясь насчёт ручного редактирования каждого поста. Опять же, не забываем про бэкапы. https://stackoverflow.com/questions/11839060/
  14. Like
    Chrome-Vanadium got a reaction from HooLIGUN in Контент Дискорда   
    Да можно по всей базе пройтись заменой cdn.discordapp.com/media.discordapp.net на cdn.discordapp.xyz, не парясь насчёт ручного редактирования каждого поста. Опять же, не забываем про бэкапы. https://stackoverflow.com/questions/11839060/
  15. Like
    На nulled такого нет, только релиз полностью обновлять.
  16. Like
    На сколько я помню это был плагин или приложение для ipboard, а на ips уже я не видел такого 
  17. Like
    Pinned Post
    (NB40) Pinned Posts v1.0.12.zip
  18. Thanks
    Chrome-Vanadium got a reaction from t_reks in Контент Дискорда   
    Для всех постов.
    Если тебе нужно массово спарсить канал, у твоего бота должно быть разрешение на «чтение истории сообщений». Затем ему загоняешь команду, которая запрашивает сообщения с даты по дату. В ответ получаешь массив объектов сообщений, из которого можно выдернуть массив объектов вложений. По идее, это должно вернуть ссылки на изображения с проставленными expire-данными. На деле не проверял, в программе, где мне потребуется это реализовать, ещё не дошёл до этого.
    UPD: ссылки на документацию к Discord API поело, смотреть тут:
    discord.com/developers/docs/resources/channel#get-channel-messages discord.com/developers/docs/resources/channel#attachment-object

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.