Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Как выполнять команды? #110

Closed
Xep opened this issue Nov 21, 2017 · 22 comments
Closed

Как выполнять команды? #110

Xep opened this issue Nov 21, 2017 · 22 comments

Comments

@Xep
Copy link

Xep commented Nov 21, 2017

В свете появления шифрации хотелось ее по тестировать но я так и не смог понять как выполнять команду что бы сделать папку зашифрованной.
Не могли бы вы описать сей процесс детальней?

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

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

image

P.S. На скриншоте ошибка, нужно >>crypt init вместо >>share init. спасибо @NewSky13

@Xep
Copy link
Author

Xep commented Nov 21, 2017

То есть это только работает в ТС? Или в Фаре тоже должно работать?
И еще вопрос по старту:
Add # and separator string to your login: login@mail.ru#SEP
After your mail.ru password add separator string and password for encrypting: MyLoginPassword_SEP_MyCryptingPassword
что имеется в виду под separator? Это # или что-то другое?
Спасибо большое за ваш быстрый ответ и вашу работу! Очень здорово что вы создали и поддерживаете данный клиент!

@Xep
Copy link
Author

Xep commented Nov 21, 2017

Вот что говорит фар:
image

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

В Far тоже работает, если пользоваться через его плагин NetBox (вроде как он предустановлен, в окне выбора дисков должна быть позиция 2 NetBox)
Не работает, когда подключено диском.
К сожалению, я тут ничего не могу поделать.

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

что имеется в виду под separator? Это # или что-то другое?

Суть в том, что как бы не совсем правильно шифровать файлы паролем от аккаунта, поэтому нужен дополнительный пароль. Ввиду того, что программа эмулирует webdav-сервер, нет возможности вводить его в каком-то дополнительном поле. Так же было бы неправильно заполнять его в одном поле с логином. Значит, надо заполнять в поле с паролем, а чтобы программа могла разделить его на пароль от аккаунта и пароль для шифрования, надо ей указать, как делить. Вот этот "сепаратор", который вводится в поле с логином, дает возможность это сделать.
Решётка является признаком, что после неё указан сепаратор(=разделитель)

@Xep
Copy link
Author

Xep commented Nov 21, 2017

Спасибо.
Ну то есть # это и есть сепаратор. Правильно?
net use r: http://127.0.0.1:801 пароль /USER:login@mail.ru#encryption_key?

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

Ненене
Сепаратор=разделитель - это то, что указано после решётки
net use r: http://127.0.0.1:801 парольSSSSencryption_key /USER:login@mail.ru#SSSS

Вообще, по секрету, всё, что делает (пока) команда >>share init - покладает в папку файл .crypt.wdmrc. На данный момент можно просто скопировать туда пустой файл с этим именем.
Но в дальнейших релизах, скорее всего, команда будет в этот файл записывать дополнительные данные.

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

И вообще, использовать для webdav встроенное в винду net use не рекомендую, посмотрите в сторону NetDrive, WebDrive или просто используйте встроенные средства в Far - NetBox плагин, в TotalCommander - webdav плагин.

@Xep
Copy link
Author

Xep commented Nov 21, 2017

Здорово. Спасибо.
А в encryption_key засовываем AES key или просто просто пароль? Как тогда будет сгенерирован ключ для шифрования?

@Xep
Copy link
Author

Xep commented Nov 21, 2017

Да я уже все зашифровал BoxCryptor'ом, а он только с дисками работает. По этой причине пришлось использовать net use.

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

Просто пароль, ключ генерируется по Rfc2898 из пароля и случайной соли

@yar229
Copy link
Owner

yar229 commented Nov 21, 2017

Да я уже все зашифровал BoxCryptor'ом, а он только с дисками работает. По этой причине пришлось использовать net use.

NetDrive и WebDrive тоже диски подключают, но работают значительно лучше, чем net use (IMHO)

@Xep
Copy link
Author

Xep commented Nov 21, 2017

