Think about this idea: developing a libpurple plugin acting like netcat or a pipe between two buddies, that you can use to pass ANY kind of data or stream. Something like: right click on buddy and click on “create socket on port 1234” or “create named pipe”.
I know this is a trivial idea and there are plenty of systems that do this. But what can make the difference (IMHO) is that:
- XMPP is XML based and this allows anyone to define their own protocol
- a lot of IMs support XMPP and chat/IMs are very popular and widely used, moreover they are a public services and usually can pass through NATs quite easily (although this should not be a problem with IPv6!)
After an initial stage to get a bit of knowledge about (pseudo) terminal emulators (Advanced Unix Programming rocks :)) I’ve given birth to Instant messaging Virtual Terminal (ImVT). It’s now a very buggy prototype, but for “easy” tasks it does its job. I was able to run commands like ssh, vim (with some issues), and some other commands that require a terminal. Forget to run commands that produce constantly output (i.e. top).
Unfortunately I can not spend too much time developing it so, for now, it’s only a small buggy toy.
If anyone more experienced (especially in terminal emulators programming!) thinks that I am not too insane and likes the idea to help to develop… just send me an email!
Please pay attention to security issues: every buddy allowed to chat with the account used by ImVT can gain access to the terminal emulator!!!