View previous topic :: View next topic |
Author |
Message |
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sun Oct 03, 2010 09:44 Post subject: ConPaste - запрос пароля к архиву из Mulitarc |
|
|
Раз возник интерес к утилите, выставлю её на суд широкой аудитории.
Написал я её, когда на официальном форуме один из пользователей выложил скомпилированный AHK-скрипт, который предоставляет схожую функциональность. Те, кто знаком с AHK, знают, что скомпилированные скрипты вместе с исполнимым модулем весят килобайт по 250-300, чего, разумеется, моя утилита себе не позволяет. Первую версию я прикрепил к посту на официальном форуме.
Информация о последней версии
Версия: 1.0.1.80
URL: ConPaste на wincmd.ru / ConPaste на totalcmd.net
Требования: Windows 95
Особенности:
+ можно задать заголовок и текст приглашения для запроса строки
+ возможность запомнить введенный текст, чтобы не вводить многократно (пароль хранится во временном файле в слегка зашифрованном виде)
+ параметр для очистки временного файла с сохраненным паролем
+ возможность прервать запущенную задачу по Esc или по таймауту (выдается вопрос)
Командная строка:
Code: | ConPaste[.exe] [<параметры>] "<искомая строка>" <команда запуска архиватора> |
Параметры командной строки:
/c"Заголовок окна" - устанавливает заданный заголовок окна
/p"Введите пароль:" - устанавливает текст приглашения
/s[-] - задает начальное положение флага запоминания
/h"Строка" - если хэш этой строки меняется, сохраненный пароль считается устаревшим
/t20 - устанавливает таймаут после последнего вывода перед выводом запроса на завершение задачи
В качестве примера использования приведу строки аддона для архиватора 7-Zip, использующие ConPaste: Code: | List="ConPaste.exe /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA l {%S} %AQA"
Extract="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA e -y {%S} -scsWIN -- %AQA @%LQA"
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA x -y {%S} -scsWIN -- %AQA @%LQA"
Test="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA t -y {%S} %AQA"
Delete="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA d -w%LQPA -y -r {%S} -scsWIN -- %AQA @%LQA"
|
А вот строка аддона для архиватора InnoUnp: Code: | List="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %PQA -v -m %AQA" |
Для очистки файла с сохраненным паролем используется такая команда:
Это может быть полезно, например, если при вводе пароля с включенной опцией запоминания допущена ошибка - после запуска программы с таким параметром при повторном входе в архив пароль будет запрошен опять.
Last edited by MVV on Thu Mar 01, 2012 22:44; edited 15 times in total |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sun Oct 03, 2010 10:47 Post subject: |
|
|
Последняя на данный момент версия позволяет задавать заголовок диалога и текст запроса пароля (первая версия использовала искомый в консоли текст). Юникод утилита не поддерживает за ненадобностью (в консоли его отобразить невозможно).
Сегодня (странно, что только сегодня) заметил на официальном форуме апрельский пост, в котором один из пользователей жаловался, что пароль запрашивается по 3 раза, и спрашивал, что можно сделать. Наверное, стоит добавить галочку для отправки той же строки на каждый запрос.
Ага, обновил версию, добавив галочку. Заодно пришлось добавить русскую версию диалога.
Н-да, не сообразил я сразу, что мультиарк запускает архиватор по несколько раз, поэтому галочка не спасает.
Прикрутил сохранение пароля во временном файле. Пароль слегка маскируется, ключ строится на основе хэндлов окна тотала и панели задач, поэтому после закрытия тотала или винды теряется. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Reflector
Joined: 29 Nov 2009 Posts: 56
|
(Separately) Posted: Mon Oct 04, 2010 22:04 Post subject: |
|
|
MVV wrote: |
Юникод утилита не поддерживает за ненадобностью (в консоли его отобразить невозможно).
|
А зачем тебе отображать в консоли юникод? Например, в листинге консольной версии 7z я вижу "____________.txt", а когда читаю с консоли в UTF-8, то получаю "次にタレコミを。あなたの.txt", следовательно и при обратном процессе будет то же самое. Другое дело, что сам MultiArc юникод не понимает, как и все распространяемые плагины для 7z, потому надобности действительно нет Вот если бы кто-то подправил сам MultiArc... |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Oct 05, 2010 21:39 Post subject: |
|
|
Согласен, по идее даже при невозможности отобразить Юникод в консоли он все равно должен передаваться, другое дело что мультиарк его не примет, так что Юникод утилите все равно не нужен.
Добавил параметр /r для очистки сохраненного пароля - например, можно добавить в меню Запуск тотала и использовать, если вдруг при вводе пароля допущена ошибка. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
angry_dog
Joined: 21 Nov 2009 Posts: 143 Location: Питер
|
(Separately) Posted: Wed Oct 20, 2010 13:41 Post subject: |
|
|
В некоторых случаях после открытия iso.wv по Ctrl+PageDown и копированием по команде F5 содержимого iso.wv в другую директорию, появляется окошко "распаковка cab" с прогресс баром. После чего вылетает ошибка:
"Выполнявшаяся команда 'ConPaste.exe /c\"Image.iso.wv\"\"Enter password\" \"C:\Program Files\24\7-Zip\7z.exe\" x -y -scsWIN -\"D:\Downloads\Album\Image.iso.wv\" @C:\Users\83бD~l\AppData\Local\Temp\$mltwcx\lstAЗBA.tmp, вернула код выхода 259, который больше чем настроенный как нормальный для этой команды. Возможно возникла ошибка. Пожалуйста, проверьте ваши настройки..."
Вылетает не всегда. Почему это случается и как исправить? Спасибо. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Oct 21, 2010 02:22 Post subject: |
|
|
1. Что за формат iso.wv?
2. Почему "распаковка cab", если архив другого типа?
3. Без ConPaste вылетает? По идее, ConPaste просто передает мультиарку код возврата архиватора, то есть, скорее всего ошибка возникла именно у архиватора.
4. Мультиарк настраивался самостоятельно, или используется какая-нибудь сборка?
0. Рекомендую включить консоль мультиарка, дождаться повторения ошибки и посмотреть вывод архиватора в консоли - если возникла ошибка, там будет её описание. Так у нас появится шанс ответить на вопрос "Почему это случается" и думать, "как исправить". _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Sasha33
Joined: 18 May 2010 Posts: 2
|
(Separately) Posted: Tue Nov 23, 2010 16:06 Post subject: |
|
|
а можно вас попросить целиком конфиг для multiarc?
а то что-то не получается заставить ваш плагин работать с 7-Zip 9.20 |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Nov 23, 2010 18:26 Post subject: |
|
|
Sasha33 wrote: | а можно вас попросить целиком конфиг для multiarc?
а то что-то не получается заставить ваш плагин работать с 7-Zip 9.20 | Я еще не перешел на 9 версию 7-Zip. Да и, собственно, пока пользуюсь 7z-плагином. А от моей вот аддон: Code: | [7-Zip]
Description="7-Zip"
; Сигнатуры форматов 7Z, NSIS, ISO, WIM, CHM
ID=37 7A BC AF 27, EF BE AD DE 4E 75 6C 6C 73 6F 66 74, 01 43 44 30 30 31 01, 4D 53 57 49 4D, 49 54 53 46
SkipSfxHeader=1
; Первая позиция для ISO
IDPos=32768, <SeekID>
Extension=7z
; Архиватор 7-Zip
Archiver="%ProgramFiles%\7-Zip\7z.exe"
List="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA l {%S} %AQA"
Start="^-------------------"
End="^-------------------"
Format0="yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"
Extract="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA e -y {%S} -scsWIN -- %AQA @%LQA"
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA x -y {%S} -scsWIN -- %AQA @%LQA"
Test="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA t -y {%S} %AQA"
Delete="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA d -w%LQPA -y -r {%S} -scsWIN -- %AQA @%LQA"
; Степень сжатия Ultra, словарь 48 MB, слово 256 B, непрерывный
Add="%PQA a -mx=9 -mmt=2 -ms -m0=LZMA:a=2:d48m:fb=256 -w%LQPA -y -r {%S} -scsWIN -- %AQA @%LQA"
IgnoreErrors=0
Debug=0
UnixPath=0
SkipDirsInFileList=0
SkipEmptyNames=1
BatchUnpack=1
SearchForUglyDirs=1
| (букв n в строке Format0 должно быть ровно 256) _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Aug 23, 2011 12:09 Post subject: |
|
|
angry_dog wrote: | "Выполнявшаяся команда 'ConPaste.exe /c\"Image.iso.wv\"\"Enter password\" \"C:\Program Files\24\7-Zip\7z.exe\" x -y -scsWIN -\"D:\Downloads\Album\Image.iso.wv\" @C:\Users\83бD~l\AppData\Local\Temp\$mltwcx\lstAЗBA.tmp, вернула код выхода 259, который больше чем настроенный как нормальный для этой команды. |
Наконец попался мне архив, с которым я смог воспроизвести подобную ошибку. Причина была банальной - ConPaste ждала 5 секунд после получения последнего консольного вывода от запущенной задачи и завершала работу (я делал это на случай зависания задачи). Код 259 в данном случае был сообщением о том, что задача всё ещё работает.
Выложил версию 1.0.1.72. В ней я сделал возможность задавать вышеупомянутый таймаут, по умолчанию он равен 20 секундам. Но теперь по его истечении ConPaste спрашивает у пользователя, стоит ли завершить задачу. Также можно зажать клавишу Esc для запроса завершения задачи - если надоело сидеть перед зависшим тоталом. При этом ConPaste вернёт код 259, о котором сообщит MultiArc. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Fri Mar 09, 2012 21:44 Post subject: |
|
|
Потратил больше часа на исследование странного феномена: с последней версией ConPaste архив отображался пустым, хотя в командной строке его содержимое выводилось нормально, и без ConPaste тоже всё работало. Уже и тестовую версию положил вместо обычной, и коды ошибок проверять начал. Кладу предыдущую версию - работает. Обратно возвращаю последнюю - пустой архив. Оказалось, COMODO втихаря запускал последнюю версию в песочнице, и она не могла открыть пайп, поэтому ничего не писала в консоль... _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
ABTOP
Joined: 10 Nov 2011 Posts: 9
|
(Separately) Posted: Wed Mar 14, 2012 00:57 Post subject: |
|
|
А выложи, пожалуйста, полностью секцию для InnoSetup |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Wed Mar 14, 2012 09:51 Post subject: |
|
|
Code: | [InnoSetup]
Description="InnoSetup"
ID=49 6E 6E 6F
IDPos=<SeekID>
Archiver="%COMMANDER_PATH%\Plugins\Packer\Multiarc\Archivers\InnoUnp\InnoUnp.exe"
List="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %PQA -v -m %AQA"
Start="^--------------------------------------"
End="^--------------------------------------"
Format0="zzzzzzzzzz yyyy.tt.dd hh:mm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"
Extract="ConPaste.exe %C /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %PQA -e -m %AQA {@%LQ}"
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %PQA -x -m %AQA {@%LQ}"
Debug=0
BatchUnpack=1
|
Только букв n в строке Format0 побольше напиши (в моем аддоне их 144, а вообще по идее можно до 260), я убрал часть, чтобы смотрелось. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
ABTOP
Joined: 10 Nov 2011 Posts: 9
|
(Separately) Posted: Wed Mar 14, 2012 14:40 Post subject: |
|
|
Благодарю! А на что влияет кол-во символов "n"?
И какие ещё типы файлов поддерживает ConPaste кроме [7z], [bz2], [gz], [ISO], [CAB], [UHA], [InnoSetup]?
В строке List="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA l {%S} %AQA" надпись "\"Enter password\"" обязательно нужна, или достаточно оставить только \"Введите пароль к архиву:\" ? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Wed Mar 14, 2012 15:27 Post subject: |
|
|
ABTOP wrote: | Благодарю! А на что влияет кол-во символов "n"? |
На то, сколько символов из строк, выводимых архиватором в консоль, Multiarc будет включать в имена и пути файлов в архиве. Поэтому число букв n должно быть равно максимальной длине пути в архиве.
ABTOP wrote: | И какие ещё типы файлов поддерживает ConPaste кроме [7z], [bz2], [gz], [ISO], [CAB], [UHA], [InnoSetup]? |
Для ConPaste вообще без разницы, с какими архивами работать. Она работает не с архивами, а с архиваторами.
ABTOP wrote: | В строке List="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA l {%S} %AQA" надпись "\"Enter password\"" обязательно нужна, или достаточно оставить только \"Введите пароль к архиву:\" ? |
Да скорее наоборот. Параметр "Enter password" нельзя убирать ни в коем случае - в нём написана строка, при выводе которой в консоль ConPaste поймёт, что пора спрашивать пароль у пользователя (архиватор 7z.exe при запросе пароля выводит строку Enter password:, архиватор InnoUnp.exe - строку Type in a password:, другие архиваторы - свои строки). А вот /p"Введите пароль к архиву:" необязателен - он лишь содержит текст, отображаемый в диалоговом окне ConPaste. В первом же посте указан синтаксис командной строки. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|