GSoC Ideas
SSH2 supports zlib (LZ77) compression, however, phpseclib does not. This poses a problem because some servers force compression. Complicating this is the fact that PHP's bindings are insufficient so this would likely need to be pure-PHP. Even the compression filters are insufficient.
Also, of note, most SSH servers these days, support zlib@openssh.com and not zlib. zlib support can be turned on by adding Compression yes
to /etc/ssh/sshd_config
.
Currently, File_ANSI emulates a vt100 terminal, however, xterm terminal emulation would make for a nicer and more familiar HTML rendering of what's appearing on the console screen.
Note that xterm has some unique feature that probably ought to be implemented along with everything else. The alternate screen buffer is something else.
A "ticket" for this exists at #53. PHP >= 5.1.2 supports progressive hashing by means of hash_update_stream but phpseclib is designed to work even on PHP 4. This would likely require re-implementing sha1 and md5 in pure-PHP.
The website, overall, looks like a circa 1995 website. Maybe a revamp to make it look more like http://jquery.com/ or http://laravel.com/ is in order.
phpseclib is currently coded using the PEAR coding standards but when run against CodeSniffer it does fail some of them. Currently CodeSniffer is setup to ignore these issues but it would be nice to go through and review them and if they should indeed be fixed fix them. And if not then to make that line of code an exception.
Methods in phpseclib are preceeded with a block of comments that look like this:
/**
* Compression Algorithms: Server to Client
*
* @see Net_SSH2::getCompressionAlgorithmsServer2Client()
* @var Array
* @access private
*/
Are they all formatted correctly, etc? Maybe a post-commit hook could be added that'd auto-build the phpDoc comments into HTML so people could review that and the error log of the conversion process.