Free Linux shell server
( and 2001:470:1f11:209::13)
Users' web files:

This is a free Linux shell server, which accepts donations to the Bitcoin address below!

Account Creation
telnet 2015. Windows users can download Dave's Telnet. It's just a .zip and doesn't need admin rights to use. Click Connect then Remote System... Set Host:, Port: 2015, Protocol: Telnet TERM: xterm then press OK. You can also use the Windows telnet program. You can't make multiple accounts from the same IP address. Non windows users can use netcat: $ nc 2016, but line buffering may be a problem with the game. You can change your password to something better once you've logged in securely through ssh.*
ssh or telnet to your account name at (or / 2001:470:1f11:209::13). If your Internet connection is crippled, Port 443 can be used! If you're using Windows, download PuTTY and run it. Set Host Name to and select SSH. FTP is available. You can put in Windows explorer and access all your files easily, but remember that your password will probably be sent in the clear.
Early in 2019 Bitcoinshells was reinstalled because the server was suspected to be rooted. A memory dump was collected of the old system just after booting up. Maybe there is something interesting to find in it. The root kit would likely be encryped in memory and only decrypted by a small stub of code just before use. It could also have been hiding somewhere else like in video memory and not gotten dumped. Here is the compressed dump file of the 3840MiB of usable RAM address space. Download it here

Using your account
Using your account - Installing programs on your own

    Many users are used to installing programs system wide as root, by either installing to the usual default /usr/local/ directory or by using a system package manager. This is one reason why VPS services are popular. But it's not necessary to have a high maintenance and resource inefficient VPS just to install a few programs.
    For most C/C++ programs, just download the package to your home directory and unpack it with tar -xvjf or tar -xvzf or similar. For most packages, you run ./configure --prefix=$HOME. ./configure --help gives you a list of package options. The CFLAGS variable should be set for you already, so your package will be optimally compiled. Next run make, and then make install to install it to where you specified with --prefix=. Some packages are more complicated and require you to run things like autoconf and automake first.
    Often you will need to install a shared library for your package. The instructions for installing a library in to your home directory are basically the same, but you have to configure your programs to look in the directory where you installed it, else it will never be loaded. You do this with the LD_LIBRARY_PATH environmental variable. Type export LD_LIBRARY_PATH=$HOME/lib if you installed your library in /home/yourname/lib. Once that's working add that line to your .bash_profile so it will be set automatically. If you are having trouble getting an executable to load, you can type ldd ./yourprogram to list all the libraries which it needs, and which ones could not be found. If you are compiling a program which uses the shared library, you will also have to add -I and -l options to the CFLAGS and/or CXXFLAGS variables so that the compiler can find the shared library's header files (.h) and shared objects (.so). For example: export CFLAGS="${CFLAGS} -I${HOME}/include -l${HOME}/lib".
    Nearly everything can be made to install and run in your home directory, but it often takes a bit of knowledge of the programming language that it is written it. Libraries or modules for Perl & python programs can be installed in your home directory as well. But I don't know enough about these languages to explain how to do it.
    See below about software installation requests. If it exists in the gentoo package manager, then I can install it for you.

Things to with your account (the programs mentioned have been installed)
Requests and software installation

    You can see what software is available on Gentoo Linux by running eix. eix <name> searches for packages containing that string. eix -S <string> searches the description of the package. Adding -I only matches packages which are already installed. eix -C net-irc lists all packages in the net-irc category.
    Send comments and requests to axx01 on the email provider. I don't mind installing programs and answering questions. IRC: /server /join #bitcoinshells. Send to instead. has suspended operations.

Donate with Bitcoin!

    If you leave background processes running, and you're got money to spare, you can donate 0.002 BTC or $1 worth each month. You can set the last digits of the 8 decimal places to your user ID, and sent it to 15xVQHE6Z23QuS8yiU9K3erxzZi3WYz89e . That way in the future you may get priority above other non donating users. Type id to see what your UID is. For UID 2222, you would send 0.00202222 BTC.

  1. Don't make multiple accounts to get around resource limits, or to get a different ident name. There is no reason to make a second account just to run another instance of your IRC bot or similar program. It uses twice as much disk space, and more memory since the executable must be loaded twice. Please check to see if the program you need is already installed or request it to be installed if it can be, so that all users can use a program which is loaded in to memory only once.
  2. Keep in mind that running an open proxy on standard proxy ports causes problems with IRC.
  3. You can make another account if it is needed for security or educational reasons.
  4. Accounts created from suspicious (proxy) IP address may be removed with no warning.
  5. Don't do anything that you wouldn't do on your own Internet connection in France!

Abuse complaints

Why isn't HTTPS offered on the website?

Because I'm using port 443 for the alternate SSH access port. Also, I didn't think there was much need and it makes people tend to take security for granted. gmail and yahoo almost certainly share all the user's data with the government, and both of them use HTTPS. People don't care because it doesn't affect them directly (at least not that they know of). In other words, if you have something that is private, think twice about storing it on a cloud storage system. After all, this system could get cracked and the attacker could gain access to everything.

Usage examples for common tasks
    This part still needs to be written! Answers to questions may go here.

To set your account time to your local time, you need to put something like: export TZ='/usr/share/zoneinfo/Asia/Kuala_Lumpur' in your .bashrc file. TZ may be needed in crontab for your cron jobs too.

To not allow others to see your .htpasswd file, do this: $ chmod 640 .htpasswd && setfacl -m u:apache:r .htpasswd

To use mail, type mail and enter the number of the message you want to read. This is a bare bones client. You can run mutt to have a somewhat better text mail interface. You should make a basic .muttrc in your $HOME like this:
set from="\"USERNAME LASTNAME\" <>"
set envelope_from=yes

To make programs start automatically when the server is rebooted:
Type $ crontab -e to open the crontab editor program. For example put '@reboot znc' on a line all by itself to make znc tart up automatically. Commands are run by a shell so anything you normally type in your shell can be put after @reboot. Press ctrl+x and then Y to exit and save from nano. Your cron entry should now be installed. $ crontab -l shows you what you have in your crontab. See $ man 5 crontab for more advanced features.

To make a command run automatically at a later time, use the 'at' command to schedule it. Type $ date to see the current date, and then $ at 18:45 . Then type in your commands followed by control+D. Those commands will run at 18h45 and any output will get sent to your local email.

mcedit (or mc) needs to be run with -x to force xterm mode. Else everyting looks blue and no text shows.

To install python packages with pip in your home directory, use --user like this: pip install --user youtube-dl. That'll put it in $HOME/.local/bin/

To fix the problem where eggdrop + tcl can't find http, make sure eggdrop is compiled with the latest libtcl. It's tcl8.6 not tcl8.5. eggdrop's configure incorrectly finds Edit the Makefile after running configure and change libtcl8.5 to libtcl8.6 or similar. There should be three lines to edit. You can run ldd on eggdrop to see which version of libtcl it is linked agaist.

Other shell services:

View counter image for this page's listing:
Free Shell Accounts :: the biggest list on the net

* sshd doesn't have a -L/path/to/create_account_program like telnetd does. There is no way to configure an unmodified sshd to only run a single program that I know of. Setting the program to the shell on a password less account requires using setuid root or sudo so it is too complicated and/or insecure.