This entry details all the changes made for Telehack as listed in changelog.

 # This file is in reverse chronological order.
   # Newest entries are at the top.
           User archer added the "tc" command.
           The "liff" command was added.
           The /auto option has been added to the "finger" command.
           See "help finger" for more information.
           Major improvements have been made to SSH and 2FA.
           There are some new badges.
           The "ped" text editor has been given some shiny new features.
           snausage.exe has been added.
           The TEXT/PLAIN badge has been added.
           You can now press control-L to redraw your screen in sokoban.exe and in the
           commands "notes" and "ped".
           sokoban.exe has been added. It is a text-based implementation of the puzzle
           video game Sokoban in which the player pushes boxes around in a warehouse.         
           Added ARG$ variable to BASIC which contains the contents of the invocation line of a program
           Added RENUMBER to BASIC to enable renumbering of program statements
           Added the following language extensions to BASIC for better HP2000 Access BASIC 
              READ #n[,r];var - reads from file #n optional record r and inputs vars
              PRINT #n[,r];var - prints variable list to file #n optional record r
          Added the following functions to BASIC for better HP2000 Access BASIC comptability:
           Added synonyms for HP2000 Access BASIC comptability
               SCR, SCRATCH - synonym for NEW
           Added ARPS.EXE, and a badge.
           The /TIME option has been added to the SYSTAT (or FINGER, W, etc.) command. If
           a user manually sets a time zone, then the time is based on the manually-set
           time zone. Otherwise, the time is based on the time zone corresponding to the
           geographic location of the user. If the geographic location of the user cannot
           be determined, then the time will be blank.
           pppd.exe now prompts whether to publish your BBS in bbslist.txt.
           Many timestamps are now tailored to your time zone. Your time zone is
           determined from your IP address by default. Use the SET TZ command to
           manually set your time zone. Use the SHOW TZ command to show your time
           zone. Type HELP SET TZ for a list of valid time zones.
           The GEOIP command now displays more information, including subdivision(s) and
           time zone, and accepts IPv6 addresses.
           As an alternative to the SET PLAN command, you can now edit your .plan using
           the ped text editor. Type "PED .plan" and press Control-D to save and exit.
           The shell now allows jumping between words using the Meta key. Press Meta-F
           to jump to the beginning of a word or Meta-B to jump to the end of a word.
           The Meta key may be labeled as "Alt" or "Option" on your keyboard. You may
           have to configure your terminal emulator to "Use Option as Meta key".
           BASIC now supports type checking with operators. For example, 1 + 2 will add
           the numbers 1 and 2, "A" + "B" will concatenate the strings "A" and "B", and
           1 + "A" will throw a type mismatch error.
           Added the /y command to relay for yawning.
           Removed doot and tood shell commands to check the balance, since we've
           voted not to have fun here anymore.
           In BASIC, STR has been replaced with STR$. The function STR$ returns a string.
           Added "score <game>" command to see high scores for (most) games, for
           example "score 2048".
           Added manual reloading to Telefrag, press 'v' to reload.
           Added Strafing to Telefrag, use 'x' and 'c' to strafe left and right
           Added Telefrag the hottest new Telnet based deathmatch First Person Shooter.
           Run the 'telefrag' command to join! Arrow keys to turn / move, space to shoot.
           Telehack's file system is no longer random! The files you see on a host are
           now the same files everyone else sees! However, executible files are excluded
           from this and are still random between users.
           You can now upload files to telehack via our ftp server. Simply use your text
           based ftp client (modern gui based ones probably wont work) and connect to
           telehack on the standard ftp port. Next, login to your telehack account and
           switch to passive mode. Then you're free to upload and download files!
           Added the "hexd" hexadecimal file editor. Use it to write your CHIP-8 and A2
           Added a CHIP-8 interpreter to Telehack, use the "c8" command to run any ".c8"
           files in your current directory.
           You can now delete files via external FTP.
           The POKE command will no longer cause TeleBASIC to exit into SYSMON.
           Portblock.exe has been revamped! To activate portblock, first run it on the
           host you which to block as usual, then write down the phone number of that
           host. Next, login to any BBS that you have Sysop on and run 'PBLOCK <tel>'.
           This will instruct the BBS server to connect to the portblock.exe daemon.
           Portblock.exe will only stop porthack if a BBS is connected. Portblock can
           still be bypassed by acccount kit exploits. Portblock can be remotely
           terminated by either killproc.exe or by hacking the connected BBS and
           running 'PBLOCK <tel>' with a different phone number.
           Reverted INKEY$ to its previous, blocking functionality. Use POLKEY$ for a
           non-blocking input solution.
           You can now run 'comm.exe <COM Port Number>' to directly connect to a desired
           com port, instead of getting the first available one.
           Added the INSTR( "ABCDEFG", "D", START_POS ) == 4 to TeleBASIC, to search for
           a substring in a string.
           Added the ATDS command to comm.exe, this command will automatically dial your
           own phone number.
           Added the DIR$ function to TeleBASIC, this function will return a list of all
           files in a user's home directory seperated by a space.
           TeleBASIC's INKEY$ function, is no longer blocking. If INKEY$ is called and a
           key is not pressed within 1 second, an empty string is returned instead.
           The modem daemon and comm.exe have been updated. Users now have access to
           four seperate dial-up modems, that can be accessed through TeleBASIC or
           comm.exe. The phone number for these modems is different then your PPPD phone
           number, and can be viewed by running comm.exe.
           A sliding tile puzzle game has been added. Type 2048 to play.
           A change to TeleBASIC was made that requires you to yield periodically in your
           programs. Simply call SLEEP, INKEY$, or INPUT within your loops to avoid
           A list of BBSes being operated by pppd.exe is now available in bbslist.txt
           on the main Telehack node.
           Telehack now supports two factor authentication and password resets through
           e-mail. Type SET EMAIL to set the e-mail address to send verification codes
           to. Type SET 2FA to turn two factor authentication on or off. Also see SHOW
           EMAIL and SHOW 2FA.
           The process system has been reworked. Background processes now use 100-300K
           and the total amount of memory for each user has decreased. The amount of
           memory available to each user is equivalent to: 1024K + ( 16K * Your Level )
           Memory management is now important, consider which programs you run carefully!
           unlink.exe now terminates links to your other active terminals in addition
           to the one you run it in.
           Added a line to relay when entering stating the amount of time since a
           message was posted.
           satlink.exe can now connect to satellites without root. However, root is
           required to alter the orientation of the satellite.
           Removed PEEK(531) from BASIC, use INKEY$ instead.
           Removed long distance comm FTP transfers. Use iptun.exe instead for this.
           Updated the random number generation in BASIC. Added the TIMER token which
           returns the number of seconds since midnight. Try RANDOMIZE TIMER to get a
           unique seed.
           Completing a Quest and having the SYSADM badge will hide your terminal in the
           SYSMON until you disconnect from Telehack.
           Syslogd can now be muted with 'log /mute' and 'log /unmute'
           Additional protection against brute-force attacks on user accounts has been
           added. (Telehack user accounts, NOT historical users)
           Added an external FTP server to on port 21. This server does NOT
           support directories and conforms to the FTP standard as detailed in RFC-959. 
           As such, this FTP server will likely be incompatible with modern FTP clients.
           It is highly recommended that you use a command line FTP client. This server
           only supports Passive FTP transfers, not Active.
           Added 'summon /cancel <username>' to stop summoning a user and automatically
           stop summoning when you logout.
           satlink.exe and xmburst.exe have been added enabling users to connect and
           manipulate satellites. Make your own links between hosts! A copy of
           has been included in your local directory. See that for help getting started!
           An Apple ][ emulator has been added. Use it with the 'run' command to
           execute Apple ][ programs. They can be found on hosts with the .a2 extension.
           Added the ability to check a user's finger page via HTTP.
           Go to to view that user's profile
           Added the 'summon' command. If a user has been AFK > 1h, the summon command will
           ping that user every 5m with their terminal bell until they press a key.
           Overhauled the 'link' command. Multiple users can now be linked to the same user.
           Added 'defgroup' to the 'set' command. Users in the 'defgroup' list will
           automatically be given root access to a system after you run rootkit.exe on it.
           A quote system has been added to relay
           NOTE: only Opers can modify the quote list
           Non ".exe" files can now be transferred over FTP and XMODEM
           pppd.exe has been added by Devon
           Use it to run ".bas" files on other users accounts
          comm.exe has been overhauled by QuantX, and can now be used to dial other TH users.
           NOTE: comm.exe can only dial numbers in the 611 prefix
           anomaly created quiz.exe to take your brain for a spin
           Added the following commands to Unix hosts:
             adduser - add an account to the system
             deluser - remove an account from the system
             addgroup - give a user root permissions on the system
             delgroup - remove a user's root permissions from the system
           Added RTFM because new users clearly need
           to start reading telehack.txt.
           Changed the BRUTE badge to LETMEIN
           The BRUTE badge is now something else.
           The QR command has been added to generate QR codes.
           MAIL /block and SEND /block have been migrated to SET BLOCK and SHOW BLOCK.
           See HELP SET BLOCK for more information.
           The 'dial /redial' command has been added enabling you to
           quickly redial the last phone number you dialed
           SATAN.EXE now supports BBS operating systems
           BBS hosts no longer allows logins as a user automatically
           REMPS.EXE now allows a greater hop distance.
           User Quantx has patched soviet.bas
           The BF command has been added to execute Brainf*ck code.
           The web interface has been updated.
           The SHOW COLORS command has been added to show a table of ANSI colors. Graphics
           renditions can be selected with the following options: /bold, /faint, /italic, 
           /underline, /blink, /blinkrapid, /inverse, /conceal, /crossedout
           The ped text editor has been integrated. Start it with the PED command and
           enter an optional filename as the argument.
           VT files now accept a /delay=<seconds> option.
           prestonc added ftp host tunneling with comm.exe, what a relief.
           ZCHEAT.EXE has been added.
           The LOCK command has been added to lock your terminal.
           More lines have been added to PTYCON.
           ANTI.EXE from Egroj has been added.
           AUTOLOGIN.EXE has been added to send login credentials automatically.
           User Quantx has written TRANSCEND.BAS. It is available on host ODDJOB.
           COMM.EXE, an interactive modem with AT commands + 2 badges to go along with it.
           /S relay command has been added to sip easier than before.
           SYSLOGD notifications are now susceptible to data corruption.
           The MAC command has been added to look up the vendor of a MAC address.
           The HOME statement has been added to BASIC.
           HOSTS /STATS has been added to show host statistics.
           The CLS statement has been added to BASIC.
           The SET NICK command has been added. If another user mentions your username
           while you are in relay, a bell will be sent to your terminal. Use SET NICK to
           set additional nicknames that trigger a bell.
           The TTY and WRITE commands have been added on Unix hosts.
           A bug with the URL shortener in relay has been fixed.
           Autocomplete (tab completion) has been improved.
           The SUDO command has been added on Unix hosts.
           FINGER can now be used with NPC and other users on Unix hosts.
           For example: FINGER ABBAJAY@ORACLE
           Environment variables such as $HOST and $USER have been added on Unix hosts.
           The UPTIME command has been added on Unix hosts.
           Telehack user HM has written MASTERMIND.BAS. It is available in the
           main directory.
           The ROLL command has been added to roll animated dice.
           An RFC command has been added to read Internet Request for Comment (RFC)
           documents. Type RFC for an index or RFC <num> for a particular RFC.
           The ECHO command has been added. Options: /lc, /uc, /title, /inverse, /reverse
           The SORT pipe has been added to sort paginated output by a certain column.
           The WC pipe now supports -c (characters), -m (max length), and -w (words).
           Control-L now clears the screen as the CLEAR command does.
           If the name of an existing command is used as an alias, prefixing it with a
           slash will ignore the alias and execute the original command.
           The CLOCK command has been added to show the time in FIGlet. An alternate font
           can be specified with CLOCK <FONT>. Type FIGLET to list the available fonts.
           PING and TRACEROUTE are now logged to SYSLOG.
           The PIG command has been added to convert text to Pig Latin.
           BASIC should now be more responsive to control-C interrupts.
           SET FGCOLOR and SET BGCOLOR have been added. They also now will persist
           across screen mode resets. The color DEFAULT has been added to reset the
           color to the terminal default.
           STTY RESET will reset terminal attributes.
           New alias commands: SET ALIAS <alias> [command] and SHOW ALIAS [alias]
           Example: SET ALIAS J JOKE FOO  (This makes J and JOKE FOO equivalent)
           RELAY /who now shows the number of users in the header.
           New finger search: FINGER @*, FINGER user@*
           JOKE now takes an optional search argument to search for jokes containing a
           word or phrase. e.g., "joke pizza" will show a random joke containing the
           word 'pizza'.
           The FORWARD command has been added to mail.
           NPC users on hosts can now be fingered.
           New WEATHER command will show you weather information for your location
           or for another telehack user. (Strictly speaking, SHOW WEATHER).
           Telehack user anomaly has written egg.bas, located on host oracle.
           New alias wx for w /weather. Use /wx in relay.
           Also added /whox in relay.
           Added a /weather option to finger/w. You can also use /wx as a shorthand.
           The units will default to C or F depending on your location. You can
           override the default with SET TEMP <C|F|default>
           Added a privacy policy for telehack in the PRIVACY command or privacy.txt.
           Users are required to be at least 13 years of age unless they have parental
           consent to have an account on Telehack.
           New options added to USERS: USERS /level and USERS /badge=<badge>
           A system logging daemon has been added. It is required to receive certain
           types of notifications, including netlog messages.
           New command SCORE /badges shows a count of how many users have attained
           each badge.
           The TRON/TROFF commands have been added to BASIC.
           Any asymmetries in the netstat map should now be corrected.  Some hosts that
           were not connected to any other hosts should now be part of the uumap again.
           There is now a regex golf program for learning about and practicing regular
           expressions (regex).
           Files on hosts seen under guest logins are now the same as the files seen
           under a regular user login.
           The bug preventing the MITNICK badge from being awarded has been fixed.
           'stty reset' will reset the terminal mode back to defaults.
           remps has been moved from a command into an exe.
           remps.exe is limited to NETSTAT hosts.
           Added pager pipe options grep -c and wc -l
           e.g.  hosts | wc -l
                 hosts | grep -c 'foo'
           Added options to USERS: /root /sysop /login /first
           Up and down arrow keys now work in the pager.
           octopus will now display arrow key escape sequences.
           The pager will no longer truncate lines longer than the width of
           the display.
           The baud rate is now restored after exiting a bbs.
           Added commands primes and rig. New emote command /mes added to relay.
           Command-line editing is now supported in readline. ^A=beginning of line
           ^E=end of line ^F=forward ^B=backward ^D=delete char.
           Added new commands rot13, morse and zipcode. ching is back.
           The old 'usenet' command is back on the unix hosts. Usenet
           can still be accessed through 'notes' on telehack main.
           Basic now supports 'GO TO', 'NEXT J,I', and dimensional arrays.
           show logins / show roots / show sysops have been updated to display hosts in
           the netstat format rather then the comma-separate list.
           There was a bug in BASIC which ran int() on any exponentiation with ^ or **.
           This prevented LEM.BAS from working correctly. It has been fixed so floating
           point numbers can now be used with ^ and **.
           Netstat now indicates systems that you have root on with a !.
           The bug where duplicate processes could be started on hosts has been fixed.
           cal now shows three months.
           The bug in lem.bas has been fixed thanks to jrandom:
             jrandom: lem has a bug. line 755: .0056 should be .00526
             jrandom: its also present on vintage-basic
             jrandom: its (apparently) a typo when entered from 101 Basic Computer Games
             jrandom: I compared it with a scan on 101 Basic Computer Games
             jrandom: Its rockt2 if I remember right
             jrandom: doing some more research, and it seems the 1978 version (original printing) has it too
           ^Z (control-Z) will now background relay, just as /bg does.
           inbound telnet now enabled on port 23..443..1337..8080..31173.
           ? /i - show invisible commands
           help /i - show invisible commands
           uuplot without an argument will now show a local map of porthacked hosts.
           uuplot now also shows more hosts than before.
           New SHOW & SET commands available. Type SET ? or SHOW ? for a list of
           options. "SET plan" allows you to add a message to your finger output.
           uupath now shows multiple routes to a host. Optionally, hosts to avoid may be
           specified, e.g. uupath sun sgi would show paths to sun that avoid host sgi.
           uuplot now indicates porthacked systems with a *.
           Added a way to do "long-distance" ftp.
           The killproc tool now accepts an hostname as argument.
           New badges.
           The 'run' command is back for user convenience.
           CP/M now supports FOOBAR~n.EXE naming style for XMODEM arguments,
           as shown in DIR.
           Added send /(un)block <user>
           All roots and processes have been cleared, and .exe files have been
           redistributed among the hosts.
           There are three new badges.
           Added the ftp command, you now need to upload your binaries to remote
           host before being able to run them.
           Added XMODEM to download files from BBS.
           Removed the static core.
           Re-run delays removed.
           Added support for background processes on the telehack node.
           Fixed a bug in commands argument parsing.
           Fixed a bug in the basic interpreter which caused hangs in the simulation.
           Added a log of previous SEND messages:
               send /log                      show log of previous sends
               send /log /clear               permanently delete the send log
           Fixed a bug in the mail command when sending multiple e-mails in the
           same 'mail' run.
           Fixed bug where you couldn't say "send <user>" or "finger <user>" in relay.
           Added new banners for well and netcom. Fixed banner display problem.
           Added 'units', a units conversion program.
           Added w /direct, to show which users are connected via direct telnet
           on port 23 vs. using the web interface.
           Removed the captcha on the newuser command so that users who rely on
           screen-readers to access Telehack can still register accounts.
           Added 'save' option to archive mail, vs. d or delete.  mail /save will
           recall old saved mail. Hit s<return> to save a message in mail.  Wrapping
           of long lines has been fixed; previously the end of line was truncated, now
           it will properly wrap.
           Removed the stampatello font for captchas, too hard to read.
           Improvements to basic: Fixed inkey$, input$, and peek 531. Added
           GET, which checks the keyboard for activity. Pasting text will
           no longer disconnect the user in basic sessions. PEEK now views
           live memory, not a static copy loaded when basic was started.
           Telehack now has an electronic mail system.  Email delivery is
           limited to telehack accounts.
           You can now add the host as an argument to porthack to bypass the
           "Continue" and host prompts (e.g. "run porthacK oddjob").
           New control-R quick relay feature: If relay is backgrounded (with /bg),
           ^R will pop into relay from anywhere and allow one line of relay entry.
           Fixed the bug with a host showing up in the rootlist more than once.
           It's now possible to get KILROY again.
           Badge descriptions are back.
           Added ching (I Ching, or the Book of Changes).
           Added figlet. Fixed figlet kerning.
           Added eliza.
           Added ability to get SYSOP status on the bbs systems.
           Added DIAL /log, to show the connection history for dial and wardial.
           ptycon line 27 has been fixed.  The bug with ostype HP-UX should be fixed.
           Added cal.  Also the factor command, to print prime factors of a number.
           Hackgame update:
               - You can run rootkit on any host that doesn't already have a rootkit
                 running.  This will make you root there.
               - Rootkit requires an os-dependent support process to start; run it to
                 find out which one you need. You'll find the support programs
                 scattered around bbs systems. Use the file area to download the file
                 to your static core, or try to RUN it from the CP/M shell to load it.
               - Root users can kill any process on a host, including user shell
               - There are 2 new programs which can kill a process: pdebug and
                 killproc. You can use these to take root away from someone.
               - killproc only works on netstat-adjacent hosts, and requires root to run.
               - pdebug works on processes on the same host.
               - A rootkit proces can't be killed until all of the other user's
                 processes have been killed (except shells). So running more processes
                 on a host helps protect your rootkit from being killed.
               - There is a netlog program which will broadcast syslog events to you,
                 wherever you are in telehack. This can give you advance warning that
                 someone is trying to log onto one of your hosts or mess with your
           Added the Steve Jackson Games BBS, Illuminati Online. Also the fnord
           Finger from outside (remote finger) has been fixed. You can now finger
           <user> and finger @<host> again.
           Added the classic educational game Oregon Trail, available as oregon.bas.
           New hackgame progs include pdebug and killproc - which allow local and
           remote process killing, respectively. User shells may also be killed now.
           Added phoon - shows the current phase of the moon, or the phase of the moon
           on any given date.
           Added cowsay.
           Added a CP/M shell to BBS systems.
           Added background support to RELAY.  From inside of relay, type /bg to
           background relay but remain in chat.  From the shell, use RELAY <message>
           and RELAY /command to issue relay chat lines & commands.
           The bug in the BASIC interpreter affecting the variables a, s, c, l, and e
           has been fixed.  A crude TAB() function has been added.
           The hackgame is kind of in transition. Some of the old stuff is gone, but the
           new stuff is only partly finished, and I don't know if I'll keep it.  Please
           pardon the dust during the eternal construction.
           Added root-only command reboot, to reboot a host. Rebooting terminates
           every user session on the host.
           Added root-only command wall, to message everyone logged into a host.
           Added UUPLOT command to make an ascii graph of routes to a host.
           DIAL and wardial no longer add hosts to netstat. The netstat map is fixed,
           based on the old uucp maps.
           Added Joshua to the WOPR.
           Some ancient ascii animations are scattered through the filesystem as .exe's.
           Fixed CALL so direct entry points may be invoked without going through the
           system monitor.
           Some more hosts have been found and added into the map, including a number
           from MIT.
           uumap <host> command added.
           QUEST now lets you choose a new quest. If you get frustrated working on a
           quest, wait a while and type quest again. You will be given the option to
           choose a new quest.
           Added a command to force dumb-terminal mode on all zrun games: stty /dumb
           I added this to make it easier for non-sighted users to use telehack.
           use stty /ansi to turn the default ANSI mode back on.
           Added 'talk' program - interactive user-user chat
           Added 'octopus' program - translates keystrokes into oct/dec/hex/ascii
           /finger <user> now works in relay.
           Fixed a crash in the pager if your column width was set to 0 somehow.
           Added a kill command so you can kill your own logins.
           SEND <user> followed by return will go into send mode, so you don't have to
           retype the send command over and over to have a private conversation with
           Put a cap on the number of programs that can be in static core (LIST).
           The initial cap is 5.
           Added LOAD and UNLOAD commands to manage the process LIST.
           The captcha is a bit faster now and should not come up as much.
           Added uupath and traceroute to all network hosts.
           /log in relay now omits the enter and exit messages. Use /logfull to see
           the raw log including enters & exits.
           Added this changelog.

Go back to main page

Community content is available under CC-BY-SA unless otherwise noted.