Задать вопрос
  • Как в Excel 2016 быстро, по всем ячейкам дописать нужные строки?

    @rPman
    'правильно' добавить столбец, в него написать формулу concatenate из строки url и указанного соседней ячейки, и скопировать ее во все строки, после этого старую колонку удаляем или заменяем копированием новой созданной (копировать, вставить только значения).

    В вообще в excel есть отличные макросы, а точнее инструмент их автоматического создания в код vbscript, заменяет часы гугления и чтения документации. Разбиваешь свою задачу на повторяющиеся шаги (например перешел в следующую ячейку стрелкой вниз, заменил текст, повторить пока не пустая ячейка или например номер строки не конкретное значение), в общем код получится в 3 строчки.
    Ответ написан
    Комментировать
  • Какой эмулятор Android для ПК позволяет эмулировать приём и отправку SMS?

    @rPman
    Пробовал штатный эмулятор, идущий с google android studio (идет в поставке с его штатным android sdk, можно отдельно установить)?
    красивые статьи гуглятся очень старые, поэтому советую поэкспериментировать. ИИ дает примеры:
    adb emu sms send <номер> <текст>
    а если приложения android отсылают sms то в logcat будут сообщения вида:
    В консоли или Logcat появится сообщение вроде
    D/GsmSmsDispatcher: SMS sent to <номер>
    Ответ написан
    3 комментария
  • Какие есть простенькие скрипты "HTTP over Email", чтоб поставить у себя на серваке?

    @rPman
    Эту задачу сможет решить даже слабый современный ИИ, бесплатный доступ к которому сейчас есть у всех, даже без vpn (ну а с vpn например майкрософтовский copilot который в win11 уже встроен в браузер)
    Промпт
    Нужен скрипт, который будет раз в 5 секунд по CRONу на Linux-овом VPS`e
    читать email-почтовый ящик, забирать оттуда письма с темой "url" и
    брать из текста таких писем список url`ов, скачивать эти урлы,
    класть их в zip и отсылать через почтовый ящик обратно.

    для скачивания используй внешнюю утилиту что бы можно было настраивать, в коде прописать списком констант а потом в тексте указывать какой утилитой скачать (по умолчанию подставь вариант скачать одну страницу со всеми картинками и вариант со вложенностью 1 (с помощью wget).
    Осторожно! код не проверял, если он не будет работать, нужно с ИИ поговорить, давать ему исходный промпт, текущий скрипт и сообщения об ошибках или описание что не так работает.
    duckduckgo:gpt5 скорее всего там gpt5-mini

    Ниже — готовый демон-скрипт на Python 3, который требует минимум зависимостей и выполняет описанное: каждые 5 секунд (через cron не нужно — лучше запускать как демон или systemd service; если хотите именно CRON каждые 5 секунд — cron не поддерживает интервал <1 мин, поэтому используйте loop) проверяет почту по IMAP, берет письма с темой "url", парсит список URL в теле, скачивает их с помощью настраиваемой внешней утилиты (по умолчанию два варианта с wget: "single-page-with-images" и "recursive-depth-1"), собирает скачанные файлы в ZIP и отправляет назад через SMTP. Константы вверху файла легко менять.

    Требования:

    Python 3.8+
    pip install python-dotenv requests python-magic (опционально) beautifulsoup4 lxml
    Встроенные модули: imaplib, smtplib, email, subprocess, zipfile, tempfile, os, time, re, logging

    Файл: mail_url_worker.py https://pastebin.com/AwPgiMj9

    Инструкция по использованию:

    Поместите файл, сделайте исполняемым: chmod +x mail_url_worker.py
    Установите зависимости: pip install python-dotenv beautifulsoup4 lxml
    Отредактируйте константы сверху (IMAP/SMTP/пользователь/пароли). Можно заменить на чтение из окружения.
    Убедитесь, что в DOWNLOADERS указаны те утилиты, которые установлены на сервере (wget доступен по умолчанию в большинстве Linux). Можно добавить команду для httrack, curl или иной утилиты — шаблон должен включать {url} и, при необходимости, {outdir}.
    Запустите как демон или systemd service. Пример systemd unit (коротко):
    Создайте /etc/systemd/system/mail_url_worker.service с запуском python3 /path/to/mail_url_worker.py, затем systemctl enable --now mail_url_worker

    Пояснения про выбор downloader в письме:

    Если в тексте письма есть строка типа "downloader: recursive-depth-1" или "downloader=single-page-with-images", скрипт использует соответствующий ключ из DOWNLOADERS. Иначе — DEFAULT_DOWNLOADER.

    Безопасность и ограничения:

    Скрипт запускает внешние команды — убедитесь, что принимаемые URL безопасны и что у пользователя, под которым работает скрипт, нет лишних прав.
    Таймаут на скачивание — 300 секунд для каждого вызова.
    Для больших сайтов/много URL может потребоваться больше места/памяти — адаптируйте.

    Если хотите — могу:

    Привести версию с чтением настроек из .env,
    Добавить обработку вложенных команд (например, скачивание по списку из вложения),
    Подготовить systemd unit и инструкции по безопасности.

    p.s. просьба отписаться тут, работает это или нет
    Ответ написан
    Комментировать
  • Как решить проблему организации многопользовательской работы с базой данных Microsoft Access?

    @rPman
    Итак microsoft access изначально умеет в многопользовательский доступ, если базу разместить на сетевом диске (или в пределах одного компьютера, например terminal services).

    Я точно помню что по умолчанию там все должно работать без проблем. Но само приложение должно быть разработано с учетом многопользовательской работы, т.е. либо мониторить блокировки и сообщать об этом пользователю либо обрабатывать ошибки записи и так же выдавать вразумительные сообщения об ошибках или ставить действия в очередь и продолжать повторно их выполнять.

    Как 'база данных в файле' access однозначно опередил свое время, все в одно месте, интерфейс и хранилище, среда разработки... но майкрософт, в угоду своей visual studio похерили всю разработку.

    Настоятельно рекомендую, если вам нужно именно windows GUI и простота разработки, использовать microsoft visual studio (даже community версии будет достаточно), в нее встроены wysivyg средства по работе с базой данных (саму базу можно разрабатывать хоть в том же access но лучше в адекватных средах, кстати если все еще нужно хранилище в файле то можете еще выбрать sqlite). Сам access как база данных никаких особых проблем не создаст (кроме вендорлок само собой на windows), есть всякие dbforge с ее поддержкой.
    Ответ написан
    Комментировать
  • Какой самый дешевый роутер взять, чтобы подключить USB модем к нему и читать входящие смски?

    @rPman
    По уму любой openwrt совместимый, если на него поставить эту прошивку то позволит например через это (первое что нагуглил)
    Ответ написан
    Комментировать
  • Как вести историю работы с записями во всех таблицах для всех пользователей?

    @rPman
    Есть один способ (видел давно и позже в другом проекте использовал), он почти универсальный, обладает кучей достоинств по возможностям аналитики, но повышает требования к месту на диске (и незначительно нагрузку на базу, но это в зависимости от типа аналитики, т.е. необходимости создания индексов). Например позволяет восстанавливать состояние базы на указанный момент времени (вырожденный случай но да). И главное, почти полностью автоматическое создание этой архивной базы (и с оговорками обновление при изменениях), без необходимости ковыряться в ее DDL.

    Создание полной копии записи базы с каждым изменением, проводимым в них. Создается новая база данных (или в той же самой базе, но имена таблиц снабжаются унифицированным преффиксом), настоятельно рекомендуется отдельное хранилище для таблиц (отдельный диск еще лучше), но не другой сервер. Каждая архивная таблица структурно (список полей и их типы) без индексов и информации об ограничениях (все поля могут быть null, кстати тут есть оговорка, если оригинальные таблицы не будут содержать null то возможна значительная оптимизация по размеру архивных таблиц) должна дублировать оригинальные, с добавлением полей - тип действия (insert/update/delete), время, пользователь или ссылка на таблицу архива сессий авторизации (в этой таблице время, пользователь и информация о его сессии например ip,..). Каждая оригинальная таблица должна быть снабжена тригером на insert/update/delete который будет дублировать предыдущее значение (или сохранять новое - оба варианта подходят но я рекомендую второе) в архивной таблице, в простом варианте дублируя всю запись, но в расширенном варианте возможно сохранение только изменившихся колонок (сравнением new и old) а для остальных полей и для delete оставлять нули и primary key.

    Все можно сделать скриптами, которые анализируют структуру базы и создают (пересоздают) тригеры и таблицы.
    Ответ написан
  • Чем заменить AnyDesk?

    @rPman
    rustdesk, есть свой сервер, win/linux/mac/android/.. все opensource.

    p.s. проблемы скорости находятся на более высоком уровне, на канальном, и если одна программа работает а другая нет, то это не фича программы, а просто 'недоработка' тех кто ломает нам интернет, сегодня работает завтра будет сломана.

    Цели скорее всего далекие от политики, просто если 'прокатило' с youtube->rutube то и с другими
    стоит 200к в год
    тоже может прокатить
    Ответ написан
    3 комментария
  • Какую в Windows стороннюю программу для копирования использовать?

    @rPman
    Вместо копирования на уровне файлов лучше использовать на уровне блочного устройства.
    в windows есть volume shadow copy (аналог снапшота) и возможность делать резервную копию на уровне блоков, есть штатный diskshadow и комерческие бакапилки типа Acronis True Image (как я понимаю требует перезагрузку) а на ходу Veeam Agent for Windows, Macrium Reflect (это что нагуглилось, сам я большой объем файлов на ntfs не держу, а в linux все проще).

    Еще есть серверная файловая система для windows - ReFS, у нее есть инструменты для блочного копирования, и наверное в сочетании с теневыми копиями тома можно делать инкрементальное копирование но красивого готового инструментария с windows нет.
    Ответ написан
  • Возможна ли работа с монитором без графического ядра?

    @rPman
    нет.

    Видеоядром называют встроенный в процессор видеоускоритель, выводы которого через ножки сокета (протокол как я понимаю близко к DP или DP++ работающий в двойном режиме, т.е. позволяющий и hdmi подключать) его выводы почти без правок проходят через материнку на ее видеовыход, если его в процессоре нет видеоускорителя, то сигнал на видеоразъем некому подавать.
    upd. на серверных материнках intel в материнскую плату может быть встроена простейшая видеокарта для IPMI (удаленное управление по сети).
    Исторически компьютеры без мониторов выводили данные на принтер. В linux на сколько я знаю до сих пор есть возможность прямо в ядре логи выводить в сериальный порт, который в свою очередь когда то был входом для принтера, а виндовый стандарт новой строки в текстовых файлах это буквально два управляющих символа - передвинуть печатающую гловку принтера в начало и прокрутить барабан с бумагой на следующую строку.

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

    @rPman
    Без исследования (реверсинженеринг) целевого веб сайта, собственно почему приложение закрывается и как выводится реклама, такое не получится.

    В любом случае понадобятся навыки веб программирования.

    У меня есть совет, это проще чем реверсить чужой код (точнее анализа будет минимум), не пытаться запускать чужое веб приложение на телевизоре, пусть оно остается работать на выделенном компьютере (штатный или headless браузер), но в этом браузере инжектить свои скрипты (расширение tempermonkey/greasemonkey) или внешним управлением (например selenium) и сделать следующее:
    * написать свое веб приложение для телевизора которое будет дублировать важные элементы управления на сайте (поле ввода поиска с кнопкой поиск, список результата поиска, просмотр видео с управлением проигрывать/пауза/навигация)
    * реализовать перенос действий пользователя на приложении для телевизора на запущенное приложение на компьютере, т.е. ввел текст в поисковую строку - на оригинальном приложении симулируется ввод этого текста в его поиск, вывелся список видео на компьютере - перенес список видео на телевизор
    Код этого достаточно примитивный, с ним справится даже ИИ (топовые нейронки) толькоподробнее ТЗ составляй ну и исследованием страницы сам занимайся, так как ИИ с визуальщиной не очень.
    * для блокирования рекламы возможно будет проще покопаться в коде веб сайта и получить прямую ссылку на видео, с вероятностью 99% там готовый .m3u8 файл (с ним умеет работать тот же ffmpeg ну или вручную, это просто текстовый плейлист кусочков видео) или еще проще, с этим уже справится yt-dlp (у него несколько тысяч сайтов в списках поддержки) и уже эту ссылку можно загружать или напрямую передать на телевизор (лучше через проксирование, что бы заголовки браузера с телевизора не транслировать)

    Бонусы от этого - почти не придется реверсить чужое приложение, особенно если там разработчики заморочились с защитой, большая часть работы будет в консоли разработчика браузера
    Ответ написан
    Комментировать
  • Как скормить весь проект нейросети (grok, chatgpt, deepseek) чтобы она понимала в нём и чтоб можно было просить ее доработать что -то?

    @rPman
    Сам я этим не пользовался, так как я считаю отдавать полные бразды управления проектом текущему ИИ опрометчиво (а ещё достаточно дорого), но никто не мешает пользоваться этими инструментами как помощник.

    Если попросить perplexity поискать существующие решения (с возможностью локального запуска и даже указанием локальной модели) то он выдает список:
    aider, cline, continue, claude code, dify, flowise...
    https://www.perplexity.ai/search/proekt-po-lokalno...
    Ответ написан
    Комментировать
  • Как реализовать ежедневную полную синхронизацию операционных систем Windows 11 на рабочем и домашнем ПК?

    @rPman
    Вместо копирования можно просто таскать один и тот же диск, вставляя его в разные машины.

    Windows создает некоторое количество проблем организационных и встроенных в ОС запретов, по запуску одной и той же копии на разных машинах (даже если железо идентично), в общем будет слетать лицензия, не уверен как с кряками в этом случае будет обстоять дело, возможно те что используют сторонние сервера проверки ключей будут работать. разное железо дополнительно будет требовать в лучшем случае постоянное обновление драйверов и перезагрузки при каждом переходе с одного компьютера на другой.

    Можно не копировать саму windows, а вручную держать идентичный набор рабочих приложений на обоих машинах, а вот пользовательский профиль синхронизировать между машинами, но для этого понадобится домен контроллер (скорее всего сработает и без него при использовании облачного аккаунтам майкрософт, но я никогда им не пользовался тут советую провести эксперименты), который можно в свою очередь поднять в сети (настоятельно рекомендую не выносить его в интернет и держать за своим vpn) причем на базе какого-нибудь linux samba или даже в виртуальной машине на смартфоне (займет это от силы несколько гигабайт но потребует ковыряние с настройками сети). Конечно этот подход не будет гарантировать что все будет работать как ожидается, ведь есть программы, которые требуют администраторский доступ и хранят настройки в общем реестре (HKLM) но с такими можно обойтись ручным (скриптами) экспортом импортом нужных веток реестра и копированием файлов, вне пользовательского профиля.

    p.s. лучший способ запускать одну и ту же windows на разных машинах - виртуализация, она же предлагает механизмы по снапшотам и синхронизации машин по сети (без полного копирования)
    Ответ написан
    Комментировать
  • Apache 2.4 и php 8.4 под windows. Почему не загружаются модули curl, openssl?

    @rPman
    'Не найден указанный модуль' пишет либо если сам .dll не найден, либо для его запуска требуются библиотеки, которых в системе нет (или нет в PATH). Такое случается, если php установлен коряво (простым копированием например для неподходящей версии ОС)/

    Установите php установщиком (а не из zip файла), он должен изменить PATH, соответственно сервис apache понадобится перезапустить, что бы новые переменные приняты были

    p.s. полный путь в этих строках писать не надо, только имя, так как путь для extension должен быть указан выше в php.ini
    Ответ написан
    2 комментария
  • Какую разметку оптического диска выбрать?

    @rPman
    При дозаписи перезаписывается список файлов на диске, т.е. при удалении файла удаляется только запись о нем в этом списке, но физически данные с диска не удаляются и место не освобождается, то же самое при перезаписи, причем как я понимаю фичи rеflink (хабр считает это слово рекламным и запрещает O_o) как у cow файловых систем, когда меняются только измененные куски файлов тут нет - файл полностью перезаписывается.

    p.s. на сколько я знаю есть формат UDF который начиная с nero buring rom поддерживает работу с перезаписываемыми дисками как с флешкой (т.е. в любой программе работает) и его поддержку штатно добавили с windows 7.

    upd. погуглил, оказывается в windows уже давно мультисессионная запись на cdrom, работаешь с диском как обычно, пишешь, а перед извлечением 'завершаешь сессию', тип формата диска mastered
    Ответ написан
  • Почему при замене ОЗУ на старом ноутбуке не запускается Windows?

    @rPman
    с одной из этих плашек не запускается
    проверьте еще разъем, меняя туда сюда разные планки памяти в разные разъемы. но если что скорее всего проблема в самой планке памяти. Еще можно попробовать почистить от окисла контакты (стирательной резинкой потереть контакты).

    Почему 2 гб а не 4гб с одной плашкой - скорее всего причина в 32-битной версии windows, не серверные ревизии не умеют работать вне 4гб адресного пространства (в него включается все что связано с драйверами включая мапинг памяти видеокарты), обычно 32-битные (еще их называют x86) версии не видят больше 3гб.
    Ответ написан
    1 комментарий
  • NGFW защитит от L3/L4 ddos?

    @rPman
    ddos это общий подкласс методов атак на отказ в обслуживании, основанный на множественных использований типовых операций, ключевое слово тут - 'множественных'. Например если в вашу службу поддержки на вашем сайте начнут обращаться 'люди' (например чатботы) по бессмысленным вопросам, то служба поддержки станет перегружена и не сможет успевать обслуживать легитимных пользователей.

    Так вот, понять, может ли что то защитить от атак, без дополнительного исследования и фиксации на моделях этих атак, не получится.

    Идете на сайт https://www.kaspersky.ru/enterprise-security/ngfw и кликаете на кнопку - 'заказать расследование', связываетесь со специалистами и вам все расскажут.

    p.s. еще раз, не существует простой кнопки 'сделать хорошо'
    Ответ написан
    6 комментариев
  • Почему Linux Ubuntu после установки не запускается без загрузочной флешки?

    @rPman
    загрузил ПО на свой ноутбук
    нужно не загрузить а установить.

    У тебя liveusb версия, в ней на рабочем столе есть иконка - устновка (install), откроется мастер, где можно указать на какой диск устанавливать, и главное, куда прописывать загрузчик (нужно будет выбрать диск, загрузчик называется grub).

    Еще момент, некоторые (все чаще вижу) производители материниских плат, скорее всего по требованию майкрософт, ломают процедуру настройки загрузочных записей UEFI, таким образом, что бы только установщик windows мог его менять (т.е. записываешь загрузочную запись, биос отвечает что все ок, записалось, но после перезагрузки все возвращается назад, а если это сделать из windows setup то все работает), в этом случае загрузчик придется создавать вручную из windows. Так же альтернатива, перевести bios в режим загрузки не UEFI а CSM (это еще может называться Legacy MBR или Legacy DOS или compatibility), что бы этот режим работал, нужно будет либо создавать тип разбиения дисков DOS (когда 4 раздела только можно, и лимит размера диска 2тб) либо в режиме GPT добавлять еще один раздел (настоятельно рекомендую в первых секторах) - biosboot.

    grub по умолчанию пытается установить оба доступных режима, и UEFI и CSM (если биос не будет загружен в режиме UEFI то будет доступна установка только CSM)

    Установить загрузчик можно вручную после установки, из командной строки linux:
    grub-install /dev/sda --root-directory=/mnt

    тут /dev/sda - это диск, на котором должен быть загрузчик (раздел biosboot либо диск с разбиением dos, если есть UEFI то нужно еще 100мб EFI загрузчик, диск типа efi boot и отформатированный fat32), а /mnt это диск, в который нужно вручную смонтировать установленную ОС (причем если она состоит из нескольких разделов, то смонтировать все, включая /mnt/boot/EFI раздел efiboot)

    p.s. повторюсь, тебе нужны разделы - biosboot (автоматически 1мб), efiboot (минимум 100мб), опционально /boot (обычно не меньше 500мб, и в 99% случаев он не нужен) и корневой /
    Это все можно сделать из мастера установки, когда будет предложено выбрать диск для установки (там будет отображены все диски и нужно будет указывать какой раздел какой точкой монтирования / или /boot является)
    Ответ написан
    Комментировать
  • Как мне сделать свой сервер для проверки лицензии?

    @rPman
    Проблема не во внешних онлайн сервисах, а исключительно локально на машине пользователя. Все что вы даете пользователю может быть проанализировано и взломано. Вопрос только в цене. Обычно стоимость затрат на защиту сравнима с затратами на взлом, но бывают выбросы, например можно долго и нудно обфусцировать код, скрывать логику работы программы, отсчитывать секунды работы (например если хотите выдать бесплатный пробный период, не привязывая ко времени), а пользователь простым телодвижением запустит программу в виртуалке в момент выдачи лицензии снимет снапшот памяти и будет запускать программу с него.

    p.s. не нужно городить шифрование, особенно там где это не важно.
    Ваша задача - обфускация логики проверки лицензии, ее должно быть сложно скопировать.

    За привязку лицензии к машине лучше обратиться к готовым инструментам, встроенным в ОС (а там и железные фичи типа защищенное хранилище получится использовать).. настоятельно советую погуглить и побеседовать с ИИ на этот вопрос в разрезе вашей задачи. Это не надежное решение, это возможность не пилить бесполезный велосипед, ваша задача сэкономить свои деньги и время на создание защиты.
    Ключевые слова: DPAPI (инструменты шифрования без TPM), CNG Key Storage Provider (KSP) + TPM, Credential Manager...

    p.p.s. если у пользователя используется онлайн аккаунт майкрософт, а приложение распространяется через microsoft store, то там какие то инструменты для этого встроены, и контроль за лицензиями, и онлайн инфраструктура для покупок, но я никогда этим не интересовался, потому что все что я знаю про майкрософт - они жадные у***и, в лучшем случае придется с ними делиться, в худшем, разденут до нитки, не хуже пиратов, от которых защищаешься. Не говоря про то что в россии с ними уже не поработаешь как следует.

    --------------

    Лучшая защита - это держать всю или часть критичной логики на своем сервере, а локально приложение у пользователя в нужный момент обращается на сервер для ее выполнения. В совокупности с обфускации локального кода и данных для коммуникации с сервером, может создать очень мощную защиту, на анализ которой у взломщика будет уходить больше денег чем на ее создание, а главное после того как анализ будет завершен, еще потребуется подменить оффлайн серверную логику... на этом этапе срежутся большинство взломщиков.

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

    @rPman
    Для windows лучшее multimedia решение - klm codec pack (mega), это не только набор системных кодеков но и плеер media player classic (его можно конечно ставить отдельно), у которого одна из самых продвинутых меню настроек. В частности можно выбирать разные renderer, что с высокими шансами может решить вашу проблему.

    Почему это может сработать, потому что vlc использует свой декодер, и если проблема - именно сочетание глюков кодека vlc и вашего железа, то mpc может сработать.

    p.s. расцветка глюка смутно напоминает мне глюки, которые я видел, когда декодер плеера использовал overlay, автоматическую замену указанного цвета на экране на видео, я почему то думал что эту технологию уже не используют (а если используют то симулируют шейдерами).
    Ответ написан
    Комментировать
  • Как сделать SSH проброс портов как сервис или задание в windows 10?

    @rPman
    С помощью планировщика задач нужно создать задачу запуска с тригером - при старте системы, указав пользовательские данные авторизации (логин и пароль). Или проверить права доступа к файлам.
    Ответ написан