riskable
09-01-2009, 01:18 PM
Final submissions are due today and mine has been submitted. Now I can rest and do... Housework! I think my driveway is 10% smaller now because I haven't edged it in forever.
Anyway, I have a fully-loaded firmware image, ipks, and source code I'd love to share with everyone. I emailed Ubiquiti asking if that would be alright but maybe I'll get a quicker response in the forums...
Lastly, I have two new screenshots to share:
http://www.flickr.com/photos/18175109@N00/3879245730/sizes/o/
http://www.flickr.com/photos/18175109@N00/3879245736/sizes/o/
I call it, "Escape From The Web!". It is a Quake-style drop-down terminal that can be used on any PyCI page. Just like in my Quagga screencast it supports command line history browsing with the up/down arrows and control-u, control-shift-y, control-c, and control-l work as expected. So if you don't like a particular GUI page for something you can always drop down to the command line... Anywhere!
I 'branded' it separate from PyCI because I think I can turn it into a script that can be embedded in just about any web site. The site running any given page just needs to support a minimal API and it should just magically 'work'. There's security concerns with giving users shell access to a server but that'll have to be deferred to the security model of the website and/or server anyway. For reference, the shell it uses doesn't have to be bash (could make your own limited-use shell =).
I want it to (eventually) be a more portable/flexible version of ajaxterm WITHOUT the annoying long-polling (hits your server every second) WITH screen-like detach/reattach capability. I've already got some of this working in test code but the full-screen apps (like vi) are giving me trouble. My test code even works with control-c (sends a SIGINT to the process).
I didn't get a chance to include the SIGINT capability in the final version because I need to change too many things around in EFTW to make it work. Essentially, not enough time for testing (didn't want to have a trivial feature break things).
Lastly, I thought I should mention that as part of the contest I built a separate tool: l2sh.py. It is a layer-2 shell client/server written in Python that works very similarly to telnet. It can get you into your router even if you completely hosed your TCP/IP config or blocked yourself out with a firewall rule.
l2sh is in my RouterStation firmware image and starts on boot =).
For reference, I plan to eventually make it "l2ssh" because I can't foresee any technical reason why it can't be a secure layer 2 shell. Just a lot of stuff to figure out!
Anyway, I have a fully-loaded firmware image, ipks, and source code I'd love to share with everyone. I emailed Ubiquiti asking if that would be alright but maybe I'll get a quicker response in the forums...
Lastly, I have two new screenshots to share:
http://www.flickr.com/photos/18175109@N00/3879245730/sizes/o/
http://www.flickr.com/photos/18175109@N00/3879245736/sizes/o/
I call it, "Escape From The Web!". It is a Quake-style drop-down terminal that can be used on any PyCI page. Just like in my Quagga screencast it supports command line history browsing with the up/down arrows and control-u, control-shift-y, control-c, and control-l work as expected. So if you don't like a particular GUI page for something you can always drop down to the command line... Anywhere!
I 'branded' it separate from PyCI because I think I can turn it into a script that can be embedded in just about any web site. The site running any given page just needs to support a minimal API and it should just magically 'work'. There's security concerns with giving users shell access to a server but that'll have to be deferred to the security model of the website and/or server anyway. For reference, the shell it uses doesn't have to be bash (could make your own limited-use shell =).
I want it to (eventually) be a more portable/flexible version of ajaxterm WITHOUT the annoying long-polling (hits your server every second) WITH screen-like detach/reattach capability. I've already got some of this working in test code but the full-screen apps (like vi) are giving me trouble. My test code even works with control-c (sends a SIGINT to the process).
I didn't get a chance to include the SIGINT capability in the final version because I need to change too many things around in EFTW to make it work. Essentially, not enough time for testing (didn't want to have a trivial feature break things).
Lastly, I thought I should mention that as part of the contest I built a separate tool: l2sh.py. It is a layer-2 shell client/server written in Python that works very similarly to telnet. It can get you into your router even if you completely hosed your TCP/IP config or blocked yourself out with a firewall rule.
l2sh is in my RouterStation firmware image and starts on boot =).
For reference, I plan to eventually make it "l2ssh" because I can't foresee any technical reason why it can't be a secure layer 2 shell. Just a lot of stuff to figure out!