LINUX.ORG.RU

Сообщения PPP328

 

Network manager не использует DNS

Форум — Desktop

Подключаюсь к protonvpn. Прописал ipv4 dns: 8.8.8.8 и 8.8.8.4, прописал ipv6 dns: 2001:4860:4860::8888, 2001:4860:4860::8844. Периодически (НЕ ВСЕГДА!) бросает на плашку провайдера если качать через wget. Через браузер без проблем, через wget - раза два зайдет, на второй-третий кидает на адрес где хостится провайдерская заглушка:

Когда нормально:
Распознаётся SITE (SITE)... IP1, IP2, IPV6b

Когда все плохо:
Распознаётся SITE (SITE)... 93.90.93.22, IPV6a, IPV6b

На 93.90.93.22 провайдерская заглушка. Меня смущает что ipv6 адрес в обоих случаях одинаковый.

Если прокидывать https_proxy то все нормально, но скорость чаще всего в говно. На protonvpn я упираюсь в скорость канала провайдера а не впн.

Как лечить?

P.S. На роутере стоит 8.8.8.8, все утилиты показывают 8.8.8.8

P.P.S. В консоли через sudo openvpn --config "..." ВСЁ работает!

 , , ,

PPP328
()

Автомаунт шифрованного раздела

Форум — Development

Есть раздел, скажем, на LUKS. Как сделать так, чтобы при буте системы он автоматом маунтился, но при этом если кто-то получит в руки компьютер со всеми жесткими дисками то не смог бы его расшифровать?

Целевой компьютер в Усть-Зажопинске, после первичной установки доступ к нему только удаленный.

Есть еще внешний сервер, который можно каким-либо образом использовать.

Для меня сложность в понимании того, где хранить ключ/пароль, потому что если он хранится на нешифрованном разделе для автомаунта - то при изъятии дисков он становится доступен публично.

Не криминал.

 ,

PPP328
()

ACPI захламляет dmesg

Форум — General
ACPI: \_SB_.PCI0.LPCB.EC0_.ECRD: 1 arguments were passed to a non-method ACPI object (RegionField) (20150930/nsarguments-230)

Каждые 10 секунд вот такое сообщение.

Lenovo thinkpad l560. Ubuntu 16.04

Если нужны какие-то еще выхлопы - запрашивайте.

 , , ,

PPP328
()

Thunar и Nautilus не выделяют файл по опции

Форум — Desktop

Жмакаем в браузере «открыть в папке» на скачанном файле и... Просто открывается каталог с файлом. А если у меня их там тысячи то без автоматического выделения найти файл почти нереально с учетом того что скачанные с веба файлы часто имеют имя типа «349fcec93cb84487ae1905c7789221e6-rtkit.xml»

Раньше это работало, потом после определенного момента перестало. Я теперь даже не вижу в man thunar такой опции (была -e или что-то такое).

Почему данный функционал был удален?

 ,

PPP328
()

Разбил лицо фейспалмом от openssl

Форум — Development

Пытались отладить программу которая работает с openssl.

Вывод: разработчики openssl говнокодеры и идиоты

#1

На новых версиях valgrind он просто не может терпеть весь тот ужас что написан в openssl и вылетает сразу. Баг висит уже год в confirmed, ничего делать никто не собирается: https://bugs.launchpad.net/ubuntu/ source/valgrind/ bug/1574437

#2

Пытались сейчас отладить на другом valgrind'е. Все, что возвращается из SSL_read valgrind считает неинициализированными значениями и генерирует тысячи предупреждений. Исследовали. Оказывается что надо пересобрать openssl с флагами -DPURIFY и -DPEDANTIC, потому что *openssl использует неинициализированные значения для получения рендома*. Нашли в configure (дело под слакой) флаг purify ставящий соответствующие флаги. Сюрприз! Он конфликтует с linux-elf. ПОлезли в исходники с надеждой посмотреть сильно ли плохо будет если мы просто проставим флаг -DPURIFY. Сюрприз№2:

#ifndef PURIFY /* purify complains */
        /* DO NOT REMOVE THE FOLLOWING CALL TO MD_Update()! */
        if (!MD_Update(&m,buf,j)) 
            goto err; 
        /* We know that line may cause programs such as 
           purify and valgrind to complain about use of 
           uninitialized data.  */ 
