LINUX.ORG.RU

Избранные сообщения ka1yaka

Приехал M5 Pro

 

Ради интереса собрал deal.II - оно просто пролетело сборку. Тяжёлый templated HPC-код, а ощущение как будто hello world собрал

В очередной раз убеждаюсь: Apple - боги

Дальше планирую гонять бенчи по эмуляции физики на GPU

Reset
()

Как защищать смартфоны?

 

Слушал тут одного блоггера, который заявил, что со смартфона ГБ может снять все данные и спокойно анализировать полученный дамп в оффлайне, читать из этого дампа переписки в соцсетях, емейлы и проч. Что есть у них софт, который это делает легко и просто.

Допустим, даже, упростим задачу. Человека на контроле скажем в аэропорте попросили пройти в комнатку. Там, естественно, человек в штатском предлагает вам добровольно показать смартфон. И вы это делаете (ведь вы-то знаете, что ничего не нарушали и т.п., к тому же, скоро улетит самолёт, на который вы потратили 100т.р.). Далее смартфон пропадает на 20 мин. и возвращается к вам с пожеланиями счастливого пути.

Понятно, что после этого телефон вы можете выкинуть, захардресетить и проч. Но дамп-то уже у кого надо остался…

Каковы ваши действия как Линуксоида по предотвращению несанкционированной утечки информации?

seiken
()

Похоже я нащупал как обуздать Firefox и скармливать ему чуть-чуть памяти

 , , ,

Фокс конкретно достал своим прожорством. Шестнадцать гигов, а я постоянно вижу как всё свапится из-за этого гада. (и не гыкайте мне тут, все браузеры ведут себя одинаково) Ладно бы я что-то сложное делал. Но он явно не отпускает страницы из памяти, хотя уже и выставил кучу всяких уловок. Но вот что мне не давало покоя - этот гад видит сколько в компе памяти и не собирается останавливаться пока не выжрет всё. В результате все программы должны по стеночкам обходить. А тут вы со своими спорами про systemd. И придумал я гадкое, засунул фокса в персональную группу с ограничениями. Сделал так: Создал директорию ~/.config/systemd/user/app-firefox@.service.d/ В ней файл override.conf со следующим содержимым

[Service]
MemoryHigh=1.5G
MemoryMax=4G
MemorySwapMax=0

Перезапустил всё и стало хорошо на душе, фокс стоит на полтора гигах, как вкопанный. Но только включил ютуб, переключился на другое окно с другой вкладкой в другом фоксовском контейнере и всё дико тормозить стало. Я поднял до 2.5G, стало полегче, но всё равно, дойдёт до черты и тормоза лютые сразу. И тут я понял, что он смотрит куда-то в meminfo насчёт доступного рама, но не видит ограничений системды. И поэтому сходу влетает в ограничение, полагая, что все 16 гигов его. Тогда я создал фейковый ~/.fake_meminfo в домашней папке где заменил MemTotal: 4194304 kB и произошло чудо. Всё стало вполне сносно. Но вдруг внезапно он стал падать после нескольких видео на ютубе. Видимо недостаточно я ему наврал. Тога я попросил у ИИ сгенерить meminfo чтобы было похоже, что мы подходим к границе доступной памяти. Вот такой файл ~/.fake_meminfo в итогу получился

MemTotal:        4194304 kB
MemFree:          350000 kB
MemAvailable:     512000 kB
Buffers:           50000 kB
Cached:           600000 kB
SwapCached:            0 kB
Active:          2500000 kB
Inactive:         800000 kB
Active(anon):    2000000 kB
Inactive(anon):     4000 kB
Active(file):     500000 kB
Inactive(file):   800000 kB
SwapTotal:      15580020 kB
SwapFree:       15580020 kB
Dirty:              1000 kB
Writeback:             0 kB
AnonPages:       2000000 kB
Mapped:           400000 kB
Shmem:            150000 kB
Slab:             300000 kB
CommitLimit:    22656768 kB
Committed_AS:   15171448 kB
DirectMap4k:      800000 kB
DirectMap2M:     3000000 kB

а файл override.conf стал таким

[Service]
MemoryHigh=2.5G
MemoryMax=4G
MemorySwapMax=0

# "Обман" - подмена файла для Firefox
BindReadOnlyPaths=/home/pchelobiaka/.fake_meminfo:/proc/meminfo

И… иии… вроде работает. Полноценный Фокс с контейнерами, по собственной воле держит около 2 гигов и не больше.

