Team SSH
From MWCSWiki
Contents |
UPDATE
This project has been SCRAPPED and will be replaced by Team File Browser
Team members
- Eric Holscher
- Elliott Sperlazza
- Sam Jones
Alternative Ideas
- Paprika file browser (user logs in and can download/upload files to/from home directory)
- Time/date (with snazzy functions)
Web SSH Client
Description
Create an SSH client that is displayed on a web page. The client will connect to Paprika and display an interactive shell. Make use of AJAX to make asynchronous requests to the server and update the web page.
There are SSH classes available for PHP ([1]) which seem easy enough to use. Perhaps the focus of our project could be on enhancing the SSH client. Some suggestions I've thought of are:
- A suggestion box under the client which would offer suggestions for commands updated when incorrect syntax is used or when the cursor idles for a certain number of seconds. It could even be an extra connection that uses the man command to display info about a topic.
- A sidebar which has links to sites which could be updated based on what type of file the user is working on. If the user opens a .cpp file the sidebar could host c++ libraries or help sites.
Architecture
CSS
- Display the interactive shell inside a container.
- Format the box with appropriate colors.
JavaScript
- Parse the results from the server.
- Update the page with the next line of the interactive shell.
Server
- Run scripts which connect to the SSH daemon on Paprika.
- Prepare XML files to send to client.
Deadlines
- Determine scripting language on server: 2/12/07
- Interface prototype (includes page and stylesheet): 3/12/07
- Write scripts to connect to Paprika: 3/19/07
- Determine format of XML response: 3/19/07
- Write client code: 4/9/07
- Test project: 4/23/07
Progress
Scripting language
Use PHP to connect to the server and handle SSH operations. A PHP script will be used to connect to the SSH daemon on Paprika, execute commands requested by the client, and sends XML responses back to the client.
Prototype
Here is a sample layout which we could use[2]. If we can get the ssh php class to work, I think we should keep the links and suggestions as part of our project. If not, we should focus on creating our own ssh class and scrap the links sidebar and suggestion portion of the project.