#endif
ОНИ ЗНАЮТ, НО ИМ П***Й! ТО ЧТО ЭТО ПОДЕЛИЕ НЕ ДАЕТ ОТЛАДИТЬ ПРОГРАММУ ИМ ТОЖЕ П***Й! АААААА!!!

Выдохнул. Если что - перенесите в толксы.

 , ,

PPP328
()

Не меняется размер видео в vlc

Форум — Desktop

Стоит галка подгонять под окно, видео все равно своего оригинального размера, только в левом-верхнем углу. Параметры «масштаб» не меняют ничего. Галка ставится - размер не меняется. Удалял настройки - нет эффекта. Проявилось с месяц назад.

 

PPP328
()

А есть ли анлокер экрана на распознавалке лица хозяина?

Форум — Desktop

В телефонах такая фича с года эдак 2010го. На десктопе под линь есть что-то подобное, пусть с каким-то допилом?

 , , ,

PPP328
()

Как провалидировать мультимедиа файлы?

Форум — Development

Есть файлы следующих форматов:

  • Изображения:
    • png
    • jpg
    • gif
  • Видео:
    • webm
  • Флеш:
    • swf

Мне нужно провести валидацию файла одного из вышеперечисленных форматов. Что я подразумеваю под валидацией:

  • Файл соответствует заявленному разрешению (недокачанные файлы, в том числе 0 байт)
  • Присутствует запись о всех блоках (битые файлы)
  • Файл является файлом заявленного формата (mv file.png file.gif)

Как этого достичь?

 , ,

PPP328
()

Скрипт для поиска доступной прокси для конкретного адреса

Форум — Security

Йо, написал тут скрипт который для требуемого адреса (в base64) подбирает доступную прокси. Работает для SSL.

https://github.com/codemeow/ssl_proxy_scanner/blob/master/scanner.sh

     ex.:
 ┌──────────────────────────────────────────────────────────────┐
 │ $script.sh aHR0cHM6Ly9zcG9ydC53YnVrLmJldGNpdHlydS5wdy9uZXcv  │
 │ # downloading ssl proxy list                                 │
 │ # filtering list of proxies                                  │
 │ # load list of proxies                                       │
 │ # checking 13.73.26.248:3128                                 │
 │ # connection failed                                          │
 │ # checking 144.217.170.87:3128                               │
 │ # connection failed                                          │
 │ # checking 35.196.8.4:80                                     │
 │ # connection established                                     │
 │ 35.196.8.4:80                                                │
 └──────────────────────────────────────────────────────────────┘

 , ,

PPP328
()

Добавить скринсейвер для xscreensaver

Форум — Desktop

Делал все по инструкции: https://ubuntuforums.org/showthread.php?t=2043619
Movie.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Movie
Comment=Plays Videos
TryExec=/home/alex/Разработка/Bash/screensavers/run.sh
Exec=/home/alex/Разработка/Bash/screensavers/run.sh
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver;
run.sh:
#! /bin/bash

## setup MPlayer aruments, remove -nosound if you want the video
## to play sound. If you have to specify the video driver to use
## then add that to the list
MPLAYERARGS="-nosound -nolirc -wid "$XSCREENSAVER_WINDOW" -nostop-xscreensaver -fs -really-quiet"

#MPLAYERARGS="-nosound -nolirc -nostop-xscreensaver -fs"

## path to video
VIDEO="/home/alex/Видео/Заставки/RA-2.mp4"

exec mplayer $MPLAYERARGS -loop 0 "$VIDEO"

Даже в списке не показывался. Добавил запись в .xscreensaver:

				movie -root				    \n\
Появился в списке, но серый. При попытке запустить пишет: movie no such file.

Скрипт работает если запустить руками без параметров -wid «$XSCREENSAVER_WINDOW» и -really-quiet.

Что еще нужно добавить?

 

PPP328
()

bash - выполнить аргумент и вставить в выданную переменную

Форум — Development

Есть вот такие вот функции

function parse_search_posts()
# filename
{
    shell_args 1 $@

    local _oldIFS="$IFS"

    IFS=$'\n'    
    
    echo_info_n "posts: "
    list_posts=(                        \
        $( grep "foo bar" "$1"          \
        | egrep -o "$grep_quoted_https" \
        | grep $site_static             \
        | uniq ) )

    post_total=${#list_posts[@]}
    echo_info "${#list_posts[@]}"

    IFS="$_oldIFS"

    if [ "$post_total" -eq "0" ]
    then
        echo_info "no posts found"
        return
    fi
}

function parse_search_descs()
# filename
{
    shell_args 1 $@

    local _oldIFS="$IFS"

    IFS=$'\n'    
    
    echo_info_n "posts: "
    list_descs=(                 \
        $( grep "bar baz" "$1"   \
        | grep "bar foo" "$1"    \
        | grep $site_static      \
        | uniq ) )

    desc_total=${#list_descs[@]}
    echo_info "${#list_descs[@]}"

    IFS="$_oldIFS"

    if [ "$desc_total" -eq "0" ]
    then
        echo_info "no descs found"
        shell_die
    fi
}

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

function parse_search_template()
# filename commands variable text
{
    shell_args 4 $@

    local _oldIFS="$IFS"

    IFS=$'\n'    
    
    echo_info_n "$text: "
    <...>=( $( eval $commands ) )

    elem_total=${#<...>[@]}
    echo_info "${#<...>[@]}"

    IFS="$_oldIFS"

    if [ "$elem_total" -eq "0" ]
    then
        echo_info "no $text found"
        shell_die
    fi
}

Как мне в функцию прокинуть переменную <variable> чтобы в нее писалось? Если нельзя прокинуть переменную напрямую, то как можно это обойти?

Да, только bash. Perl\Python\etc лесом.

 

PPP328
()

Хранение тегов к изображениями в mysql

Форум — Development

Есть набор изображений. Пока их было меньше 100 рядом с каждым хранил xml файл с описанием и списком тегов. Грепал каталог по тегу, получал список файлов, скармливал дальше.

ВНЕЗАПНО каталог разросся до 500 ГБ. греп теперь работает 5 минут, что неудобно. Хочу перенести в базу mysql, благо она уже поднята.

Как мне хранить теги к изображениям (структура таблицы), учитывая что у изображения есть минимум один тег, и может их быть хоть полмиллиона. С заточкой под производительность, ибо файлов очень много.

 

PPP328
()

Нельзя повернуть экран при TearFree

Форум — Desktop

Карта интел, проблема один в один как https://01.org/linuxgraphics/forum/graphics-power-users/cannot-rotate-screen-...

Только у меня Xu16.04, Intel HD 520. Остальное как у него в логах. За год не починено. Куда бечь?

tl;dr
Без TearFree в хроме видео как будто ножом порезали. С TearFree нельзя повернуть монитор.

 , ,

PPP328
()

Чем отличается brasero от dd в плане копирования *с* CD/DVD диска?

Форум — General

Всегда снимал образы с помощью dd, а тут напоролся на диски которые на 90м Мегабайте говорят ошибку чтения и больше не дают читать диск. Сначала думал что царапанные, нет, новые. Выяснил что так работает «защита от копирования». При этом brasero этот диск копирует на ура.

В чем разница в работе brasero и dd?

И да, ультра хак - dd нормально копирует диск если его в этот момент смотреть с помощью vlc.

 , ,

PPP328
()

Git + ln -s

Форум — Development
./
+-file.c
+-file.h
+-storage -> /mnt/storage (made with ln -s)
             +- file2.c
             +- file2.h
git add storage/file2.c

fatal: спецификация пути «storage/file2.c» находится за символической ссылкой

Пробовал в локальном конфиге ставить

[core]
    symlinks = true

Пробовал ставить

[core]
    symlinks = false

Результат один и тот же. Как разрулить?

Ответ зачем оно мне:

Есть проект «А», он отдельный и никого не тянет. Есть проект «Б». Чтобы его собрать нужен проект А. Есть проект «В». Чтобы его собрать нужен проект А и проект Б.

В «В» и «Б» есть каталог code, в котором внутри есть соответствующие проекты. Я хочу чтобы у меня был на диске реп с «А», а «Б» тянул из него по симлинку (запарился синкать изменения руками), и чтобы «В» тянул изменения из «Б» и «А» тоже по симлинкам.

UPD
Обдумываю вариант с `sudo mount --bind SOURCEDIRECTORY TARGETDIRECTORY`

 ,

PPP328
()

Покритикуйте либу логгинга памяти

Форум — Development

https://github.com/codemeow/svadilfari - субж

Маскирует malloc/calloc/realloc/free с помощью макросов чтобы не менять синтаксис.

Можно переназначит стандартные системные функции чтобы юзать например какие-нибудь raspberry_malloc_ex()

Есть опции, можно включить например автозамену malloc на calloc и автовыход\авторепорт коллбеком в случае фейла

Есть система коллбеков на репорт ошибок

Можно получить инфу по каждому поинтеру - когда, в каком файле и на какой строке он был аллоцирован.

В случае необходимости можно сконвертить либовый поинтер в системный и заюзать какой-нибудь внешний free.

Юзает локи.

Либа с типами (bixi) юзает только один системный хэдер: <time.h>, остальное реализует сама. Может быть полезно на урезанных системах. Тот же хэдер использует svadilfari, кроме него используется <stddef.h> для size_t. Плюс используется <stdlib.h> для дефотного назначения malloc/calloc/realloc/free. Тестовая прога в комплекте использует <stdio.h> чтобы выводить на экран.

Можно: детектить лики, смотреть кто где много жрет, получать инфу о размере аллоцированного поинтера.

 ,

PPP328
()

Удалить лишние классы в html via Beautiful Soup

Форум — Development
<div class="mediawiki ltr ns-0 ns-subject page-xxsfds TOC_hide oasis-breakpoints wikinav2 skin-oasis user-anon wiki-xxsfds">

Как мне удалить все классы кроме mediawiki?

from bs4 import BeautifulSoup, Comment
import sys
import re
import os

with open(sys.argv[1], 'r') as content_file:
    data = content_file.read()

soup = BeautifulSoup(data, "lxml")

for div in soup.find_all("div", {'class':'mediawiki'}):
     <...>

Ну и чтобы два раза не вставать - когда пытаюсь писать в тот же файл мне prettify орет что файл не ASCII и оно не мочь в UTF-8 (даже если ставить .encode("UTF-8"). Приходится делать s.py > в отдельный файл, только так работает.

 ,

PPP328
()

Как сделать rand8 с периодом больше 256?

Форум — Development

Сейчас вот так:

#define BXI_RAND_MULTIPLIER (1103515245)
#define BXI_RAND_INCREMENT  (12345)

static u32 global_next = 1;

static void nextrand(void)
{
    global_next = global_next * BXI_RAND_MULTIPLIER + BXI_RAND_INCREMENT;
}

void bxi_srand(u32 seed)
{
    global_next = seed;
}

<...>

u8 bxi_randu8 (void)
{
    nextrand();

    return global_next % (U8_MAX + 1);
}
https://github.com/codemeow/bixi/blob/master/code/libbixi/random/bxirand.c#L24

Проблема в том, что цикл всего 256 значений (просто каждое по одному разу) в итоге uuidv4'ы повторяются каждые 16 значений. Что можно с этим поделать и при этом не привязываясь к /dev/random?

 ,

PPP328
()

Макулатура по графическому алгоритму.

Форум — Development

Есть кадр из мультфильма, например вот этот: https://s-media-cache-ak0.pinimg.com/736x/99/c0/52/99c052d7e5bc947ccb76e582d7...

Есть какие-нибудь готовые алгоритмы чтобы определить где фон, а где нарисованные на целле персонажи? Я так предполагаю что искать надо по областям одинакового цвета. Может до меня кто-то что-то уже придумал?

Суть задачи - отделить в автоматическом режиме то что нарисовано художником фонов от того что нарисовано художником-аниматором.

 , ,

PPP328
()

Спаять вместе ряд ts файлов

Форум — Desktop

Использую kdenlive, появляется заикание звука там где граница двух роликов. Как этого избежать?

 , , ,

PPP328
()

RSS подписка на новые темы