User to user discussion and support for UltraEdit, UEStudio, UltraCompare, and other IDM applications.

FTP, SFTP, FTPS, and SSH/telnet console issues
4 posts Page 1 of 1
Hi,

normally I use filezilla to connect to remote ftp sites using ftp or ssh. Is there any way to import or use the filezilla-sites within ultraedit?

If not, I'd think that this would be a great idea. Since the filezilla-sites use plain-text-passwords and since filezilla uses the same public key format (putty format), it should not be a great problem to use it.
TC_Hessen wrote: Is there any way to import or use the filezilla-sites within ultraedit?

There is no import for FTP account settings from other applications. But usually it does not take longer than 30 to 60 seconds to enter the few data in the FTP Accounts dialog of UE/UES for an FTP/SFTP webserver.

Such an import option makes often no sense as applications changes the format of the account data stored in files from time to time and many applications like UE and UES encrypt the private data like the password and only the application itself which encrypted those data can decrypt it. Otherwise the encryption would be of no use regarding security.

The encryption of some data is also the reason why it does not make sense at all to write an UltraEdit script which reads in the account data of another application and write it into the FTP accounts data file of UE/UES. Nobody than the IDM developers knows the private key UE/UES uses for encrypting the critical account data with AES.
Best regards from Austria
I, personally, have a large number of FTP accounts that I use with FileZilla. Over 50. To enter all of these manually would be a real pain, however, I don't need to use UE with all of them, though there was a time when I did, back when I was servicing customers I had over 150 FTP accounts to manage, all of which I needed to edit files on from time to time.

Since I entered the data into both UE and FileZilla at the same time as my list grew, it was no big deal, until I did a new install of UE when my hard drive went south and all the data needed to be re-entered.

Since FileZilla keeps it in plain text format, I used FileZilla Portable on a TrueCrypt partition in order to safeguard it, which means my backup kept that information safe, but I lost the UE data.

Since that time, I never re-entered the data into UE, because it was just too insurmountable for me to attempt. Now that UE has a newly redesigned interface, I'll be waiting for it to filter into UES, and then I'll enter a few and give it a try.

For me, a vast majority these days of my FTP work is to maintain current backups of websites. I rarely need to edit files, as it is no longer my responsibility being retired and all. Therefore, I'm not really in need of the FTP functions within UE any longer, and FileZilla better suits my needs.

While I agree being able to import from FileZilla would be awesome, there are many FTP clients out there, some of which use encryption that cannot be decrypted. If IDM were to do this for FileZilla, they may as well say, "We failed at making a better FTP experience, so we encourage you to use a 3rd party FTP client for your work." Also, if IDM were to support FileZilla, there would be a multitude of users complaining wanting support for their client, some of which won't be possible, and we'll just end up with users being mad.
“Don’t document the problem, fix it.” – Atli Björgvin Oddsson
Give me some dummy data and I'll see if I can't automate it with AutoIt.

** Edit **

Okay this doesn't sync...but it'll add accounts from FileZilla.

If you have any accounts already in UltraEdit be sure to back them up before running this. It "should" do the right thing...but hasn't been heavily tested.

Anyways install AutoIt and during install set it to execute scripts...well unless you like compiling them before you can execute them...your call.

Then copy the code below and save it into a text file with .au3 as the file extension. Then simply double click the script to execute it...or compile it...depending on your pick during install.

Code: Select all
#Include <Array.au3>

Opt( 'SendAttachMode' , 1 )
Opt( 'SendKeyDelay'   , 1 )

If FileExists ( @AppDataDir & '\FileZilla\sitemanager.xml' ) Then
   $sBuffer = FileRead( @AppDataDir & '\FileZilla\sitemanager.xml' )
Else
   $sFile = FileOpenDialog( 'Select SiteManager' , @AppDataDir , 'XML Files (*.xml)' , 3 , 'sitemanager.xml' )
   If @Error Then Exit
   $sBuffer = FileRead( $sFile )
EndIf

; RegEx Server Nods
$aServers = StringRegExp( $sBuffer , '(?i)(?s)<Server>(.+)</Server>' , 3 )

