Giter VIP home page Giter VIP logo

nppftp's Introduction

NppFTP

Plugin for Notepad++ allowing FTP, FTPS, FTPES and SFTP communications

  • Further information could be found at NppFTP

  • For a video tutorial on installation and first steps see #305

  • Build HowTo BUILDING.md

Build Status

Appveyor build status GitHub release

nppftp's People

Contributors

andymule avatar ashkulz avatar chcg avatar dbouron avatar dependabot[bot] avatar llowrey avatar mean-cj avatar pdlan avatar printpagestopdf avatar tbeu avatar tinodidriksen avatar woa7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nppftp's Issues

Caching whole directory?

Hi,
Is there any way to cache a whole directory instead of the caching the files I just open?
I wanted to use ctags on a remote project which is huge with a lot of files. But NppFtp only caches those files that I explicitly open.

NppFTP Crashes NPP after connecting to some hosts

Connecting via NppFTP to a specific type of host (in this case, a router) causes NPP to crash badly on Win 7. Upgraded both NPP (6.7.5) and NppFTP (0.26.2 unicode) to latest. NPP hangs while trying to shutdown and requires force shutdown from Win7. See attached screenshot.
npp4

Can't drag/drop to upload files after update

On Windows 10, I used to be able to open a folder in another window over/next to Notepad++, then I could drag the file over to the NppFTP window to any folder shown there, and the file would be uploaded. The recent update breaks that.

Password using "§" cause "wrong password" warning

When using NppFTP to connect to a FTP-Server using a simple non-encrypted connection using a password such as Xvt9AyFGs§zN4ALU the connection will fail due to a wrong password warning.

  1. Tried with other ftp clients, e.g. filezilla: connection works fine.
  2. Changed Password for same user on same server to 12345: connection works fine.
  3. Replaced "§" within the Password with "3": connection with NppFTP works fine.
  4. Replaced "§" within the Password with "$": connection with NppFTP works fine.

Problems start when Using "§" within the password.
Server is vsftpd 2.3.5 which comes with the current debian Wheezy (7.8).

Freeze after 100% file uploading (FTPES)

Freeze after loading the file on the server in FTPES. Progress shows 100%, but the connection is not completed and waits one minute (connection timeout), and only then is deactivated. Cause, causing incorrect processing end of file in BINARY mode.

Multiple connections

I've used Notepad++ for years and I'm extremely satisfied with what the developers and the community has put into this editor. I have to admit that I've even tried Sublime and to see a free editor beat a paid one is impressive.

There has however been one thing that has always bugged me; the FTP plugin.
While NppFTP is useful, it could be heavily revamped to fix the bugs that causes Notepad++ to sometimes crash when connecting to a server or viewing a certain folder/file on the FTP server and to allow multiple connections.

Sublime has a third-party plugin similar to NppFTP which supports multiple FTP connections.
There could be three files open, each belonging to a different FTP server and you could easily upload the edited files by simply saving the changes.

In NppFTP you would need to connect to the FTP server that the file belongs to and then save the file otherwise you would only save it locally and not on the FTP. There are a lot of messy ways to get around the problem, for example: http://superuser.com/questions/47497/what-is-the-way-to-use-ftp-and-notepad-without-using-its-build-in-ftp-or-a-ft

But when we have a such a useful editor, why can't we have an FTP plugin of the same quality?

Now instead of ranting about how we need to improve NppFTP or create a new revamped FTP plugin I want to create a bounty. To show that I'm serious I will personally put in 250 USD paid in BTC or by PayPal to the developer(s). If anyone else is interested in contributing to the bounty then that would be great.

Considering that I'm an almost unknown member I would not be reliable enough to hold donations belonging to others. If a very trusted member could take on the responsibility of opening a Bitcoin wallet that would hold the funds then that would help out tremendously.

Original thread: https://sourceforge.net/p/notepad-plus/discussion/331753/thread/06f01154/

NppFTP crashes when private key path is invalid

Hi,

I noticed that NppFTP doesn't check if the private key path is valid before attempting to connect. That probably triggers an internal file not found error and that causes Notepad++ to crash.

It should be easy to reproduce. Setup a new connection which allows just private key file authentication, set a wrong path for the private key, save and then try to connect to that host.

Bookmarks

Hello.

FileZilla has the ability to create bookmarks, it would be great if we could do this with this as well!
You should also look at the integrated FTP system in TextWranger.

