Hosting (webspace) checker
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Hosting checker

Shared hosting service (webspace) checker based on my personal demands.

This shell script runs on your terminal (Linux, Windows/Cygwin, OS X) and checks any FTP/PHP/MySQL hosting service/webspace by uploading PHP code and downloading its output. No SSH access is needed for the hosting service, it runs on your own terminal.

You can use it to

  • choose hosting provider
  • fix errors in an existing site
  • prepare for traffic spikes
  • reduce spam
  • speed up a website


  • domain name (only .hu TLD by parsing website)
  • website IP, reverse hostname
  • nameserver hostnames, IPs, locations, "Domi" domain check
  • MX hostname, IP, reverse hostname and its IP
  • SPF record
  • FTP TLS certificate (lftp with gnutls has a bug)
  • webserver name, Apache modules
  • keep-alive support
  • MIME types (from the HTML5 Boilerplate project)
  • HTTP compression
  • HTTP Cache-Control header
  • concurrent HTTP connections
  • PHP version php-ng
  • PHP memory limit
  • PHP excution time limit
  • PHP HTTP functions (for downloading)
  • PHP Safe Mode, magic quotes, register globals
  • PHP user ID and FTP user ID comparison
  • PHP Server API
  • PHP extensions
  • PHP time zone
  • MySQL version
  • set up PHP error logging
  • server CPU info
  • CPU stress test
  • disk benchmarks
  • MySQL benchmark (TODO)
  • total size of WordPress "autoload" options
  • and a lot of manual checks (notices, links)

Output types

  • HTML with clickable links
  • a coloured text file for console (use less -r to view it)
  • Bash parsable key-value pairs


  1. Install dependencies: lftp (curl is not a full-featured fallback) bind9-host whois, optionally pip install ansi2html.
  2. Download it: git clone && cd hosting-check.
  3. Autogenerate config file: ./
  4. If you have WordPress installed you don't have to set up database access, wp-config.php will be read instead.
  5. Start it: ./

Cygwin on Windows

On Cygwin use apt-cyg and install lftp beside ncurses, wget, bind-utils, util-linux and whois.

apt-cyg install ncurses wget lftp bind-utils util-linux whois

To clone this GitHub repo you will need:

apt-cyg install git libcurl4

Stress tests

Hosting company PHP steps shuffle AES
AMD FX-6300 5.4 1.139 1.074 1.169
ole 5.4 1.677 1.809 0.479
td 5.4 0.818 0.889 0.653
sh 5.3 2.823 2.048 0.329
wpe 5.3 2.962 2.500 0.963
mc-cluster 5.3 1.983 1.924 1.095
pan 5.5 1.696 1.425 0.494
for 5.4 1.344 1.015 0.279
lin 5.4 1.102 1.087 0.220
sh-os 5.5 0.805 0.605 0.133
cloud 5.6 0.897 0.960 0.887

steps increments a variable from 1 to 25 million, shuffle shuffles and calculates MD5 sum of a string half million times, AES encrypts an MD5 sum 2500 times. You can find the source in hc-query.php

Company names are hidden intentionally. Times are in seconds.


You are more than welcome to test drive this script and attach the output in an issue.