Managed Hosting



Project Home Forums Known Issues Contact Project

Author: Oscar Arevalo (All RIAForge projects by this author)
Last Updated: October 9, 2009 6:04 PM
Version: 0.3
Views: 23,281
Downloads: 881
License: Apache License, Version 2


The idea is to provide a way to interactively run CFML code using the command line. This project consists on two parts: a client side written in Python and a server side script that processes the inputs. It has not other dependencies and the server side script can be added to any existing application.

To run the client go to a command line/terminal window and type:
$ python cfshell.py [options]

if you are on a *nix platform, you can just do:
$ ./cfhsell.py [options]

By default (if no argument is given) the cfshell client will try to connect to htpp://localhost/cfshell/cfshell.cfm

The client has also several options that can be used for many things. The options are:

-h, --help: show this help message and exit
-p FILE, --path=FILE: Sets the target host and path where to connect. The path must point to a directory containing cfshell.cfm
-q, --quiet: don't print status messages to stdout
-i INPUT, --input=INPUT: Provides an expression or command to send to the server
-f INPUTFILE, --file=INPUTFILE: Processes the contents of the given file as CFML statements

Additionally, once you connect you can type .help for available commands inside the shell

The server-side script maintains state by syncing its 'local' scope to the the session scope so that state is maintained between commands. Each new instance of cfshell client will create a new session.

The server script will only allow connections from the localhost, however you can allow other clients by changing line 3 to add the additional IP addresses you want to allow. BE CAREFUL. DON'T ALLOW ANYONE ELSE BESIDES LOCALHOST UNLESS YOU KNOW WHAT YOU ARE DOING!!!!!!

This is a very early version so input is welcome!

CFShell 0.3 Update

- added new command ".install app_name path"

Use this to remotely download and unpackage applications from RIAForge to the given path. You must use the name as it appears on the URL for the corresponding RIAForge page. Only works for application that can be downloaded directly from RIAForge and not from 3rd party websites.

path is where to place the application, i.e. /apps/someapp If the directory does not exists then it will be created.

Also if path is missing, the app will be unpacked on a subdirectory named "downloadedapps" from the location of cfshell.cfm


python 2.6
any CFML engine

Issue Tracker:

There are no issues for this project.

To enter issues for this (or any other) project, you must be logged in.