Projects / netscript


netscript is a portable/multi-platform, lightweight TCP/UDP socket scripting system. It is intended to automate situations, built on a word-to-word ruleset response system. It includes wildcard support, character replacement, random replacement, argument inclusion, server timeout, initial send, display altering, multiple character dump formats, telnet protocol support, logging, program to socket dumping, executable ruleset support, reverse binding, module support, data truncation, data formatting, permission options, virtual hosting support, history storage, dynamic storage variables, directory placement, character omitting, timed rules, background support, syslog support, routing support, socket options, interactive mode, and graphical user interface support.

Operating Systems

Recent releases

  •  08 Oct 2002 08:23

    Release Notes: Switches were added to select the UDP protocol, to switch the route host to the UDP protocol, to use ncurses, and to define alternate button tabs in the ncurses GUI. This release also includes new example rulesets, default socket options, module changes, and more.

    •  19 Feb 2002 10:59

      Release Notes: A (modified) cygwin/windows binary based on the netscript.c source was added. The syslog priority level was changed to better suit some situations and local display of error/statistical messages was changed to use less space. A bug with the -M option (that forced the -R option) and misplacing of a #ifdef were fixed.

      •  23 Jan 2002 01:34

        Release Notes: A new -W option to automatically start the (non-generic) GUI pulled down, -# to set the GUI foreground (text) color to a defined hex triplet, -+ to change the length of the (non-generic) pulled-down GUI (after reading the $EDITOR environmental variable), and -f to use a third party text editor, manual page updates, and fixes for some minor text/physical bugs.

        •  02 Jan 2002 23:49

          Release Notes: Routing support (-R, -k, -j, and -J options), a new $\ variable to send data directly to the route socket, a $" variable to only send data after an alloted amount of time, a -Q option to define socket options, a --interactive command line option to allow interactive use of netscript, reading of ~/.nsrc to to precurse any other interactive commands, a --list command line option to quickly list and execute rulesets, a $NS_PATH environmental variable to assist the --list option, a new manual page, MD5SUM validity check file, and some new/modified rulesets.

          •  18 Dec 2001 22:04

            Release Notes: This release adds -O to select an alternative shell to execute for third party programs, -o to omit socket reading of supplied character(s), -m to change the working directory, -M to change the root directory, and $' to change the current working directory via the ruleset. The standard reading of input has been changed to check for the tty name instead of the generic /dev/tty. All related third party executions have been modified to use $SHELL. A segmentation fault introduced in the previous version (-u with a user name that doesn't exist) has been fixed. This was not a security issue.

            Recent comments

            21 Dec 2001 17:04 cytral

            Re: Use the source?
            If you wanna be able to read it, show some serious intention on furthering the development of this project and I'm sure the author will be kind enough to explain what you need to know to start working on it. Otherwise, let your gf do the bitching.

            12 May 2001 12:44 thelars

            Use the source?
            Have you looked at this source code? My god, man,
            why even bother writing in C if you're going to
            re#define the entire language? If you're looking
            for brevity, try APL, but if you're going to share
            your code with the rest of the world, have the
            common decency to make sure the rest of us can
            read it!


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.