Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

ConPaste - запрос пароля к архиву из Mulitarc
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Sun Oct 03, 2010 09:44    Post subject: ConPaste - запрос пароля к архиву из Mulitarc Reply with quote

Раз возник интерес к утилите, выставлю её на суд широкой аудитории.

Написал я её, когда на официальном форуме один из пользователей выложил скомпилированный 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"


Для очистки файла с сохраненным паролем используется такая команда:
Code:
ConPaste.exe /r
Это может быть полезно, например, если при вводе пароля с включенной опцией запоминания допущена ошибка - после запуска программы с таким параметром при повторном входе в архив пароль будет запрошен опять.

Last edited by MVV on Thu Mar 01, 2012 22:44; edited 15 times in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Sun Oct 03, 2010 10:47    Post subject: Reply with quote

Последняя на данный момент версия позволяет задавать заголовок диалога и текст запроса пароля (первая версия использовала искомый в консоли текст). Юникод утилита не поддерживает за ненадобностью (в консоли его отобразить невозможно).


Сегодня (странно, что только сегодня) заметил на официальном форуме апрельский пост, в котором один из пользователей жаловался, что пароль запрашивается по 3 раза, и спрашивал, что можно сделать. Наверное, стоит добавить галочку для отправки той же строки на каждый запрос.


Ага, обновил версию, добавив галочку. Заодно пришлось добавить русскую версию диалога.
Н-да, не сообразил я сразу, что мультиарк запускает архиватор по несколько раз, поэтому галочка не спасает. Sad

Прикрутил сохранение пароля во временном файле. Пароль слегка маскируется, ключ строится на основе хэндлов окна тотала и панели задач, поэтому после закрытия тотала или винды теряется.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Reflector



Joined: 29 Nov 2009
Posts: 56

Post (Separately) Posted: Mon Oct 04, 2010 22:04    Post subject: Reply with quote

MVV wrote:

Юникод утилита не поддерживает за ненадобностью (в консоли его отобразить невозможно).

А зачем тебе отображать в консоли юникод? Например, в листинге консольной версии 7z я вижу "____________.txt", а когда читаю с консоли в UTF-8, то получаю "次にタレコミを。あなたの.txt", следовательно и при обратном процессе будет то же самое. Другое дело, что сам MultiArc юникод не понимает, как и все распространяемые плагины для 7z, потому надобности действительно нет Smile Вот если бы кто-то подправил сам MultiArc...
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Tue Oct 05, 2010 21:39    Post subject: Reply with quote

Согласен, по идее даже при невозможности отобразить Юникод в консоли он все равно должен передаваться, другое дело что мультиарк его не примет, так что Юникод утилите все равно не нужен. Smile


Добавил параметр /r для очистки сохраненного пароля - например, можно добавить в меню Запуск тотала и использовать, если вдруг при вводе пароля допущена ошибка.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
angry_dog



Joined: 21 Nov 2009
Posts: 143
Location: Питер

Post (Separately) Posted: Wed Oct 20, 2010 13:41    Post subject: Reply with quote

В некоторых случаях после открытия 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
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Thu Oct 21, 2010 02:22    Post subject: Reply with quote

1. Что за формат iso.wv?
2. Почему "распаковка cab", если архив другого типа?
3. Без ConPaste вылетает? По идее, ConPaste просто передает мультиарку код возврата архиватора, то есть, скорее всего ошибка возникла именно у архиватора.
4. Мультиарк настраивался самостоятельно, или используется какая-нибудь сборка?

0. Рекомендую включить консоль мультиарка, дождаться повторения ошибки и посмотреть вывод архиватора в консоли - если возникла ошибка, там будет её описание. Так у нас появится шанс ответить на вопрос "Почему это случается" и думать, "как исправить".
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Sasha33



Joined: 18 May 2010
Posts: 2

Post (Separately) Posted: Tue Nov 23, 2010 16:06    Post subject: Reply with quote

а можно вас попросить целиком конфиг для multiarc?
а то что-то не получается заставить ваш плагин работать с 7-Zip 9.20
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Tue Nov 23, 2010 18:26    Post subject: Reply with quote

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
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Tue Aug 23, 2011 12:09    Post subject: Reply with quote

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 для запроса завершения задачи - если надоело сидеть перед зависшим тоталом. Smile При этом ConPaste вернёт код 259, о котором сообщит MultiArc.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Thu Mar 01, 2012 20:44    Post subject: Reply with quote

Попался мне InnoSetup-архив, на котором ConPaste зависала. Пришлось отлаживать. Ошибка была исправлена, новая версия доступна для загрузки.

ConPaste 1.0.1.80
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Fri Mar 09, 2012 21:44    Post subject: Reply with quote

Потратил больше часа на исследование странного феномена: с последней версией ConPaste архив отображался пустым, хотя в командной строке его содержимое выводилось нормально, и без ConPaste тоже всё работало. Уже и тестовую версию положил вместо обычной, и коды ошибок проверять начал. Кладу предыдущую версию - работает. Обратно возвращаю последнюю - пустой архив. Оказалось, COMODO втихаря запускал последнюю версию в песочнице, и она не могла открыть пайп, поэтому ничего не писала в консоль...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
ABTOP



Joined: 10 Nov 2011
Posts: 9

Post (Separately) Posted: Wed Mar 14, 2012 00:57    Post subject: Reply with quote

А выложи, пожалуйста, полностью секцию для InnoSetup
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Wed Mar 14, 2012 09:51    Post subject: Reply with quote

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
View user's profile Send private message
ABTOP



Joined: 10 Nov 2011
Posts: 9

Post (Separately) Posted: Wed Mar 14, 2012 14:40    Post subject: Reply with quote

Благодарю! А на что влияет кол-во символов "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
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4807
Location: Ростов-Дон

Post (Separately) Posted: Wed Mar 14, 2012 15:27    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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