demotomohiro / remocolab

remocolab is a Python module to allow remote access to Google Colaboratory using SSH or TurboVNC.
MIT License
316 stars 229 forks source link

[Feature Request]Obfuscated OpenSSH #18

Closed vbuterin2 closed 4 years ago

vbuterin2 commented 4 years ago

The Bitvise SSH client supports using https://github.com/brl/obfuscated-openssh.git to hide our ssh connection. Can we tweat the script somehow to support that feature? @demotomohiro

demotomohiro commented 4 years ago

Why do we need to use it? It seems obfuscated-openssh is not updated for more than 10 years. I don't think it is good idea to use such old code.

vbuterin2 commented 4 years ago

Well, the story goes like this, the gfw of china cannot block http and https request but can detect and block everything else. If we could use something like shadowsocks + v2ray-plugin to obfuscate the ssh connection, it would be great for us who live in china to use ngrok.https://en.wikipedia.org/wiki/Great_Firewall. I would really appreciate that you can somehow integrate this https://github.com/shadowsocks/shadowsocks-qt5/releases/tag/v3.0.1 into remocolab. @demotomohiro Thanks.

For example, in china we use something like https://github.com/googlehosts/hosts/wiki/%E5%AE%9E%E9%AA%8C%E5%AE%A4#shadowsocks https://github.com/googlehosts/hosts/wiki/Laboratory#shadowsocks to connect the internet.

demotomohiro commented 4 years ago

If you want to install some softwares, you can install them after executing remocolab.setupSSHD() or remocolab.setupVNC(). If you need to restart SSH server, run following code:

service ssh restart

Shadowsocks-Qt5 seems like GUI program. How to run GUI program on Google colab?

vbuterin2 commented 4 years ago

If you want to install some softwares, you can install them after executing remocolab.setupSSHD() or remocolab.setupVNC(). If you need to restart SSH server, run following code:

service ssh restart

Shadowsocks-Qt5 seems like GUI program. How to run GUI program on Google colab?

Well, that is the linux gui version of the software. Sorry, but the software here is ss-server and ss-local from shadowsocks-libev software package and shadowsocks-v2ray-plugin software package. They are linux binary executable daemons. But the thing here is that once I run the program I need to listen a port and ngrok that port. But as far as I know, the ngrok only allow 1 port for free right? Ok, back to the point, the software is here https://github.com/shadowsocks/shadowsocks-libev which can be started like this "nohup ss-server -s $IPV4 -p $PORT -k $PASSWORD -m $ENCRYPTION -a $RUN_USER $UDP -6 $TCP_NODELAY $FASTOPEN $PORT_REUSE --plugin $PLUGIN --plugin-opts \"$PLUGIN_OPTIONS\" >/dev/null 2>&1 & echo \$! >$WORKDIRECTORY/pid/shadowsocks-$PID_NUM.pid" >>$WORKDIRECTORY/config/ss_run$PID_NUM The code above is referenced from the creator of googlehosts IrinQVQ from the following repo https://github.com/lrinQVQ/script/blob/cc54ed2308f93328f303315c938903e67f25e64d/dependencies/ss_config

vbuterin2 commented 4 years ago

If you want to install some softwares, you can install them after executing remocolab.setupSSHD() or remocolab.setupVNC(). If you need to restart SSH server, run following code:

service ssh restart

Shadowsocks-Qt5 seems like GUI program. How to run GUI program on Google colab?

Well, that is the linux gui version of the software. Sorry, but the software here is ss-server and ss-local from shadowsocks-libev software package and shadowsocks-v2ray-plugin software package. They are linux binary executable daemons. But the thing here is that once I run the program I need to listen a port and ngrok that port. But as far as I know, the ngrok only allow 1 port for free right? Ok, back to the point, the software is here https://github.com/shadowsocks/shadowsocks-libev which can be started like this "nohup ss-server -s $IPV4 -p $PORT -k $PASSWORD -m $ENCRYPTION -a $RUN_USER $UDP -6 $TCP_NODELAY $FASTOPEN $PORT_REUSE --plugin $PLUGIN --plugin-opts \"$PLUGIN_OPTIONS\" >/dev/null 2>&1 & echo \$! >$WORKDIRECTORY/pid/shadowsocks-$PID_NUM.pid" >>$WORKDIRECTORY/config/ss_run$PID_NUM The code above is referenced from the creator of googlehosts IrinQVQ from the following repo https://github.com/lrinQVQ/script/blob/cc54ed2308f93328f303315c938903e67f25e64d/dependencies/ss_config

@demotomohiro

Really appreciate that you would share your thought on this, but I think this feature isn't necessary for most users.

demotomohiro commented 4 years ago

Running these commands after remocolab.setupSSHD() or remocolab.setupVNC() doesnt work?