From fa5dd793086cfbebbb73f6759ed862c003b1f6ab Mon Sep 17 00:00:00 2001 From: dqos <8611981+dqos@users.noreply.github.com> Date: Sat, 15 Jan 2022 19:40:44 +0100 Subject: [PATCH] Initial commit --- .gitignore | 4 + LICENSE.md | 373 +++++++++++++++++++++++++++++++++++++++++++++++ LookingGlass.php | 328 +++++++++++++++++++++++++++++++++++++++++ README.md | 46 ++++++ backend.php | 45 ++++++ config.dist.php | 66 +++++++++ index.php | 305 ++++++++++++++++++++++++++++++++++++++ screenshot.png | Bin 0 -> 69803 bytes 8 files changed, 1167 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 LookingGlass.php create mode 100644 README.md create mode 100644 backend.php create mode 100644 config.dist.php create mode 100644 index.php create mode 100644 screenshot.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a2d9a85 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +.idea +config.php +www.bat diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..a612ad9 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/LookingGlass.php b/LookingGlass.php new file mode 100644 index 0000000..9f28782 --- /dev/null +++ b/LookingGlass.php @@ -0,0 +1,328 @@ + array("pipe", "r"), + 1 => array("pipe", "w"), + 2 => array("pipe", "w") + ); + + // sanitize + remove single quotes + $host = str_replace('\'', '', filter_var($host, FILTER_SANITIZE_URL)); + // execute command + $process = proc_open("{$cmd} '{$host}'", $spec, $pipes, null); + + // check pipe exists + if (!is_resource($process)) { + return false; + } + + // check for mtr/traceroute + if (strpos($cmd, 'mtr') !== false) { + $type = 'mtr'; + } elseif (strpos($cmd, 'traceroute') !== false) { + $type = 'traceroute'; + } else { + $type = ''; + } + + $fail = 0; + $match = 0; + $traceCount = 0; + $lastFail = 'start'; + // iterate stdout + while (($str = fgets($pipes[1], 4096)) != null) { + // check for output buffer + if (ob_get_level() == 0) { + ob_start(); + } + + // fix RDNS XSS (outputs non-breakble space correctly) + $str = htmlspecialchars(trim($str)); + + // correct output for mtr + if ($type === 'mtr') { + if ($match < 10 && preg_match('/^[0-9]\. /', $str, $string)) { + $str = preg_replace('/^[0-9]\. /', '  ' . $string[0], $str); + $match++; + } else { + $str = preg_replace('/^[0-9]{2}\. /', ' ' . substr($str, 0, 4), $str); + } + } + // correct output for traceroute + elseif ($type === 'traceroute') { + if ($match < 10 && preg_match('/^[0-9] /', $str, $string)) { + $str = preg_replace('/^[0-9] /', ' ' . $string[0], $str); + $match++; + } + // check for consecutive failed hops + if (strpos($str, '* * *') !== false) { + $fail++; + if ($lastFail !== 'start' + && ($traceCount - 1) === $lastFail + && $fail >= $failCount + ) { + echo str_pad($str . '
-- Traceroute timed out --
', 4096, ' ', STR_PAD_RIGHT); + break; + } + $lastFail = $traceCount; + } + $traceCount++; + } + + // pad string for live output + echo str_pad($str . '
', 4096, ' ', STR_PAD_RIGHT); + + // flush output buffering + @ob_flush(); + flush(); + } + + // iterate stderr + while (($err = fgets($pipes[2], 4096)) != null) { + // check for IPv6 hostname passed to IPv4 command, and vice versa + if (strpos($err, 'Name or service not known') !== false || strpos($err, 'unknown host') !== false) { + echo 'Unauthorized request'; + break; + } + } + + $status = proc_get_status($process); + if ($status['running'] == true) { + // close pipes that are still open + foreach ($pipes as $pipe) { + fclose($pipe); + } + // retrieve parent pid + $ppid = $status['pid']; + // use ps to get all the children of this process + $pids = preg_split('/\s+/', `ps -o pid --no-heading --ppid $ppid`); + // kill remaining processes + foreach($pids as $pid) { + if (is_numeric($pid)) { + posix_kill($pid, 9); + } + } + proc_close($process); + } + return true; + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..bb11a59 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# Looking Glass +Modern, simple and fresh looking glass based on Bootstrap 5 and PHP 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. + +![](screenshot.png) + +### Demo +[See it in action here!](https://lg-nl-oum.hybula.net/) + +### 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. + +### Requirements +- Any Linux distribution, this has been tested on RHEL. +- PHP 7.1 or higher. +- IPv6 connectivity if you want to use the v6 equivalents. +- Root access. + +### Installatio +nFor this installation we will assume that we are working on AlmaLinux 8 OS. Warning: This guide does not cover any security hardening or rate limiting. + +1. Install the required network tools: `dnf install mtr traceroute -y`. +2. Install the web server with PHP (by default it will install 7.2): `dnf install httpd mod_ssl php -y`. +3. Enable and start Apache/PHP-FPM: `systemctl enable httpd; systemctl enable php-fpm` and `systemctl start httpd; systemctl start php-fpm`. +4. 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`. +5. 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`. +6. Upload the contents of the ZIP to /var/www/html/. +7. Rename config.dist.php to config.php and adjust the settings. +8. (Optional) You might want to enable SSL using LetsEncrypt, take a look at [acme.sh](https://github.com/acmesh-official/acme.sh). + +### 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. + +### License +Mozilla Public License Version 2.0 diff --git a/backend.php b/backend.php new file mode 100644 index 0000000..5147bcc --- /dev/null +++ b/backend.php @@ -0,0 +1,45 @@ +Company Looking Glass'; +// Define the URL where the logo points to; +const LG_LOGO_URL = 'https://github.com/hybula/lookingglass/'; + +// Define a custom CSS file which can be used to style the LG, set false to disable, else point to the CSS file; +const LG_CSS_OVERRIDES = false; + +// Enable or disable blocks/parts of the LG, set false to hide a part; +const LG_BLOCK_NETWORK = true; +const LG_BLOCK_LOOKINGGLAS = true; +const LG_BLOCK_SPEEDTEST = true; +// This enables the custom block, which you can use to add something custom to the LG; +const LG_BLOCK_CUSTOM = false; + +// Define a file here which will be used to display the custom block, can be PHP too which outputs HTML; +const LG_CUSTOM_HTML = __DIR__.'/custom.html.php'; +// Define a file here which will be loaded on top of the index file, this can be used to do some post logic; +const LG_CUSTOM_PHP = __DIR__.'/custom.post.php'; + +// Define the location of this network, usually a city and a country; +const LG_LOCATION = 'Amsterdam, Netherlands'; +// Define the facility where the network is located, usually a data center; +const LG_FACILITY = 'Nikhef'; +// Define a direct link to more information about the facility, this should be a link to PeeringDB; +const LG_FACILITY_URL = 'https://www.peeringdb.com/fac/18'; +// Define an IPv4 for testing; +const LG_IPV4 = '127.0.0.1'; +// Define an IPv6 for testing; +const LG_IPV6 = '::1'; + +// Define the methods that can be used by visitors to test it out; +const LG_METHODS = ['ping', 'ping6', 'mtr', 'mtr6', 'traceroute', 'traceroute6']; + +// Define other looking glasses, this is useful if you have multiple networks and looking glasses; +const LG_LOCATIONS = [ + 'Location A' => 'https://github.com/hybula/lookingglass/', + 'Location B' => 'https://github.com/hybula/lookingglass/', + 'Location C' => 'https://github.com/hybula/lookingglass/', +]; + +// Enable the iPerf info inside the speedtest block, set to false to disable; +const LG_SPEEDTEST_IPERF = true; +// Define the label of an incoming iPerf test; +const LG_SPEEDTEST_LABEL_INCOMING = 'iPerf3 Incoming'; +// Define the command to use to test incoming speed using iPerf, preferable iPerf3; +const LG_SPEEDTEST_CMD_INCOMING = 'iperf3 -4 -c hostname -p 5201 -P 4'; +// Define the label of an outgoing iPerf test; +const LG_SPEEDTEST_LABEL_OUTGOING = 'iPerf3 Outgoing'; +// Define the command to use to test outgoing speed using iPerf, preferable iPerf3; +const LG_SPEEDTEST_CMD_OUTGOING = 'iperf3 -4 -c hostname -p 5201 -P 4 -R'; +// Define speedtest files with URLs to the actual files; +const LG_SPEEDTEST_FILES = [ + '100M' => 'https://github.com/hybula/lookingglass/', + '1G' => 'https://github.com/hybula/lookingglass/', + '10G' => 'https://github.com/hybula/lookingglass/' +]; + +// Define if you require visitors to agree with the Terms, set false to disable; +const LG_TERMS = 'https://github.com/hybula/lookingglass/'; diff --git a/index.php b/index.php new file mode 100644 index 0000000..9fb515b --- /dev/null +++ b/index.php @@ -0,0 +1,305 @@ + + + + + + + + + <?php echo LG_TITLE; ?> + + '; } ?> + + + +
+ +
+
+ + + +
+
+ +
+
+ +
+ + +
+
+
+

Network

+ +
+
+ +
+ + Map + + + + +
+
+
+ +
+ + PeeringDB +
+
+
+ +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+
+
+ + + +
+
+
+

Looking Glass

+
+ + +
+
+
+ Target + +
+
+
+
+ + +
+
+
+ +
+ +
+ > + +
+ + +
+ + '.$errorMessage.'
'; ?> + + + + +
+
+
+ + + +
+
+
+

Speedtest

+ + +
+
+ +

+ +
+
+ +

+ +
+
+ + +
+ +
+ $link) { ?> + + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..84860ff9829c4e60ef199b69aff54b1292e5f0d5 GIT binary patch literal 69803 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 kb3*