Looking Glass
Modern, simple and fresh looking glass based on Bootstrap 5 and PHP 8 (also compatible with 7). A looking glass is a network utility which is made user-friendly for everyone to use. It allows you to execute network related commands within a remote network, usually that of an ISP.
Demo
See it in action here!
Features
Bootstrap 5 UI. Real time command output using JavaScript. Supports ping/ping6, traceroute/traceroute6 and mtr/mtr6. Easy to customize and to configure. DNS checking to prevent unnecessary executions. Latency feature from visitor to LG. Dark/light/auto mode theme.Requirements
Any Linux distribution, this has been tested on RHEL 8 + 9. PHP 7.1 or higher, PHP 8 preferred. IPv6 connectivity if you want to use the v6 equivalents. Root access.Installation
Manual
For this installation we will assume that we are working on AlmaLinux 8 or 9. Warning: This guide does not cover any security hardening or rate limiting. Note: These steps also work with AlmaLinux 9, but it will install PHP 8 instead of 7.
Install the required network tools:dnf install mtr traceroute -y
.
Install the web server with PHP (by default it will install 7.2 on RHEL 8): dnf install httpd mod_ssl php php-posix -y
.
Enable and start Apache/PHP-FPM: systemctl enable httpd; systemctl enable php-fpm
and systemctl start httpd; systemctl start php-fpm
.
Let's help MTR to work, execute the following command: ln -s /usr/sbin/mtr /usr/bin/mtr
and also mtr helper called mtr-packet: ln -s /usr/sbin/mtr-packet /usr/bin/mtr-packet
.
You must configure SELinux before this all works, or you can disable SELinux using setenforce 0
and possibly make it permanent: nano /etc/selinux/config
change to SELINUX=disabled
.
Upload the contents of the ZIP to /var/www/html/.
Rename config.dist.php to config.php and adjust the settings.
(Optional) You might want to enable SSL using LetsEncrypt, take a look at acme.sh.
Docker
For installation using Docker, follow these steps and run the commands on the target machine where the application should be installed:
First, ensure Docker and Docker Compose are already installed. Clone this GitHub repository:git clone https://github.com/hybula/lookingglass.git
.
Change your current working directory to the freshly cloned repository.
Currently, the Docker images are not hosted on an image repository, so you'll have to build them yourself with the following command: docker compose build
.
For production use, change the environment variables inside the docker-compose.yml
file to the desired values. For testing purposes, the default values are fine.
Create and start the containers: docker compose up -d
.
Afterward, the Looking Glass should be reachable from your web browser at http://$your_server_ip/
!
Upgrading
Upgrading from a previous version is easy, simply overwrite your current installation with the new files. Then update your config.php accordingly, the script will automatically check for missing variables.
Customization
If you open up config.dist.php you will see that there are some features that allows you to customize the looking glass, this includes a custom CSS override. You may also extend the looking glass with a custom block.
TODO
Move to Composer; Software-based rate limiting; Implement a template engine, for advanced customization; Switch to WebSockets.Contribute
We would love to receive code contributions in the form of a pull request. We prefer this over forking, so if you have any code improvements feel free to commit.
Credits
This project is inspired by the LookingGlass project of @telephone and uses his procExecute() function, although slightly modified.
Sponsored
This project is developed and sponsored by Hybula B.V.
License
Apache License, Version 2.0 and the Commons Clause Restriction
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。