🐘 A probe program for PHP environment (一款精美的 PHP 探針, 又名X探針、劉海探針)

Overview

X Prober preview

😎 X Prober

This is a probe program for PHP environment. It can show your server information and readable easily.

And the most important thing is that it's like 📱 iPhone X/XS/XS Max/XR/11/11 Pro/11 Pro Max !

Backers on Open Collective Sponsors on Open Collective

License

  • GPL-3.0

Online demo

Download and Usage

  • Click INN STUDIO mirror or GitHub mirror to download the probe file.
  • You will get a single file of x.php and upload it to your server.
  • Access x.php via http browser.

Required environment

  • Compile environment: PHP 7.4+
  • Production environment: PHP 5.3+
  • Browser support: Chrome / Firefox / Edge / Android
  • OS support: Linux / Windows(basic features)

Extensions

  • In preparation...

Development

  • Fork project.
  • Fetch your project.
  • Install node modules: $ npm install.
  • Watch scripts: $ npm run dev.
  • Generate composer vendor: $ composer install; composer dumpautoload -o.
  • Compile PHP: $ npm run dev:php
  • Access http://localhost:8000 or http://path/to/.tmp/index.php.
  • Generate languages: $ npm run lang to remake ./languages/lang.pot language template and build *.po.
  • Enjoy it. 😄

Compile production

  • Compile JS: $ npm run build.
  • Compile PHP: $ npm run build:php.
  • Access: http://localhost:8000 or http://path/to/dist/prober.php.

Help and translate more languages

  • Fork project.
  • Fetch your project.
  • Use Poedit to create your language from ./languages/lang.pot language template file and translates it.
  • Save your language file (like: en_US.po) into ./languages.
  • Push your changes.
  • Pull Request and thank you. 😘

Note for participate in contribution

  • Code compatible with PHP 5.3+

Contributors

Contributors

Backers

Thank you to all our backers! 🙏 [Become a backer]

Contributors

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

  • Thanks VPSPlayer.com - 2021-01-16 - 199 RMB
  • Thanks 1529***576 - 2019-04-04 – 150 RMB
  • Thanks Vultr.com - 2019-03-13 - 50 Dollars

TODO

  • Temperature sensor.
  • More languages with Poedit.
  • Detail benchmark result.
  • Add Email send testing.
  • Add network speed testing.
  • Add more servers benchmark.
  • Add PING feature.

Keywords

X-Prober/PHP 探针/X 探针/刘海探针

