Приехал M5 Pro
Ради интереса собрал deal.II - оно просто пролетело сборку. Тяжёлый templated HPC-код, а ощущение как будто hello world собрал
В очередной раз убеждаюсь: Apple - боги
Дальше планирую гонять бенчи по эмуляции физики на GPU
Ради интереса собрал deal.II - оно просто пролетело сборку. Тяжёлый templated HPC-код, а ощущение как будто hello world собрал
В очередной раз убеждаюсь: Apple - боги
Дальше планирую гонять бенчи по эмуляции физики на GPU
Слушал тут одного блоггера, который заявил, что со смартфона ГБ может снять все данные и спокойно анализировать полученный дамп в оффлайне, читать из этого дампа переписки в соцсетях, емейлы и проч. Что есть у них софт, который это делает легко и просто.
Допустим, даже, упростим задачу. Человека на контроле скажем в аэропорте попросили пройти в комнатку. Там, естественно, человек в штатском предлагает вам добровольно показать смартфон. И вы это делаете (ведь вы-то знаете, что ничего не нарушали и т.п., к тому же, скоро улетит самолёт, на который вы потратили 100т.р.). Далее смартфон пропадает на 20 мин. и возвращается к вам с пожеланиями счастливого пути.
Понятно, что после этого телефон вы можете выкинуть, захардресетить и проч. Но дамп-то уже у кого надо остался…
Каковы ваши действия как Линуксоида по предотвращению несанкционированной утечки информации?
Фокс конкретно достал своим прожорством. Шестнадцать гигов, а я постоянно вижу как всё свапится из-за этого гада. (и не гыкайте мне тут, все браузеры ведут себя одинаково) Ладно бы я что-то сложное делал. Но он явно не отпускает страницы из памяти, хотя уже и выставил кучу всяких уловок. Но вот что мне не давало покоя - этот гад видит сколько в компе памяти и не собирается останавливаться пока не выжрет всё. В результате все программы должны по стеночкам обходить. А тут вы со своими спорами про 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, но суммы всех процессов фокса вместе взятых. Как оказалось люди не поняли сразу и пфыкают :)
Продолжение тем Наконец-то консоль с 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
> systemctl --user restart wireplumber pipewire pipewire-pulse
Update 2 Откатился к прежнему решению со звуком через hdmi, но с изменённым значением в /usr/share/pipewire/pipewire-pulse.conf. В первом приближении проблема исчезла.
Давно уже что-то про Столярова
Croco ничего не было =) А тут он повод недавно дал, расписав почему считает недопустимым использовать СУБД в архитектуре при проектировании софта. То есть, если для каких-то программ нужно хранение данных, его надо индивидуально под программу делать, а не подключать базы данных.
Можно обсудить. В принципе я сам не люблю для локальных данных применять базы данных, часто достаточно просто текстовых файлов и это даже надежно и быстро. Но в целом каким-то луддизмом отдает. Его сообщение ниже:
http://www.stolyarov.info/guestbook#cmt97
==============
Я придерживаюсь принципа несколько более узкого: недопустимо создание, распространение и использовние программ, для работы которых требуется СУБД.
Причины можно назвать, например, такие:
Я, заметим, не рискну утверждать, что СУБД как сущность вообще никогда не может ни для чего применяться. Тут вопрос в том, кто на ком стоял: если главной целью является база данных как таковая, то есть вот имеется какой-то значительный объём разнородной, но при этом взаимосвязанной информации и стоит задача обеспечить его хранение и в нём поиск, причём никто заранее не знает, какие именно задачи будут решаться на этом массиве информации, какие именно поисковые запросы будут делаться и вот это вот всё, то да, СУБД вполне может оказаться адекватным решением, и даже для работы с ней могут создаваться вспомогательные программки. Это, конечно, не оправдывает существования языка SQL, который в любых его проявлениях представляет собой надругательство над здравым смыслом, но в целом СУБД как вид софта существовать, наверное, всё-таки может — но лишь в случаях, когда либо вообще нет никаких программ кроме неё самой, либо программы делаются для неё, а не она сама поддерживается для работы какой-то программы.
Всё это можно выразить и короче: СУБД, по-видимому, вполне имеет право на существование в ситуации, когда основным способом работы с ней будет непосредственное вбивание запросов на её языке запросов живым человеком. То есть когда именно вот это — основное, а всё остальное вспомогательное. В подавляющем большинстве случаев мы видим прямо противоположное: с СУБД как-то там общается некая программа (намного реже — больше одной программы, и это уже пограничный случай), а живой человек делает запросы либо только в рамках обслуживания всей системы, либо вообще никогда.
Когда же пишется некая программа, предполагающая применение для конкретных задач (а программы иначе, собственно, и не пишутся), и данные возникают исходя из этих задач, а не наоборот, то за саму идею задействования внешней СУБД нужно убивать на месте. Сугубо из санитарных соображений.
frp (github.com) — это утилита для создания обратных туннелей. Она позволяет получить доступ к локальному ресурсу за NAT через промежуточный сервер.
Многие знают про существование сервисов типа ngrok и localtunnel, которые позволяют делать нечто подобное. У них есть бесплатные тарифные планы, которые имеют ограничения по ежемесячному трафику и количеству подключений. Поэтому (и не только) в ряде случаев использование self-hosted-решений, таких как frp, оказывается более предпочтительным.
( читать дальше... )
Ниже описан достаточно лёгкий способ получить обратный прокси с 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
Желаю успехов!
Протокол QUIC, в отличие от UDP поддерживает шифрование и работает быстрее чем TCP, который часто используется для шифрованных DNS-запросов. Данная инструкция актуальная, так как Google все-таки начал удаление поддержки блокировщиков рекламы из своего браузера. Кроме того, она пригодится тем, кто хочет скрыть свое пребывание в Интернете от тотальной слежки.
( читать дальше... )
Какие уши юзаете для прослушивания lossless audio?
Предлагаю смотреть на вопрос философски. Многие из нас работают на удаленке. Защищая свою рабочую машину для просмотра котиков, мы возможно избавим от проблем себя и свою любимую компанию. А вот откуда может прилететь, сходу сказать сложно. Будем считать против нас Бох! Ну не тот который всё создал, а тот который специализируется на атаках ИБ, ну и раз он Бох, то он конечно умеет читать мысли и бессмертен.
( читать дальше... )
Установил Ubuntu 22.04.3 LTS на указанный ноут. Сразу при запуске все хорошо - яркость регулируется и с кнопок, и из менюшки. Через некоторое время (минут 10) яркость сама по себе доводится до максимума или до минимума, после чего перестает работать одна или обе кнопки настройки яркости, при этом регулировка из менюшки работает. Иногда это событие повторяется. Один раз было, что яркость сама повысилась до максимума и менялась через менюшку, но сразу же восстанавливалась до максимума, будто была зажата кнопка, но прошло само через пару секунд (впоследствии кнопки так и не заработали). Кто знает, подскажите пожалуйста, в чем может быть дело.
Эта статья не содержит описания способов обхода блокировок для доступа к противоправому контенту. Socks-прокси нужны исключительно для того чтобы смотреть YouTube и просить ChatGPT писать за тебя домашние задания!!! У первого какие-то проблемы со скоростью последнее время, говорят, что из-за отключения кеширующих серверов, а второй сам заблокировал жителей из России, Беларуси и Китая…
( читать дальше... )
В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 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"
Кроме того:
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.--alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.
Для чего все это надо?
На машинку 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 занято.
У меня Chrome обновился до версии 123.0.6312.58 и больше не срабатывает флаг flags/#chrome-refresh-2023
Может там появился еще какой-то флаг? Подскажите
Или единственный способ даунгретить?
Length: 6586892984 (6.1G) [application/x-apple-diskimage]
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
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 Гб хватило. Звука правда нет, и сети что-то не видно .. потом ещё поковыряю.
Это текстовая версия статьи, оригинал с картинками вот тут (teletype.in).
Продолжаю раскрывать интересную тему запуска программ нестандартными способами. В этот раз расскажу про запуск ELF-бинарника из скрипта и без записи в файловую систему.
( читать дальше... )
Хостер отдаёт мне /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
Почему с клиента в сторону шлюза пакеты уходят, а в ответ тишина?
Сейчас существует прорва механизмов изоляции приложений — от песочниц до виртуальных машин. Целей их применения тоже множество, но так или иначе всё сводится к тому что нужно ограничить доступ приложений к тем или иным ресурсам вычислительного устройства.
Ниже я хочу описать почти золотую середину в лице утилиты firejail в виде практических советов по использованию в первую очередь для обычных пользователей и (возможно) разработчиков.
( читать дальше... )
Прювет, котаны!11
Сегодня мы с вами постараемся написать маленький, но очень полезный плагин расширяющий возможности любителей юмористически-сатирической и даже немного технической площадки линуксоидов — форума linux.org.ru.
Плагин будет представлять из себя расширение для браузеров Mozilla Firefox и Chrome/Chromium, позволяющее отображать изображения непосредственно на страницах ресурса.
Дико извиняюсь за нехватку времени и неполноценный материал (пишу на «скорую руку», завтра может не быть времени) расширение в данном виде скорее «детское», поэтому будет без «фишечек» (хотелось добавить зум и прочее по клику, пока так - по клику открытие изображения на новой вкладке).
Без лирики… Поехали…
( читать дальше... )
| следующие → |