If IsArray( $aServers ) Then
   ; Check for UltraEdit
   If NOT ProcessExists( 'Uedit32.exe' ) Then
      Run( @ComSpec & ' /c Uedit32' , '' , @SW_HIDE )
      WinWaitActive( ' - UltraEdit' , '' , 15 )
   EndIf

   ; Open FTP Account Manager
   If NOT WinExists( 'FTP Account Manager' ) Then
      WinActivate( ' - UltraEdit' )
      Send( '{ALTDOWN}ftm{ALTUP}' )
   EndIf

   ; Wait for FTP Account Manager
   WinWait( 'FTP Account Manager' )

   ; Make Sure We Are On The Correct Tab
   While NOT ControlCommand( 'FTP Account Manager' , '' , 'Button20' , 'IsVisible' )
      ControlCommand( 'FTP Account Manager' , '' , 'SysTabControl321' , 'Tableft' , '' )
   WEnd

   ; Process Server Nods
   For $ii = 0 To UBound( $aServers ) - 1
      ; Test if We Need to Add an Account
      $hSelected = ControlTreeView( 'FTP Account Manager' , '' , 'SysTreeView321' , 'GetSelected' )
      $sSelected = ControlTreeView( 'FTP Account Manager' , '' , 'SysTreeView321' , 'GetText' , $hSelected )
      If $sSelected <> 'New Account 1' Then ControlClick( 'FTP Account Manager' , '' , 'Button23' )

      ; Account Name
      $aName = StringRegExp( $aServers[$ii] , '(?i)<Name>(.+)</Name>' , 1 )
      If IsArray( $aName ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit14' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit14' , '{DELETE}' & StringStripWS( $aName[0] , 3 ))
      Else
         ContinueLoop
      EndIf

      ; Protocal
      $aProtocol = StringRegExp( $aServers[$ii] , '(?i)<Protocol>(.+)</Protocol>' , 1 )
      If IsArray( $aProtocol ) AND $aProtocol[0] = 0 Then
         ControlCommand( 'FTP Account Manager' , '' , 'ComboBox3' , 'SelectString' , 'FTP' )
      Else
         ControlCommand( 'FTP Account Manager' , '' , 'ComboBox3' , 'SelectString' , 'SFTP' )
      EndIf

      ; Server Address
      $aAddress = StringRegExp( $aServers[$ii] , '(?i)<Host>(.+)</Host>' , 1 )
      If IsArray( $aAddress ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit15' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit15' , '{DELETE}' & StringStripWS( $aAddress[0] , 3 ))
      EndIf

      ; Server Port
      $aPort = StringRegExp( $aServers[$ii] , '(?i)<Port>(.+)</Port>' , 1 )
      If IsArray( $aPort ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit16' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit16' , '{DELETE}' & StringStripWS( $aPort[0] , 3 ))
      EndIf

      ; User Name
      $aUser = StringRegExp( $aServers[$ii] , '(?i)<User>(.+)</User>' , 1 )
      If IsArray( $aUser ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit17' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit17' , '{DELETE}' & StringStripWS( $aUser[0] , 3 ))
      EndIf

      ; User Password
      $aPass = StringRegExp( $aServers[$ii] , '(?i)<Pass>(.+)</Pass>' , 1 )
      If IsArray( $aPass ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit18' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit18' , '{DELETE}' & StringStripWS( $aPass[0] , 3 ))
      EndIf

      ; Save Password
      If IsArray( $aPass ) AND $aPass[0] <> '' Then
         ControlCommand( 'FTP Account Manager' , '' , 'Button20' , 'Check' , '' )
      Else
         ControlCommand( 'FTP Account Manager' , '' , 'Button20' , 'UnCheck' , '' )
         ControlCommand( 'FTP Account Manager' , '' , 'Button22' , 'Check' , '' )
      EndIf

      ; User Account
      $aAccount = StringRegExp( $aServers[$ii] , '(?i)<Account>(.+)</Account>' , 1 )
      If IsArray( $aAccount ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit19' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit19' , '{DELETE}' & StringStripWS( $aAccount[0] , 3 ))
      EndIf

      ; Initial Directory
      $aRemoteDir = StringRegExp( $aServers[$ii] , '(?i)<RemoteDir>(.+)</RemoteDir>' , 1 )
      If IsArray( $aRemoteDir ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit20' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit20' , '{DELETE}' & StringStripWS( $aRemoteDir[0] , 3 ))
      EndIf

      ; Connection Limit
      $aLimit = StringRegExp( $aServers[$ii] , '(?i)<MaximumMultipleConnections>(.+)</MaximumMultipleConnections>' , 1 )
      If IsArray( $aLimit ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit21' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit21' , '{DELETE}' & StringStripWS( $aLimit[0] , 3 ))
      EndIf

      ; Initial Local Directory
      $aLocalDir = StringRegExp( $aServers[$ii] , '(?i)<LocalDir>(.+)</LocalDir>' , 1 )
      If IsArray( $aLocalDir ) Then
         ControlFocus( 'FTP Account Manager' , '' , 'Edit22' )
         ControlSend ( 'FTP Account Manager' , '' , 'Edit22' , '{DELETE}' & StringStripWS( $aLocalDir[0] , 3 ))
      EndIf

      ; Apply Changes
      ControlClick( 'FTP Account Manager' , '' , 'Button27' )
   Next
   ; Close Dialog
   ControlClick( 'FTP Account Manager' , '' , 'Button27' )

   ; Final Message
   MsgBox( 0 , 'Finished:' , 'Batch FileZillia Import Complete.' )
Else
   MsgBox( 0 , 'Error:' , 'Could Not Parse SiteManager.xml.' )
EndIf
4 posts Page 1 of 1
cron