Saturday, January 1, 2011

Coupling together DC and SSH: Initial Tests and Breakthrough

Hello folks. I am pleased to announce that it works. \m/
I did some test runs today and was able to run DC from my linux machine without any glitches.

This is a pretty serious breakthrough. Now, if we can automate the process, we can run this mechanism on an institute scale. And the poor authorities would only be able to look and sigh at our ingenuity.

Now, the process I followed is pretty simple. It requires a 2-way SSH connection with a computer in the broadcast domain of the DC server.

Now, to explain this, there are 3 machines involved here: the machine running the DC hub, the user's machine, and an intermediate machine in the broadcast domain of the machine running the hub. Let us name them A, B and C respectively.
The process, then, goes something like this:
  1. Using 'ssh -Y' establish a connection from B to C.
  2. After logging in, use 'sshfs' to connect back from C to B.
  3. Mount the shared and download directories in B to specific mount points in C using 'sshfs'.
  4. Now run your favorite DC client on C. Enter the shared and download directories as the mount points where B's directories are mounted.
  5. Operate your DC client normally.
And voila, you have successfully converted all DC traffic going through the routers to SSH traffic, which cannot ever be banned by the authorities.

OK, now this is the basic idea. What remains is the automation part of it. And for that we need people with extensive knowledge of shell scripts. Interested people, please get in touch. Thank you.

4 comments:

  1. nice idea !! and great breakthrough !! .. can speed be an issue here ? i mean is it scalable .. ssh is being used primarily to send messages and small files.. here we are dealing with bigger files... can u elaborate ur test cases ? ..

    anywas i want to chip in. -jatin

    ReplyDelete
  2. nice find but speed really matters. on ssh connections there will be encrytion and decrytion on every data we send, so we can't achieve higher speeds. I used to do the same thing when I have problems with linuxdcpp or eiskaltdcpp except I used to share my folders to my lab linux machine (where the client runs) through samba.

    I hope including samba into your idea improves speed (just a thought) --Aditya

    ReplyDelete
  3. @ aditya: yes i know good speed = good experience but in this case we need a solution which is first and foremost unbannable by the authorities. SSH is a protocol extensively used to manage servers and the like. Hence, the authorities will never be able to ban SSH protocol.

    ReplyDelete
  4. @ Jatin: i have not extensive testing of this approach. I have just tested that this approach works. In fact, the next thing I wanted to do was actually to test it for scalability, ie. if the whole of IITG can run off just 20-30 machines in the CSE lab.

    Seeing as you want to chip in, this is exactly what you can do right now. Test the system for scalability and share the results. I think the file transfer rates are reasonable in case of ssh. the real lag comes from the GUI which is transported over ssh.

    ReplyDelete