public static function init()
 {
     self::$timestamp = time();
     self::$ssl = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on';
     if (isset($_SERVER['REMOTE_ADDR'])) {
         self::$realip = $_SERVER['REMOTE_ADDR'];
         self::$packed_realip = ip::type(self::$realip, self::$realip_type, self::$realip2);
         if (!self::$packed_realip) {
             die('IP Address Error');
         }
         self::$ip = ip::get_ip();
         self::$packed_ip = ip::type(self::$ip, self::$ip_type, self::$ip2);
         if (isset($_SERVER['HTTP_HOST'])) {
             $hosts = explode(':', $_SERVER['HTTP_HOST']);
             $num = count($hosts) - 1;
             if ($hosts[$num] == $_SERVER['SERVER_PORT']) {
                 unset($hosts[$num]);
             }
             $host = implode(':', $hosts);
         } else {
             $host = $_SERVER['SERVER_ADDR'];
         }
         $port = self::$ssl ? $_SERVER['SERVER_PORT'] == 443 ? 0 : $_SERVER['SERVER_PORT'] : ($_SERVER['SERVER_PORT'] == 80 ? 0 : $_SERVER['SERVER_PORT']);
         self::$base_url = 'http' . (self::$ssl ? 's' : '') . '://' . $host . ($port ? ':' . $port : '');
     }
 }