NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Здесь можно обсудить ваш любимый плагин.
User avatar
Michael Lukashov
Posts: 516
Joined: Mon 23 Jan, 2006 09:38
Has thanked: 6 times
Been thanked: 21 times
Contact:

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by Michael Lukashov »

C 2013/02/28 плагин входит в дистрибутив FAR 3, заменяя собой FarFTP.

Полезные ссылки:

При возникновении проблем:
Last edited by Michael Lukashov on Sat 19 Sep, 2015 10:22, edited 2 times in total.
tstr
Posts: 557
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by tstr »

Latest post of the previous page:

вариант1:
a. создаёте сессию, в которой указываете ключ для подключения, сохраняете с именем например «sessionName», её теперь видно в панели NetBox.
б. в меню указываете строку «netbox:sessionName»
в. при вызове из меню при коннекте запрашивается пароль, если ключ зашифрован.
вариант2:
a. создаёте сессию, в которой указываете ключ для подключения, сохраняете с именем например «sessionName», её теперь видно в панели NetBox.
б. копируем элемент «sessionName» в файловую панель, появляется файл «sessionName.netbox»
в. в меню указываете строку «netbox:c:\somepath\sessionName.netbox»
г. при вызове из меню при коннекте запрашивается пароль, если ключ зашифрован.
вариант3:
а. в меню указываете строку «netbox:sftp://user:@host.domain»
б. при вызове из меню при коннекте ключи из pageant используются для подключения, пароль для них (если зашифрованы) запрашивается при добавлении ранее, а не при коннекте.
вариант4:
а. в меню указываете строку «netbox:sftp://user:@host.domain»
б. в меню перед «netbox:sftp://user:@host.domain» вызываем pageant с указанием ключа
в. при вызове из меню pageant грузит ключ, запрашивает пароль если ключ зашифрован, и в след. строке при коннекте ключи из pageant используются для подключения.
Last edited by tstr on Fri 06 Dec, 2019 13:20, edited 1 time in total.
Maximus
Posts: 31
Joined: Thu 08 Oct, 2009 15:20

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by Maximus »

Приветствую.

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

Я, как видимо многие инертные, долго использовать far непоследний с winscp плагином для бэкапов (mirror) с машин freebsd. Все замечательно, только уж больно медленный. Решил попробовать перейти на stable с netbox-ом (far 3.0.5511 netbox 2.4.5 build 531, based on WinSCP 5.11.2. local - Windows 7, NTFS, удаленный FreeBSD, SFTP). Стал смотреть похожие операции и удивился, что слишком много файлов в preview. Дошел до какой-то глубокой папки, где 18 файлов-картинок и один из них проблемный (всегда изменившийся).

Что наблюдается:
  • старый Far с WinScp старым говорит, что изменений нет. Разные хитрости с удалением, повторное синхронизацией приводят к нормальным результатам.
  • NetBox уверенно про один (sc_logo15.png) сообщает в preview удаление (стрелка с крестом) и копирование (стрелка), про остальные доволен (не изменились).
  • Если удалить на локале все файлы, netbox все скопирует на локал, но при повторном сравнении потом уверенно снова хочет sc_logo15.png скопировать как изменившийся
  • Если удалить на удаленке все файлы, синхронизировать из локала на удаленное, то этот файл остается проблемным при повторном сравнении.
  • Если в bsd копированием (cp) создать копию файла sc_logo15.png и снова провести сравнение, то оказываются в списке наш проблемный и копия, но (что видимо самое странное) после операции копирования повторное сравнение показывает в превью два совершенно других кандидата на изменение. Перезапуск far-а на это не влияет, уверенно показываются новые кандидаты.
Я хотел было запостить про даты из лога, но вот последнее наблюдение (полное изменение кандидатов при изменении содержимого папки) наводит на мысль, что это не связано со свойствами и аттрибутами файлов, а с каким-то внутренним порядком перечисления (массива) файлов. Если я копию переименовываю, то результат (новые якобы изменившиеся файлы) меняется.

ВЕРСИЯ
Пока писал, вдруг возникла версия причины. Если посмотреть на большие списки, когда сравниваю выше по дереву, то бросается в глаза, что очень много файлов с подчеркиваниями в названиях (процентов 95). А если нет (default.php), то внутри папки есть соседи, начинающиеся с подчеркивания. Если я в своей простой папке с 19-ю переимновываю удаленное sc_logo15.png в sclogo15.png, то проблема исчезает. Поэтому версия есть, что это какое-то отношение имеет к расположению соседей, когда символ _ и его сортировка относительно латиницы влияет на порядок соседних файлов . Я не знаю как устроен плагин, но если одна сторона считает, что _ раньше латиницы, а другая, что позже, мы получим скорее всего подобную проблему. (в простом случае соседом был sccontentmngr.png)

Если версия верна, то вопрос, кто и где неправильно сортирует и могу ли я как-то на это повлиять или это нужно делать плагину

Спасибо заранее
User avatar
Ramayasket
Posts: 3
Joined: Fri 27 Mar, 2020 12:44

Не видит русскоязычные файлы/папки в сессии WebDav

