es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Enviando URL del navegador al servidor mediante Netcat desde mi Extensión de Chrome.

Intento crear un complemento para enviar la URL (cuando cambio de pestaña o la abro) a mi servidor Netcat que escucha en 127.0.0.1:4444 (netcat -l 4444). He creado 3 archivos:

manifest.json

{
  "name": "Conector para Terminal",
  "version": "1.0",
  "description": "Conector para Terminal",
  "browser_action": {
    "default_popup": "popup.html",
    "default_icon":"icon.png"
  },
  "manifest_version": 2,
  "permissions": [
    "tabs",
    "<all_urls>"
  ]
}

background.js

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
  if (changeInfo != undefined) {
    var http = new XMLHttpRequest(); 
    http.open("POST","http://127.0.0.1:4444",true);
    sendme = changeInfo.url
    http.send(sendme);
  }
  alert(sendme);
});

popup.html

<html>
  <head>
    <title>Conector para Terminal</title>
    <script type="text/javascript" src="index.js"></script>
  </head>
  <body>
    <h1>Conector para Terminal</h1>
    <p><a target="_blank" href="http://127.0.0.1:4444">Conector para Terminal</a></p>
  </body>
</html>

El complemento carga sin errores, pero no envía la URL a mi servidor Netcat. ¿Alguien puede ayudarme? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber un problema con el código en tu archivo background.js. Específicamente, en tu XMLHttpRequest, no estás incluyendo el protocolo en la URL (“http://” o “https://”). Intenta cambiar la línea a:

    http.open("POST", "http://127.0.0.1:4444", true);

    Además, es posible que desees verificar que tu servidor de netcat esté configurado correctamente y escuchando en el puerto correcto. Puedes probar esto enviando manualmente un mensaje al servidor usando netcat:

    echo "test" | nc 127.0.0.1 4444

    Si el servidor está configurado correctamente, deberías ver el mensaje “test” aparecer en tu terminal donde se está ejecutando netcat.

    ¡Espero que esto ayude!

Comments are closed.