Skip to content

GSoC Ideas

terrafrost edited this page Jul 12, 2016 · 2 revisions

Ideas

Compression Support

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.

xterm terminal emulation support in File_ANSI

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.

Progressive Hashing for Crypt_Hash

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.

Documentation Revamp

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.

Better map out exceptions to the PEAR coding standards

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.

Improve phpDoc comments.

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.