Post by Ramayasket »

Подключаюсь к серверу WebDav.

FAR не показывает файлы/папки, в именах которых есть русскоязычные символы. В качестве проверки подключаюсь к тому же серверу через Windows Explorer (Add network location...) – отображаются все файлы.

Скриншоты показывают отображение одной и той же папки:
image.png
image.png
Файл Лошадка.txt отображается в Windows Explorer, но не отображается в FAR.
taxakz
Posts: 4
Joined: Mon 25 May, 2020 19:34

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by taxakz »

Есть старый медиасервер TVIX Slim S1 - не знаю какая у него файловая система. Установил сервис ftp для диска, попробовал подключиться стандартным плугином ftp - не корректно читаются кириллические имена папок и фалов. Пробовал автоопределение, кодировку Win1251, а так же системные настройки. Ставил клиентнты ftp WinSCP и Filezilla, они так же не распознали кодировку папок и фалов на диске. Так как версия по Sambe (есть и такая возможность расшарить диск) SMB протокола v.1.0 пришлось на windows 10 x64 установить данный протокол и подключаться к расшаренной папке. Немного сумбурно но, я думаю все поймут. Как правильно настроить ftp плагин, для корректной работы с папками и файлами киррилицы. Так же писал в Far FTP плагин.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by HaRT »

taxakz wrote: Mon 25 May, 2020 20:04 Как правильно настроить ftp
В настройках сеанса (F4 с панели плагина) на «вкладке» Environment есть настройка Charset encoding for filenames.
Фар есть инструмент, а не нянька. © 2009 DrKnS
taxakz
Posts: 4
Joined: Mon 25 May, 2020 19:34

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by taxakz »

DosBox по ftp не читает каталоги на медиасервере. Вываливается ошибка. Хотя по SMB все нормально
Attachments
eror_list_DosBox.png
taxakz
Posts: 4
Joined: Mon 25 May, 2020 19:34

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by taxakz »

taxakz wrote: Tue 26 May, 2020 05:23 DosBox по ftp не читает каталоги на медиасервере. Вываливается ошибка. Хотя по SMB все нормально
Извините, ошибся NetBox
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by 2useven10 »

Судя по картинке, он считает все папки файлами.
Мегамонстр
Posts: 73
Joined: Fri 24 Aug, 2012 15:24
Been thanked: 1 time

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by Мегамонстр »

Возникает ошибка при закрытии Far, если тот пытается подключиться (когда появляется красное окошко с Cancel и Reconnect).



Логи, на мой взгляд, не позволяют судить о причине проблемы. :?
Last edited by Мегамонстр on Thu 18 Jun, 2020 18:36, edited 1 time in total.
User avatar
Freeman
Posts: 35
Joined: Thu 20 Nov, 2014 20:10
Location: Санкт-Петербург
Has thanked: 5 times
Been thanked: 2 times
Contact:

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by Freeman »

NetBox из стабильной сборки 5577 в паре с плагином AltHistory наконец-то пишет в историю имена серверов (подключаюсь к разным серверам через SCP), но при переходе по пунктам истории каталогов (Alt+F12) всякий раз хочет подключиться заново и просит пароль, даже если переход происходит в рамках одного сервера. Пароли в Far не храню.

NetBox из сборки 4907 сервера в историю не пишет (их нужно угадывать или запоминать, какой пункт какому соответствует), но зато переходит по каталогам как ожидается: в рамках существующей сессии без запроса пароля.

Это баг?
Пользователь Far с 1998 года
Pasha_ZZZ
Posts: 425
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by Pasha_ZZZ »

Возможная причина того, что NetBox показывает оставшееся время как попало. Файл FileOperationProgress.cpp, функа TFileOperationProgressType::TotalTimeLeft. Возвращается TDateTime(ToDouble(ToDouble(FTotalSize - FTotalSkipped) / CurCps) / SecsPerDay). Чтобы все было правильно, надо изменить так:

Code: Select all

TDateTime(ToDouble(ToDouble(FTotalSize - FTotalSkipped - FTotalTransferred) / CurCps) / SecsPerDay);
vskv
Posts: 1
Joined: Mon 07 Sep, 2020 10:40

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by vskv »

Вопрос: а как NetBox определяет, что нужно включать UTF для сообщений сервера?

Потому как через UI на это никак не повлиять, по умолчанию стоит Off, и в итоге получается вот такая фигня в логе



