104.130.103.17

AttributeValue
443.https.dhe.dh_params.generator.length
8
443.https.dhe.dh_params.generator.value
Ag==
443.https.dhe.dh_params.prime.length
2048
443.https.dhe.dh_params.prime.value
///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxObIlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjftawv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXTmmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhghfDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq5RXSJhiY+gUQFXKOWoqsqmj//////////w==
443.https.dhe.support
True
443.https.dhe_export.support
False
443.https.heartbleed.heartbeat_enabled
True
443.https.heartbleed.heartbleed_vulnerable
False
443.https.rsa_export.support
False
443.https.ssl_3.support
True
443.https.tls.certificate.parsed.extensions.authority_info_access.issuer_urls
443.https.tls.certificate.parsed.extensions.authority_info_access.ocsp_urls
443.https.tls.certificate.parsed.extensions.authority_key_id
40c2bd278ecc348330a233d7fb6cb3f0b42c80ce
443.https.tls.certificate.parsed.extensions.basic_constraints.is_ca
False
443.https.tls.certificate.parsed.extensions.certificate_policies
{u'cps': [u'http://certificates.godaddy.com/repository/'], u'id': u'2.16.840.1.114413.1.7.23.1'}, {u'id': u'2.23.140.1.2.1'}
443.https.tls.certificate.parsed.extensions.crl_distribution_points
443.https.tls.certificate.parsed.extensions.extended_key_usage.client_auth
True
443.https.tls.certificate.parsed.extensions.extended_key_usage.server_auth
True
443.https.tls.certificate.parsed.extensions.key_usage.digital_signature
True
443.https.tls.certificate.parsed.extensions.key_usage.key_encipherment
True
443.https.tls.certificate.parsed.extensions.key_usage.value
5
443.https.tls.certificate.parsed.extensions.signed_certificate_timestamps
{u'log_id': u'pLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BA=', u'timestamp': 1583850700, u'version': 0, u'signature': u'BAMASDBGAiEA4kqPCV2QmRkduo7WG7OvXMwEEgsIZMEcdN9doxQ41a4CIQCTVXGMtdIBgurex6MczjWKsybaw1K1Qf7G/QcM3AdjFQ=='}, {u'log_id': u'7ku9t3XOYLrhQmkfq+GeZqMPfl+wctiDAMR7iXqo/cs=', u'timestamp': 1583850702, u'version': 0, u'signature': u'BAMARzBFAiBcIAY0Obh1a52w1dQ0GRKXfxHd31TYzjp2xKE9bN97qgIhANFTL6TikHaxtA0oU0ypsPq5GFDocFTBkDvrYtnS5oK+'}, {u'log_id': u'VhQGmi/XwuzT9eG9RLI+x0Z2ubyZEVzA75SYVd
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names
sonhos.com.br, www.sonhos.com.br
443.https.tls.certificate.parsed.extensions.subject_key_id
1091068d05c157bc280315338ff4e754fabffe12
443.https.tls.certificate.parsed.fingerprint_md5
fe25ef1491e91f8e23aa3184c82e6bb2
443.https.tls.certificate.parsed.fingerprint_sha1
e23c49d6039851bb186b93f349f73b56b96c98b5
443.https.tls.certificate.parsed.fingerprint_sha256
2f91b26c40b650c0ad6c2448ce623ee0634c8b504d63f90b41e17e27a415f49e
443.https.tls.certificate.parsed.issuer.common_name
Go Daddy Secure Certificate Authority - G2
443.https.tls.certificate.parsed.issuer.country
US
443.https.tls.certificate.parsed.issuer.locality
Scottsdale
443.https.tls.certificate.parsed.issuer.organization
GoDaddy.com, Inc.
443.https.tls.certificate.parsed.issuer.organizational_unit
443.https.tls.certificate.parsed.issuer.province
Arizona
443.https.tls.certificate.parsed.issuer_dn
C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2
443.https.tls.certificate.parsed.names
sonhos.com.br, www.sonhos.com.br
443.https.tls.certificate.parsed.redacted
False
443.https.tls.certificate.parsed.serial_number
1681286698090793361
443.https.tls.certificate.parsed.signature.self_signed
False
443.https.tls.certificate.parsed.signature.signature_algorithm.name
SHA256WithRSA
443.https.tls.certificate.parsed.signature.signature_algorithm.oid
1.2.840.113549.1.1.11
443.https.tls.certificate.parsed.signature.valid
True
443.https.tls.certificate.parsed.signature.value
R0j22N2EaQ9HTfLSoTDSSSuCd01lQBSa7RNq2lxL11h5UWKRQa4t2WdvtPTSEjEqcoifd+379UyCzL0NiBTumBpjtARMezcEe6KiVq7LVxwYm5FceOmWToq/WIlR7iVxP20PgpYKtnuFQcJ2EnDR2B0p2JC6Vv49UqkZV3MHrufhTf+iw0C/bFdhCA9IIouSxOvw6gyd1R6Ogz/KLrdgm72A7QTAAN8HD3NzydKtyiytN5tEBTl1FnpLPZkhJQgKtyeek/8Xm3hm+IVyNQWmtjdIoABKRIyeuz7op+CtB8WTL8LiLrDvkHeOGN+6v9/GXx93YN+5b2M18KCVjOj0/w==
443.https.tls.certificate.parsed.signature_algorithm.name
SHA256WithRSA
443.https.tls.certificate.parsed.signature_algorithm.oid
1.2.840.113549.1.1.11
443.https.tls.certificate.parsed.spki_subject_fingerprint
4697a249f4d0e4e9d41f97f7f70211081ebf86b18121447904c1af76ccce28bb
443.https.tls.certificate.parsed.subject.common_name
sonhos.com.br
443.https.tls.certificate.parsed.subject.organizational_unit
Domain Control Validated
443.https.tls.certificate.parsed.subject_dn
OU=Domain Control Validated, CN=sonhos.com.br
443.https.tls.certificate.parsed.subject_key_info.fingerprint_sha256
405cc6be2632d50e994f8f6170f02e412df78fa3f395db002d1b62b16c5f19fe
443.https.tls.certificate.parsed.subject_key_info.key_algorithm.name
RSA
443.https.tls.certificate.parsed.subject_key_info.rsa_public_key.exponent
65537
443.https.tls.certificate.parsed.subject_key_info.rsa_public_key.length
2048
443.https.tls.certificate.parsed.subject_key_info.rsa_public_key.modulus
qj5ARBzk8czEmgcM2SJKBIh3pdBbXrt0Jfncbyva17i2ng0JiiFKuJDNwVeITfSCT0qo34yfcDR6SY60dTXs0zak1gDGzJX9ab3J8C64PEuN3bCQ75qstD0CTPssSOKt75reQgTTnwPtMGNSD0fMxZsxNLmCqprhnP3gT0KugdeNOo90bkUuYVUpVN/udI0bWPtuZ4YhsYUBJmCRQXowKP06iHqGolTkz7k6cuTSxEMeRSEpN/MHEI5y3AJp79Ie9ZG8AP9jcBUIti9qOoZrEn6t4ZitvportX+m4t9eqzfE0OYSOYvK5/yzZoAcVX0BvoKSQg8Qlf4Kjr0NaovWQw==
443.https.tls.certificate.parsed.tbs_fingerprint
5c131d42eb5f2f1e85720c381c2a61e8fe27338c55da5b7f569293ff7168d9e0
443.https.tls.certificate.parsed.tbs_noct_fingerprint
46542f3eba585342af91824163ee8d5547b455a17cbceb31bab326605f0bd4f1
443.https.tls.certificate.parsed.validation_level
DV
443.https.tls.certificate.parsed.validity.end
2022-03-15T18:58:02Z
443.https.tls.certificate.parsed.validity.length
63519982
443.https.tls.certificate.parsed.validity.start
2020-03-10T14:31:40Z
443.https.tls.certificate.parsed.version
3
443.https.tls.chain
443.https.tls.cipher_suite.id
0xC02F
443.https.tls.cipher_suite.name
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
443.https.tls.ocsp_stapling
False
443.https.tls.server_key_exchange.ecdh_params.curve_id.id
23
443.https.tls.server_key_exchange.ecdh_params.curve_id.name
secp256r1
443.https.tls.session_ticket.length
192
443.https.tls.session_ticket.lifetime_hint
300
443.https.tls.signature.hash_algorithm
sha512
443.https.tls.signature.signature_algorithm
rsa
443.https.tls.signature.valid
True
443.https.tls.validation.browser_trusted
True
443.https.tls.version
TLSv1.2
80.http.get.body
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>VisualPHPUnit - Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">

<link href="./css/bootstrap.css" rel="stylesheet">
<style>
80.http.get.body_sha256
bbdcac198b30d66807fc051a24dd89306e939bacddba071bcaf8666104a9b7bf
80.http.get.headers.cache_control
no-store, no-cache, must-revalidate, post-check=0, pre-check=0
80.http.get.headers.content_type
text/html; charset=utf-8
80.http.get.headers.expires
Thu, 19 Nov 1981 08:52:00 GMT
80.http.get.headers.pragma
no-cache
80.http.get.headers.server
Apache
80.http.get.headers.unknown
{u'key': u'date', u'value': u'Tue, 06 Apr 2021 20:35:07 GMT'}
80.http.get.headers.vary
Accept-Encoding
80.http.get.headers.x_powered_by
PHP/5.5.22-1+deb.sury.org~precise+1
80.http.get.metadata.description
Apache httpd
80.http.get.metadata.manufacturer
Apache
80.http.get.metadata.product
httpd
80.http.get.status_code
200
80.http.get.status_line
200 OK
80.http.get.title
VisualPHPUnit - Home
autonomous_system.asn
19994
autonomous_system.country_code
US
autonomous_system.description
RACKSPACE
autonomous_system.name
RACKSPACE
autonomous_system.path
11164, 12200, 19994
autonomous_system.rir
unknown
autonomous_system.routed_prefix
104.130.96.0/20
ip
104.130.103.17
location.continent
North America
location.country
United States
location.country_code
US
location.latitude
37.751
location.longitude
-97.822
location.registered_country
United States
location.registered_country_code
US
location.timezone
America/Chicago
ports
80, 443
protocols
443/https, 80/http
tags
http, https
updated_at
2021-04-09T06:33:12+00:00

HTTP Body


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>VisualPHPUnit - Home</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">

    <link href="./css/bootstrap.css" rel="stylesheet">
    <style>
      body {
        padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
      }
    </style>
    <link href="./css/bootstrap-responsive.css" rel="stylesheet">

    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </head>

  <body>

    <div class="navbar navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="./">VisualPHPUnit</a>
          <div class="nav-collapse">
            <ul class="nav">
              <li class='active'><a href="./">Home</a></li>
              <li><a href="./archives">Archives</a></li>
              <li><a href="./graphs">Graphs</a></li>
              <li><a href="./help">Help</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>

    <div class="container" style="width: 100%">

      <div class='row'>

        <div class='span4'>
          <form id='test-container' action='./' method='post' class='well'>
            <ul class="nav nav-list">
              <li class='nav-header'>Files</li>

              <li>
                <div class='file-selector'></div>
              </li>

              <li>
                <p class='help-block'>
                  Tips: You can select multiple files by single-clicking them.
                  You can also use shift+click to select a range of files, or
                  ctrl+click (cmd+click) to select an entire directory.
                </p>
              </li>

              <li class='divider'></li>

              <li class='nav-header'>Options</li>
              <li>
                <label for='store_statistics' class='options-description'>
                  <i class='icon-pencil'></i>
                  Store Statistics
                </label>
                <select id='store_statistics' name='store_statistics' class='test-options'>
                  <option value='0'>No</option>
                  <option value='1' >Yes</option>
                </select>
              </li>
              <li>
                <label for='create_snapshots' class='options-description'>
                  <i class='icon-camera'></i>
                  Create Snapshots
                </label>
                <select id='create_snapshots' name='create_snapshots' class='test-options'>
                  <option value='0'>No</option>
                  <option value='1' selected='selected'>Yes</option>
                </select>
              </li>
              <li>
                <label for='sandbox_errors' class='options-description'>
                  <i class='icon-exclamation-sign'></i>
                  Sandbox Errors
                </label>
                <select id='sandbox_errors' name='sandbox_errors' class='test-options'>
                  <option value='0'>No</option>
                  <option value='1' selected='selected'>Yes</option>
                </select>
              </li>
              <li>
                <label for='xml_configuration_file'>
                  <i class='icon-wrench'></i>
                  XML Configuration File
                </label>
              </li>
              <li>
                <select id='xml_configuration_file' name='xml_configuration_file'>
                  <option value='0' selected='selected'>None</option>
                                </select>
                <p class='help-block'>
                  Note that choosing an XML configuration file will cause VPU to ignore the tests selected above and use the tests specified in the XML file instead.
                </p>
              </li>

              <li class='divider'></li>


              <li class='nav-header'>Display</li>
              <li>
                <label for='sort' class='display-description'>
                  <i class='icon-tasks'></i>
                  Sort
                </label>
                <select id='sort' class='test-display'>
                  <option value='Results (asc)'>Results (asc)</option>
                  <option value='Results (desc)'>Results (desc)</option>
                  <option value='Time (asc)'>Time (asc)</option>
                  <option value='Time (desc)'>Time (desc)</option>
                </select>
              </li>

              <li>
                <span class='display-description'>
                  <i class='icon-eye-open'></i>
                  Show
                </span>
                <label for='display-failed' class='checkbox'>
                  <input type='checkbox' id='display-failed' class='display-suite' value='1' checked='checked' data-target='failed' />
                  <abbr title='Failed'>F</abbr>
                </label>
                <label for='display-incomplete' class='checkbox'>
                  <input type='checkbox' id='display-incomplete' class='display-suite' value='1' checked='checked' data-target='incomplete' />
                  <abbr title='Incomplete'>I</abbr>
                </label>
                <label for='display-skipped' class='checkbox'>
                  <input type='checkbox' id='display-skipped' class='display-suite' value='1' checked='checked' data-target='skipped' />
                  <abbr title='Skipped'>Sk</abbr>
                </label>
                <label for='display-succeeded' class='checkbox'>
                  <input type='checkbox' id='display-succeeded' class='display-suite' value='1' checked='checked' data-target='succeeded' />
                  <abbr title='Succeeded'>Su</abbr>
                </label>
              </li>

              <li class='divider'></li>

              <li class='centered'>
                <input type='hidden' name='test_files' id='test-files' />
                <button type="submit" id='run-tests' class="btn btn-primary">Run Tests</button>
              </li>

            </ul>
          </form>
        </div>

        <div id='test-output' class='span8'></div>
      </div>

    </div>

    <script src='//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
    <script src='//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js'></script>
    <script src='./js/jqueryFileSelector.js'></script>
    <script src='./js/jquery.sortElements.js'></script>
    <script src='./js/bootstrap-alert.js'></script>
    <script src='./js/jquery.hotkeys.js'></script>

    <script type='text/html' id='test-results'>
      <% _.each(notifications, function(notification) { %>
        <div class="alert alert-block alert-<%= notification.type %>">
          <button type="button" class="close" data-dismiss="alert">×</button>
          <h4 class="alert-heading"><%= notification.title %></h4>
          <p class='notification-message'><%= notification.message %></p>
        </div>
      <% }) %>

      <% _.each(suites, function(suite) { %>
        <div class='suite' data-suite-status='<%= suite.status %>' data-suite-time='<%= suite.time %>'>
          <% var statusCap = suite.status.charAt(0).toUpperCase() + suite.status.slice(1); %>
          <h3><%= suite.name %></h3>
          <div class='suite-status'>
            <span class="label label-<%= suite.status %>"><%= statusCap %></span>
          </div>

          <% _.each(suite.tests, function(test) { %>
            <div class="alert alert-block alert-<%= test.status %>">
              <h4 class="alert-heading"><%= test.name %></h4>
              <% if ( test.message) { %>
              <p class='test-message'>
                <strong><%= test.message %></strong>
              </p>
              <% } %>
              <ul class='nav'>
                <li class='test-details'>
                  <em>Execution time:</em>
                  <%= test.time %>s
                </li>
                <% if ( test.output ) { %>
                <li class='test-details'>
                  <em>Debug Output:</em>
                  <pre><%= test.output %></pre>
                </li>
                <% } %>
                <% if ( test.trace ) { %>
                <li class='test-details'>
                  <em>Stack Trace:</em>
                  <pre><%= test.trace %></pre>
                </li>
                <% } %>
              </ul>
            </div>
          <% }) %>
        </div>

      <% }) %>

      <% if ( !_.isEmpty(stats) ) { %>
        <div class='row statistics'>
            <div class='span4'>
            <h3>Suite Statistics</h3>

            <h4>Failed (<%= stats.suites.failed %>/<%= stats.suites.total %>)</h4>
            <div class="progress progress-danger">
                <div class="bar" style="width: <%= stats.suites.percentFailed %>%"></div>
            </div>

            <h4>Incomplete (<%= stats.suites.incomplete %>/<%= stats.suites.total %>)</h4>
            <div class="progress progress-warning">
                <div class="bar" style="width: <%= stats.suites.percentIncomplete %>%"></div>
            </div>

            <h4>Skipped (<%= stats.suites.skipped %>/<%= stats.suites.total %>)</h4>
            <div class="progress progress-info">
                <div class="bar" style="width: <%= stats.suites.percentSkipped %>%"></div>
            </div>

            <h4>Succeeded (<%= stats.suites.succeeded %>/<%= stats.suites.total %>)</h4>
            <div class="progress progress-success">
                <div class="bar" style="width: <%= stats.suites.percentSucceeded %>%"></div>
            </div>
            </div>

            <div class='span4'>
            <h3>Test Statistics</h3>

            <h4>Failed (<%= stats.tests.failed %>/<%= stats.tests.total %>)</h4>
            <div class="progress progress-danger">
                <div class="bar" style="width: <%= stats.tests.percentFailed %>%"></div>
            </div>

            <h4>Incomplete (<%= stats.tests.incomplete %>/<%= stats.tests.total %>)</h4>
            <div class="progress progress-warning">
                <div class="bar" style="width: <%= stats.tests.percentIncomplete %>%"></div>
            </div>

            <h4>Skipped (<%= stats.tests.skipped %>/<%= stats.tests.total %>)</h4>
            <div class="progress progress-info">
                <div class="bar" style="width: <%= stats.tests.percentSkipped %>%"></div>
            </div>

            <h4>Succeeded (<%= stats.tests.succeeded %>/<%= stats.tests.total %>)</h4>
            <div class="progress progress-success">
                <div class="bar" style="width: <%= stats.tests.percentSucceeded %>%"></div>
            </div>
            </div>
        </div>
      <% } %>

      <% if ( errors.length ) { %>
        <h3>Errors</h3>
      <% } %>

      <% _.each(errors, function(error) { %>
        <div class="alert alert-block alert-failed">
          <h4 class="alert-heading"><%= error.type %></h4>
          <p class='error-message'>
            <strong><%= error.message %></strong>
          </p>
          <ul class='nav'>
            <li class='error-details'>
              <em>File:</em>
              <%= error.file %>
            </li>
            <li class='error-details'>
              <em>Line:</em>
              <%= error.line %>
            </li>
          </ul>
        </div>
      <% }) %>

    </script>

    <script>
      $(document).ready(function() {

        var runTests = function(event) {
          var $form = $('#test-container'),
              $output = $('#test-output');

          event.preventDefault();

          $output.fadeOut(300, function() {
            $output.html(
              "<div class='loader'><img src='./img/ajax-loader.gif'></div>"
            ).fadeIn(300);

            $.ajax({
              type: 'POST',
              url: $form.attr('action'),
              data: $form.serialize(),
              complete: function(xhr) {
                var response = xhr.responseText,
                    template = $("#test-results").html();

                try {
                  response = $.parseJSON(response);
                } catch (e) {
                  response = {
                    errors: [],
                    suites: [],
                    stats: [],
                    notifications: [{
                      type: 'failed',
                      title: 'Error Parsing Response From Server',
                      message: response
                    }]
                  };
                }

                $output.fadeOut(300, function() {
                  $output.html(_.template(template, {
                    errors: response.errors,
                    notifications: response.notifications,
                    suites: response.suites,
                    stats: response.stats
                  }));

                  $('#sort').triggerHandler('change');

                  $output.fadeIn(300, function() {
                    $('.display-suite').each(function(index, element) {
                      $(element).triggerHandler('click');
                    });
                  });
                });
              }
            });
          });
        };

        $('#run-tests').click(runTests);
        $(document).bind('keydown.t', runTests);

        $('#sort').change(function() {
          switch ( $(this).val() ) {
            case 'Results (asc)':
              $('.suite').sortElements(function(a, b) {
                return $(a).attr('data-suite-status') > $(b).attr('data-suite-status');
              });
              break;
            case 'Results (desc)':
              $('.suite').sortElements(function(a, b) {
                return $(a).attr('data-suite-status') < $(b).attr('data-suite-status');
              });
              break;
            case 'Time (asc)':
              $('.suite').sortElements(function(a, b) {
                return $(a).attr('data-suite-time') > $(b).attr('data-suite-time');
              });
              break;
            case 'Time (desc)':
              $('.suite').sortElements(function(a, b) {
                return $(a).attr('data-suite-time') < $(b).attr('data-suite-time');
              });
              break;
          }
        });

        $('.display-suite').click(function() {
          var $checkbox = $(this),
              $suites = $('.suite[data-suite-status="' + $checkbox.attr('data-target') + '"]');
          if ( $checkbox.is(':checked') ) {
              $suites.fadeIn();
          } else  {
              $suites.fadeOut();
          }
        });

        $('.file-selector').fileSelector({
          callback: function() {
            var tests = '';
            $('.file.active, .directory.active').each(function() {
              tests += $(this).children('a').attr('data-path') + '|';
            });
            $('#test-files').val(tests.slice(0, -1));
          },
          roots: ["\/var\/www\/vhosts\/sonhos.com.br\/laravel5_prod\/tests"],
          serverEndpoint: './file-list'
        });
      });
    </script>

  </body>
</html>