Re: [Hackmeeting] Estensioni, sturie, dnshook

Delete this message

Reply to this message
Autor: lesion
Data:  
Dla: hackmeeting
Temat: Re: [Hackmeeting] Estensioni, sturie, dnshook
ops. avevo risposto in privato,
rigiro qui che a qualcuno magari interessa.

On 12/21/2009 03:32 PM, ZioPRoTo (Saverio Proto) wrote:
>> Il codice e' su http://code.autistici.org/p/dnshook
>
> scaricato, zippato, rinominato in xpi .. installato
>
> appare un icona col mondo blu nell'angolo in basso.. se ci clicco un
> textfield per scrivere qualcosa ... ma che ci devo scrivere ???
> non riesco a capire come usarlo ...
>
> Saverio


2 sono le funzioni chiave che ti permettono di capire cosa fa':

chrome/content/dnshook.js:36
questa funzione viene chiamata quando premi invio dentro il
textfield e semplicemente aggiunge dentro una sorta di base dati
di firefox l'associazione tra il dominio in cui correntemente
ti trovi e quello che digiti li' dentro.

  //add a hook for current domain
  addDomain: function()
  {
    var currentDomain = content.document.domain;
    var hookedDomain = document.getElementById(
                                     'hookdomaintext' ).value;
    this.application.storage.set( 'dns_hook' + currentDomain,
                                                hookedDomain );
    document.getElementById( "dnshook-panel" ).hidePopup();
  },





dentro component/dnshook.js:37
questa e' la funzione interessante, e' un override della reale
asyncResolve (che infatti la usa alla fine) ma cambia l'hostname
su cui fa' la richiesta nel caso in cui sia presente tra gli hostname
dichiarati da "hookare" attraverso la funzione sopra (il secondo
parametro della storage.get e' il valore di default che deve restituire
nel caso in cui la chiave specificata non venga trovata).

   /* nsIDNSService */
   asyncResolve: function(hostName, flags,
                           listener, listenerEventTarget)
   {


     var hostName = this.application.storage.get( 'dns_hook' +
                               hostName, hostName );


     dump("DNSHook: asyncResolve: " + hostName + "\n");


     return this.dnsService.asyncResolve(hostName, flags, listener,
                                           listenerEventTarget);
    },



in pratica sono su "autistici.org", pigio sull'iconcina del mondo e
scrivo "google.com", cancello la cache chiudo FF ecc, e quando vado su
autistici.org lui in realta' mi porta su google.com
yo
_______________________________________________
Hackmeeting mailing list
Hackmeeting@???
https://www.autistici.org/mailman/listinfo/hackmeeting