Сообщения

Сообщения за сентябрь, 2021

Пропускаем звук с микрофона android в Ubuntu

Изображение
Покопавшись в интернете я нашел много разных туториалов которые показывают методы пропуска звука через mumble сервер и клиент мамбла на телефоне, пропориетарнаый софт WO Mic , и много других. Все эти варианты требуют установки слишком много дополнительных пакетов, либо пропориетарны и написаны непонятно кем. Вдруг в WO Mic есть ратник, как то это все небезопасно. В репозитории варианта с mumble сервер я нашел  https://github.com/MatthiasCoppens/pulseaudio-virtualmic . Этот вариант не требует установки никаких дополнительных или пропориетарных пакетов на ПК. Он может пропускать звук из внешнего источника (например http сервера стримещего mp3). Используя этот скрипт + приложения LANmic  у меня получилось стримить микрофон с телефона на ПК. В настройках звука убунты мне просто потребовалось выбрать как вход этот unix сокет. В остальных вариантах звук всегда доходил с задержкой, но используя этот скрипт задержка минимальна и даже не чувствуется. Хотя если открыть стрим например LANmic нап

How to install trusted certificate from charlesproxy on Chrome Ubuntu 2021

Изображение
When you use charlesproxy and don't configure charlesproxy's CA as trusted ssl you will get this error in chrome: That happens because chrome detect that the SSL certificate is being replaced to some self signed CA. To fix this error you need to export your certificate from charlesproxy, and add it to the chrome's "Authorities" tab. The most important thing is to export the certificate in .CER format, not in .PEM as set by default. Chrome has troubles reading PEM, the only working format is CER. Then go to the chrome's ssl settings page  chrome://settings/certificates and go to the "Authorities" tab: The default chrome's file browser will not show you .cer files, you need to change the file browser's settings to show all files. The .cer file will appear and you need to chose it: Then on the chrome's check "Trust this certificate for identifying websites": After that, the https error page must be gone because chrome now trusts

Python requests ошибка SSL соединения

Изображение
У некоторых сайтов с неправильно настроенным SSL сервером могут возникать проблемы соединеня. В моем случае было странно то что я мог посетить веб сайт через браузер и никаких ошибок не вознкало, но когда я пытался отправить запрос через командную строку curl или скриптом питона то возникала ошибка SSL соединения. Я изучил в чем была проблема, оказалось что в браузерах есть встроенная система востановления недостающих SSL сертификатов. В моем случае была проблема в том что сервер не отдавал промежуточный сертификат. Браузер искал его по своей внутренней базе данных и смог восстановить его. Но у небраузеров такой функции небыло. Вы можете проверить тожесамое посетив сайт https://incomplete-chain.badssl.com . Если вы попробуете послать на него запрос через curl то получите ошибку. Чтобы исправить эту ошибку посылайте запрос с verify=False .

Django генерирование рандомных имён загруженным файлам FileField

В одном из моих проектов мне потребовалось реализовать загрузку пользовательских файлов через форму. Я использовал обычный FileField как советуют во всех туториалах, с стандартной конфигурацией. Пользователи загружали файлы, и все работало хорошо. Но затем я заметил проблему - делов в том что имя файла на сервере совпадало с именем файла которое загрузил пользователь. То есть, например если пользователь загружает картинку 1.png, то его картинка будет доступна по ссылке /uploads/1.png. Проблема этого подхода в том что в таких случаях имя файла можно будет просто перебрать и находить чужие файлы. Например, собрать огромный список стандартных названий файлов, и перебирать их в целях найти чужие файлы. Чтобы исправить эту проблему нужно просто использовать случайные имена файлов. Но дело в том что по умолчанию FileField нигде не сохраняет оригинальное имя файла. Оригинальное имя файла придётся сохранять отдельным полем в моделях. @csrf_exempt @login_required def upload_file (request, s