Спешу поделиться наблюдением. Пробуйте кому интересно. И может что дельное подскажете.

Впервые в жизни придумал как использовать systemd. Хоть и можно было без него, но раз уж он есть, то пусть хоть что-то делает для меня полезное.

Upd.: Важное дополнение. При рассчёте занимаемой памяти я беру не просто размер процесса firefox, но суммы всех процессов фокса вместе взятых. Как оказалось люди не поняли сразу и пфыкают :)

PcheloBiaka
()

Steam Deck PC +1

 , , ,

Продолжение тем Наконец-то консоль с GNU/Linux из коробки и Обратная сторона Steam Deck

К готовому «рабочему месту» Steam Deck (подробности настройки здесь) был добавлен ещё один компьютер: FIREBAT A8 (система охлаждения была доработана под 92мм вентилятор ID-COOLING модель TF-9215-W) с AMD Ryzen 7 8745HS w/ Radeon 780M Graphics, 1 ТБ m.2 SSD и 32 ГБ оперативной памяти (успел в последний момент) на борту. Для переключения используется какой-то домашний ноунэйм HDMI KVM-переключатель. Нового по сравнению с предыдущими темами: замена динамиков Xiaomi Mi Portable Bluetooth Speaker 16W (в TWS режиме) на саундбар Yamaha SR-C20A (звук от HDMI с помощью разделителя).

Информация по видео:

> sudo lshw -C display
  *-display                 
       описание: VGA compatible controller
       продукт: Phoenix3
       производитель: Advanced Micro Devices, Inc. [AMD/ATI]
       физический ID: 0
       сведения о шине: pci@0000:c6:00.0
       логическое имя: /dev/fb0
       версия: b3
       разрядность: 64 bits
       частота: 33MHz
       возможности: pm pciexpress msi msix vga_controller bus_master cap_list fb
       конфигурация: depth=32 driver=amdgpu latency=0 mode=1920x1080 resolution=1920,1080 visual=truecolor xres=1920 yres=1080
       ресурсы: iomemory:7c0-7bf IRQ:57 память:7c00000000-7c0fffffff память:dc000000-dc1fffff ioport:c000(размер=256) память:dc500000-dc57ffff

> glxinfo | grep "OpenGL version"
OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.2

Информация по Аудио (используется первый):

> sudo lspci | grep Audio
c6:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller
c6:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller

А теперь попробую извлечь пользу: Есть непонятная для меня проблема, которая выражается в том, что играх (как минимум в двух от очень разных производителей) запущенных через Steam (Proton 10.0-3) примерно раз в 10-20 секунд происходит что-то вроде лага (я фиксирую исчезновение звука на короткое, но заметное время). Ничего подобного на Steam Deck не наблюдается (заведомо более медленная система с меньшим объёмом памяти). В тоже время при просмотре фильма через firefox проблем со звуком не видно. Предположительно проблема сидит в том, что звук передаётся по HDMI и с его упаковкой туда какие-то проблемы.

Система Ubuntu 24.04.3 LTS

Steam: Стабильная версия. Версия: 1769025840

Вопрос Что делать? Хотя бы куда копать?

Ubdate Попробовал решить эту проблему так: добавил кабель USB → оптика, но это +1 usb-кабель (то есть нужен usb-разветвитель ибо на KVM только два входных USB) и похоже большая нагрузки на Steam Deck. Иными словами картинка теперь получается более захламлённой из-за кабелей, хотя hdmi-разветвитель теперь не нужен. В любом случае интересно понять что там может быть со звуком. Ну и вишенка в торте: это решение в случае Ubuntu 24.04 время от времени приводит к «шумам в оптическом канале». Вытыкание/вткание кабеля проблему решает на какое-то время. Установка переменной

#pulse.min.quantum      = 128/48000     # 2.7ms                                                                                                                  
 pulse.min.quantum      = 1024/48000     # 21.3ms  
в /usr/share/pipewire/pipewire-pulse.conf +
> systemctl --user restart wireplumber pipewire pipewire-pulse
ситуацию меняет к лучшему, но не окончательно. Google ссылается на проблемы со встройками AMD и ядра Linux. То есть опять непонятки ☹

Update 2 Откатился к прежнему решению со звуком через hdmi, но с изменённым значением в /usr/share/pipewire/pipewire-pulse.conf. В первом приближении проблема исчезла.