Not sure whether you want per topic issues but will create another issue for my other suggestion

NppFTP Random crash

NPP with NppFTP plugin version 0.26.3 crashes "sometimes" when connecting to an AIX SFTP server.
I think it's related to a large Banner returned by the SFTP server ( greater than 1024 bytes ).
I analyzed a dmp file generated during a crash and i think that could be some kind of buffer overrun.

In source file "StringUtils.cpp" i found this:
line number 315, ret = _vsntprintf(buffer, bufferSize, msgTchar, vaList);
Microsoft "_vsntprintf" function is not the same as the ANSI C version and when the resulting string has the same size than bufferSize a trailing NULL char is not added.
(https://msdn.microsoft.com/en-us/library/2ts7cx93%28v=vs.110%29.aspx)

May be this is the cause of this particular NPP crash.

New Features!

Hi!
First of all, thank you for great plugin! And it would be more greatful, if it had had next new features (IMHO):

  1. It would be awsome, if NppFTP could use "sudo" mode for connection, because sometimes root user is closed for ssh connection.
  2. I think it will be useful to have customizable frequenty used links, something like buttons in the main windows to user's selected directories.
  3. And the final today feature is the button for changing directory, where i can manually write path to a directory (it also would be great with TAB support like in bash)

Intermediate Host Support

I'd like to request a feature to allow the plugin to ssh through one or more intermediate nodes and then sftp into the target. Thanks!

NppFTP: Displaying symlink to the file.

Conflicting error.
As I know, FTP can not get information about what is done symbolic link (file or directory) But if the symbolic link is made to a file, you can not read the file. NppFTP always shows symlinks as directories.

The creators of the plugin netbox (Far Manager) faced with this problem and decided to check the purpose of reading.

add support for entering the private key passphrase at runtime

Requested by Hannu Kumpeli over email

On the "Authentication" tab, need to add a checkbox "Ask for passphrase" checkbox which disables the "Passphrase" entry, like what is done for the "Password" field in the Connection tab and asks it at runtime.

Cannot login with Private Keyfile Authenication

I have a keyfile setup as rsa/1024bit. I am currently using the same keyfile in WinSCP and Filezilla without a problem. When I try to login with nppftp i get the following error.

[SFTP] Error during authentication: Access denied. Authentication that can continue: gssapi-keyex,gssapi-with-mic,publickey,password,keyboard-interactive

To many sites

When you have to many files in your nppFTP list, you cant access the bottom ones.

Suggested fix:
Able to make folders so i can order/manage them.

Long delay on first connect with FTPS/FTPES

If i connect to a FTPS server, it takes about 30 seconds until a file listing appears.
The problem occurs with local (in LAN, for testing this problem!) Linux proftpd and on FTP servers in WWW.

Using 0.26.3 Unicode with Notepad++ 6.7.9.2 on Windos 7x64.
//EDIT: tested same with last 0.26.4 from Git repo here.

NPPTP Log shows:

10:43:55 [NppFTP] Everything initialized
10:44:50 -> TYPE I  
10:44:51 Connecting
10:44:51 -> Quit  
10:45:25 220 ProFTPD 1.3.4a Server (Debian) [::ffff:192.168.10.1]
10:45:25 -> AUTH TLS  
10:45:25 234 AUTH TLS successful
10:45:25 [FTPS] Certificate valid.
10:45:25 -> USER test  
10:45:25 331 Password required for test
10:45:25 -> PASS *HIDDEN*
10:45:27 230 User test logged in
10:45:27 -> PBSZ 0  
10:45:27 200 PBSZ 0 successful
10:45:27 -> PROT P  
10:45:27 200 Protection set to Private
10:45:27 -> TYPE A  
10:45:27 200 Type set to A
10:45:27 -> MODE S  
10:45:27 200 Mode set to S
10:45:27 -> STRU F  
10:45:27 200 Structure set to F
10:45:27 -> PWD  
10:45:28 257 "/home/test" is the current directory
10:45:28 Connected
10:45:28 -> CWD /home/test  
10:45:28 250 CWD command successful
10:45:28 -> PASV  
10:45:28 227 Entering Passive Mode (192,168,10,1,219,192).
10:45:28 -> LIST -al   
10:45:28 [FTPS] Certificate valid.
10:45:28 150 Opening ASCII mode data connection for file list
10:45:28 226 Transfer complete

Disconnect/Reonnect of same FTPS profile works after this first delay.

Other FTPES clients on same proftpd server show file listing fast, after 2-3 seconds.
openssl 1.0.2c connects very fast (about 1 seond) with --starttls ftp to server.
//EDIT: and curl connects very fast to the servers over port 21 with ftp-ssl

Known problem?
How can i debug this problem in nppftp?

Deleting non-empty directories

This is just a small feature request, but it does bother me that I currently have to switch to a different FTP tool (FileZilla in my case) if I want to delete a remote directory that is not empty.

As of now trying to delete a non-empty directory simply fails without any indication of the error to the user. I would suggest to instead prompt the user whether he or she wants to recursively delete the directory, or better to directly include a checkbox to do so into the first deletion prompt that already exists.

Uploading file edits

Hello!

I recently installed your plugin, and its quite nice, but has a few things missing, or that should be changed in my opinion.

I understand that you have cache path, but it would be a lot easier if files downloaded from FTP would be saved to the location they were downloaded to... not the current folder. Honestly, that would make sense.. I usually work on at least 3 files at the same time, and can't be bothered to move to the correct folder every time I want to change, then I could just go back to FileZilla, I moved to this to make it easier, and reduce the needed steps, especially after using TextWrapper (when I only had access to a Mac) which have an intregated FTP system, there are two downsides with that program, its for Mac only afaik, and using the normal "save" button in the menu won't automatically upload the saved version of the file to the FTP server, you have to manually do it.

I would highly recommend looking into TextWrapper to see how it does things, it has some awesome and really hepful features as far as FTP editing goes.

Thank you in advance!

File doesn't save when loaded through an FTP profile that is not currently active

I have NppFTP (0.26.1 Unicode) set up with multiple FTP profiles. If I open a file in an FTP session, edit it (without saving), and then I open a FTP session from a different profile, when I go to save the file from the first FTP session (currently disconnected) it saves without error. However, it only saves locally to a temp file and does not upload the new file to the first FTP profile.

This is a problem because if the user is multi-tasking quickly he may not realize the file has not be saved remotely. He is deceived because the UI suggests by all appearances that the file has been saved successfully.

It would be helpful if NppFTP, at a minimum, prompted the user with a warning that the file has only been saved local (not remotely), and the user must connection to the corresponding FTP session to complete the upload.

Even better, would be to somehow do things in the background so that the upload can complete automatically. Either by changing the current FTP session so it can complete, or creating a hidden FTP session to allow the upload to complete just for that file.

This second method is how PSPad Editor's built-in FTP manager does it.

File reload from FTP instead of cache

I noticed a bug, actually, it is not a bug - it is confusing use of functions.

It happens when you open file from NppFTP and then you try to reload it (as you suppose to do with log-files etc.). Instead of reloading from SERVER, the file is just reloaded from CACHE and off course, there is no change of contents you would expect.

To get it reloaded, you need to search it again in complex tree off files inside NppFTP... Maybe function "Reload from FTP" is good solution?

Wrong encoding in log window (in new version 0.26.1)

Wrong encoding in log window in new version 0.26.1 (in prev. version 0.26 it was normal):

200 Тип ���ановлен в A
-> MODE S
200 У��ановлен S �ежим
-> STRU F
200 С���к���а ���ановлена как F
-> TYPE I
200 Тип ���ановлен в I
-> SIZE /config.php

File confusion with Linux servers (case sensitive file system) & Windows clients (case insensitive file systems)

Using NPPFTP on a windows machine to connect to a linux server. The linux server has case sensitive filenames, so Foo.txt and foo.txt are different. The directory tree shows the files correctly, but when you try to open/edit the files they clobber one another.

Steps to reproduce:

  1. Create two files on the server (Foo.txt & foo.txt) with different content.
  2. Open one of the remote files (Foo.txt)
  3. Close Foo.txt and open the other remote file (foo.txt)
  4. The contents of foo.txt will appear in the editor as Foo.txt. Saving the file will overwrite the original file (Foo.txt) with the contents of the second file (foo.txt).

Upload New File

Is there not a way to upload a brand new file? The upload button is greyed. Seems you have to save to local storage and then use FTP client to upload the new file?

New Features on My Fork - Need advice on pull request

This weekend, I made the following changes to NppFTP on my fork:

  • Support for NOOP command. This is done through windows timer. I modified SSL client wrapper class so every time it sends an ftp request, it marks the time. When timer checks to see if it should send NOOP command, it only does so if current time compared to time of last sent request is greater than X seconds (defined in profile settings). This should avoid most issues with sending NOOP command if another ftp operation is active.
  • In profile, can set interval (seconds) between NOOP requests (0 = disable)
  • When saving a file that belongs to a profile that isn't currently active, NppFTP will close the current session and open the profile that belongs to that file, then upload it.
  • Modified UTCP library so it parses out permissions info for directory listing and makes this available to NppFTP. Could also get username/group out too and put in tooltip.
  • Treeview now supports tooltip when hovering over item. It displays last modified date, file size, and linux permissions.
  • Add "debug" checkbox option in settings. By default it is off and console only shows important messages (connecting, uploading file, creating directory, etc). Turn it on and console is verbose with lots of messages and FTP traffic.
  • Many consoles messages are now in format "[NppFTP.ClassName] Message". I did this because I compiled on linux but tested on Windows, so needed lots of help debugging issues.

Unfortunately when I compared my branch and master GitHub thinks files are 100% different. So that makes merging tricky. Maybe my editor changed files from UNIX to DOS (editor says it's UTF-8) and I didn't realize it. I will investigate further but have run out of time. If anyone has ideas what to do that will be great.

I also don't know how best to pull requests these features. There's a lot of overlap between them so hard to separate them. In some places I was doing some minor formatting and commenting of code, tried to avoid that because it shows up as changes, but the source code is kind of touch to figure out at times because everything is undocumented.

There also might be issues with string conversions. Haven't used C++ in many years and there were lots of conversions and issues had to figure out... there are probably things that aren't best practices.

crypto not updated

you have updated your plug-in for synwrite, but not for NP++. using the 'hmac-sha1' is the most egregious problem since it was deprecated years ago and all 'sha1' should be dropped EXCEPT for the KEX 'diffie-hellman-group14-sha1' since it has a floor of 2048 bits and will be safe for quite some years. it is well understood that < 1024 bits is "breakable" with current technology and that even 1024 is practical on a sovereign-state level.

"backdoor" conspiracy theories aside, the EC's foisted upon NIST (i.e., ecdh-sha2-nistp[256|384|521]) used some finite "magic numbers" as constructors and this -- alone -- makes them inherently suspect.

catering to the following server offerings will modernize your plug-ins towards speed and "best-case" security and be FIPS 140-2 compliant as well.

Ciphers aes256-ctr,aes192-ctr
KexAlgorithms [email protected],diffie-hellman-group14-sha1
MACs [email protected],[email protected],[email protected],hmac-sha2-512,hmac-sha2-256,hmac-ripemd160

it may seem strange to include the hmac-ripemd160's in there since they seem to share the same "N/2" exposure as sha1. however, their methodology is still rock-solid security after a two (2) decade run!

i know that throwing in the addr's is deprecated, but i have found that too many client set-ups do somehow differentiate between "bare" and addressed.

thank you,

johann

Connection timed out

Whenever I connect to my webserver it causes the websites running on it to not load up in my browser.
Neither IE nor Firefox want to load once I connected to them via nppftp once.

Hello Please help.

Hello Please help, how to cast variable type

const char * mode ===> mode_t mode
because sftp_chmod request variable type is int or mode_t

Now normal ftp can be change permission but sftp can't because the permission number is incorrect.

FTPClientWrapperSSH.cpp

int FTPClientWrapperSSH::ChmodFile(const char * path, const char * mode) {

    //int cpmode = atoi(mode) ;
    //mode_t perm = strtoul(mode, 0, 9);
    //OutMsg("FTPClientWrapperSSH::ChmodFile %s == %s =", strtoul(mode, 0, 9), mode );

    int retcode = sftp_chmod(m_sftpsession, path, mode);

    return OnReturn((retcode == 0)?0:-1);
}

sftp.h

LIBSSH_API int sftp_chmod(sftp_session sftp, const char *file, mode_t mode);

Test

sftp_chmod(m_sftpsession, path, 0755); //work
sftp_chmod(m_sftpsession, path, atoi(mode)); //doesn't work
sftp_chmod(m_sftpsession, path, (int)mode); //doesn't work
sftp_chmod(m_sftpsession, path, strtoul(mode, 0, 9)); //doesn't work

mode_t perm = strtoul(mode, 0, 9);
sftp_chmod(m_sftpsession, path, perm); //doesn't work

Thanks

unknown exception when starting npp; cannot start nppftp

Hi.

First of all: excellent plugin. Love it and use it all the time to develop web sites.

Description of current Incident:
I am using

  • Windows 8.1, all Windows updates installed.
  • Notepad++ "je suis charlie" edition (no update is available).
  • Plugin manager 1.3.5.0

I was able to use nppftp a few days ago with no issues at all.
Today (15-Feb-2015) when i launched notepad++ with "run as administrator" i received an error message "Unknown Exception".
Clicked OK, and the program continued. Apparently functional.
When i tried to open nppftp i did not see the usual window opening. no errors or messages at that point but nppftp was not starting.

i noticed there was a new version of nppftp so i updated it. => Same issue.

I uninstalled the nppftp and npp started without any error messages.
I tried launching npp not 'as administrator', but that did not change this behavior.

Googled a little to see if others had reported anything similar but could not find anything.

Please provide instructions on what to do next.?

Thanks,
Marcelo Finkielsztein.

read %UserProfile%\.ssh\config

for sftp connections, please make NppFTP read %UserProfile%.ssh\config (or, perhaps, provide an analogous %AppData%\Notepad++\plugins\config\NppFTP\ssh_config). This is often needed to connect to hosts that require nondefault ssh configurations, like, for example, hosts behind some proxy.

thanks

SFTP and Windows hibernation/standby issue

I've noticed, since changing to an SFTP connection in NppFTP, Windows does not hibernate or standby if an SFTP connection is open (took a lot of detective work to diagnose that ;).

However, if the SFTP connection is closed Windows enters hibernate or standby mode as expected.

I've applied latest Windows updates and latest NppFTP to no avail.

Any suggestions appreciated. Thanks!

KeepAlive and automatic reconnect needed

I'm new to github, are the issues a good place to report bugs? Great that someone have taken up development of NppFTP again btw, looking forward to seeing updates! :)

This is issue is two-part, when the connection to the FTP is lost is should automatically be re-established, as it is now it freezes and you have to manually reconnect.

But alot could be done to prevent it from disconnecting in the first place, some options for KeepAlive would be great, it is in my opinion one of the few things missing.
KeepAlive could be implemented by sending NOOP, TYPE I or some other command, if it's possible to let the user set the interval per profile that would also be great.

NPPftp in notepad++ crahes with sftp connection after latest update

Two days ago de plugin has been updated.
Today i cannot set up a connection by sftp. Though i can set up a connection by ftp.

Below the details of the crash-report.

Probleemhandtekening:
Gebeurtenisnaam van probleem: APPCRASH
Naam van de toepassing: notepad++.exe
Versie van toepassing: 6.7.7.0
Tijdstempel van toepassing: 552ee8f8
Naam van foutmodule: NppFTP.dll
Versie van foutmodule: 0.26.3.0
Tijdstempel van foutmodule: 036eccf0
Uitzonderingscode: c0000005
Uitzonderingsmarge: 00057271
Versie van besturingssysteem: 6.3.9600.2.0.0.256.48
Landinstelling-id: 1043
Aanvullende informatie 1: 5861
Aanvullende informatie 2: 5861822e1919d7c014bbb064c64908b2
Aanvullende informatie 3: a10f
Aanvullende informatie 4: a10ff7d2bb2516fdc753f9c34fc3b069

Please help.

NppFTP is receiving ecdsa-sha2-nistp256 host key (instead of ssh-rsa?)

Both PuTTY and WinSCP are receiving the correct ssh-rsa key from the server, while NppFTP is not.

fingerprintmismatch

If I accept the host key then this is saved to my known_hosts file:
10.0.0.37 ecdsa-sha2-nistp256 AAAAE2VjZHNh...

These are the versions I am using:
Notepad++ 6.8.1
NppFTP 0.26.3 Unicode
zlib 1.2.8
libssh 0.6.5
OpenSSL 1.0.2a 19 Mar 2015

Is there some configuration value that can modified to retrieve ssh-rsa keys?.. or is this outside the NppFTP options?

encoding changes

I can create a file using UTF-8 encoding in Npp, and place it on my web server using a standalone FTP client. From here, when I download the file using NppFTP, the encoding has changed to ANSI, and the EOF also change from "UNIX" (default in my Npp configuration), to "Dos/Windows"

This also happens if I create the file on the server using NppFTP and download it using NppFTP.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.