Проблема в том, что свой "disconnect message" этот сервер тоже по русски в уникоде отдаёт, а Far показывает крякозябры :(
User avatar
faruh
Posts: 65
Joined: Sat 04 Apr, 2009 19:46
Has thanked: 1 time

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by faruh »

SSH/SCP
для симлинки на директорию не ототображается настроеный символ пометки.
для симлинков на файлы отрабатывает корректно.

предполагаю что плагин не возвращает информацию что это симлинк.



Update:
хммм, хотя в атрибутах


Update 2:
Last edited by faruh on Thu 12 Nov, 2020 10:35, edited 5 times in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by DrKnS »

faruh wrote: Thu 12 Nov, 2020 10:10предполагаю что плагин не возвращает информацию что это симлинк
Так и есть, вроде бы поправил.
User avatar
faruh
Posts: 65
Joined: Sat 04 Apr, 2009 19:46
Has thanked: 1 time

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by faruh »

DrKnS wrote: Fri 13 Nov, 2020 19:17 Так и есть, вроде бы поправил.
в Far Manager, version 3.0.5704.0 x86 работает
спасибо!
Last edited by faruh on Mon 16 Nov, 2020 15:32, edited 2 times in total.
Maximus
Posts: 31
Joined: Thu 08 Oct, 2009 15:20

NetBox — SFTP/SCP/FTP/FTPS/WebDAV client

Post by Maximus »

Maximus wrote: Thu 26 Dec, 2019 10:54 Есть проблема с синхронизацией...
.....
ВЕРСИЯ
Пока писал, вдруг возникла версия причины. Если посмотреть на большие списки, когда сравниваю выше по дереву, то бросается в глаза, что очень много файлов с подчеркиваниями в названиях (процентов 95).....
По своему посту чуть ранее я делал в багтреккере запись (английский), но там пока тоже тишина. Решил все-таки изучить вопрос поподробнее. То есть кратко, проблема в том, что для определенного сочетания файлов в папке, имеющих подчеркивание в названии, процесс синхронизации показывает файлы, которые гарантированно есть и по аттрибутам совпадают.

**** Этап 1. Сравнение родственников (текущий WinSCP и FAR/NetBox)
Для большого бэкапа на bsd (куча php файлов) сделал синхронизацию (Зеркало на локал) через gui WinSCP 5.17.8 (Build 10803) и после этого повторно, которая сообщила, что разницы не найдено. То есть текущий WinSCP все корректно отрабатывает. Пошел в Far 3.0.5700.0 - для тех же папок куча файлов с подчеркиваниями.
Включил лог, увидел там для этих файлов Local File .. is new, Remote file ... is new, то есть по каким-то причинам NetBox именно считает их новыми.

**** Этап 2. Изучение исходников
Грузим исходники обоих, индексируем полнотекст, роемся
Код конечно сходный по понятными причинам, но есть одна важная разница. В исходниках класс TStringList, реализация которого исторически была повторена, так как все съехали со специфической компиляции под C++ Builder (Borland, VCL) на универсальную. Но Мартин судя по всему не съехал. Поэтому где-то здесь разница.
Сортировка выглядит так, как будто отсортировали по UPPERCASE-у (не лингвиситически), а ищем по CompareString (лингвистически). Я даже пару тестов сделал, скопировав из FAR-а по ordinal сортировке проблемные папки и ища в них бинарно по CompareString. Результат ровно такой как у текущего NetBox-а, то есть если остортировать ordinal по UpperCase-у (как виндовая CompareStringOrdinal делает),а искать CompareString, то не находятся ровно те же файлы.

Глядя в TStringList вроде бы все нормально, список создается отсортированный AddObject должен добавлять файл через бинарный поиск, а потом, когда идет сравнение, IndexOf тоже должен пользоваться им же.
Но вспомнилось, что в NTFS Unsorted mode в far-е выглядит очень похожим на обычный алфавитный порчдок, но чуть-чуть меняется. Соответственно мировой разум подсказывает, что для NTFS это связано как-то тем, что там используется B-TREE для расположения файлов, а для FAT-а по старинке определяется порядком появление файлов в папке. Соответственно, решил проверить на фате, как нетбокс синхронизирует. Заводим том в FAT32 (например TrueCrypt-ом), копируем туда файлы в обратном алфавитном порядке (чтобы нарушить напрочь сортировку) и запрашиваем синхронизацию в NetBox, и тут мы получаем почти полный список файлов. Из чего делаем вывод, что AddObject добавляет не бинарно-сортированно, а подряд, соответственно идем в исходный код и видим
(src\base\Classes.cpp)

Code: Select all

intptr_t TStringList::AddObject(UnicodeString S, TObject *AObject)
{
  intptr_t Result = 0;
  if (!GetSorted())
  {
    Result = GetCount();
  }
  else
  {
    if (Find(S, Result))
    {
      ....
    }
    else
    {
      Result = GetCount();
    }
  }
  InsertItem(Result, S, AObject);
  return Result;
}

.. что она некорректно написана. Если строка не найдена (отрицательный результат Find), то она добавляется в конец списка.

Для сравнения часть кода Find из Delphi/VCL

Code: Select all

function TStringList.Add(const S: string): Integer;
begin
  if not Sorted then
    Result := FCount
  else
    if Find(S, Result) then
      case Duplicates of
        ..... 
      end;
  InsertItem(Result, S);
end;
Из-за этого получается такой недо баг, который в силу того, что никто почти не использует FAT, а NTFS почти всегда дает алфавитный порядок файлов, по настоящему нигде не проявлялся.

Может быть это надо было написать в треккере, но я везде какая-то тишина по этой информации, поэтому не думаю, что это принципиально.
Post Reply

Return to “Обсуждение плагинов”