отличная тема, жаль, не указан универсальный способ для создания надёжных паролей. значит, я расскажу. ещё один мой дар человечеству (вот был ещё: Как определить спелость и выбрать арбуз)
1. находим достаточно длинное слово, но чтобы запоминалось, с содержанием символов (после перевода в латиницу) o, i, a, z, s, e (можно на ваше усмотрение, какие нравятся, почему именно эти - дальше). 2. o меняем на ноль i - на ! a - на @ z - на тройку (тройка похожа на русскую з) s - на $ ch (ч) - на 4 e - на тройку (тоже похожа) и т.п. 3. добавляем по желанию большие буквы и спецсимволы. главное - запомнить, какие из символов на какие поменяны.
разберём пример. слово придумывать я не хочу, а хочу использовать фразу, например "Самый лучший способ проверить".
допустим, нам нужен пароль из 16 символов. берём по 4 символа каждого слова фразы:
Самылучшспоспров
сомневаюсь, что полученное таким образом слово будет словарным.
теперь переводим его в латиницу:
Samyluchshsposprov
ch меняем на 4, sh сокращаем до s и применяем (именно для этой фразы) правило: одинаковые символы меняются на замены только каждый второй, одинарные - сразу. получаем:
S@mylu4$spo$pr0v
для надёжности добъём спецсимволами:
S@mylu4$spo$pr0v!#-
вуаля! тест касперского выдал такой результат:
Nice password! Your password is hack-resistant. Your password does not appear in any databases of leaked passwords Your password will be bruteforced with an average home computer in approximately... 10000+ centuries
меня устроило.
для другой длины пароля меняем количество символов, берущихся из каждого слова. можно менять слова местами, заменять спецсимволами разные по порядку символы. хоть все, и т.д.
главное - на забывайте ваше собственное правило для пароля. и сам пароль.
Порою возникают ситуации, когда необходимо использовать в скрипте Python IP-адрес используемый активной сетевой картой, которая смотрит в Интернет, узнать MAC-адрес этой карты и имя сетевого соединения. К сожалению, функций из коробки пока что не наблюдается. Есть сторонние модули, которые позволяют узнать MAC-адрес, например getmac, но в качестве параметров в них нужно также передавать или IP-адрес, или имя соединения. Но, что, если их нужно определять программно и вводить вручную не вариант? Я нашел для себя решение, которое работает, но требует тестирования на большом количестве систем. Хотя, думаю, что на большинстве ОС семейства Windows или Linux оно будет работать.
Импорт библиотек
В данном решении не требуется устанавливать сторонние библиотеки. Необходимо лишь импортировать в скрип те, что нужны для его работы. Выполним их импорт:
Получение IP-адреса активной сетевой карты
Уже очень давно, около 15 лет назад на Stack Overflow был дан ответ по поводу получения «основного», имеющего маршрут по умолчанию, IP-адреса. Как описывает его автор скрипта, он работает под всеми основными ОС: Windows, Linux, OSX. Вот ссылка на данный пост. Несмотря на то, что скрипту уже довольно много лет, он работает до сих пор. Потому, вместо изобретения велосипеда я использую его, за неимением лучшего. Тем более что он ни разу не давал сбоев. Вот сам скрипт:
Теперь, когда мы определились с тем, каким способом будем получать IP-адрес, приступим к написанию скрипта для получения IPv6-, MAC- адресов, а также имени сетевого интерфейса.
Получение информации об активном сетевом интерфейсе
Создадим класс NetInfo,который при инициализации будет получать необходимые данные в зависимости от операционной системы. Здесь мы определяем платформу с помощью модуля system библиотеки platform и в зависимости от этого запускаем тот или иной скрипт.
Двигаемся дальше. Создадим функцию для получения локального IP-адерса и объявим ее статическим методом, так как в ней не используются переменные класса.
Напишем функцию mac_iface_win(self) в которой выполним получение нужных нам параметров. Для этого мы будем использовать возможности командной строки Windows, с частности инструмент командной стоки wmic. В частности будем использовать псевдоним NICCONFIG, который используется для управления сетевыми адаптерами. Отфильтруем только активные сетевые адаптеры. А их может быть в системе несколько, включая виртуальные: IPEnabled=true . После этого получим MAC – и IP – адреса используя GET MACAddress, IPAddress /FORMAT:csv, с указанием вывода полученных значений в формате csv для того, чтобы нам было проще их распарсить.
Вот полный вид данной команды:
wmic NICCONFIG WHERE IPEnabled=true GET MACAddress, IPAddress /FORMAT:csv
После того, как мы получим список активных сетевых адаптеров, поитерируемся по нему в цикле и проверим, есть ли в данном списке адаптер, IP-адрес которого равен полученному ранее локальному адресу. Если есть, забираем MAC-адрес, а также IPv6 адрес, если он не отключен в системе.
После того, как мы получим необходимые данные, выполним команду getmac /FO csv /NH /V с помощью которой получим список сетевых интерфейсов. Также в цикле проитерируемся по нему и будем проверять, есть ли уже полученный MAC-адрес в строке с параметрами интерфейса. Если есть, забираем название сетевого интерфейса.
Если в предыдущей функции мы получили данные для сетевого интерфейса в ОС Windows, то следует также написать аналогичную функцию и для Linux. Поэтому создадим функцию mac_iface_lin(self). В ней кода будет поменьше, так как в командах Linux содержится больше информации в одном месте и ее легче распарсить. Команда, которую мы будем использовать выглядит следующим образом:
ip -h -br a | grep UP
Здесь мы получим название сетевого интерфейса и IPv6-адрес. В Linux данный адрес можно получить, даже если он отключен в настройках адаптера. После этого выполним похожую команду, но уже отфильтруем из ее вывода MAC-адрес:
ip a | grep ether | gawk '{print $2}'
Осталось только свести написанный код, если вы этого еще не сделали воедино.
Итак, продолжим. Полный код скрипта выглядит следующим образом:
Теперь необходимо протестировать его в операционных системах. В данном случае у меня доступны две системы: Windows 10 и Linux Mint.
Создадим в данном скрипте вызов нашего класса и выведем в терминал полученные параметры:
Для начала, запустим в ОС Windows:
А теперь то же самое в Linux Mint:
Как видим, скрипт справляется со своей работой. Для чего он может пригодиться? Ну, например, для автоматической установки активного сетевого интерфейса по умолчанию в Scapy при прослушивании пакетов с активного сетевого интерфейса. Но о Scapy поговорим немного позже.
Спасибо за внимание. Надеюсь, данная информация будет вам полезна
Проработал в этой, так называемой, компании 4 месяца, на большее просто не хватило терпения.
При собеседовании, руководитель группы технической поддержки, Иванов Дмитрий Сергеевич, рассказывал сказки о том, что зарплата будет чуть ли не 50 000 рублей в месяц, на деле же оказалось, что она едва дотягивает до 35-и.
Сначала говорил, что испытательный срок будет всего 2 недели, на деле же оказалось - 4 месяца.
Возможно, испытательный растянулся бы и на большее, дальше я уже просто не стал проверять…
Вся работа в чёрную, никаких трудовых договоров, больничных и ДМС. Заболеешь - твои проблемы, всё за свой счёт.
“Офис” (да, именно в кавычках) Альтерона больше похож на какую-то мастерскую родом из конца 90-х / начала 00-х. Компьютеры сотрудников, кстати, тоже прямиком оттуда, 775-й, 939-й и иже с ними. Здравствуй, мой 2005-й! Изредка попадаются, конечно, на 1150, но это, скорее, исключение из правил. Лично я видел ровно 3 штуки. Плюс горы, ПРОСТО ГОРЫ неисправного хлама, который лежит там бог знает с каких времён, начиная от убитых SSD, дремучих HDD 10-15 летней давности и заканчивая NAS-серверами от каких-то неведомых китайских компаний, которые невозможно заставить работать от слова СОВСЕМ. Инструкций по настройке и эксплуатации тоже кот наплакал. Найти что бы то ни было и почитать о том, как работать с тем, или иным оборудованием НЕ-ВОЗ-МОЖ-НО, всё находится в головах у “опытных админов”, как называют сами себя сотрудники Альтерона. Рабочие места у них выглядят следующим образом: малюсенький угловой столик, прикрученный саморезами к стене, видимо для того, чтобы не дай бог не спёрли. Древний офисный стул, перемотанный скотчем, засаленный телефон и убитый наглухо системник, который тебе же ещё надо привести в божеский вид: продуть от пыли, подключить провода, накатить Винду, софт, завести в домен и прочие прелести эникейского (не путать с сис. админским) быта. Всего в ООО Альтерон работает полтора земплекопа “опытных админов”, половина из которых, в особенности Чухланцев (фамилия говорящая) Денис, представляет из себя сборище “ультимативных гениев”, которое, по какому-то странному стечению обстоятельств до сих пор не закрыли в психиатрическую лечебницу. Разговаривать, эти дары природы могут исключительно сквозь зубы и смотреть на тебя только так, что дескать: “Ты - дебил. Какого чёрта ты вообще сюда пришёл? Здесь работают Боги, а ты тварь дрожащая и права не имеешь”. Ни на один вопрос невозможно получить никаких внятных ответов, не говоря уже о помощи, или просто элементарной вежливости. Максимум, что можно из них выжать это: "Google в помощь".
Что можно сказать, друзья? ООО Альтерон - это шарага, убогая шарага. Удивительно, как они вообще продержались так долго.
Обходите за километр, а если уж попали, то задерживаться в подобных шарагах смысла нет никакого, это не работа, денег там НЕТ.
Логово этих моральных инвалидов находится по адресу г. Пермь, Шоссе Космонавтов, д. 63, офис 601 (ТЦ Бирюса). Сайт выглядит вот так: https://alteron.perm.ru/about
Всё, что там написано - враньё от начала и до конца.
Почти все браузеры, основанные на chromium, хранят закладки похожим образом. Меняются только директории, в которые эти браузеры установлены. Исключением является только Mozilla Firefox. При этом закладки хранятся в открытом виде, так что, любой желающий может получить к ним доступ. Не сказать, чтобы это была супер секретная информация. Но все же, стоило бы продумать этот момент. В данной статье мы рассмотрим код, который в автоматизированном режиме получает все закладки из распространенных браузеров с помощью Python.
Создадим файл browser_check.py. В нем, напишем код, который будет производить поиск браузеров по пути указанному в одном из словарей.
Импортируем необходимые библиотеки для работы скрипта и определим список, в который будем помещать словари с найденными браузерами:
Следующим шагом будет создание двух словарей, в которые поместим пути к распространенным браузерам на операционных системах Windows и Linux, так как поиск браузеров будет производиться по путям, которые специфичны для каждой из операционных систем.
Создадим функцию browser_find(platform: dict) -> None, которая на входе будет получать словарь с путями к закладкам браузеров и проверять их существование. Если путь существует, в объявленный ранее список browser будет добавляться словарь с названием браузера и путем к его закладкам.
Следует обратить внимание на тот факт, что пути к закладкам браузеров указаны при установке их в директории по умолчанию. Если же пользователь поменял расположение директории с браузером, то он найден не будет.
Двигаемся далее и создадим функцию main, в которой будем определять платформу, на которой запущен скрипт. В принципе, если у вас MacOS, то нужно добавить еще один словарь с путями и условие, в котором определяется ваша система. Но, в данном случае детектируются только две операционные системы: Windows и Linux.
В зависимости от того, какая из систем установлена на компьютере с запущенным скриптом, забираем нужный словарь с путями к закладкам и передаем его в функцию browser_find, которую напишем в отдельном файле.
После этого проверяем, есть ли что-то в списке с браузерами. Если список пуст, выводим сообщение для пользователя, что браузеры не найдены. Если же список не пуст, итерируемся по нему в цикле, забираем словари и получаем название браузера, которое содержится в переменной key и путь к закладкам, содержащийся в переменной value.
Передаем полученное значение в функцию по парсингу json. На самом деле, файл с закладками, это json-файл с достаточно большой структурой вложенности.
Часть структуры файла закладок
В зависимости от того, что вернет функция парсинга, а возвращает она или список со словарями, в которых содержаться полученные значения или False, двигаемся дальше. Если мы получаем список, то открываем файл с названием браузера на запись. Обратите внимание на то, что в данном случае файл открыт в режиме дозаписи, о чем свидетельствует параметр «a». Затем итерируемся по полученному списку, забираем из словарейОбратите внимание на ветку «roots», в которой и находятся все закладки. Так как закладки в браузере, это не просто последовательный набор названий и ссылок, то их группировка происходит по директориям создаваемым пользователем. Данные директории имеют название «children» и имеют тип «folder». Также, к примеру, на Панели закладок могут быть как директории с закладками, так и просто закладки для быстрого доступа. Тип закладок без папок «url».
Создадим файл bookmarks_find.py и приступим к написанию кода. Для начала импортируем библиотеки, которые понадобятся в данном скрипте.
import json
Создадим функцию rec(file: str) -> (list, bool), в которую передается путь к закладкам браузера. Возвращает же данная функция список со словарями, в которых содержится имя и url закладки. В случае же, если закладки найти не удалось, возвращается False.
Объявляем список urls, в который будем помещать найденные закладки в виде словарей. Откроем файл с закладками для чтения, поместим его содержимое в переменную roots.
Так как значение данной переменной будет являться словарем, проитерируемся по нему в цикле, указав ветку «roots» в качестве стартовой. Получим ключ и значение и проверим, есть ли в нем название «children». Если да, передаем полученную ветку в функцию process_tree, которую мы создадим чуть позже для обработки. Также передаем в эту функцию список urls. По сути, при передаче списка, если вспомнить его свойства, мы передаем указатель на оригинальный список, так как его копирования в данном случае не происходит. А значит, при его изменении в других функциях измениться и оригинальный словарь.
После того, как завершим итерацию по файлу, проверяем, пуст или нет список. Если список не пуст, возвращаем его из функции. Если пуст - возвращаем False.
Теперь создадим функцию process_tree(children_ist: dict, urls: list) -> None, которая получает на входе словарь из полученной директории и указатель на список, в котором будут храниться найденные ссылки в виде словарей.
Здесь все просто. Данная функция как переходник, в котором мы итерируемся по полученному словарю и передаем полученные значения в следующие функции для обработки.
Создадим функцию process_urls(item: dict, urls: list) -> None, которая на входе получает словарь со значениями и ссылку на список. У данной функции предназначение – выявить ссылки в переданном словаре. Для этого проверяем, есть ли в переданном словаре ключ «type» и является ли его значение «url». Если да, забираем название ссылки и саму ссылку и добавляем в виде словаря в список urls.
И еще одна функция, которая будет необходима для проверки, не является ли полученный словарь директорией со ссылками «children». Создадим функцию process_folders(item: dict, urls: list) -> None, которая на входе получает словарь со значениями и ссылку на список.
Здесь все тоже просто, проверяем, есть или нет «children» в переданном словаре. Если есть, передаем его рекурсивно в функцию process_tree для дальнейшей обработки.
Полный код скрипта:
import json
На этом вроде бы все. Основные скрипты и функции написаны, осталось только проверить, как это будет работать.
В процессе работы скрипт выведет несколько сообщений: о том, сколько было найдено браузеров, для какого из браузеров найдены закладки и для какого количества из найденных закладки сохранены.
Сообщения в терминале
Если скрипт найдет браузеры в системе, в директории скрипта будут созданы файлы с названиями найденных браузеров, в которых содержатся закладки.
Файлы с найденными закладками
Как видно на скриншоте, у меня установлено два браузера. Давайте откроем один из файлов и посмотрим на часть его содержимого.
Содержимое файла с найденными закладками
Как видим, закладки найдены. За годы работы в данном браузере их накопилось чуть более 3000. Конечно же, показывать все я не буду, потому, только самое начало, для того, чтобы убедиться, что скрипт работает.
Скрипт работает как на Windows, так и на Linux. Вот скрин с работой скрипта в Fedora Workstation, в которой браузеры установлены по умолчанию, с помощью пакетов.
Работа скрипта в Fedora Workstation
Подведем итоги:
В данной статье мы научились рекурсивно парсить файл json, узнали, каким способом можно определить операционную систему, установленную на компьютере, а также сохранять данные из json в текстовый файл.
В перспективе, применений данному скрипту можно найти достаточно много. Все зависит только от вашей фантазии.
Аренда виртуального компьютера с локацией в Амстердаме
"Давайте обсудим процесс аренды виртуального (удаленного) компьютера, расположенного в Амстердаме. В этой инструкции я опишу, как это сделать."
Зачем нужен компьютер за рубежом?
Существует ряд мотивов для аренды виртуального компьютера за пределами РФ, и не все они связаны с обходом блокировок. Однако на сегодняшний день основной причиной является стремление обеспечить доступ к свободному интернету через IP-адрес другой страны, что дает возможность использовать зарубежные ресурсы.
Арендуя компьютер c локацией в Амстердаме, вы получаете:
Доступ ко всем популярным зарубежным сайтам, включая ChatGPT, Netflix, Dell, Intel и др.
Не нужно делать апгрейд своего физического ПК. Просто арендуйте мощный и подключайтесь к нему со своего старого.
Возможность оплаты с российских банковских карт, зарубежных карт и криптовалютой.
Подключение к безлимитной сети интернета с скоростью 10 Гбит/сек.
Бесплатное использование локальной сети с скоростью 100 Гбит/сек.
Пользование последним поколением процессоров на базе CPU AMD EPYC 9754.
Возможность использования для различных задач, таких как VPN, работа в браузере, размещение сайтов и ботов. Компьютер работает 24/7
IP-адрес, расположенный в Амстердаме. (Там свободный интернет)
Это лишь небольшой обзор того, какие возможности открываются с использованием удаленного компьютера.
Цена:
Зависит от мощности арендуемого компьютера. Так например компьютер 4 Gb RAM / 2 core CPU / 80 Gb Storage будет стоить 0.33$ день. Это 10$ в месяц. Дешевле кофе в автомате. Сумма списывается с баланса в ЛК каждый день. Минимальная сумма пополнения 20$.
Чтобы арендовать такой удаленный компьютер, вам нужно:
Найти хостера, который принимает платежи из РФ без комиссии. Учитывая ограничения на оплату зарубежных услуг из России, это может быть сложной задачей. Однако, для читателей данной статьи появилась хорошая возможность. (Делай все по инструкции ниже)
ИНСТРУКЦИЯ
ШАГ 1: Регистрация и покупка
Зарегистрируйтесь в хостинговой компании, перейдя на их веб-сайт и заполнив необходимую информацию для создания учетной записи.
- Чтобы получить IP адрес и локацию Амстердама, а не РФ, регистрируйтесь по этой ссылке
- Если нужен русский IP и локация Москвы, то по этой ссылке
После регистрации войдите в личный кабинет, используя предоставленные вами учетные данные. Потом смените пароль.
Подтвердите свой адрес электронной почты, следуя инструкциям, отправленным на указанный вами при регистрации адрес.
Пополните счет, чтобы иметь достаточно средств для аренды компьютера. Для этого:
a) Перейдите в раздел "Finance"
b) Нажмите на кнопку "+ Top up balance"
Следуйте инструкциям для выбора способа оплаты и внесения необходимой суммы на ваш баланс.
Как видите платежных методов много
ШАГ 2: Установка и настройка
Теперь, когда у нас есть средства на балансе, мы можем приступить к аренде.
Выберите операционную систему Windows из предложенных вариантов. Вы также можете установить свою операционную систему, загрузив ISO-образ в соответствующем меню, но для примера мы сосредоточимся на Windows.
В разделе "Server type" выберите "Standard server" или аналогичный вариант, который соответствует вашим потребностям по производительности и цене.
Задайте необходимые характеристики для вашего сервера. В данном примере мы используем характеристики, указанные в скриншоте ниже. (за 0.33$) Однако, вы можете выбрать более производительные варианты, если это необходимо.
При желании включите опцию бэкапа за дополнительную плату. Это обеспечит возможность восстановления всех данных в случае сбоя компьютера или других проблем. Также можно указать имя компьютера.
Нажмите кнопку "Create", чтобы начать создание вашего компьютера.
После завершения этих шагов ваш компьютер будет готов к использованию, и вы сможете приступить к его настройке и настройке программного обеспечения по вашему усмотрению.
Самая простая конфигурация для Windows
Ваш компьютер будет готов через пару минут.
После завершения установки компьютера вы получите уведомление об этом через тикетную систему. Чтобы найти и открыть письмо "New server has been created", выполните следующие шаги:
Откройте раздел "Support" или "Поддержка" на сайте хостинговой компании.
Найдите и выберите пункт "Tickets" или "Тикеты".
В списке тикетов найдите уведомление с заголовком "New server has been created" и откройте его.
Внутри письма будут указаны данные для подключения к вашему арендованному компьютеру. Обязательно сохраните эти данные, так как они будут необходимы для доступа к вашему серверу.
После сохранения данных вы будете готовы начать использовать ваш арендованный компьютер и настраивать его в соответствии с вашими потребностями.
Зайдите в Тикеты
Сохраните данные
ШАГ 3: Подключение к удаленному компьютеру
Теперь, когда ваш арендованный компьютер готов к использованию, вам нужно подключиться к нему. Вот как это сделать на компьютере под управлением операционной системы Windows:
Найдите на вашем компьютере приложение "Подключение к удаленному рабочему столу" и запустите его. Обычно это стандартное приложение в операционной системе Windows.
После запуска приложения введите данные вашего арендованного компьютера. В поле "Компьютер" укажите IP-адрес вашего арендованного компьютера.
Нажмите кнопку "Подключиться". После этого вам будет предложено ввести учетные данные:
Имя пользователя: administrator
Пароль: тот, который был отправлен вам в уведомлении через тикетную систему.
После ввода учетных данных нажмите кнопку "Подключиться". Затем может появиться окно с предупреждением о безопасности, нажмите "ОК", чтобы подтвердить подключение.
Поздравляю! Теперь вы подключены к вашему арендованному компьютеру, который находится в Амстердаме. Теперь вы можете начать использовать его для своих задач.
Приложение "Подключение к удаленному рабочему столу"
Ввод логина и пароля
Это сообщение появляется потому что мы не делали сертификат на удаленный ПК. Можете это сделать если нужно или игнорировать.
Чтобы подключиться к удаленному компьютеру с MAC? То нужно сделать тоже самое, только используя бесплатное приложение Microsoft Remote Desktop
ШАГ 4: Использование удаленного компьютера
Теперь у вас есть полный доступ к вашему арендованному компьютеру, и вы можете использовать его по вашему усмотрению. Вот несколько рекомендаций для начала:
Смените пароль: При желании можете сменить пароль на более надежный. Это делается так же, как и обычно в операционной системе Windows.
Настройка по вашему желанию: Этот компьютер теперь принадлежит вам, и вы можете делать с ним все, что вам нужно. Вы можете устанавливать программы, настраивать VPN или Proxy для использования в России на мобильных устройствах или использовать его для любых других целей. Что не противоречит правилам хостера и закону конечно.
Использование браузера: Вы можете использовать браузер на удаленном компьютере для доступа к интернету.
Помните, что этот компьютер находится в вашем распоряжении, и вы можете использовать его в соответствии с вашими потребностями и требованиями. Если у вас возникнут вопросы или затруднения, не стесняйтесь обращаться за поддержкой к хостинг-провайдеру. Удачного использования вашего арендованного компьютера!
Вот несколько скриншотов с компьютера который мы только что арендовали в ходе данной инструкции:
Свободный доступ к сайту ChatGPT
Время реакции
Проверка анонимизации
Вывод:
Использование арендованного компьютера представляет собой отличное решение в современном мире. Особенно это актуально в случае, если ваш физический компьютер устарел или не соответствует вашим потребностям. Вместо того чтобы покупать новое оборудование, вы можете арендовать виртуальный компьютер, который предоставит вам все необходимые ресурсы и возможности.
Кроме того, выбор компьютера, расположенного в Амстердаме, где доступ к интернету свободен, добавляет дополнительные преимущества. Это позволяет вам работать в сети без ограничений и использовать различные онлайн-сервисы с уверенностью.
В общем, желаю вам успешного использования вашего арендованного компьютера. Пользуйтесь им с удовольствием и достигайте своих целей!
Обновилось тут приложение на смарте. Предлагают синхронизацию со всеми устройствами. А чо, удобно же! согласился. И... слетели ВСЕ логины на ВСЕХ устройствах!
Дебилы блять!!! Синхронизация, это когда несколько баз слепляются в одну, а не берётся пустая база со смарта и с неё копипастится во все боевые базы на больших ПК!!! А я дурак ещё и пользовался хуяндекс.ID - это ппц вообще. Там пароли вида AY1-H3Y-UL5. Ну спасибо, уроды!