Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
Cloud Open Source Security Software The Internet IT Linux

Gate One 1.1 Released: Run Vim In Your Browser 150

Posted by timothy
from the until-it's-included-in-the-browser dept.
Riskable writes "Version 1.1 of Gate One (HTML5 terminal emulator/SSH client) was just released (download). New features include security enhancements, major performance improvements, mobile browser support, improved terminal emulation, automatic syntax highlighting of syslog messages, PDFs can now be captured/displayed just like images, Python 3 support, Internet Explorer (10) support, and quite a lot more (full release notes). There's also a new demo where you can try out vim in your browser, play terminal games (nethack, vitetris, adventure, zangband, battlestar, greed, robotfindskitten, and hangman), surf the web in lynx, and a useful suite of IPv6-enabled network tools (ping, traceroute, nmap, dig, and a domain name checker)." Gate One is dual licensed (AGPLv3/Commercial Licensing); for individuals, it's pay-as-you-please.
This discussion has been archived. No new comments can be posted.

Gate One 1.1 Released: Run Vim In Your Browser

Comments Filter:
  • Was suprised...

    Paul B.

    • by h4rr4r (612664)

      The slashdot effect is not what it once was. Also this place is full of MS and Apple folks these days. They would never know what to do with vim.

      • by NotSanguine (1917456) on Tuesday November 06, 2012 @01:31PM (#41896455) Journal

        The slashdot effect is not what it once was. Also this place is full of MS and Apple folks these days. They would never know what to do with vim.

        :q![return]
        $ emacs[return]
        --all the vi[m] you'll ever need to know.

        • The editor wars came to a standstill in the 90's! Why did you have to break the ceasefire?
          But if we're flaming anyway, I would like to remind you that Emacs Makes Any Computer Slow and that it is a very nice operating system; it just lacks a text editor (but it's still infinitely better than nano or pico or notepad).

          And real men use ed! [xkcd.com]

        • I'd give you a round of applause, but since my fingers are so gnarled from years of emacs use, I am incapable of doing so.
      • by fm6 (162816)

        Excuse me? I'm an MS person and I use VIM every day. I actually consider it obsolete, but I've been using Vi-like editors for 30 years and am too old to start over.

        The Slashdot effect happens when somebody implements a simple-minded LAMP server and suddenly becomes popular. Modern web applications are more robust. They're implemented using lightweight frameworks that don't have such a high per-user cost and which can scale up quickly when unexpected demand appears. This is the sort of advance people overloo

        • by jc42 (318812)

          A few years back, I experimented with a lot of editors (and terminal emulators), when I got seriously involved in i18n (internationalization) efforts. I was at that time unable to find any editor that handled UTF-8 encoding as sanely as vim, so I've stuck with that. It'd be interesting to know if there are other editors that do a good job with mixed writing systems these days. Others have to have worked on it, but I haven't found time to repeat my investigations (which were a really frustrating time sin

    • by Riskable (19437)

      Well, I'm monitoring it in real-time. If the demo servers start getting overloaded I'll add more.

      In fact, I just added two extra servers: http://gateone3.rs.liftoffsoftware.com/ [liftoffsoftware.com] and http://gateone4.rs.liftoffsoftware.com/ [liftoffsoftware.com] just to be safe.

      The two, 1GB Rackspace instances that were up when this news hit the front page are still running fine at this moment.

      • by PaulBu (473180)

        Good job! ;-)

        I liked ATDT5551212 touch... Feeling nostalgic today, I'd guess...

        Paul B.

        • by Riskable (19437)

          If you like the ADTD part you should run the demo and hit 'q' for a special surprise =D

      • by EvanED (569694)

        A couple comments:

        1) I tried hangman but it wasn't working; Chrome 22.0.1229.94 on RHEL6. (It's slightly out of date -- see "RHEL6." :-))

        2) I strongly dislike putting it into the browser (for a couple reasons, that just doesn't work with the way I use terminals); any plans for some stand-alone program (even if it's just a wrapper around a webkit widget or something)?

        3) I like some of the recent efforts towards rethinking what it means to be a terminal emulator (embedded images and such), so kudos for that.

  • but what's the point?

    I.e., is there a need that vi, vim, and gvim don't fill?

    Or is the point merely slashvertising?

    • by ByOhTek (1181381)

      did you RTFS? Having a terminal emulator in your browser could be very useful in certain restricted environments you might come across.

      Now lets see an X11 implementation :-)

      • ... I think made by Citrix, and it "runs" in your browser, but I would not really recommend it to anyone. Total steaming POS...

        The maskhouse we deal with uses(d) that for customers to verify that the layers are what they expect. The program they run on the other end is something from Apollo workstations era, window manager in that session was TWM (we are talking now, a decade into 21st centiry! :) ), and it was slower than when I first tried running X over dial-up modem in 90s, without compression... ;-)

        So,

      • by Riskable (19437)

        Now lets see an X11 implementation :-)

        It's in the roadmap. It's just a matter of priorities and time.

        • by Jailbrekr (73837)

          Question:

          Is there a handy HOWTO to make it a wee bit more embeddable, such as adding defaults for port, host and user?

          • by Riskable (19437)

            The package comes with an interactive tutorial on how to embed Gate One into other applications. It's in the tests directory, "hello_embedded".

            Also, to answer your question directly, there's an argument you can pass to GateOne.init(), autoConnectURL that does exactly what you want (specify a complete ssh:// url). There's lots of info on it in the developer docs in the JavaScript section (hint: there's a search function :).

        • Ok... I dont know how to handle the awesomeness that I just read.

          Other than to offer to help. In the very least I can test the hell out of it...

          I have been thinking of ways to make a HTML 5 or other web based "X11 server" for a while. The thinking has only gotten as far as a rough map of the most effective ways to do it so far. (Java and Flash are both non-starters in my book)
          Chrome + Native Client + websockets or inbuilt ssh tunnel over port 443 = most straitforward but a lot of work just to make an actual

          • by Riskable (19437)

            I was planning on using JavaScript + canvas with the Gate One server acting as a pseudo X11 server. You'd forward your DISPLAY just like normal but Gate One would intercept the protocol and translate it into something more efficient before sending to the client. SVG doesn't perform as well as canvas.

            Of course, I'd do my best to make sure it is fast and completely transparent to the user.

            First things first though... An authorization framework, shared bookmarks, terminal session sharing, and a special secret

            • I was fairly sure the best performance cross browser wise would be with canvas.

              My motives for SVG were more compression & transform speed. Being able to do the Window Manager 'theme' stuff Motif/CDE/twm/etc, farmed out to the browsers CSS/XSLT, and any other tricks that can be performed using the SVG in order to avoid sending image data for performance. SVG is getting better with time, and I'll agree it has a long way to go compared to canvas, but at higher resolutions, it would have distinct advantages

      • by Compaqt (1758360)

        Yeah, I read the summary, but it doesn't mention a raison d'etre.

        Basically, it's supposed to be a method for violating your company's IT policies. Got it.

        • Basically, it's supposed to be a method for violating your company's IT policies. Got it.

          By "your company", do you refer to the owner of the device that you're using, such as your employer, or the manufacturer of the device that you purchased, such as Apple or Microsoft?

          • by Compaqt (1758360)

            The former not the latter. I'd say you have every right to run whatever you want on a device you bought (or your company bought, if it lets you run ssh, which it probably would).

            However, there are plenty of iOS and Android SSH apps, so again, the question remains.

            • by tepples (727027)
              In the past, people have recommended SSH and VNC clients as a workaround to run applications that Apple disapproves on a remote server and display them on an iPad. I just fear what will happen should reliance on remote desktop to work around Apple's policy becomes more widespread.
        • by ByOhTek (1181381)

          Wow.... you live in a very limited world. It must be nice and simple there - how do I get there?

          I can install whatever the hell I want on my computer at work.
          However, to get a good reliable ssh client on an arbitrary tablet/phone, using something HTML5 is quite convenient.

          Please, go out and exercise your imagination, don't expect us to do it for you.

          • by vux984 (928602)

            However, to get a good reliable ssh client on an arbitrary tablet/phone, using something HTML5 is quite convenient.

            What major tablet or phone doesn't have good ssh clients available?

            • by cayenne8 (626475)

              What major tablet or phone doesn't have good ssh clients available?

              For free...?

              • by vux984 (928602)

                For free...?

                Yes, free SSH clients.

                But even if you looked at it vs the paid ones... So what?

                Rather than spend a couple dollars on a local native app you'd rather set up and maintain a web server to save not even enough money to buy a starbucks coffee.

            • by ByOhTek (1181381)

              Yes, because people only use the "major" options.

              • by vux984 (928602)

                Can you name a device with a robust html5 browser that doesn't have an SSL client?

    • The main use of this is being able to access an environment from anywhere. This includes networks that do not allow you to ssh out of their networks, which is becoming a common security practice these days.

      I have this installed on my server, as my company's netsense filter is far too aggressive and I can not access personal email or chat programs from work. I find from time to time I need to answer personal emails in a timely manner (like when I bought a house), and tapping out messages on a phone doesn't c

      • by Desler (1608317)

        The main use of this is being able to access an environment from anywhere. This includes networks that do not allow you to ssh out of their networks, which is becoming a common security practice these days.

        So the main use is to get fired for violating your employer's IT security policy? Brilliant!

        • by rpresser (610529)

          Can you not conceive of a roaming consultant who does not wish to install his whole toolset on his client's machine?
          Also, browser -> remote ssh server -> remote network is still more secure than local ssh -> remote network.

        • It is a lot easier to ask for forgiveness than permission.

          I run a few websites that generate a small but growing amount of traffic (and hopefully one day, revenue), so its also nice to know that from any computer, I can log in to my jump server, and take a look if something goes down, with nothing more than a web browser. It could be a locked down computer only offering a web browser, or a friend's computer I don't want to be fumbling around and installing putty on, etc.

          But yeah 98% of my use is avoiding IT

          • by bws111 (1216812)

            Based on that, I'd say 100% of your use is avoiding good security policies. Seriously, you log into your server, to perform admin functions, from systems you don't control? That is beyond stupid.

            • This isn't mission control, we are talking about a few blogs here. The security policies I am avoiding are intended to prevent data being sent out of the firm undetected, and I am not doing that, and I don't have the ability to do that in any reasonable way.

              I don't consider loading up a web browser from a friend's house or wherever I am in an outage situation to log into my server "beyond stupid." I wouldn't even consider it mildly stupid, and its certainly not something to flame someone about.

              I hope your d

  • If I can run a browser, I can run a SSH client. Bonus: The stand alone terminal emulator / SSH client doesn't come with the attack surface of a web browser, or security vulnerability baggage of JavaScript's JITs (marking data as code, then running it).

    I really want to like this, I'm just not finding any use cases for it that something like PUTTY wouldn't be better for. (Well, I did, but they were really freakin' out there edge cases.)

    • by vlm (69642)

      It seems to be more a competitor of ajaxterm than a competitor of putty.

      ajaxterm occasionally "jams up" and certainly doesn't have all these features, so they have a market they can work.

      • Not to mention that ajaxterm sort of makes you want to pull your nails out with pliers as an alternative. I've been running GateOne for quite a while now, and I'll be upgrading to this version this weekend.
    • by Hatta (162192)

      If I can run a browser, I can run a SSH client.

      How do you run an SSH client on a kiosk?

    • by ByOhTek (1181381) on Tuesday November 06, 2012 @01:48PM (#41896735) Journal

      Earlier times with Windows Phone 7, and right now with Windows Phone 8 come to mind.

      Also, if you find a site hosting it, that you can trust, it bypasses the issue of potential malware incursions into your mobile platform's app store.

      And it provides you with one setup/config interface, regardless of platform.

      There are conveniences/advantages to this setup.

      • by gl4ss (559668)

        wp8 can run wp7 apps, so can user terminal emulator from there.

        but there's plenty of free access computers littered around the world at airports, hotels, etc where you can't install a terminal emulator.

    • As someone who works on a product where support people routinely have to use remote-desktop with a customer and get them to SSH into systems, this seems like it might be a huge boon, since not all customers have SSH clients pre-installed.

  • Yo dawg... (Score:5, Funny)

    by mrjb (547783) on Tuesday November 06, 2012 @01:08PM (#41896107)
    I heard you liked browsing the web, so I put a browser in your browser so you can browse while you browse!
  • I use various linux distros daily, but I guess I am not nerdy enough to know why I would want to run vim in a browser.
    • The only thing I can think of is that I'm working on someone else's computer and can't install anything locally, but even then this won't work because you still have to download it. I guess this is just a "because I can" sort of project.
      • You don't download it on the client machine. You download and install it on the host machine. When you run it on the host, it runs a web server, which you then access from the client machine via the web browser.

        So, assuming you already have it up and running on your server, all you need on your friends' computers is the web browser.
    • by vlm (69642) on Tuesday November 06, 2012 @01:33PM (#41896487)

      I use a free competitor called ajaxterm to get around firewall insanity. So if the local restaurant blocks all SSH connectivity as a hacking tool (idiots), in fact only lets thru 80 and 443, this is perfect. Well, if the target machine didn't have a web server on it I could run SSH on 443 and connect to it, but if the whole point of the machine is web serving then I can't very well remove the SSL web server and stuck sshd on port 443.

      This is not a daily thing, but more an OMG emergency back door when all else fails thing. My advice is put it under a mysterious URL, its too easy to scan "whatever.com/ajaxterm" on a guess, and don't link to it.

      I've also used it in presentations, all I need on the client machine connected to the projector is a standard web browser. No admin rights to install stuff, etc. Just go to this page.. which doesn't work... then ask why the heck they are using MSIE 5.0 or whatever in 2012.. etc. But it does work great with a "modern" "real" browser.

      • Re: (Score:2, Informative)

        by Anonymous Coward

        http://www.rutschle.net/tech/sslh.shtml

  • I guess that Gate One is windows-only, since on other OSes you have terminals by default. And on windows everyone that I know is using putty. So I wonder - is that going to be putty replacement, or too much hassle to get it to work?

    • by Riskable (19437)

      Why would Gate One be Windows-only? It runs in a browser.

      Don't think, "PuTTY replacement" or, "terminal replacement." Think, "I can use this from anywhere without having to install anything" or, "this could be embedded into an administration interface to provide a command line where previously there was none."

      Though to be honest my end-goal with Gate One is to make it the best terminal emulator (and SSH client) ever. We've only begun to explore what's possible when you combine a terminal with capabilitie

      • Why would Gate One be Windows-only? It runs in a browser.

        Don't think, "PuTTY replacement" or, "terminal replacement." Think, "I can use this from anywhere without having to install anything" or, "this could be embedded into an administration interface to provide a command line where previously there was none."

        Though to be honest my end-goal with Gate One is to make it the best terminal emulator (and SSH client) ever. We've only begun to explore what's possible when you combine a terminal with capabilities of the browser (HTML5, specifically).

        ok. So how do you solve keyboard support on tablets? Think: arrows, pg-up/pg-down, special characters

        major hindrance is that tablets don't have arrows on their "keyboards"

        • by Riskable (19437)

          Oh the pain of software keyboards! Believe me, it drives me crazy. Gate One will work in Mobile Firefox and Chrome for Android using a software keyboard but not very well. You're much better off using a hardware keyboard.

          Having said that, here's how it currently works in Gate One with software keyboards: There's an invisible input element on the page that gets focus when you load the page or tap somewhere. When that happens the software keyboard comes up and you can enter your keystrokes. However, whe

          • Does that mean, that in the browser window upper half of the screen will be a terminal, and bottom half will be a full keyboard - both embedded into the window? By this way you will not use the inferior tablet's keyboard, so this might work....

        • Is the terminal parsing done server-side? That is, the client is served HTML to make things look right, but all of the vt10x escape codes are parsed on the server?

          (I'm looking for a client-side js library that does actual vt100 parsing.)

          • by Riskable (19437)

            Yes, the terminal emulator in Gate One is server-side (terminal.py). It converts the terminal's screen to HTML before sending it to the client. Actually, it only sends lines to the client that have been updated but that part is handled separate from the terminal emulator.

            There's actually a pretty good overview of the differences between server and client-side terminal emulation here: http://en.wikipedia.org/wiki/Web-based_SSH [wikipedia.org]

        • by Tarlus (1000874)

          If you have to do work that requires the use of a terminal, then a tablet is probably the wrong thing to be carrying around.

        • by oreaq (817314)

          For Android there is Hacker's Keyboard [google.com] which gives you arrow keys, CTRL, TAB, etc. I assume there are similar apps for iOS.

    • on other OSes you have terminals by default

      On Android I had to install ConnectBot to get an SSH client. Or were you thinking only of desktop PC operating systems?

      • by drinkypoo (153816)

        Even desktop operating systems are a mixed bag. Most users don't get an ssh client with their operating system.

        Speaking of connectbot, I complained previously about it not working on my rooted Nook Simple Touch. It does now. I used a different root method this time, but I imagine it's also had updates in the interim.

    • No, its not. It runs in a browser and is thus cross platform. The main point is that the ssh session runs on the server side, so you are essentially tunneling ssh through http. Very nice if you need ssh access in an environment that won't let you ssh out of the network.

      • > The main point is that the ssh session runs on the server
        > side, so you are essentially tunneling ssh through http.

        So the session is encrypted and authenticated between the browser and the server?

      • by greg1104 (461138)

        There are multiple solutions already available for Web-based SSH [wikipedia.org]. GateOne says it needs a Python app installed on the server to support the tunnel. If that's hosted on their servers and this gets popular, expect that site to get blocked at the same sort of shops that block ssh. The main claims they seem to be making are for a higher quality of terminal emulation than the other ways around this issue that already exist.

        • Yeah there are. Most are pretty crappy. GateOne just performs far better, to the point where you can actually use it for useful work. I used to use ajaxterm, it worked, but had weird bugs. Later I moved to webshell, which was a big improvement. GateOne is an improvement further still. I use this on my personal server, so unless they are inspecting packets to see that this is an app, which currently my very paranoid company does not do, this won't get blocked.

          • by Riskable (19437)

            Just an FYI: You can't inspect SSL packets without a MitM attack. Some proxies support this (Blue Coat) but none of them work with WebSockets. So as it stands right now it is impossible to sniff your Gate One session unless you're using a very weak SSL certificate.

            Whoever is looking at your Gate One traffic in a sniffer will only see a destination and a source IP. They won't even see the URLs you're hitting.

  • ... not something I'd ditch SSH for. The implementation is impressive, though. I'd encourage these guys to work on creating more web-based apps and frameworks,.

  • Lynx in a browser? Wait, isn't that like having a Hot Wheel in a Ferrari?

  • So ... like Pentadactyl, Vimperator, and Vimium then?

  • by ddt (14627)

    This is incredible! It's just like a terminal window, but SLOWER! Want!

  • AFAIK, port 22 (ssh) is not allowed to be accessed from within a browser. This means that everything you do must go through a server, which means, big brother may be watching you, completely defeating the purpose of ssh. Please tell me I am wrong.

  • ... with EDLIN support for IE.

  • To complete the circle, we really need the ability to run this within Lynx, from within Emacs. Imagine the possibilities!

"In the face of entropy and nothingness, you kind of have to pretend it's not there if you want to keep writing good code." -- Karl Lehenbauer

Working...