5 ms·
If I might plug a rich command shell I'm developing: http://pigshell.com http://pigshell.com (Source at https://github.com/pigshell/pigshell https://github.com/
by tubelite 12y ago
If I might plug a rich command shell I'm developing: http://pigshell.com http://pigshell.com (Source at https://github.com/pigshell/pigshell https://github.com/pigshell/pigshell)
It provides
- A shell for the web. Runs in the browser, pure client-side.
- File-like abstraction for URLs and other entities exposed by web APIs
- Unix-like style of composing commands using pipes.
- Visualization using HTML
For instance, cp -r /gdrive/<username> /home will backup the contents of your Google Drive to your desktop (see http://pigshell.com/v/0.6.2/doc/gdrive.html http://pigshell.com/v/0.6.2/doc/gdrive.html for details). Replace /home with /dropbox/<username>, and the same command will back up GDrive to Dropbox. And so on.
While it is already useful, there is still some work, especially around hardening the file abstraction/APIs (and reams of documentation) before before it can be horizontally expanded to support a bunch more APIs and cloud stores. I am actively working on these and expect they'll take ~2 months.
- qznc 12y agoInteresting. Why do you think that files are good abstraction for a web shell?
- tubelite 12y agoIt's the old "if you have a hammer, everything looks like a nail". Since I'm a filesystem engineer, everything looks like a file :) Seriously though: the file is a powerful and familiar abstraction. The primary motivation for pigshell was to provide a common minimum abstraction across different web APIs which would enable basic data movement and backup. That said, pigshell commands actually pass objects across the pipeline; files are a kind of object. For instance, cat http://pigshell.com/sample/life-expectancy.html | table2js -e "tr" foo country data | head | printf extracts data from an html table, converts them to plain Javascript objects and prints their json representation.
- judk 12y agoAre you familiar with Plan9? Everything is a file. Everything.