Evgueni
()

Его крокейшество о вредности СУБД, если архитектурно она для программ, а не живого человека

 ,

Давно уже что-то про Столярова Croco ничего не было =) А тут он повод недавно дал, расписав почему считает недопустимым использовать СУБД в архитектуре при проектировании софта. То есть, если для каких-то программ нужно хранение данных, его надо индивидуально под программу делать, а не подключать базы данных.

Можно обсудить. В принципе я сам не люблю для локальных данных применять базы данных, часто достаточно просто текстовых файлов и это даже надежно и быстро. Но в целом каким-то луддизмом отдает. Его сообщение ниже:

http://www.stolyarov.info/guestbook#cmt97

==============

Я придерживаюсь принципа несколько более узкого: недопустимо создание, распространение и использовние программ, для работы которых требуется СУБД.

Причины можно назвать, например, такие:

  1. СУБД — это лишняя внешняя зависимость, при том что вообще любые внешние зависимости суть хамство в отношении пользователей и мейнтейнеров;
  2. СУБД требует трудозатрат на установку, настройку и дальнейшее администрирование;
  3. СУБД способна упасть (и да, падает намного чаще, чем, скажем, тот же апач — вообще пока мои сайты жили на «традиционной» CMSке, именно СУБД была причиной всех случаев downtime моих сайтов, за исключением одного, когда на сервере физически осыпался жёсткий диск);
  4. СУБД требует от пользователя постоянно обновлять навыки, которые, возможно, больше ни для чего не нужны;
  5. СУБД хранит информацию пользователя в неочевидном для него виде; этим грешат не только СУБД, конечно, но СУБД мало того что хранят всё в бинарных файлах, которые без самой СУБД даже думать нечего разобрать, они ещё и вводят дополнительный слой хаотизации в виде схемы БД, провоцируя разработчиков софта на внедрение «решений», единственное «описание» которых остаётся в голове у автора;
  6. СУБД требует изрядных вычислительных мощностей и крадёт (а вовсе не повышает, как почему-то многие уверены) производительность.

Я, заметим, не рискну утверждать, что СУБД как сущность вообще никогда не может ни для чего применяться. Тут вопрос в том, кто на ком стоял: если главной целью является база данных как таковая, то есть вот имеется какой-то значительный объём разнородной, но при этом взаимосвязанной информации и стоит задача обеспечить его хранение и в нём поиск, причём никто заранее не знает, какие именно задачи будут решаться на этом массиве информации, какие именно поисковые запросы будут делаться и вот это вот всё, то да, СУБД вполне может оказаться адекватным решением, и даже для работы с ней могут создаваться вспомогательные программки. Это, конечно, не оправдывает существования языка SQL, который в любых его проявлениях представляет собой надругательство над здравым смыслом, но в целом СУБД как вид софта существовать, наверное, всё-таки может — но лишь в случаях, когда либо вообще нет никаких программ кроме неё самой, либо программы делаются для неё, а не она сама поддерживается для работы какой-то программы.

Всё это можно выразить и короче: СУБД, по-видимому, вполне имеет право на существование в ситуации, когда основным способом работы с ней будет непосредственное вбивание запросов на её языке запросов живым человеком. То есть когда именно вот это — основное, а всё остальное вспомогательное. В подавляющем большинстве случаев мы видим прямо противоположное: с СУБД как-то там общается некая программа (намного реже — больше одной программы, и это уже пограничный случай), а живой человек делает запросы либо только в рамках обслуживания всей системы, либо вообще никогда.

Когда же пишется некая программа, предполагающая применение для конкретных задач (а программы иначе, собственно, и не пишутся), и данные возникают исходя из этих задач, а не наоборот, то за саму идею задействования внешней СУБД нужно убивать на месте. Сугубо из санитарных соображений.

praseodim
()

Использование обратных туннелей для доступа к устройствам за NAT

 ,

Использование обратных туннелей для доступа к устройствам за NAT

frp (github.com) — это утилита для создания обратных туннелей. Она позволяет получить доступ к локальному ресурсу за NAT через промежуточный сервер.

Многие знают про существование сервисов типа ngrok и localtunnel, которые позволяют делать нечто подобное. У них есть бесплатные тарифные планы, которые имеют ограничения по ежемесячному трафику и количеству подключений. Поэтому (и не только) в ряде случаев использование self-hosted-решений, таких как frp, оказывается более предпочтительным.

( читать дальше... )

