Skip to content

Restructuring how Global SSH worked

Latest
Compare
Choose a tag to compare
@VortexSt VortexSt released this 03 May 19:02
· 5 commits to master since this release

Global SSH ran by using a external process to setup a SSH tunnel. This has the ability to create SSH tunnels without resulting in a error if you tried to open the same exact process.

Global SSH helps us build a better browser. And with that we are constantly trying to improve the processes of Global SSH. In this update, we change how GlobalSSH works, completely removed the separate application process, and implemented a que system in GlobalSSH.

From the start on February 16th, 2018. To this release on May 5th, 2018. We have been actively developing GlobalSSH with multiple of issues that is not related to the project. More of ISP issues with changing dns ip. This have wasted a lot of our time in developing this project.

Please note : this version is currently not tested because of the issue listed above. If this version of the project does not work, we will figure it out within the next week.

This release needs Ssh.Net v2016.1.0 to property work.

This update from the changes of March 20th to the changes of May 3rd is just on one commit. Commit (5dc3ab2) had 8 file changes, with 133 additions and 182 deletions.

Lets start with the deletions. GlobalSSH plugin itself was completely remade and most of the file is now deleted. We have re-organized the while class to be more simple to read. It does not have comments currently, but we will work on commenting out that file. Instead of downloading a application online, we will try to use the SSH server to port a tunnel. If bool Async is equal to true on the new method bool TunnelLocalPort(string IP, string PORT, bool Async = false) we will make a new thread for that port and check if that port is available. When that port does become available, it will then use the ssh server to tunnel to that port. We have also added a new method called bool CheckLocalPort(int Port) this setups a new TCP client and tries to connect to that port. If it fails to connect, we know that port is currently available to use.

We have also removed DotNetZip library as a requirement, and replaced it with Renci.SshNet, since we no longer have to extract a zip file, and instead we are directly connecting to the SSH server through the application.

The rest of the file version changes are from AssemblyInfo adding our name to the company, description, and copyright. And changing the assembly version.

Summery

  • Waiting list for ports waiting to be forwarded
  • Ability to check if the port is open
  • Connecting to the SSH server on initialization of the object
  • DotNetZip was replaced with Renci.SshNet
  • project 'Global SSH Service' was removed from the solution. Source files can still be found.