Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Oncela
Gafam Detector
Commits
9052a86b
Commit
9052a86b
authored
Feb 19, 2018
by
Oncela
Browse files
Upload New File
parent
c54d7581
Changes
1
Hide whitespace changes
Inline
Side-by-side
scan.js
0 → 100644
View file @
9052a86b
// Étape #2 : détecte les requêtes HTTP faites par les nom de domaines listés dans domains.js
// Lorsque le navigateur reçoit une requête HTTP (depuis n'importe quelle URL et à partir de n'importe quel onglet),
// exécute la fonction d'analyse en lui passant en paramètre les détails de la requêtes
// L'analyse intervient avant que le navigateur ait répondu à la requête (false pour analyser après)
if
(
true
)
browser
.
webRequest
.
onBeforeRequest
.
addListener
(
scan
,
{
urls
:
[
"
<all_urls>
"
]});
else
browser
.
webRequest
.
onCompleted
.
addListener
(
scan
,
{
urls
:
[
"
<all_urls>
"
]});
// Analyse une requête
function
scan
(
request
)
{
// Si la requête a été faite depuis un onglet
if
(
request
.
tabId
!=
-
1
)
{
// Pour chaque nom de domaine listé dans domain.js
for
(
var
i
=
0
;
i
<
companies
.
length
;
i
++
)
{
for
(
var
j
=
0
;
j
<
companies
[
i
].
domains
.
length
;
j
++
)
{
// Isole le nom de domaine de l'URL d'où vient la requête
var
url
=
request
.
url
;
url
=
url
.
substr
(
url
.
indexOf
(
"
://
"
)
+
3
);
url
=
url
.
substr
(
0
,
url
.
indexOf
(
"
/
"
));
// Si le nom de domaine de la requête contient celui listé dans domain.js
if
(
url
.
indexOf
(
companies
[
i
].
domains
[
j
])
!=
-
1
)
{
// Récupère l'identifiant de l'onglet d'où est partie la requête
var
id
=
request
.
tabId
;
// Prépare les information à afficher à l'utilisateur
var
info
=
{};
info
.
index
=
i
;
// Index de l'entreprise dont le nom de domaine correspond à celui de la requête
info
.
company
=
companies
[
i
].
title
;
// Nom de l'entreprise dont le nom de domaine correspond à celui de la requête
info
.
domain
=
companies
[
i
].
domains
[
j
];
// Nom de domaine correspondant à celui de la requête
info
.
url
=
request
.
url
;
// URL complète de la requête
info
.
type
=
request
.
type
;
// Type de ressource proposé (image, script, css...)
info
.
date
=
request
.
timeStamp
;
// Date de la requête
// Passe les informations à l'objet chargé de les envoyer sur l'onglet correspondant, où elles seront affichées
tabs
.
update
(
id
,
info
);
// Arrête l'analyse
break
;
}
}
}
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment