• Как подключится по SSH к серверу с динамическим IP?

    @Rozello
    Вижу два более-менее простых варианта.
    VPN (например Hamachi или аналог) - это и NAT обойти позволит при необходимости и адрес будет статичным.
    Tor\I2P - по сути метод аналогичный предыдущему и решит аналогичные проблемы (можно бесплатно получить доменное имя внутри сети tor\2ip и пробросить доступ к ssh внутри этой сети).

    Если смотреть варианты посложнее - то для начала нужно понять какие ограничения конкретно у вашего провайдера интернета.

    Если адресс белый, но динамический, а сам ноут за натом роутера - то:
    1. Пробросить порт на роутере
    2. Прикрутить dyndns

    Если адресс белый, но статика, а сам ноут за натом роутера - то:
    1. Пробросить порт на роутере

    Если адресс за NAT провайдера - то:
    Проще всего использовать два первых варианта (vpn\tor\i2p).
    Ответ написан
    Комментировать
  • Как завести Steam в OpenSUSE 15.2 Leap?

    @Rozello
    В качестве догадки могу предположить что дело может быть в 32 битных библиотеках которые стим хочет юзать, а у вас в системе они отсутствуют. Но как их поставить понятия не имею.
    У меня на виртуалке стим поставленный из официального репозитория взлетел без шаманств.
    Ответ написан
    Комментировать
  • Почему создание жесткой ссылки (ln) увеличивает занимаемую память?

    @Rozello
    Вероятнее всего там не никакой магии.
    Просто файловый менеджер итерирует файлы имеющиеся в директории, извлекает для каждого размер файла и далее складывает получившиеся значения.
    Если в файловый менеджер не зашита отдельная логика обрабатывающая ссылки, то он будет каждую ссылку считать отдельным файлом и соответственно преувеличивать суммарный размер файлов.
    Ответ написан
    Комментировать
  • Как можно обходить защиты сайтов от ботов?

    @Rozello
    Можно написать свою обвязку вокруг браузера, нужные елементы искать не по коду, а по изображению, а уже после эмулировать клики по соответствующим координатам и ввод с клавиатуры.
    Если всё это писать самому лень, можно купить zennoposter например или BAS эти инструменты позволяют всё указанное автоматизировать, доступна запись действий в виде макросов + ко всему имеют под капотом обход фингерпринтинга разными способами что собственно позволяет использовать не одиночного бота, а целую их ферму.
    Ответ написан
    Комментировать
  • Можно ли получить доступ к параметрам Wifi сети, интересует вариант без брутфорса пароля админки?

    @Rozello
    Попробуй поискать инфу по нужному роутеру в этой базе: https://3wifi.stascorp.com/ (если ты хочешь ключ раздобыть)
    У автора данного сайта есть утилита которая позволяет получить атворизационные данные админки роутера разными способами: msk1.stascorp.com/routerscan/prerelease.7z
    Если хочешь атаковать роутер только эксплойтами то предварительно отключи брутфорс в настройках.

    Как альтернатива можно самому поискать эксплойты для кокнертной модели роутера.
    Как показывает практика они все напрочь дырявые потому как владельцы прошивку не обновляют от слова совсем.
    Ответ написан
    1 комментарий
  • Как перенаправить часть исходящего трафика (http/https) процесса на локальный прокси?

    @Rozello Автор вопроса
    После продолжительных мучений был найден рабочий вариант - redsocks + iptables.
    Ответ написан
    1 комментарий
  • Как убрать шумы микрофона в ubuntu ?

    @Rozello
    Я сделал как описано здесь https://habrahabr.ru/post/243977/
    Звук стал явно лучше, попробуйте, может и вам поможет.
    Ответ написан
    1 комментарий
  • Есть ли API у роутеров?

    @Rozello
    Для решения задачи управления роутерами я писал библиотеку на Perl которая определяла что это за роутер по ssh и в зависимости от того что это за роутер выполняла команды по ssh в зависимости от вызванных методов.
    Думаю при желании то-же без особых проблем можно реализовать и на Python и на любом другом языке.
    Ответ написан
    Комментировать
  • Как собрать базу сотовых номеров?

    @Rozello
    Вот скрипт для парсинга украинских номеров из вк.
    Думаю такие же вещи есть и для РФ, но там немного сложнее, поскольку префиксы номеров не всегда говорят о принадлежности его определённому оператору и как я понимаю номера РФ имеют много форм записи из за чего их несколько сложно идентифицировать.
    Ответ написан
    Комментировать
  • Как организовать очередь потоков?

    @Rozello
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    use threads;
    use threads::shared;
    
    # Создаём расшареную переменную
    my @numbers:shared = (1..100);
    
    # Задаём количество потоков
    my $threads = shift || 10;
    
    # Создаём потоки и кладём их обекты в массив
    my @threads;
    for (1..$threads) {
        push @threads, threads->new(
            sub {
                while (@numbers) {
                    # Достаём данные из массива
                    # Предварительно заблокировава его для остальных потоков
                    my $number;
                    {
                        # Блокировка работает только в этом скоупе
                        lock(@numbers);
                        $number = shift(@numbers);
                    }
                    
                    print 'Result: '.($number*10)."\n";
                }
            }
        );
    }
    
    # Запускаем потоки привязав их к основному процессу
    $_->join for (@threads);
    Ответ написан
    Комментировать
  • Вызов сторонней программы из perl скрипта

    @Rozello
    Я бы выполнил fork + exec
    Ответ написан
    Комментировать
  • Как организовать многопоточную обработку массива в Perl?

    @Rozello
    Создавать и убивать потоки, это плохая идея, нужно создавать потоки обрабатывающие массив в цикле, пока он не опустеет.
    То есть массив используется как очередь.
    Но потоки это беда, имхо.

    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    
    use threads;
    use threads::shared;
    
    # Создаём расшареную переменную
    my @numbers:shared = (1..100);
    
    # Задаём количество потоков
    my $threads = shift || 10;
    
    # Создаём потоки и кладём их обекты в массив
    my @threads;
    for (1..$threads) {
        push @threads, threads->new(
            sub {
                while (@numbers) {
                    # Достаём данные из массива
                    # Предварительно заблокировава его для остальных потоков
                    my $number;
                    {
                        # Блокировка работает только в этом скоупе
                        lock(@numbers);
                        $number = shift(@numbers);
                    }
                    
                    print 'Result: '.($number*10)."\n";
                }
            }
        );
    }
    
    # Запускаем потоки привязав их к основному процессу
    $_->join for (@threads);
    Ответ написан
    Комментировать
  • Как реализовать потоки в Perl?

    @Rozello
    Судя по задаче, могу сказать что наверное вам имеет смысл посмотреть в сторону модуля Coro, иначе ваши потоки будут жрать ресурсы как ненормальные.
    Ответ написан
    Комментировать
  • На каком ЯП лучше реализовать небольшое приложение для работы с веб-данными?

    @Rozello
    Неоднократно решал подобные задачи при помощи Perl + LWP::UserAgent(https://metacpan.org/pod/LWP::UserAgent).
    Ответ написан
    Комментировать
  • Парсинг ip с 2ip на perl?

    @Rozello
    #!/usr/bin/env perl
    
    # Включаем варнинги и ужесточение синтаксиса
    use strict;
    use warnings;
    
    # Включаем библиотеку для работы с http
    use LWP::Simple;
    
    # Качаем страницу, если не удалось пркращаем работу
    my $page = get('http://2ip.ru/') or die "Can't get page!";
    
    # Парсим IP ргуляркой если не удалось прекращаем работу
    my ($ip) = ($page =~ m!(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})!) or die "Can't pars IP!";
    
    # Выводим IP
    print 'You IP: '.$ip."\n";
    Ответ написан
    Комментировать