rtxtxtrx
()

Быстрый HTTPS для сайта с помощью angie (форк nginx)

 agnie, , , ,

Ниже описан достаточно лёгкий способ получить обратный прокси с SSL-сертификатом.

Веб-сервер Angie позволяет получать SSL-сертификаты от LetsEncrypt без использования сторонних средств (таких как CertBot).

Установка Angie тривиальна. Документация (на русском языке!) написана понятно и лаконично.

В дополнение к официальной документации, привожу минимально необходимые дополнения к стандартному конфигу, позволяющие автоматически получить и установить SSL для домена example.org, который размещён на веб-сервере с IP-адресом 192.168.2.2.

# cat /etc/angie/http.d/LetsEncrypt.conf

# This part must be included only once into http section (for all sites)
resolver 8.8.8.8;
acme_client letsencrypt https://acme-v02.api.letsencrypt.org/directory;
# cat /etc/angie/http.d/example.org.conf

server {
    listen 80;
    server_name example.org;

    # Redirect all HTTP to HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.org;

    # Obtain and use certificate from LetsEncrypt
    acme letsencrypt;
    ssl_certificate $acme_cert_letsencrypt;
    ssl_certificate_key $acme_cert_key_letsencrypt;

    location / {
        proxy_pass http://192.168.2.2;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

После создания данных конфигов, следует проверить конфигурацию на отсутствие ошибок:

sudo angie -t

и перезапустить веб-сервер

sudo angie -s reload

Желаю успехов!

Harliff
()

DNS-Over-QUIC для блокировки рекламы и не только

 , , ,

DNS-Over-QUIC для блокировки рекламы и не только

Протокол QUIC, в отличие от UDP поддерживает шифрование и работает быстрее чем TCP, который часто используется для шифрованных DNS-запросов. Данная инструкция актуальная, так как Google все-таки начал удаление поддержки блокировщиков рекламы из своего браузера. Кроме того, она пригодится тем, кто хочет скрыть свое пребывание в Интернете от тотальной слежки.

( читать дальше... )

rtxtxtrx
()

Наушники для lossless

 , ,

Какие уши юзаете для прослушивания lossless audio?

mozgoff
()

Защищенный терминал подручными средствами

 , , ,

Предлагаю смотреть на вопрос философски. Многие из нас работают на удаленке. Защищая свою рабочую машину для просмотра котиков, мы возможно избавим от проблем себя и свою любимую компанию. А вот откуда может прилететь, сходу сказать сложно. Будем считать против нас Бох! Ну не тот который всё создал, а тот который специализируется на атаках ИБ, ну и раз он Бох, то он конечно умеет читать мысли и бессмертен.

( читать дальше... )

unclestephen
()

Проблемы с уровнем яркости на Honor Magicbook 14 GLO-G561

 

Установил Ubuntu 22.04.3 LTS на указанный ноут. Сразу при запуске все хорошо - яркость регулируется и с кнопок, и из менюшки. Через некоторое время (минут 10) яркость сама по себе доводится до максимума или до минимума, после чего перестает работать одна или обе кнопки настройки яркости, при этом регулировка из менюшки работает. Иногда это событие повторяется. Один раз было, что яркость сама повысилась до максимума и менялась через менюшку, но сразу же восстанавливалась до максимума, будто была зажата кнопка, но прошло само через пару секунд (впоследствии кнопки так и не заработали). Кто знает, подскажите пожалуйста, в чем может быть дело.

krigga
()

Используем socks для доступа к ChatGPT и ускорения YouTube

 ,

Используем socks для доступа к ChatGPT и ускорения YouTube

Эта статья не содержит описания способов обхода блокировок для доступа к противоправому контенту. Socks-прокси нужны исключительно для того чтобы смотреть YouTube и просить ChatGPT писать за тебя домашние задания!!! У первого какие-то проблемы со скоростью последнее время, говорят, что из-за отключения кеширующих серверов, а второй сам заблокировал жителей из России, Беларуси и Китая…

( читать дальше... )

rtxtxtrx
()

YT-DLP, очевидное-невероятное

 ,

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 22 (720p, единый файл, не dash). Может я наговариваю, конечно, на ютуб, но формат best (720p) всегда был, имхо.


Оказывается есть возможность получать другую таблицу форматов, отличную от дефолтной. У yt-dlp есть параметр --extractor-arg "youtube:player_client=mediaconnect" ([youtube] Format 22 is only sometimes extracted for some videos #10206).
Дефолтная таблица форматов:

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' 
Extracting cookies from firefox
Extracted 1328 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading ios player API JSON
[youtube] eUyr9MJnj4w: Downloading player 5b22937f
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                  storyboard
233 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
234 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
139 m4a   audio only      2 │    1.32MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │    1.30MiB   48k https │ audio only          opus        48k 48k low, webm_dash
250 webm  audio only      2 │    1.70MiB   63k https │ audio only          opus        63k 48k low, webm_dash
140 m4a   audio only      2 │    3.51MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    3.51MiB  130k https │ audio only          opus       130k 48k medium, webm_dash
602 mp4   256x144     15    │ ~  2.33MiB   86k m3u8  │ vp09.00.10.08   86k video only
394 mp4   256x144     30    │    1.68MiB   62k https │ av01.0.00M.08   62k video only          144p, mp4_dash
269 mp4   256x144     30    │ ~  4.16MiB  154k m3u8  │ avc1.4D400C    154k video only
160 mp4   256x144     30    │    1.55MiB   57k https │ avc1.4D400C     57k video only          144p, mp4_dash
603 mp4   256x144     30    │ ~  4.18MiB  154k m3u8  │ vp09.00.11.08  154k video only
278 webm  256x144     30    │    2.35MiB   87k https │ vp9             87k video only          144p, webm_dash
395 mp4   426x240     30    │    2.70MiB  100k https │ av01.0.00M.08  100k video only          240p, mp4_dash
229 mp4   426x240     30    │ ~  5.70MiB  211k m3u8  │ avc1.4D4015    211k video only
133 mp4   426x240     30    │    2.35MiB   87k https │ avc1.4D4015     87k video only          240p, mp4_dash
604 mp4   426x240     30    │ ~  7.76MiB  287k m3u8  │ vp09.00.20.08  287k video only
242 webm  426x240     30    │    3.59MiB  133k https │ vp9            133k video only          240p, webm_dash
396 mp4   640x360     30    │    5.02MiB  186k https │ av01.0.01M.08  186k video only          360p, mp4_dash
230 mp4   640x360     30    │ ~ 11.41MiB  421k m3u8  │ avc1.4D401E    421k video only
134 mp4   640x360     30    │    4.13MiB  153k https │ avc1.4D401E    153k video only          360p, mp4_dash
18  mp4   640x360     30  2 │ ≈  7.64MiB  282k https │ avc1.42001E         mp4a.40.2       44k 360p
605 mp4   640x360     30    │ ~ 15.03MiB  555k m3u8  │ vp09.00.21.08  555k video only
243 webm  640x360     30    │    6.06MiB  224k https │ vp9            224k video only          360p, webm_dash
397 mp4   854x480     30    │    8.40MiB  310k https │ av01.0.04M.08  310k video only          480p, mp4_dash
231 mp4   854x480     30    │ ~ 15.17MiB  561k m3u8  │ avc1.4D401F    561k video only
135 mp4   854x480     30    │    6.09MiB  225k https │ avc1.4D401F    225k video only          480p, mp4_dash
606 mp4   854x480     30    │ ~ 20.80MiB  769k m3u8  │ vp09.00.30.08  769k video only
244 webm  854x480     30    │    8.50MiB  314k https │ vp9            314k video only          480p, webm_dash
398 mp4   1280x720    30    │   14.51MiB  536k https │ av01.0.05M.08  536k video only          720p, mp4_dash
232 mp4   1280x720    30    │ ~ 24.57MiB  908k m3u8  │ avc1.4D401F    908k video only
136 mp4   1280x720    30    │   11.09MiB  410k https │ avc1.4D401F    410k video only          720p, mp4_dash
609 mp4   1280x720    30    │ ~ 31.59MiB 1167k m3u8  │ vp09.00.31.08 1167k video only
247 webm  1280x720    30    │   13.61MiB  503k https │ vp9            503k video only          720p, webm_dash
399 mp4   1920x1080   30    │   24.33MiB  899k https │ av01.0.08M.08  899k video only          1080p, mp4_dash
270 mp4   1920x1080   30    │ ~ 73.64MiB 2721k m3u8  │ avc1.640028   2721k video only
137 mp4   1920x1080   30    │   39.45MiB 1458k https │ avc1.640028   1458k video only          1080p, mp4_dash
614 mp4   1920x1080   30    │ ~ 53.22MiB 1967k m3u8  │ vp09.00.40.08 1967k video only
248 webm  1920x1080   30    │   26.78MiB  990k https │ vp9            990k video only          1080p, webm_dash
616 mp4   1920x1080   30    │ ~131.47MiB 4858k m3u8  │ vp09.00.40.08 4858k video only          Premium
400 mp4   2048x1152   30    │   60.94MiB 2252k https │ av01.0.08M.08 2252k video only          1080p, mp4_dash
620 mp4   2048x1152   30    │ ~151.23MiB 5589k m3u8  │ vp09.00.50.08 5589k video only
271 webm  2048x1152   30    │   82.90MiB 3063k https │ vp9           3063k video only          1080p, webm_dash

Новая таблица форматов с единым файлом/потоком для 720p (и 1080p):

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect"
Extracting cookies from firefox
Extracted 1329 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading mediaconnect player API JSON
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │  FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                 mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                 mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                 mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                 mhtml │ images                                storyboard
140 m4a   audio only      2 │   3.51MiB  129k https │ audio only        mp4a.40.2  129k 44k medium, m4a_dash
160 mp4   256x144     30    │   1.55MiB   57k https │ avc1.4d400c   57k video only          144p, mp4_dash
91  mp4   256x144     30    │ ~ 4.16MiB  154k m3u8  │ avc1.4d400c       mp4a.40.5
133 mp4   426x240     30    │   2.35MiB   87k https │ avc1.4d4015   87k video only          240p, mp4_dash
92  mp4   426x240     30    │ ~ 5.70MiB  211k m3u8  │ avc1.4d4015       mp4a.40.5
134 mp4   640x360     30    │   4.13MiB  153k https │ avc1.4d401e  153k video only          360p, mp4_dash
93  mp4   640x360     30    │ ~11.41MiB  421k m3u8  │ avc1.4d401e       mp4a.40.2
18  mp4   640x360     30  2 │ ≈ 7.64MiB  282k https │ avc1.42001E       mp4a.40.2       44k 360p
135 mp4   854x480     30    │   6.09MiB  225k https │ avc1.4d401f  225k video only          480p, mp4_dash
94  mp4   854x480     30    │ ~15.17MiB  561k m3u8  │ avc1.4d401f       mp4a.40.2
136 mp4   1280x720    30    │  11.09MiB  410k https │ avc1.4d401f  410k video only          720p, mp4_dash
95  mp4   1280x720    30    │ ~24.57MiB  908k m3u8  │ avc1.4d401f       mp4a.40.2
137 mp4   1920x1080   30    │  39.45MiB 1458k https │ avc1.640028 1458k video only          1080p, mp4_dash
96  mp4   1920x1080   30    │ ~73.64MiB 2721k m3u8  │ avc1.640028       mp4a.40.2

Как скачивать 720p (формат единым файлом/потоком):

$ yt-dlp -f 95 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect" 

Как воспроизводить 720p (формат единым файлом/потоком):

$ mpv --ytdl-format=95 'https://youtu.be/eUyr9MJnj4w' --ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" 


Кроме того:

  • Для mpv можно создать профиль [youtube] в mpv.conf, где прописать условие срабатывания на ютубных ссылках, типа profile-cond=path:match('youtu%.?be') ~= nil или profile-cond=path:find('youtu%.?be') (1 (mpv.io)).
    И добавив в профиль параметр ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" и ytdl-format=95/best.
  • Для yt-dlp, чтобы при наборе команды в терминале мучительно долго не вспоминать указанную в начале заметки длиннющую опцию, можно создать алиас. В конфиге yt-dlp прописываем, как пример, --alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.


Для чего все это надо?

  • минус издержки на склеивание dash-потоков видео и аудио средствами ffmpeg;
  • возможность отправлять ссылку на стандартный вывод (stdout) какого-либо плеера, например vlc;
  • плюс, оказывается, и для 1080p существует подобный формат единого файла.
  • лучшая отзывчивость при перемотке во внешнем плеере (возможно верно для всех hls и не зависит от таблицы форматов)
krasnh
()

Я поставил Хакинтош ...

 

На машинку HP ProBook 4730s (6 гб рам, 4 ядра Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz, встроенное видео, механический винт на 600 гб, ath9 wifi)

Самое сложное было вообще понять кто на ком стоит - т.е. что делает загрузчик, как его настраивать, куда класть kexts и откуда их брать ..

Так внутри все довольно понятно, включил шаринг экрана и смотрю с планшета. Тормозит конечно, но потом я наконец разобрался с реальным экраном и стало повеселее.

В принципе трэкпад, видео, камера, звук, вай-фай, единственный разъём усб3 и 3 шт. усб2 и сон работают. Блютуз тормозит и отваливается после сна. ДВД привод кажется умер от старости …

На ноуте была вин 8.1, я её экспериментами с загрузчиком убил, поставил 10-ку ненадолго для перевода диска с MBR разметки в GPT - процедура не сработала. Откопировал всё что нашёл на внешний винт из под Линуксовой лайв-флэшки и разрешил МакОС располагаться как ей вздумается. Пока с макпортами и прочим xcode гигов 40 занято.

Andrew-R
()

Chrome 123.0.6312.58 вернуть старый вид

 

У меня Chrome обновился до версии 123.0.6312.58 и больше не срабатывает флаг flags/#chrome-refresh-2023

Может там появился еще какой-то флаг? Подскажите

Или единственный способ даунгретить?

mirek
()

Поставил macos x 10.6 на виртуалку qemu

 ,

  1. Загрузить образ https://archive.org/download/mac-os-x-snow-leopard-10.6-10a-432/Mac_OS_X_Snow_Leopard_10.6_10a432.dmg

Length: 6586892984 (6.1G) [application/x-apple-diskimage]

  1. Загрузчик UEFI

OpenCore for Legacy EFI - bootloader https://khronokernel.com/apple/silicon/2021/01/17/QEMU-AS.html

прямая ссылка https://github.com/khronokernel/khronokernel.github.io/blob/master/Binaries/OpenCore/EFI-LEGACY.img.zip?raw=true

1.5 mb но распкаковывается почти на 200 mb

  1. Грузим(ся) в qemu 9.0+
qemu-system-x86_64 -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -usb -M pc-q35-6.1 -device usb-kbd -device usb-tablet -m 2047  -hda EFI-LEGACY.img -hdb osx.qcow2  -cpu Penryn,vendor=GenuineIntel,+ssse3,+sse4.1  -boot d -bios /usr/share/edk2-ovmf-x64/OVMF_CODE.fd -display sdl,gl=on -accel kvm

Для установки с образа dmg просто добавьте ‘-cdrom some.dmg’

Мне диска на 12 Гб хватило. Звука правда нет, и сети что-то не видно .. потом ещё поковыряю.

Andrew-R
()

Встроенный бинарник на Linux

 , ,

Встроенный бинарник на Linux

Это текстовая версия статьи, оригинал с картинками вот тут (teletype.in).

Продолжаю раскрывать интересную тему запуска программ нестандартными способами. В этот раз расскажу про запуск ELF-бинарника из скрипта и без записи в файловую систему.

( читать дальше... )

alex0x08
()

Не получается выдать белый ipv6 с vpn сервера клиенту

 , , ,

Хостер отдаёт мне /125 подсеть. Шлюз хостера находится в /48. Конфиг systemd-networkd на сервере (касающееся ipv6):

[Match]
Name=ens3

[Network]
Address=2a0c::120/48
Gateway=2a0c::1

Конфиг wireguard:

[Interface]
Address = 2a0c::121/125
ListenPort = 5000
MTU = 1500
PrivateKey = xx

[Peer]
PublicKey = xx
AllowedIPs = 2a0c::122/128

net.ipv6.conf.all.forwarding=1

В ip6tables всё открыто.

$ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
200::/7 dev ygg proto kernel metric 256 pref medium
2a0c::120/125 dev wg6 proto kernel metric 256 pref medium
2a0c::/48 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ygg proto kernel metric 256 pref medium
default via 2a0c::1 dev ens3 proto static metric 1024 pref medium
$ ip -6 a
ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a0c::120/48 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe2c:1d4b/64 scope link
       valid_lft forever preferred_lft forever
wg6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 2a0c::121/125 scope global
       valid_lft forever preferred_lft forever

Конфиг WG клиента:

[Interface]
Address = 2a0c::122/125
PrivateKey = xx
MTU = 1500

[Peer]
AllowedIPs = ::/0
Endpoint = xx
PersistentKeepalive = 21
PublicKey = xx

В ip6tables всё открыто.

$ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
200::/7 dev ygg proto kernel metric 256 pref medium
2a0c::120/125 dev wg6 proto kernel metric 256 pref medium
2000::/3 via 2a0c::121 dev wg6 metric 1024 pref medium
fe80::/64 dev ygg proto kernel metric 256 pref medium
fe80::/64 dev eno1 proto kernel metric 1024 pref medium
$ ip -6 a
wg6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 2a0c::122/125 scope global
       valid_lft forever preferred_lft forever
$ ping -6 2a0c::121
64 bytes from 2a0c::121: icmp_seq=1 ttl=64 time=47.5 ms
$ ping -6 2a0c::120
64 bytes from 2a0c::121: icmp_seq=1 ttl=64 time=46.9 ms (DIFFERENT ADDRESS!)
$ ping -6 2a0c::1
From 2a0c::121 icmp_seq=1 Destination unreachable: Address unreachable

Сервер:

$ ping -6 2a0c::1
64 bytes from 2a0c::1: icmp_seq=1 ttl=64 time=1.14 ms

При пинге клиентом 2a0c::1, сервер передаёт следующее:

# ip6tables -t mangle -A POSTROUTING -j LOG
$ journalctl -f -g 'SRC='
kernel: IN=wg6 OUT=ens3 MAC= SRC=2a0c:0000:0000:0000:0000:0000:0000:0122 DST=2a0c:0000:0000:0000:0000:0000:0000:0001 LEN=104 TC=0 HOPLIMIT=63 FLOWLBL=920934 PROTO=ICMPv6 TYPE=128 CODE=0 ID=14 SEQ=1

Ещё присутствует такое:
kernel: IN=ens3 OUT=ens3 MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=fe80:0000:0000:0000:5054:00ff:fe2c:1d4b DST=2a0c:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0
kernel: IN=ens3 OUT=ens3 MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=fe80:0000:0000:0000:5054:00ff:fe2c:1d4b DST=ff02:0000:0000:0000:0000:0001:ff00:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0

Prerouting при том же пинге:

# ip6tables -t mangle -A PREROUTING -j LOG
$ journalctl -f -g 'SRC='
kernel: IN=wg6 OUT= MAC= SRC=2a0c:0000:0000:0000:0000:0000:0000:0122 DST=2a0c:0000:0000:0000:0000:0000:0000:0001 LEN=104 TC=0 HOPLIMIT=64 FLOWLBL=920934 PROTO=ICMPv6 TYPE=128 CODE=0 ID=15 SEQ=1

Также без пинга есть это:
kernel: IN=ens3 OUT= MAC=33:33:00:00:00:12:00:00:5e:00:02:01:86:dd SRC=fe80:0000:0000:0000:327c:5e08:ae98:3c80 DST=ff02:0000:0000:0000:0000:0000:0000:0012 LEN=80 TC=224 HOPLIMIT=255 FLOWLBL=0 PROTO=112

Почему с клиента в сторону шлюза пакеты уходят, а в ответ тишина?

stripwire
()

FireJail — краткое и ознакомительное практическое руководство

 , , , ,

FireJail — краткое и ознакомительное практическое руководство

Сейчас существует прорва механизмов изоляции приложений — от песочниц до виртуальных машин. Целей их применения тоже множество, но так или иначе всё сводится к тому что нужно ограничить доступ приложений к тем или иным ресурсам вычислительного устройства.

Ниже я хочу описать почти золотую середину в лице утилиты firejail в виде практических советов по использованию в первую очередь для обычных пользователей и (возможно) разработчиков.

( читать дальше... )

LINUX-ORG-RU
()

LORPic: Пишем плагин для браузеров Mozilla Firefox и Chrome/Chromium

 , ,

LORPic: Пишем плагин для браузеров Mozilla Firefox и Chrome/Chromium

Прювет, котаны!11

Сегодня мы с вами постараемся написать маленький, но очень полезный плагин расширяющий возможности любителей юмористически-сатирической и даже немного технической площадки линуксоидов — форума linux.org.ru.

Плагин будет представлять из себя расширение для браузеров Mozilla Firefox и Chrome/Chromium, позволяющее отображать изображения непосредственно на страницах ресурса.

Дико извиняюсь за нехватку времени и неполноценный материал (пишу на «скорую руку», завтра может не быть времени) расширение в данном виде скорее «детское», поэтому будет без «фишечек» (хотелось добавить зум и прочее по клику, пока так - по клику открытие изображения на новой вкладке).

Без лирики… Поехали…

( читать дальше... )

lnx4
()