Ну вроде как да, но они денег просят :(

@Xep
Copy link
Author

Xep commented Nov 21, 2017

Эх, жалко что я уже все залил с BoxCryptor'ом. Ваш вариант на много лучше и более прозрачен. Опять перезаливать почти ТБ как то нет желания :(

@yar229 yar229 closed this as completed Nov 23, 2017
@NewSky13
Copy link

NewSky13 commented Dec 3, 2017

В описании функции речь о >>crypt init в данном пояснении >>share init
Ни так ни так файл .crypt.wdmrc у меня так и не создался, в итоге создал "ручками", вроде работает. Зачастую синтаксис а точнее конкретное его применение не совсем (зачёркнуто) совсем не понятно. Где вводить (например в ТС) в командной строке? с удивлением понял, что значки >> не оформление, а необходимые симовлы. Нужны ли пробелы после команд? Если делать папку для шифрования, командой >>share init как написано здесь и она не создастся 0_0 а как-это? а зачем это? Положить файл .crypt.wdmrc в нее? Так он не кладётся что-то. А если метить для шифрования уже существующую папку? Нужно как "стоять" в ней (ТС) прописать её после >>crypt init Folder? вот бы на минутку-две видеомануал по всем командам вот совсем было-бы замечательно, а то не искушенным пользователям не всегда и не всё понятно :(

@yar229
Copy link
Owner

yar229 commented Dec 3, 2017

Да, вы правы, конечно же >>crypt init
Применение команд - всегда через создание каталога, а вместо имени нового каталога - команда (сам новый каталог не создастся).
Обусловлено это тем, что в рамках WebDAV иначе никак - нет средств, чтобы из (произвольного) клиента послать "специальную" команду, не входящую в протокол webDAV'а

Нужны ли пробелы после команд?

Пробелы после не нужны.

А если метить для шифрования уже существующую папку?

Метить нужно именно уже существующую папку. Если в ней уже есть файлы, то они не зашифруются, шифроваться будут тольно новые файлы, покладенные туда после.

Нужно как "стоять" в ней (ТС) прописать её после >>crypt init Folder?

В TC надо зайти в нужную папку, нажать F7, в диалоге запроса имени каталога написать >>crypt init, Enter

вот бы на минутку-две видеомануал по всем командам

Возможно, если будет время

@NewSky13
Copy link

NewSky13 commented Dec 3, 2017

yar229 , большое спасибо! Теперь предельно ясно! Только например команда: >>linkhttps://... не работает, а с пробелом после link работает.

И ещё момент. После команды >>link https://... папка отлично видна в аккаунте (в рамках ТС) а вот как её удалить (отключить) правильно? При попытке "просто удалить" (в рамках ТС) идёт кагбэ процесс удаления. Долгий такой, с выкидыванием якобы в Temp, по факту, конечно, в исходной папке ничего не удаляется, это конечно и понятно и правильно и хорошо. Но всё-же, как её отключить? Делаю так: просто переименовываю и тогда папка становится пустой и просто удаляется и запись из item.links.wdmrc исчезает. Может есть рецепт "правильного" отключения такой папки? А вообще мега удобно! Спасибо!

@yar229
Copy link
Owner

yar229 commented Dec 3, 2017

Про пробелы не понял сначала, а так да, после самой команды перед параметром нужен пробел.

TC при удалении сначала по одному удаляет все вложенные каталоги/файлы, поэтому долго.
Быстро можно удалить (как обычный каталог, так и прилинкованный) командой >>del [[/]path]

Вар. 1. Зайти в каталог, который надо удалить и выполнить команду >>del (правда, ТС потом не обнаружит его и отключится от сервера)
Вар. 2. Находясь в родительском каталоге, выполнить >>del NAME_OF_FOLDER_TO_DELETE
Вар. 3. Указать полный путь для удаления каталога, он должен начинаться с /

Если название/путь содержит пробелы, то его надо заключить в кавычки ""

@MacroMicron
Copy link

А как поподробнее реализовано само шифрование и сплит. Пока что я только нашёл, что с помощью блочного алгоритма XTS-AES. Файлы в самом начале сплитятся? Потом каждый из кусков бьется на блоки и шифруется, так?
Сколько оценка потребления оперативной памяти при сплите/шифровании? При расшифровании/композиции файла? Как поведёт себя система при крупных файлах?
Как пометить шифрование всего диска в самом начале (корня)?
Куда сохраняются временные Файлы и где настроить размер кэша?
Существует ли какая-нибудь простая консольная утилита, с помощью которой я могу выполнить дешифрование и склейку файла, просто выкачав все из облака? (Если с .net эмулятором-демоном WebDAV что-нибудь случится)
Как планируется обновление демона на случай, если происходят изменения в шифровании, а люди, пользующиеся проектом уже что-то зашифровали до этого.

Очень много вопросов, но в FAQ не нашёл ответов на них

@yar229
Copy link
Owner

yar229 commented Aug 20, 2018

Файлы в самом начале сплитятся? Потом каждый из кусков бьется на блоки и шифруется, так?

При закачке файла известен его размер, соответственно, можно определить, сколько кусков получится в итоге.
Шифруется блоками размером 512 байт.

Сколько оценка потребления оперативной памяти при сплите/шифровании? При расшифровании/композиции файла? Как поведёт себя система при крупных файлах?

Как-то даже и не делал замеров. Если я правильно понял цель этих вопросов - то нет, файлы не прогружаются в ОЗУ полностью, работа идёт с буфером размером (не помню, что-то в районе) 2Мб. Соотвественно, крупный файл не пожрёт всю ОЗУ.
Есть исключение - не помню, какой-то клиент может не посылать размер, в этом случае приходится предварительно кэшровать весь файл в ОЗУ.

Как пометить шифрование всего диска в самом начале (корня)?

Насколько я помню, опасливо сознательно убрал такую возможность.

Куда сохраняются временные Файлы и где настроить размер кэша?

Временных файлов никаких нет, поскольку (пункт 2). Кэшируются только листинги каталогов (--cache-listing)

Существует ли какая-нибудь простая консольная утилита, с помощью которой я могу выполнить дешифрование и склейку файла, просто выкачав все из облака?

На данный момент не существует, но никаких препятствий, кроме моей лени и отсутствия времени, написать её нет.
Если файлы не зашифрованы, то склеить их можно просто скопировав в один (а-ля copy /b file1 + file2 + file3 newfile)

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

Не планировал добавлять еще какое-либо шифрование, но если вдруг - то обязательно сохраню обратную совместимость.

@rediffusion
Copy link

Hi, I have a problem please respond!

C:\Users\SAS\Desktop\Downloads\Временно!\Cloud Storage\WebDavMailRuCloud\webdavmailru>net use M: /DELETE
Не удалось найти сетевое подключение.

Для вызова дополнительной справки наберите NET HELPMSG 2250.

C:\Users\SAS\Desktop\Downloads\Временно!\Cloud Storage\WebDavMailRuCloud\webdavmailru>net use M: http://127.0.0.1:801 "parol_SEP_0Mdsfs.drvuz@list.ru#SEP
Системная ошибка 1244.

Запрошенная операция не была выполнена, так как пользователь не зарегистрирован.

C:\Users\SAS\Desktop\Downloads\Временно!\Cloud Storage\WebDavMailRuCloud\webdavmailru>pause
Для продолжения нажмите любую клавишу . . .

@rubalex
Copy link

rubalex commented Jan 3, 2022

сервис запущен. telnet 127.0.0.1 801 отвечает
net use O: http://127.0.0.1:801 password /USER:xxx@mail.ru /persistent:no
Системная ошибка 1244.

Запрошенная операция не была выполнена, так как пользователь не зарегистрирован.

и пароль приложения пробовал.. и пароль от почты.

win 10. дистрибутив WebDAVCloudMailRu-1.13.4.3-dotNet48

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants