Перейти к содержанию
  • Язык

Лидеры

  1. NoctisDGrace

    Делегаты
    3
    Баллы
    5
    Постов
  2. 2
    Баллы
    74
    Постов
  3. АЙКАКПРОСТО

    Делегаты
    1
    Баллы
    2
    Постов
  4. aJleXaHDeR

    Делегаты
    1
    Баллы
    1
    Постов

Прославленный контент

Показан контент с высокой репутацией 06.03.2026 во всех областях

  1. Эта инструкция больше написана для новиопов, которые не умеют юзать запрет. На самом деле, этот инструмент достаточно мощный и гибко настраивается. Если тема будет востребована, то сделаю разбор всех файлов и папок, которые в нем есть и покажу, как настраивать доступ к чему угодно и самостоятельно исправлять, если он будет слетать.
  2. Инструкция прописана на случай, если доступ опять снесут. РКН периодически попинывает Олега. Подозреваю, просто не понимают, что делать с ним и его ресурсами. К тому же, что доступно в МСК, не всегда доступно в регионах. О них тоже надо думать хотя бы иногда :D
  3. У меня кино без обходов работает и форум этот тоже, МСК
  4. Активируем инструменты разработчика. Для этого в комнате прописываем и отправляем команду /devtools. Помимо этого лучше отключить новый вид и вернуть старый. Убрать галочку с пункта нового списка комнат. И прописываем ссылку на тему. Обычно они в формате .json. Их можно публиковать прямыми ссылками в сети. GitHub, GitLab. Создать их достаточно просто. Ниже готовый пример на основе нашего форума. https://raw.githubusercontent.com/aprelteam/matrix/refs/heads/main/element-desktop/aprelforum.json { "name": "Aprel Forum", "is_dark": true, "colors": { "accent-color": "#b58900", "primary-color": "#268bd2", "warning-color": "#dc322f", "sidebar-color": "#002b36", "roomlist-background-color": "#073642", "roomlist-text-color": "#839496", "roomlist-text-secondary-color": "#93a1a1", "roomlist-highlights-color": "#586e75", "timeline-background-color": "#002b36", "timeline-text-color": "#839496", "secondary-content": "#839496", "tertiary-content": "#839496", "timeline-text-secondary-color": "#586e75", "timeline-highlights-color": "#073642", "reaction-row-button-selected-bg-color": "#268bd2" } } Расшифровка: - "name": "Aprel Forum": Название - "is_dark": true: Указывает, что интерфейс будет с тёмной темой. - "colors": Цветовые настройки интерфейса. Ниже всё то, что связано с раскраской: - "accent-color": "#b58900": Дополнительный цвет акцента. - "primary-color": "#268bd2": Основной цвет интерфейса. - "warning-color": "#dc322f": Цвет, используемый для предупреждений. - "sidebar-color": "#002b36": Цвет боковой панели. - "roomlist-background-color": "#073642": Цвет фона списка комнат. - "roomlist-text-color": "#839496": Цвет текста в списке комнат. - "roomlist-text-secondary-color": "#93a1a1": Цвет вторичного текста в списке комнат. - "roomlist-highlights-color": "#586e75": Цвет для выделенных элементов в списке комнат. - "timeline-background-color": "#002b36": Цвет фона временной линии. - "timeline-text-color": "#839496": Цвет текста на временной линии. - "secondary-content": "#839496": Цвет вторичного контента. - "tertiary-content": "#839496": Цвет третичного контента. - "timeline-text-secondary-color": "#586e75": Цвет вторичного текста на временной линии. - "timeline-highlights-color": "#073642": Цвет выделенных элементов на временной линии. - "reaction-row-button-selected-bg-color": "#268bd2": Цвет фона кнопки реакций при выборе.
  5. Какой-то лютый бред со стороны ТГ. Тип, виолейтинг накинули не на что-то конкретное, а на всю сетку Апреля, что само по себе пиздец. Скорее всего, прямого нарушаения не было, и это просто действительно точечный блок. Ибо, к сожалению, ТГ прогибаются под Ру правительство и их запросы, абсолютно не смотря на то, что правительство и N-ные органы всё ТэГэ тарабанило и в ж0пу, и ещё куда только не попадя. Брух, один большой Брух.
  6. Вероятно, многие из пытавшихся реализовать скачивание видосов с ютуба уже натыкались на get_video_info. И, к большому сожалению, рабочим этот вариант не оказывался (на сегодняшний день). Поэтому в этой статье поделюсь одной из найденных альтернатив. Итак, создаём php-файл и сразу начинаем писать код. Добавим переменную $link, запишем в неё ссылку на любое видео с ютуба: <?php $link = 'https://www.youtube.com/watch?v=x4sWD5qiZT4'; GET-параметр v - это идентификатор нашего видео. Его из общей ссылки необходимо как-то вычленить. Да, можно было бы сделать всё вручную и в $link вставлять уже вырезанный ID, но всё же лениться не будем и сделаем небольшой задел на будущее (например, для реализации какого-то интерфейса или интеграции скрипта в бота): parse_str( parse_url( $link, PHP_URL_QUERY ), $params ); $video_id = $params['v'] ?? exit; Далее формируем POST-запрос к конечной точке youtubei/v1/player: $arr = [ 'context' => [ 'client' => [ 'hl' => 'en', 'clientName' => 'WEB', 'clientVersion' => '2.20210721.00.00', 'mainAppWebInfo' => [ 'graftUrl' => '/watch?v=' . $video_id ] ] ], 'videoId' => $video_id ]; $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, 'https://www.youtube.com/youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' ); curl_setopt( $curl, CURLOPT_HTTPHEADER, [ 'Content-Type:application/json' ] ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $curl, CURLOPT_POST, true ); curl_setopt( $curl, CURLOPT_POSTFIELDS, json_encode( $arr ) ); curl_setopt( $curl, CURLOPT_ENCODING, 'gzip, deflate' ); $result = json_decode( curl_exec( $curl ), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES ); curl_close( $curl ); На данный момент в переменной $result хранится огромной массив полученных данных, некоторые из которых нам придётся вытащить и использовать для дальнейшей работы: $video_details = $result['videoDetails']; $streaming_data = $result['streamingData']; $formats = $streaming_data['formats']; $video_name = $video_details['title']; $video = []; foreach ( $formats as $key ) { $data = $key; $mime_type = explode( ';', $data['mimeType'] ); $data['mime'] = $mime_type[0]; $data['format'] = ltrim( substr( $mime_type[0], stripos( $mime_type[0], '/' ) ), '/' ); $video[] = $data; } $video_file_name = strtolower( str_replace( ' ', '_', $video_name ) ) . '.' . $video[0]['format']; $download_url = $video[0]['url']; $file_name = preg_replace( '/[^A-Za-z0-9.\_\-]/', '', basename( $video_file_name ) ); Дальше проверяем переменную $download на пустоту: if ( $download_url ) { header( 'Cache-Control: public' ); header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $file_name ); header( 'Content-Type: application/zip' ); header( 'Content-Transfer-Encoding: binary' ); readfile( $download_url ); } Если всё окей - начнётся загрузка видео. В этот раз я не стал делать интерфейс, поэтому для тестирования достаточно открыть файл со скриптом в браузере. Весь код: <?php $link = 'https://www.youtube.com/watch?v=y2YUJ186Ke4'; parse_str( parse_url( $link, PHP_URL_QUERY ), $params ); $video_id = $params['v'] ?? exit; $arr = [ 'context' => [ 'client' => [ 'hl' => 'en', 'clientName' => 'WEB', 'clientVersion' => '2.20210721.00.00', 'mainAppWebInfo' => [ 'graftUrl' => '/watch?v=' . $video_id ] ] ], 'videoId' => $video_id ]; $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, 'https://www.youtube.com/youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' ); curl_setopt( $curl, CURLOPT_HTTPHEADER, [ 'Content-Type:application/json' ] ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $curl, CURLOPT_POST, true ); curl_setopt( $curl, CURLOPT_POSTFIELDS, json_encode( $arr ) ); curl_setopt( $curl, CURLOPT_ENCODING, 'gzip, deflate' ); $result = json_decode( curl_exec( $curl ), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES ); curl_close( $curl ); $video_details = $result['videoDetails']; $streaming_data = $result['streamingData']; $formats = $streaming_data['formats']; $video_name = $video_details['title']; $video = []; foreach ( $formats as $key ) { $data = $key; $mime_type = explode( ';', $data['mimeType'] ); $data['mime'] = $mime_type[0]; $data['format'] = ltrim( substr( $mime_type[0], stripos( $mime_type[0], '/' ) ), '/' ); $video[] = $data; } $video_file_name = strtolower( str_replace( ' ', '_', $video_name ) ) . '.' . $video[0]['format']; $download_url = $video[0]['url']; $file_name = preg_replace( '/[^A-Za-z0-9.\_\-]/', '', basename( $video_file_name ) ); if ( $download_url ) { header( 'Cache-Control: public' ); header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $file_name ); header( 'Content-Type: application/zip' ); header( 'Content-Transfer-Encoding: binary' ); readfile( $download_url ); }
Эта таблица лидеров рассчитана в Минск/GMT+03:00
Иконка перчаток с несколькими звуками
Иконка перчаток

Досье

Навигация

Розыск

Розыск

Настройка push-извещений браузера

Chrome (Android)
  1. Нажми на значок замка рядом с адресной строкой.
  2. Нажми Разрешения → Извещения.
  3. Корректируй свои предпочтения.
Chrome (Desktop)
  1. Нажми на значок замка в адресной строке.
  2. Выбери Управление сайта.
  3. Разыщи Изввещения и корректируй свои предпочтения.