Sfoglia il codice sorgente

Merge branch 'master' of github.com:gchq/CyberChef

n1474335 8 anni fa
parent
commit
37f164f11c
5 ha cambiato i file con 43 aggiunte e 5 eliminazioni
  1. 1 1
      package-lock.json
  2. 1 1
      package.json
  3. 12 2
      src/web/App.js
  4. 6 1
      src/web/html/index.html
  5. 23 0
      src/web/static/structuredData.json

+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "cyberchef",
-  "version": "5.12.1",
+  "version": "5.12.2",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "cyberchef",
-  "version": "5.12.1",
+  "version": "5.12.2",
   "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.",
   "author": "n1474335 <n1474335@gmail.com>",
   "homepage": "https://gchq.github.io/CyberChef",

+ 12 - 2
src/web/App.js

@@ -666,10 +666,20 @@ App.prototype.alertCloseClick = function() {
 App.prototype.stateChange = function(e) {
     this.autoBake();
 
+    // Set title
+    const recipeConfig = this.getRecipeConfig();
+    let title = "CyberChef";
+    if (recipeConfig.length === 1) {
+        title = `${recipeConfig[0].op} - ${title}`;
+    } else if (recipeConfig.length > 1) {
+        title = `${recipeConfig.length} operations - ${title}`;
+    }
+    document.title = title;
+
     // Update the current history state (not creating a new one)
     if (this.options.updateUrl) {
-        this.lastStateUrl = this.manager.controls.generateStateUrl(true, true);
-        window.history.replaceState({}, "CyberChef", this.lastStateUrl);
+        this.lastStateUrl = this.manager.controls.generateStateUrl(true, true, recipeConfig);
+        window.history.replaceState({}, title, this.lastStateUrl);
     }
 };
 

+ 6 - 1
src/web/html/index.html

@@ -26,7 +26,7 @@
         <title>CyberChef</title>
         
         <meta name="copyright" content="Crown Copyright 2016" />
-        <meta name="description" content="The Cyber Swiss Army Knife" />
+        <meta name="description" content="The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis" />
         <meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip,  md5, sha1, aes, des, blowfish, xor" />
 
         <link rel="icon" type="image/ico" href="<%- require('../static/images/favicon.ico') %>" />
@@ -76,6 +76,11 @@
             changeLoadingMsg();
             window.loadingMsgsInt = setInterval(changeLoadingMsg, (Math.random() * 1000) + 1000);
         </script>
+        <% if (!htmlWebpackPlugin.options.inline) { %>
+            <script type="application/ld+json">
+                <% print(JSON.stringify(require("../static/structuredData.json"))); %>
+            </script>
+        <% } %>
     </head>
     <body>
         <!-- Preloader overlay -->

+ 23 - 0
src/web/static/structuredData.json

@@ -0,0 +1,23 @@
+[
+    {
+        "@context": "http://schema.org",
+        "@type": "Organization",
+        "url": "https://gchq.github.io/CyberChef/",
+        "logo": "https://gchq.github.io/CyberChef/images/cyberchef-128x128.png",
+        "sameAs": [
+            "https://github.com/gchq/CyberChef",
+            "https://www.npmjs.com/package/cyberchef"
+        ]
+    },
+    {
+        "@context": "http://schema.org",
+        "@type": "WebSite",
+        "url": "https://gchq.github.io/CyberChef/",
+        "name": "CyberChef",
+        "potentialAction": {
+            "@type": "SearchAction",
+            "target": "https://gchq.github.io/CyberChef/?op={operation_search_term}",
+            "query-input": "required name=operation_search_term"
+        }
+    }
+]