Comments
  • 地理位置和服务器 IP 地址问题

    地理位置和服务器 IP 地址问题

    Is your feature request related to a problem? Please describe.

    1. 服务器 IP 地址仅展示 IPv4 地址,建议增加判断服务器是否支持 IPv6 地址的功能,若支持则同时展示 IPv6 地址,也可以判断用户使用 IPv4 还是 IPv6 访问,并据此选择一个展示。
    2. 获取地理位置功能建议。

    Describe the solution you'd like

    1. 获取服务器的 IPv6 地址,并判断其是不是 fe80:: 或者其它类似的开头的本地链路 IPv6 地址,如果存在非本地链路 IPv6 地址,则说明获取到了 IPv6 地址。
    2. 可以参照一下以下代码,不过这个是查文档就能查出来的,我没有查看这个项目的代码,所以只能给出一个几乎没用的建议:
    function getPosition(successCallback: PositionCallback, errorCallback: PositionErrorCallback, enableHighAccuracy: boolean) {
    	const options = { enableHighAccuracy };
    	navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options);
    }
    

    Describe alternatives you've considered

    None.

    Additional context

    None.

    feature request 
    opened by lc6464 45
  • [BUG] Real time update reporting HTTP 401 error

    [BUG] Real time update reporting HTTP 401 error

    • OS: Debian 10.0u1
    • PHP version: 7.3.9

    Just updated from version 2.1 to 3.3 but got some errors. My website has a classic HTTP authentication (provided by nginx) and it was working fine in version 2.1 but in version 3.3 after I input the username and password on browser I can see the main page of the prober loaded but there is an alert saying "errors on gathering information, please refresh the page" (I am using simplified chinese so the english version may be different) and real time updating is not working. I checked dev tools of my browser and it says your /?action=fetch encounters a HTTP 401 error (authentication error). It was working fine in version 2.1 so I suppose this is a problem of the new version. Thank you for your work.

    bug 
    opened by FrankHCY 18
  • Parse error: syntax error, unexpected '?' in D:\phpStudy\PHPTutorial\WWW\test\x.php on line 2

    Parse error: syntax error, unexpected '?' in D:\phpStudy\PHPTutorial\WWW\test\x.php on line 2

    Parse error: syntax error, unexpected '?' in D:\phpStudy\PHPTutorial\WWW\test\x.php on line 2 目前7.2和7.3的版本都碰到这个情况,6.5的版本正常 另外节点应该如何设置呢?

    Originally posted by @qingyuan0o0 in https://github.com/kmvan/x-prober/issues/127#issuecomment-784923590

    opened by kmvan 17
  • [BUG] Loading loop cause Uncaught SyntaxError: Unexpected token ':'

    [BUG] Loading loop cause Uncaught SyntaxError: Unexpected token ':'

    • OS: Centos 8
    • PHP version: 7.4.9
    • Browser: Chrome latest stable

    Expected behavior

    Loading successful without problem

    Actual behavior

    The page showing loading always,even refresh.

    Other description

    there are few errors in console :

    Uncaught SyntaxError: Unexpected token ':'
    prober.php?action=script&v=6.1:1 Uncaught TypeError: Cannot read property 'redis' of undefined
        at Module.<anonymous> (prober.php?action=script&v=6.1:1)
        at n (prober.php?action=script&v=6.1:1)
        at prober.php?action=script&v=6.1:1
        at prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    n @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    prober.php?action=script&v=6.1:1 Uncaught (in promise) TypeError: Cannot read property 'length' of undefined
        at J.<anonymous> (prober.php?action=script&v=6.1:1)
        at Generator.next (<anonymous>)
        at ne (prober.php?action=script&v=6.1:1)
        at a (prober.php?action=script&v=6.1:1)
        at prober.php?action=script&v=6.1:1
        at new Promise (<anonymous>)
        at J.fetch (prober.php?action=script&v=6.1:1)
        at new J (prober.php?action=script&v=6.1:1)
        at Module.<anonymous> (prober.php?action=script&v=6.1:1)
        at n (prober.php?action=script&v=6.1:1)
    (anonymous) @ prober.php?action=script&v=6.1:1
    ne @ prober.php?action=script&v=6.1:1
    a @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    J @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    n @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    prober.php?action=script&v=6.1:1 Uncaught (in promise) TypeError: Cannot read property 'authorization' of undefined
        at n (prober.php?action=script&v=6.1:1)
        at next (<anonymous>)
        at ge (prober.php?action=script&v=6.1:1)
        at a (prober.php?action=script&v=6.1:1)
        at prober.php?action=script&v=6.1:1
        at new Promise (<anonymous>)
        at r (prober.php?action=script&v=6.1:1)
        at prober.php?action=script&v=6.1:1
        at new Promise (<anonymous>)
        at be (prober.php?action=script&v=6.1:1)
    n @ prober.php?action=script&v=6.1:1
    ge @ prober.php?action=script&v=6.1:1
    a @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    r @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    be @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    Bt @ prober.php?action=script&v=6.1:1
    a @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    Lt @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    n @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    (anonymous) @ prober.php?action=script&v=6.1:1
    

    and here is the detail of the error: ......","scriptPath":"\/data\/web\/public\/prober.php","diskUsage":{"value":24092635136,"max":988718399487.:}},"phpExtensions":{"redis":true,"sqlite3":true,"memcache":false,"memcached":true,"opcache":true,"opcacheEnabled":true,......

    How could I fix it, Thank you!

    bug need more info 
    opened by kamitanw 14
  • 使用apache2 一直显示⏳ Loading...

    使用apache2 一直显示⏳ Loading...

    • OS: Ubuntu 21.04 x86_64
    • PHP version: 8.0.7
    • apache2 version: 2.4.46
    • x-prober version: 7.7 访问一直显示 loading ,查看日志显示文件找不到 [php:error] [pid 2745708] script '/var/www/blog/x.php' not found or unable to stat 请问是apache2规则配置问题,还是有bug?但是用其他php探针是正常的
    question 
    opened by LAOZTK 12
  • Statistics in Network Stats will not update after exceeding 2G

    Statistics in Network Stats will not update after exceeding 2G

    • OS: Raspbian (Kernel Version: 4.19)
    • PHP version: 7.0.33

    *** Your content ***

    123

    When the network traffic exceeds 2G, neither real-time traffic statistics nor total traffic statistics will update. 当网络流量超过2G之后,无论是实时流量统计,还是总流量统计都不会再更新。

    Note: I have only seen this situation on the Raspberry Pi 3B(armv7). The Nginx version is 1.16.0. 注:我只在树莓派3B上看到过这种情况,Nginx版本是1.16。

    英语水平有限,我尽量去写,中英文表达不一致的地方以中文为准,打扰了。

    question 
    opened by xiaoxin2016 9
  • [BUG] stop at loading...

    [BUG] stop at loading...

    • OS:centos
    • PHP version:7.3

    ** Report content ** the page stop at 'Loading...' from version 4.2 to 4.8 there should be something wrong due to Reduce JS file size

    bug need more info 
    opened by feelkiller 8
  • [BUG]PHP7.3.7+nginx不能自动刷新

    [BUG]PHP7.3.7+nginx不能自动刷新

    • OS:centos7
    • PHP version:7.3.7

    页面可以显示,但无法自动刷新,nginx后台报错

    [error] 241827#0: *9 FastCGI sent in stderr: "PHP message: PHP Warning: Division by zero in /usr/share/nginx/html/index.php on line 53PHP message: PHP Warning: Division by zero in /usr/share/nginx/html/index.php on line 53PHP message: PHP Warning: Division by zero in /usr/share/nginx/html//index.php on line 53PHP message: PHP Warning: Division by zero in /usr/share/nginx/html/index.php on line 53" while reading response header from upstream, client: 219.******, server: ******, request: "GET /?action=fetch HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "******", referrer: "https://******"

    bug 
    opened by Cathgao 8
  • Warning: A non-numeric value encountered in /data/htdocs/x.php on line 24

    Warning: A non-numeric value encountered in /data/htdocs/x.php on line 24

    ( ! ) Warning: A non-numeric value encountered in /data/htdocs/x.php on line 24 Call Stack

    Time Memory Function Location

    1 0.3747 435912 {main}( ) .../x.php:0 2 0.3748 453488 InnStudio\Prober\Components\Bootstrap\Bootstrap->__construct( ) .../x.php:206 3 0.3748 453496 InnStudio\Prober\Components\Bootstrap\Bootstrap->getDisplay( ) .../x.php:34 4 0.3750 491752 InnStudio\Prober\Components\Bootstrap\Bootstrap->getFieldsets( ) .../x.php:63 5 0.3963 534936 InnStudio\Prober\Components\PhpInfo\PhpInfo->display( ) .../x.php:34 6 0.3963 534936 InnStudio\Prober\Components\PhpInfo\PhpInfo->getContent( ) .../x.php:76 7 0.3964 534968 InnStudio\Prober\Components\Helper\HelperApi::getErrNameByCode( ) .../x.php:79

    opened by loveyu 8
  • Brower crash after ajax fetch

    Brower crash after ajax fetch

    • OS: Centos 7.8.2003

    • PHP version:
      PHP 7.4.6 (cli) (built: May 12 2020 08:09:15) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.6, Copyright (c), by Zend Technologies

    • Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36

    Console output

    x.php?action=script&v=4.8:1 TypeError: Cannot read property 'rx' of undefined
        at x.php?action=script&v=4.8:1
        at Array.map (<anonymous>)
        at kn.render (x.php?action=script&v=4.8:1)
        at ye (x.php?action=script&v=4.8:1)
        at x.php?action=script&v=4.8:1
        at ae (x.php?action=script&v=4.8:1)
        at e.track (x.php?action=script&v=4.8:1)
        at kn.u [as render] (x.php?action=script&v=4.8:1)
        at La (x.php?action=script&v=4.8:1)
        at Ra (x.php?action=script&v=4.8:1)
    
    x.php?action=script&v=4.8:1 [mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: 'Reaction[kn.render()]' TypeError: Cannot read property 'rx' of undefined
        at x.php?action=script&v=4.8:1
        at Array.map (<anonymous>)
        at kn.render (x.php?action=script&v=4.8:1)
        at ye (x.php?action=script&v=4.8:1)
        at x.php?action=script&v=4.8:1
        at ae (x.php?action=script&v=4.8:1)
        at e.track (x.php?action=script&v=4.8:1)
        at kn.u [as render] (x.php?action=script&v=4.8:1)
        at La (x.php?action=script&v=4.8:1)
        at Ra (x.php?action=script&v=4.8:1)
    
    bug 
    opened by loveyu 7
  • [BUG] 服务器跑分显示为负数

    [BUG] 服务器跑分显示为负数

    • OS: Windows 10 1903
    • PHP version: 7.3.9
    • WebServer: IIS10

    ** Report content ** 跑分不正常,输出如下:

    我的服务器 848HASH+ 908INT+ 884FLOAT+ -15,865IO= -13,225

    同样问题出现在作者的演示站点,输出如下:

    我的服务器 409HASH+ -443INT+ -596FLOAT+ -365IO= -995

    bug 
    opened by urusai-me 6
  • [Feature request]Add Korean language

    [Feature request]Add Korean language

    Is your feature request related to a problem? Please describe.

    Describe the solution you'd like

    Describe alternatives you've considered

    Additional context

    feature request 
    opened by kmvan 0
  • [Feature request]Add Email send testing

    [Feature request]Add Email send testing

    Is your feature request related to a problem? Please describe.

    Describe the solution you'd like

    Describe alternatives you've considered

    Additional context

    feature request 
    opened by kmvan 0
  • [Feature request]Add network speed testing

    [Feature request]Add network speed testing

    Is your feature request related to a problem? Please describe.

    Describe the solution you'd like

    Describe alternatives you've considered

    Additional context

    feature request 
    opened by kmvan 0
Releases(8.16)
Owner
Km.Van
Half stack developer / Psychologist
Km.Van
A quick,easy and safe way of accessing Mysql-like databases from within a PHP program

Mysqli-Safe A simple, easy-to-use and secure way of accessing a Mysql database from within your PHP programs Mysqli-safe is a wrapper around the mysql

Anthony Maina Njoroge 2 Oct 9, 2022
Full PHP development environment for Docker.

Full PHP development environment based on Docker. Use Docker First - Learn About It Later! Join Us Awesome People Laradock is an MIT-licensed open sou

laradock 11.7k Jan 7, 2023
This a php environment for developers. based on Vagrant & CentOS & laravel/homestead

Centstead 这是一个 PHP 调试环境 , 基于 centos,laravel/homestead. 介绍   基于开发的实际需求,PHP开发者通常需要一个贴近生产环境,又易于维护的测试与开发环境.以往的选择: xampp, wamp, phpstudy… 集成环境,启动方便,占用小,但是需

JasonChang 52 Sep 30, 2022
Workshop environment for Decoupled Drupal

Decoupled Drupal Workshop ?? Welcome to the Bluehorn Digital Decoupled Drupal workshop repository! This repository contains a decoupled ready Drupal b

Bluehorn Digital 6 Feb 2, 2022
MajorDoMo is an open-source DIY smarthome automation platform aimed to be used in multi-protocol and multi-services environment.

MajorDoMo (Major Domestic Module) is an open-source DIY smarthome automation platform aimed to be used in multi-protocol and multi-services environment. It is based on web-technologies stack and ready to be delivered to any modern device. It is very flexible in configuration with OOP paradigm used to set up automation rules and scripts. This platform can be installed on almost any personal computer running Windows or Linux OS.

Sergei Jeihala 369 Dec 30, 2022
A simple library to increase the power of your environment variables.

Environment A simple library (with all methods covered by php unit tests) to increase the power of your environment variables, contribute with this pr

João Paulo Cercal 56 Feb 8, 2022
The Phar Installation and Verification Environment (PHIVE)

The Phar Installation and Verification Environment (PHIVE) Installation and verification of phar distributed PHP applications has never been this easy

null 509 Dec 29, 2022
A Magento Development Environment Made of Docker Containers

Docker for Magento 1 Extension Development Tl;dr How do I use this? Clone it. Type docker-compose up -d. Install a Magento Mount your file share. Deve

Michael A. Smith 99 May 10, 2021
A simple shell script which loads a magento environment

A simple shell script to load up a Magento environment and execute PHP code Very experimental and should only be ran on dev servers REQUIRES php pcntl

beeplogic 28 Feb 4, 2022
A dockerized magento 2 community environment ready for development or production.

Painless Magento 2 & 1 A dockerized magento 2 community environment ready for development or production. It supports magento 1.9.x for development Ins

Cocoa Web Studio 10 Apr 23, 2022
Mage2click toolset to create and manage the Magento Docker development environment with mutagen.io file-sync for macOS and native filesystem mounts on Linux.

Mage2click - Magento Docker Toolset Mage2click toolset is a system-wide command-line tool for creating and managing simultaneously running Magento Doc

Mage2click 69 Nov 28, 2022
laminas-memory manages data in an environment with limited memory

Memory objects (memory containers) are generated by the memory manager, and transparently swapped/loaded when required.

Laminas Project 5 Jul 26, 2022
Preferences are configuration variables that are user-managed for which we cannot rely upon container parameters or environment variables.

Preferences Preferences are configuration variables that are meant to be user managed for which we cannot rely upon container parameters or environmen

Makina Corpus 1 Feb 7, 2022
zend-memory manages data in an environment with limited memory

Memory objects (memory containers) are generated by the memory manager, and transparently swapped/loaded when required.

Zend Framework 16 Aug 29, 2020
Enables developers to modify Magento installations (configuration, data) based on the given environment using n98-magerun.

Enables developers to modify Magento installations (configuration, data) based on the given environment using n98-magerun.

LimeSoda Interactive Marketing GmbH 73 Apr 1, 2022
Lightweight library that eases using components built for ReactPHP in a traditional, blocking environment.

clue/reactphp-block Lightweight library that eases integrating async components built for ReactPHP in a traditional, blocking environment. ReactPHP pr

Christian Lück 154 Sep 10, 2022
Detection of execution by command (Terminal) or web environment.

WEB-CLI-Detector Detection of execution by command (Terminal) or web environment. Acronym: [WEB-CLI-Detector]. Name: WEB-CLI-Detector. Dependencies: S

Walter Nuñez 4 Jul 13, 2022
A block-based child theme for WordPress.org, plus local environment

WordPress.org Block Theme A block-based child theme for WordPress.org, plus local environment. Once set up, this environment will contain some shared

WordPress 29 Dec 30, 2022
The Current US Version of PHP-Nuke Evolution Xtreme v3.0.1b-beta often known as Nuke-Evolution Xtreme. This is a hardened version of PHP-Nuke and is secure and safe. We are currently porting Xtreme over to PHP 8.0.3

2021 Nightly Builds Repository PHP-Nuke Evolution Xtreme Developers TheGhost - Ernest Allen Buffington (Lead Developer) SeaBeast08 - Sebastian Scott B

Ernest Buffington 7 Aug 28, 2022