October 2025
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
10/29/24 09:42 pm
Демки - настоящее искусство
А не то, что некоторым предлагает Вениамин, а некоторым всякие исхуйствоведы по типу Гельменита или кого еще. Демки в сто раз круче, там и искусство кодирования, и аудио, и визуал. Вот сегодня с друзьями просто просматривали кучу демок под пивко и кое-что другое. Оставлю те, которые особо понравились мне в одном архиве: - A significant deformation near the cranium (by keWlers) - APC Universe (by Conspiracy) - Carbon (by zzz/ken) - Cycle (cyc final by хз кто) - Poemtoahorse (лучшая из выборки, скрин в посте, by chaos, kb, doj, ryg, fiver2, ronny) - Universe Part2 The Planet (by uncle-x, dixan, little bitchard) Избранные демки с вечеринки (ZIP, RAR, Windows EXE, Mega.NZ)Избранные демки с вечеринки (ZIP, RAR, Windows EXE, Catbox.moe)Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/10/29/demki-nastoyashhee-iskusstvo/
10/12/24 01:32 am
yterm - линуксовый терминал
by ketmar
Линуксовый ноутбук может крякнуть, так что особо ценное перекладываю, что-то в облака, что-то на GitHub, тем более Нургалиев ketmar разрешил.
Репозиторий с исходниками Скомпилированный бинарник Готовый пакет для Slackware
Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/10/12/yterm-linuksovyj-terminal/
9/24/24 06:48 am
Настройка прокси в VLC Player
ПреамбулаРешил посмотреть телевизор, чтоб быть в курсе, чего там кремлевская пропаганда врет, оказывается, проще всего сделать дырку в ГОРФ через прокси. Недолгим гуглением выяснил, что в прокси умеет VLC. Оставлю тут инструкцию по настройке прокси в VLC, от собственного склероза в основном. Настройка прокси1. Заходим в Инструменты --> Настройки...2. Переключаем режим настроек из Простые во Все3. Слева раскроется дерево настроек, нажимаем на пункт Ввод/кодеки, причем на сам пункт/узел, раскрывающиеся ветви узла нас не интересуют. ( Далее под катом )8. ФАНФАРЫ! Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/09/24/nastrojka-proksi-v-vlc-player/
9/20/24 07:52 am
Аццкий погодный информер 2
Взял и сломался. Че-то я неделю где-то браться за этот говнокод не хотел, ну там реально говнокод, на сайт посмотрел краем глаза, подумал, что переделали сайт, и пиздец. Но друзья уговорили, бо пользуются аж с 2019-го года и им удобно. Хряпнул винища, полез разбираться, оказалось довольно смешно: 1. Если на сайте зайти на несуществующую страницу, то сайт, вместо того, чтобы нормально выдать код 404, который у меня спокойно обрабатывается обработчиком соединения, выдает код 200, но рисует страницу с надписью "Ошибка 404" 2. Сам себе злобный буратино. Искал начало таблицы с данными в своем недопарсере примерно так StartIdx = sData.IndexOf(StartText); И, конечно же, забыл проверку, что если ничего не найдено, тогда StartIdx == -1 , и надо выходить из функции и выдавать ошибку, а не пытаться Substring 'ом вырезать кусок, который не найден. Т.е. ошибка абсолютно детская, аж самому смешно. Итого, кому надо, могут взять здесьКому надо знают, где брать ключик и пароль от архива. Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/09/20/atstskij-pogodnyj-informer-2/
5/29/24 03:55 am
Как читать формат файла EML в Windows.
При отсутствии почтового клиента.
EML и иногда MSG, это форматы, в которые сохраняются сообщения электронной почты, если надо выгрузить их из почтового клиента или прямо с сайта (google.mail, например, так умеет). EML одобрен стандартом RFC
Формально, вообще это текстовый файл, в котором кроме текста сообщения, присутствуют заголовки и могут присутствовать вложения, закодированные для передачи в формате BASE64
Обычно, формат EML поддерживают почти все почтовые клиенты, лишь Вовчик Воротов решил выебнуться и в Аутглюке запилил собственный формат MSG, но что делать, если файл есть, а почтового клиента нет?
Нашел прикольную маленькую программку CoolUtils Mail Viewer, небольшая, бесплатная, работает, начиная с Windows 7, на XP не тестировал, но свои задачи делает, можно посмотреть файл EML, отдельно прочесть текст, отдельно просмотреть и выгрузить вложения, или посмотреть сообщение в сыром виде, чтобы, например, прочесть и проанализировать заголовки.
СсылкиОфициальный сайтКопия на Mega.NZЭто репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/05/29/kak-chitat-format-fajla-eml-v-windows/
5/13/24 02:30 am
Linux: yt-dlp в Slackware
ПреамбулаСломался даунлоадер с Ютуба yt-dlp , который я пользовал в качестве альтернативы youtube-dl , поскольку youtube-dl медленный. Но ютубовские уроды опять что-то поменяли и старая версия yt-dlp перестала работать. Решил обновить. Обновление Python до версии 3.9Новой версии yt-dlp нужна и новая версия Python. У меня стояла 3.7, а нужна 3.9. 1. Сносим старую версию (название пакета у вас может быть другим, у меня был python3-3.7.2-i586-1_SBo ): removepkg python3-3.7.2-i586-1_SBo 2. Качаем SlackBuild и исходники от Alien3. Кладем их в отдельный каталог и делаем пакет: ./python3.SlackBuild Python-3.9.5.tar.xz 4. Устанавливаем пакет: installpkg python3-3.9.5-i586-1alien.txz Копии: Слакбилд и исходники (RAR)Готовый пакет (TXZ)Устанавливаем новую версию yt-dlp1. Сносим старый пакет, если есть (название пакета ниже может быть другим): removepkg yt-dlp 2. Делаем временный каталог: cd /tmp mkdir yt-dlp2024 3. Создаем в нем каталог bin : cd yt-dlp2024 mkdir bin 4. Качаем в bin с GitHub готовую версию yt-dlp : Ссылка на страницу установкиСсылка на бинарник для Linux5. Устанавливаем скачанному файлу права на исполнение: chmod 755 yt-dlp 6. Создаем пакет: cd .. makepkg ../yt-dlp2024.txz 7. В каталоге /tmp будет создан пакет yt-dlp2024.txz , нужно его установить: cd .. installpkg yt-dlp2024.txz Копия готового пакета (TXZ)Устранение ошибки ERROR: 'latin-1' codec can't encode characterПри первом использовании нового yt-dlp возникла ошибка: [youtube] Extracting URL: https://www.youtube.com/watch?v=3zyZ-Ya7FJE [youtube] 3zyZ-Ya7FJE: Downloading webpage [youtube] 3zyZ-Ya7FJE: Downloading ios player API JSON [youtube] 3zyZ-Ya7FJE: Downloading android player API JSON WARNING: [youtube] Skipping player responses from android clients (got player responses for video "aQvGIIdgFDM" instead of "3zyZ-Ya7FJE") [youtube] 3zyZ-Ya7FJE: Downloading m3u8 information [info] 3zyZ-Ya7FJE: Downloading 1 format(s): 137+251 ERROR: 'latin-1' codec can't encode character '\u29f8' in position 6: ordinal not in range(256) Ну все, пиздец, подумал я, настала та самая жопа, когда ебался пол ночи, а звуки для новых сэмплов так и не скачаю, а друзья неделю пилили, что из "жужжалки" UVB-76 (это такая всем известная номерная радиостанция), я себе семплов нужных и нарежу, а тут такой облом. Пошел в ресторацию, выпил хорошего немецкого пива под сосисочки, и решение нагуглилось! При вышеуказанной ошибке yt-dlp надо запускать с параметром --restrict-filenames : yt-dlp --restrict-filenames <url> где <url> - адрес видео, которое хотим скачать, например: yt-dlp --restrict-filenames https://www.youtube.com/watch?v=3zyZ-Ya7FJE Все! Качается: [youtube] Extracting URL: https://www.youtube.com/watch?v=3zyZ-Ya7FJE [youtube] 3zyZ-Ya7FJE: Downloading webpage [youtube] 3zyZ-Ya7FJE: Downloading ios player API JSON [youtube] 3zyZ-Ya7FJE: Downloading android player API JSON WARNING: [youtube] Skipping player responses from android clients (got player responses for video "aQvGIIdgFDM" instead of "3zyZ-Ya7FJE") [youtube] 3zyZ-Ya7FJE: Downloading m3u8 information [info] 3zyZ-Ya7FJE: Downloading 1 format(s): 137+251 [download] Destination: UVB-76_The_buzzer_4625_kHz_USB_Live-[3zyZ-Ya7FJE].f137.mp4 [download] 16.6% of 260.26MiB at 252.20KiB/s ETA 14:41
Решение нашел здесьЭто репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/05/13/linux-yt-dlp-v-slackware/
4/23/24 03:36 am
Кат стандартными средствами HTML.
Много кто этого ждал, но это наконец, проерзалось в стандарте. Работает в последних версиях Chrome и Firefox. У меня Хром версии 109.0.5414.120 (Официальная сборка), (64 бит) и Firefox 155.9 lesr, в ранних браузерах может и не работать, по официальной документации написано, что этот тег не должен фунциклировать в Firefox, но фунциклирует.
Как сделать<details>Текст</details> - закрытый по умолчанию кат. <details open="open">Текст</details> - открытый по умолчанию кат. ТестWordPressLJRЧистый HTMLДокументацияТег <details>Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/04/23/kat-standartnymi-sredstvami-html/
4/23/24 03:04 am
details тест
Сегодня во время ритуального жертвоприношения ополченец Бабай настоял на лишении неприкосновенности академика В. Петрика Помещенный накануне под стражу бендеровец Яценюк незаконно сфотографировал в пьяном состоянии клоуна Ю. Куклачева ШОК: президент В.В. Путин объявил национал-предателем президента США Сегодня утром в окрестностях Новопосадска боец самообороны Крыма передразнивал Сильвио Берлускони Несмотря на пророчества астролога Глобы, президент Обама выстроил живой щит из автомобилей бендеровца Порошенко
Сегодня во время ритуального жертвоприношения ополченец Бабай настоял на лишении неприкосновенности академика В. Петрика Помещенный накануне под стражу бендеровец Яценюк незаконно сфотографировал в пьяном состоянии клоуна Ю. Куклачева ШОК: президент В.В. Путин объявил национал-предателем президента США Сегодня утром в окрестностях Новопосадска боец самообороны Крыма передразнивал Сильвио Берлускони Несмотря на пророчества астролога Глобы, президент Обама выстроил живой щит из автомобилей бендеровца Порошенко
Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/04/23/details-test/
12/10/23 11:03 pm
C#: Учебное задание. Конвертер температур Кельвин - Цельсий - Фаренгейт
Скриншоты
Как синхронизировать три поля ввода, так чтоб в одном был ввод, а в других отображался результат1. Создаем три поля ввода типа InputDigitControl Поля надо назвать соответственно idcC , idcK и idcF для значений в цельсиях, кельвинах и фаренгейтах. 2. Создаем три переменных в коде формы, они будут флагами, показывющими в каком поле происходит ввод: bool enC = false; bool enK = false; bool enF = false; 3. Для всех полей прописываем общее событие типа Enter idc_Enter 4. В обработчике события захватываем текущий контрол в отдельную переменную: InputDigitControl idc = (InputDigitControl)sender; 5. Вытаскиваем последний символ в имени контрола: string fldID = idc.Name.Substring(3, 1); 6. Организуем switch , устанавливающий флаги switch (fldID)
{
case "C":
{
enC = true;
enK = false;
enF = false;
}; break;
case "K":
{
enC = false;
enK = true;
enF = false;
}; break;
case "F":
{
enC = false;
enK = false;
enF = true;
}; break;
}
Копия функции целиком на PasteBin7. Событие типа Changed тоже назначаем одно для всех контролов. 8 Внутри обработчика события анализируем флаги, производим расчеты и выводим результаты. Копия функции целиком на PasteBinВвод чиселС помощью моего компонента InputDigitControlФормулы для перевода температурC2K: K = C + 273.15 C2F: F = C * 9.0 / 5.0 + 32.0 K2C: C = K - 273.15 K2F: F = (K - 273.15) * 9.0 / 5.0 + 32.0 F2C: C = (F - 32.0) * 5.0 / 9.0 F2K: K = (F - 32.0) * 5.0 / 9.0 + 273.15 Скомпилированный файлНа GitHubИсходники проектаНа GitHubЭто репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2023/12/10/c-uchebnoe-zadanie-konverter-temperatur-kelvin-tselsij-farengejt/
11/28/23 06:01 am
Asus 7553M, если перестала запускаться Windows 7
Возможно, слетели настройки BIOS (вернулись к дефолтным), обычно тогда при загрузке сразу выбрасывает в BIOS, если не выбрасывает, а появляется синий экран, на котором ругаются на ACPI: "The BIOS in this system is not fully ACPI compilant", и, возможно ошибка с кодом STOP:000000A5 то в BIOS надо зайти и проверить:
1. Security --> Secure boot menu --> Secure boot установить в Disable , сохранить (F10), перезагрузиться, войти в BIOS опять. 2. Boot --> Launch CSM выставить в Enabled . Cохранить (F10), перезагрузиться, войти в BIOS опять. 3. Advancend --> OS Selection выставить в Windows 7 . Cохранить (F10), перезагрузиться.
Пример синего экрана:
Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/11/28/asus-7553m-esli-perestala-zapuskatsya-windows-7/
11/28/23 05:07 am
Linux: Неинтерактивный пользователь
Что это, зачем, и как это может понадобиться?
Если мы посмотрим на список пользователей в Linux сразу после установки, мы, кроме root , nobody (пользователя с максимально ограниченными правами) и своего пользователя, увидим множество пользователей, созданных под конкретную подсистему или задачу, например: bin , daemon , adm , operator , games , sshd , usbmux , sddm , pulse , apache , messagebus и т.д. Для чего это сделано? Если кратко - для безопасности, под каждую задачу, от запуска отдельной программы, до управления отдельной подсистемой, создается отдельный пользователь, который, даже если его взломает злоумышленник, не сможет получить доступ ко всей системе. Т.е. хакнули пользователя apache , и у нас сдох только web-сервер Apache, админ нашел сбой, пропатчил, починил, перезапустил нужное - и все опять работает. А почему пользователь неинтерактивный? Опять же, для безопасности, ваш пользователь, или же root , интерактивные, они имеют доступ к терминалу, т.е. могут вводить команды и запускать другие программы из терминала/консоли. Но и в самом терминале и в программах, может обнаружиться ошибка, которая позволит получить пользователю получить нужные права, чтоб в системе навредить. Для того пользователю с ограниченными задачами и отключают доступ к терминалу, т.е., делают его неинтерактивным. Как создать неинтерактивного пользователя?Итак, начнем это делать на нашей тестовой системе. Для начала создадим группу для тестовых пользователей, стандартной командой addgroup . Выполнять надо из-под root (или через sudo , зависит от вашей системы), больше не буду на этом останавливаться. groupadd testgrp С помощью useradd1. Самый простой способ: useradd -g testgrp -d /dev/null -s /bin/false testusr1 где: -g testgrp - задать основную группу пользователя (вышесозданную testgrp ) -d /dev/null - задать в качестве расположения домашнего каталога нуль-устройство ( /dev/null ) -s /bin/false - установить фиктивную оболочку ( /bin/false ). testusr1 - имя пользователя Если опцию -d не указать, система укажет для пользователя домашний каталог, как подкаталог с таким же именем, как имя пользователя, в /home , хотя и не создаст его. Это максимально неинтерактивный пользователь, у него не только установлена фиктивная оболочка (обычным пользователям устанавливают оболочку, например /bin/bash ) но также не установлен домашний каталог, т.е. пользователю просто некуда входить в системе, а также не установлен пароль. С пустым паролем Linux не пустит пользователя, впрочем, об этом ниже. Если попытаться зайти в систему от имени этого пользователя, то получим ошибку Access denied: login as: testusr1 testusr1@192.168.1.133's password: Access denied testusr1@192.168.1.133's password: 2. Если неинтерактивному пользователю все-таки нужен домашний каталог, например, для хранения конфигураций запускаемых от его имени программ, то домашний каталог вполне можно создать: useradd -g testgrp -m -d /home/testusr2 -s /bin/false testusr2 К опциям -g , -s и -d добавляется опция -m - автоматически создать пользовательский каталог С помощью скрипта adduserСкрипт adduser, это оболочка над программой useradd, который позволяет указать параметры нового пользователя в диалоговом режиме Пример создания неинтерактивного пользователя: ( Простыня с переводом под катом )Удобно, красиво, не надо вручную писать опции в командной строке, хотя простыня. Но можно и так, главное, не забыть про фиктивную оболочку /bin/false и, при надобности, пустой пароль. О "пустых" пароляхКаждому пользователю в Linux, который хочет получить доступ к терминалу или графической оболочке, должен быть присвоен пароль. Можно провести наглядный эксперимент. 1. Создадим с помощью скрипта adduser нового пользователя testusr4 , только оставим ему некоторые параметры по умолчанию, т.е. домашний каталог и оболочку /bin/bash , изменим только группу на testgrp и зададим ему пароль. 2. Попробуем залогиниться: login as: testusr4 testusr4@192.168.1.133's password: testusr4@smallwolfie:~$ Получилось! 3. Выйдем из учетной записи и отредактируем файл /etc/shadow в котором хранятся пароли пользователей (редактируем от имени root ): - Найдем строчку, содержащую информацию о пароле пользователя testusr4 : testusr4:$5$eUbahK8EwlYtD1Nw$ZCH7sMkg.fTwe/KsqfBh6.xrlo3K4V6WinyiqWhW5.8:19689:0:99999:7::: - Приведем ее к такому же виду, что у пользователя, например, testusr1 : Т.е. вместо хэша и других свойств пароля, находящегося между вторым и третьим двоеточием, впишем символ восклицательного знака, тем самым удалив их. login as: testusr4 testusr4@192.168.1.133's password: Access denied Подробнее прочесть о формате файлов /etc/passwd и /etc/shadow Копия в PDFКак отобрать интерактивность у уже созданного интерактивного пользователя?Предположим, у нас есть интерактивный пользователь testusr5 и эту интерактивность надо пользователю отключить: 1. Лишить возможности пользователя входить по паролю, как это было описано выше. 2. Отредактировать файл /etc/passwd, найдя строку пользователя: testusr5:x:1016:1008:,,,:/home/testusr5:/bin/bash И заменить указанную оболочку ( /bin/bash ) на фиктивную ( /bin/false ): testusr5:x:1016:1008:,,,:/home/testusr5:/bin/false Можно заменить запись о домашнем каталоге на /dev/null, если он не нужен, а сам каталог потом удалить с диска: testusr5:x:1016:1008:,,,:/dev/null:/bin/false Пользователь "одного скрипта"Интересно, что пользователю в качестве оболочки можно подсунуть не только фиктивную оболочку или обычный shell (bash, sh, zsh и т.д.) но и конкретный скрипт. Тогда, при входе этого пользователя в систему, будет выполняться только этот самый скрипт. Главное, чтоб у пользователя были права на его исполнение. Примечание: Хоть это уже не совсем "неинтерактивный" пользователь, но ради обобщения, пусть будет тут. Внимание! Делайте нечто подобное, когда точно уверены в своих действиях. Если злоумышленник сможет подкорректировать такой скрипт, то сможет и нагадить в системе. Пример: 1. Создадим интерактивного пользователя с домашним каталогом, например, testusr6 , не забыв задать пароль. 2. Залогинимся от имени этого пользователя 3. В домашнем каталоге напишем простой тестовый скрипт и дадим ему права на исполнение от имени этого пользователя. #!/bin/bash
echo "Hello, world!" echo "Press ENTER..." read 4. Выйдем из системы этим пользователем, и от имени root отредактируем /etc/passwd таким образом. Было: testusr6:x:1017:1008:,,,:/home/testusr6:/bin/bash
Стало: testusr6:x:1017:1008:,,,:/home/testusr6:/home/testusr6/hello 5. Теперь попробуем войти в систему от имени testusr6 : login as: testusr6 testusr6@192.168.1.133's password: Hello, world! Press ENTER... После нажатия ENTER сеанс завершится. Как подобную фичу можно использовать на практике, описано здесь: Удаленная перезагрузка сервера под управлением Linux. Перезагрузка Linux без ввода пароля. ( копия) Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/11/28/linux-neinteraktivnyj-polzovatel/
11/23/23 02:01 am
Сбой при пересборке ядра Linux (Puppy Slacko)
Прямая ссылкаСбой при пересборке ядра Linux (Puppy Slacko) без включения поддержки UnionFS в ядре. Видеоиллюстрация для лекции, потому что не уверен, будет ли возможность завтра пересобирать криво и прямо ядро перед аудиторией, и пропустят ли туда с личным ноутом. Интернеты есть, а пример хороший, пусть лежит, Ютуб резиновый. Впрочем, если кому-то вдруг понадобится почитать, где именно это в реале встретилось, то вот ( копия) Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/11/23/sboj-pri-peresborke-yadra-linux-puppy-slacko/
11/22/23 03:50 am
BAT/CMD: Shred и Random Renamer
Предыдущие заметки по теме1. Shred для Windows ( копия) 2. Устранил финальный недостаток SHRED под Windows в BAT-файле ( копия) 3. Random Renamer ( копия) ПреамбулаВ [2] описал недостаток утилиты shred , а именно: затирая файл она никак не меняет его имени, потому, если вы shred‘ом удалили файл, например, с именем Путин бомба взрыв чеченцы.doc , содержимое файла затрется, а название останется.Впрочем, там же описал недостаток и получения случайного имени файла стандартными средствами BAT/CMD: Имя временного файла весьма характерное, при анализе диска будет видно, что кто-то скриптом пользовался. Как сделать нормальные случайные имена файлов в CMD (вида lfcx16.tmp , например) без внешних утилит, я пока не понял.Впрочем, да, без PowerShell или JS/VBS стандартными средствами CMD/BAT получить нормальное случайное имя файла сложно, так что написал простенькую утилиту Random Renamer [3], которую, впрочем, писал немного для другого, но в [3] обещал пример, как ее можно использовать со shred в BAT-файле. Итоговый BAT-файл1. Отключаем режим вывода команд: @echo off 2. Проверяем, чтобы в первом параметре BAT-файла были указаны маска или имя файла, иначе насерет в консоль ошибками и будет некрасиво: IF "%1" EQU "" goto paramerr 3. В конце BAT-файла дописываем метку :paramerr и вывод сообщения об ошибке: :paramerr echo First parameter must be file name or file mask! echo e.g. rrshred.bat *.txt echo e.g. rrshred.bat text.txt 4. Генерируем имя для списка файлов, которые будут переименованы и обработаны shred : set RLST=%TEMP%\%RANDOM%.%RANDOM% 5. Переименовываем файлы в текущем каталоге Random Renamer'ом и отправляем вывод RR в список файлов: rr -m %1 -v >%RLST% где: -m %1 - задание маски переименуемых файлов -v - включить вывод процесса переименования Вывод производится на STDOUT , потому перенаправляем его во временный файл ( >%RLST% ). Пример содержимого файла ( X:\Temp\15158.18655 ): Rename files... Z:\Test1.txt --> 1.txt --> tuz3v4t3.ovw OK. Z:\Test2.txt --> 2.txt --> npk5b7jn.q12 OK. Z:\Test3.txt --> 3.txt --> sqtn63cl.dwa OK. Z:\Test4.txt --> 4.txt --> m371e448.q12 OK.
Found files: 4 Renamed files: 4 Error files: 0 6. В цикле вытаскиваем имена переименованных файлов из файла-списка: FOR /F "tokens=5,5 delims= " %%i in (%RLST%) do (
[внутри цикла]
) Справка по команде FOR BAT-файла ( копия в PDF) Внутри цикла: 1. Вызываем shred для каждого файла из списка: shred -n 3 -z %%i где: -n 3 - затереть случайными данными файл в 3 прохода -z - сделать дополнительный проход, затерев содержимое файла нолями (символом с кодом 0x00h ) 2. Удаляем файл: del %%i После цикла затираем и удаляем сам файл со списком файлов, имя которого в %RLST% : shred -n 3 -z %RLST% del %RLST% exit /b Команда exit /b завершает работу BAT-файла, параметр /b указывает, чтобы по выходу из BAT-файла, командный процессор не был бы закрыт. Ниже в BAT-файле будет идти метка :paramerr BAT-файл целиком@echo off
IF "%1" EQU "" goto paramerr
SET RLST=%TEMP%\%RANDOM%.%RANDOM%
rr -m %1 -v >%RLST%
FOR /F "tokens=5,5 delims= " %%i in (%RLST%) do (
shred -n 3 -z %%i
del %%i
)
::remove list of files
shred -n 3 -z %RLST%
del %RLST%
exit /b
:paramerr
echo First parameter must be file name or file mask!
echo e.g. rrshred.bat *.txt
echo e.g. rrshred.bat text.txt На GitHubКак пользоваться1. Скачать rr + shred + rrshred.bat с GitHub (ZIP-архив)2. Распаковать архив в один каталог, находящийся в переменной окружения %PATH% , например, C:\Windows . 3. Пример вызова: rrshred.bat *.txt - затрет и удалит файлы *.txt в текущем каталоге. Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/11/22/bat-cmd-shred-i-random-renamer/
9/27/23 03:47 pm
Захват цвета с экрана
Блин, в Windows выше XP старая утилита Хваталка перестала работать, пришлось искать что-то более новое. Нашел. Называется Quick HTML Color Picker
Главное окно
Процесс захвата цветаДа, кусочек рубашки Сергея Минаева :) Захватывать цвет можно и с видео, при нажатии кнопки захвата, программа просто тормозит экран, а по клику снова его отпускает. Для начала захвата цвета надо нажать кнопку Pick Color. Если стоит галочка copy automatically, то в буфер обмена скопируется HTML-код цвета, например, #808080 . Совместимость: Windows 7 - Windows 11 Скачать с Mega.NZОфициальный сайтЭто репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/09/27/zahvat-tsveta-s-ekrana/
9/9/23 05:53 pm
Заодно уж...
Починил этим вот способом и транслителирующий ренеймер, который таки транслителирует имена файлов на русском языке и таки переименовывает их
Исходники
СкачатьБинарник (EXE)SFX-архив (Распаковывается в каталог Windows) ZIP-архивСовместимость: Windows XP - Windows 10 (98 и Win11 не тестировались) Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/09/09/zaodno-uzh/
9/7/23 04:21 pm
Окончательное решение о рандомном переименовании файлов в Windows
ПреамбулаУже поднимал этот вопрос здесь ( копия), в общем, нативного решения не нашел, написал простенькую утилиту Random Renamer. Краткая справкаRandom renamer (rr), this program rename files to random names v 0.0.1b (L) ChaosSoftware 2023. Использование: rr.exe [параметры] | -h -h - помощь -m <mask> - Маска файлов для переименования. Параметр обязательный. Или используйте параметр -r для переименования только каталогов. [-a] <номер> - задать алфавит для генерации случайного имени, значение по умолчанию 0 [-d] - стартовая директория, по умолчанию - текущая [-l] <число> - длина имени, по умолчанию 8 [-r] - переименовывать директории [-s] - включая подкаталоги [-v] - отображать процесс на экране [-x] <число> - длина расширения, по умолчанию 3 , каталогам расширение не присваивается. Алфавиты: 0: abcdefghijklmnopqrstuvwxyz0123456789 1: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 2: ABCDEF0123456789 3: abcdef0123456789 4: 0123456789 5: abcdefghijklmnopqrstuvwxyz 6: ABCDEFGHIJKLMNOPQRSTUVWXYZ По умолчанию: 0 ИсходникНа GitHubБинарник (EXE for Windows)СкачатьИспользованиеПоложить бинарник в один из каталогов %PATH% , например, в C:\Windows и пользоваться. Потом сделаю пример, как его со shred 'ом в BAT/CMD использовать. Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/09/07/okonchatelnoe-reshenie-o-randomnom-pereimenovanii-fajlov-v-windows/
9/7/23 02:49 pm
FreePascal: TStringList надо инициализировать nil'ом
Вот как-то так:
var ... lstFiles:TStringList=nil; lstDirs:TStringList=nil;
Иначе возможен плавающий глюк, который внезапно может вылезти где угодно при обращении к TStringList . Возьмет и вылезет EAccessViolation , так что про инициализацию забывать не надо. Делал маленькую внутрикорпоративную утилиту, два дня потерял, отлаживая странный глюк, а вот оно как оказалось.
Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/09/07/freepascal-tstringlist-nado-initsializirovat-nil-om/
8/12/23 06:04 am
Планшет Oysters T7X 3G, инструкция, прошивка, софт для рутования.
ПреамбулаТоже принесли в починку, починил, хуле. Инструкция, прошивка, софт для рутования.Инструкция, прошивка, софт для рутования, скачать с Mega.nz (7Z-архив, 348 Мб)Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/08/12/planshet-oysters-t7x-3g-instruktsiya-proshivka-soft-dlya-rutovaniya/
8/2/23 09:43 am
Slackware: Краткая инструкция по настройке Samba
Ну мало ли.Кто не знает, что это такое. Если говорить по рабоче-крестьянски, инструкция о том, как расшарить в локальную сеть каталог на компьютере с Linux. Про протокол SMB/CIFS и пакет Samba можно почитать по ссылкам в Википедии. ЗапускОбычно в Slackware сервер Samba доступен "из коробки". Для запуска Samba в Slackware достаточно дать права на исполнение файлу /etc/rc.d/rc.samba и дать команду на запуск: chmod 744 /etc/rc.d/rc.samba /etc/rc.d/rc.samba start Остановка: /etc/rc.d/rc.samba stop Если не надо, чтоб сервер Samba стартовал при загрузке ОС, отбираем права на исполнение: chmod 644 /etc/rc.d/rc.samba Samba и Network NamespacesSamba прекрасно запускается в сетевом неймспейсе ( копия) если это будет надо. В таком случае, Samba надо будет запускать вручную, после того, как нужный namespace настроен, иначе возможны непонятные глюки. Так что в стартовый скрипт, после настройки неймспейсов вставляем команды: echo "Starting samba server..." chmod 744 /etc/rc.d/rc.samba ip netns exec provns /etc/rc.d/rc.samba start provns - меняем на имя нужного неймспейса. В скрипт, выполняемый при завершении работы (обычно /etc/rc.d/rc.local_shutdown ) вставляем команду завершения работы Samba-сервера: echo "Stopping samba server..." /etc/rc.d/rc.samba stop И отбираем права на исполнение скрипта rc.samba : chmod 644 /etc/rc.d/rc.samba Основные настройкиПроизводим основные настройки в файле /etc/samba/smb.conf [global]
workgroup = WORKGROUP
netbios name = PXE
server string = Local PXE
interfaces = 10.10.0.120
map to guest = bad user
security = USER
unix extensions = no
wide links = yes
follow symlinks = yes
log file = /var/log/samba/log.%m
max log size = 50
dns proxy = No
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = Yes
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
workgroup — рабочая группа (поменяйте на свою) netbios name — имя компьютера server string — описание (видно, например, в «Сетевом окружении» из Windows) interfaces — сетевой интерфейс, который будет прослушивать Samba-сервер. Можно выставить имена сетевых устройств (например, eth0 ) или задать IP Делаем доступ к каталогам, открытым в Samba анонимным (без логина и пароля): map to guest = bad user security = USER Следующие 3 строки нужны, чтоб Samba стал поддерживать символические ссылки. Например для того, чтобы не расшаривать каждый раз новый каталог и не перезапускать Samba, а просто закинуть символическую ссылку в каталог, уже расшареннй в Samba: unix extensions = no wide links = yes follow symlinks = yes log file — куда писать лог max log size — и его максимальный размер По умолчанию отключаем DNS-proxy и доступ к принтерам: dns proxy = No load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = Yes Секцию [printers] оставляем по умолчанию (все равно все настройки принтеров вырублены в [global] , да и принтеров у меня нет). Шара только для чтенияИногда полезно создать каталог, чье содержимое доступно в локальной сети только для чтения, например, чтобы пользователь случайно или намеренно не испортил файлы. Пример такой шары из конфига для PXE-сервера. В шаре расположены файлы для Hiren's Boot CD, запускаемого через PXE ( копия) Права на файлы, расшаренный каталог и подкаталоги должны быть установлены в 644 (чтение и запись для владельца, чтение для группы, чтение для остальных). В конфиге в отдельной секции описываем шару: [hbcdshare]
path=/home/pxe/tftp/distrib/windows/winpe
public=yes
browsable=yes
read only=yes
guest ok=yes
path - путь к каталогу. public - публичный, ставим в yes , т.к. каталог нужно открыть для любого пользователя в локальной сети. browsable=yes - отображение без прямого указания адреса, без этого параметра автоматически не найдется в "Сетевом окружении", например. read only=yes - только чтение. guest ok=yes - пускать любого пользователя. Шара для файлообмена (чтения и записи)Примечание: Можно расшарить хоть целый раздел. Права на расшариваемый каталог, подкаталоги и файлы надо установить в 777 (читать, исполнять и записывать для всех) Секция в конфиге: [pomojka]
path=/mnt/sdb2
public=yes
browsable=yes
read only=no
guest ok=yes
В секции меняется только параметр read only=no Пример отображения в "Сетевом окружении" Windows: Пример конфига на PastebinЭто репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/08/02/slackware-kratkaya-instruktsiya-po-nastrojke-samba/
|