Dodanie łagodniejszej wersji maila
This commit is contained in:
		
							parent
							
								
									e7dc46c45f
								
							
						
					
					
						commit
						bb86842c92
					
				
							
								
								
									
										58
									
								
								email-template-harsh.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								email-template-harsh.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,58 @@
 | 
				
			|||||||
 | 
					function harsh_email_template() {
 | 
				
			||||||
 | 
					  const text_html = /* HTML */ `<p>
 | 
				
			||||||
 | 
					      Dzień dobry, w dniu ${getDate()} odwiedziłem stronę ${tab.url}. Strona ta
 | 
				
			||||||
 | 
					      bez mojej zgody wysłała moje dane osobowe do następujących podmiotów:
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    ${renderDataList()}
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Informacje te są automatycznie wysyłane przez Państwa stronę przez
 | 
				
			||||||
 | 
					      skrypty, które są na niej umieszczone. Pomimo faktu, że nie otrzymują
 | 
				
			||||||
 | 
					      Państwo bezpośrednio i nie przechowują tych danych, w świetle RODO są
 | 
				
			||||||
 | 
					      Państwo administratorem moich danych osobowych (utwierdza taki stan rzeczy
 | 
				
			||||||
 | 
					      <a
 | 
				
			||||||
 | 
					        href="https://curia.europa.eu/juris/document/document.jsf?text=&docid=216555&pageIndex=0&doclang=PL&mode=lst&dir=&occ=first&part=1&cid=3313819"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        wyrok TSUE w sprawie C‑40/17 </a
 | 
				
			||||||
 | 
					      >). W załączeniu przesyłam zrzuty ekranów prezentujące wysłane przez
 | 
				
			||||||
 | 
					      Państwa stronę dane osobowe, wraz z ich adresatami.
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Dane te zostały przesłane bez mojej zgody i nastąpiło to zanim miałem w
 | 
				
			||||||
 | 
					      ogóle szansę przeczytać Państwa politykę prywatności. Nie widzę zatem
 | 
				
			||||||
 | 
					      przesłanki legalizującej takie przetwarzanie moich danych osobowych (na
 | 
				
			||||||
 | 
					      pewno nie jest to przetwarzanie konieczne do wyświetlenia strony z
 | 
				
			||||||
 | 
					      technicznego punktu widzenia). Jeżeli takie przesłanki legalizujące jednak
 | 
				
			||||||
 | 
					      występują, proszę o ich wskazanie,
 | 
				
			||||||
 | 
					      <strong> dla każdego z celów i podmiotów z osobna</strong>.
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Niniejszym zwracam się także z żądaniem wycofania przesłanych przez
 | 
				
			||||||
 | 
					      Państwa stronę moich danych osobowych z baz wyżej wymienionych podmiotów
 | 
				
			||||||
 | 
					      oraz przesłania potwierdzenia uwiarygadniającego pomyślne wycofanie tych
 | 
				
			||||||
 | 
					      danych. Proszę też o przesłanie tożsamości podmiotów, które są
 | 
				
			||||||
 | 
					      właścicielami wyżej wymienionych domen, abym mógł zapoznać się z ich
 | 
				
			||||||
 | 
					      politykami prywatności.
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Proszę też o wysłanie kopii danych zebranych na mój temat i wysłanych do
 | 
				
			||||||
 | 
					      wyżej wymienionych podmiotów.
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Apeluję także o wprowadzenie stosownych zmian na stronie tak, aby nie
 | 
				
			||||||
 | 
					      pozostawiać cienia wątpliwości odnośnie tego, na mocy jakiej przesłanki
 | 
				
			||||||
 | 
					      legalizującej dane są przetwarzane przez wspomniane podmioty trzecie, lub
 | 
				
			||||||
 | 
					      tak, aby te dane po prostu nie były wysyłane. Pomoże to zachować
 | 
				
			||||||
 | 
					      prywatność innym użytkownikom Państwa strony. Polecam Państwa uwadze
 | 
				
			||||||
 | 
					      oficjalne wytyczne EROD dotyczące zgody w kontekście RODO:
 | 
				
			||||||
 | 
					      https://edpb.europa.eu/sites/default/files/files/file1/edpb_guidelines_202005_consent_pl.pdf
 | 
				
			||||||
 | 
					      ). Aby na przykład zapobiec automatycznemu wysyłaniu historii przeglądania
 | 
				
			||||||
 | 
					      do podmiotów trzecich przez Państwa stronę, można po prostu ustawić
 | 
				
			||||||
 | 
					      odpowiednio treść nagłówka
 | 
				
			||||||
 | 
					      <a
 | 
				
			||||||
 | 
					        href="https://developer.mozilla.org/pl/docs/Web/HTTP/Headers/Referrer-Policy"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        Referrer-Policy </a
 | 
				
			||||||
 | 
					      >.
 | 
				
			||||||
 | 
					    </p> `;
 | 
				
			||||||
 | 
					  return text_html;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										48
									
								
								email-template-polite.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								email-template-polite.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					function polite_email_template() {
 | 
				
			||||||
 | 
					  const text_html = /* HTML */ `<p>
 | 
				
			||||||
 | 
					      Dzień dobry, w dniu ${getDate()} odwiedziłem stronę ${tab.url}. Strona ta
 | 
				
			||||||
 | 
					      bez mojej zgody wysłała moje dane osobowe do następujących podmiotów:
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    ${renderDataList()}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Informacje te są automatycznie wysyłane przez Państwa stronę przez
 | 
				
			||||||
 | 
					      skrypty, które są na niej umieszczone. Pomimo faktu, że nie otrzymują
 | 
				
			||||||
 | 
					      Państwo bezpośrednio i nie przechowują tych danych, w świetle RODO są
 | 
				
			||||||
 | 
					      Państwo administratorem moich danych osobowych (utwierdza taki stan rzeczy
 | 
				
			||||||
 | 
					      <a
 | 
				
			||||||
 | 
					        href="https://curia.europa.eu/juris/document/document.jsf?text=&docid=216555&pageIndex=0&doclang=PL&mode=lst&dir=&occ=first&part=1&cid=3313819"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        wyrok TSUE w sprawie C‑40/17 </a
 | 
				
			||||||
 | 
					      >). W załączeniu przesyłam zrzuty ekranów prezentujące wysłane przez
 | 
				
			||||||
 | 
					      Państwa stronę dane osobowe, wraz z ich adresatami.
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Dane te zostały przesłane bez mojej zgody i nastąpiło to zanim miałem w
 | 
				
			||||||
 | 
					      ogóle szansę przeczytać Państwa politykę prywatności. Nie widzę zatem
 | 
				
			||||||
 | 
					      przesłanki legalizującej takie przetwarzanie moich danych osobowych (na
 | 
				
			||||||
 | 
					      pewno nie jest to przetwarzanie konieczne do wyświetlenia strony z
 | 
				
			||||||
 | 
					      technicznego punktu widzenia). Jeżeli takie przesłanki legalizujące jednak
 | 
				
			||||||
 | 
					      występują, proszę o ich wskazanie,
 | 
				
			||||||
 | 
					      <strong> dla każdego z celów i podmiotów z osobna</strong>.
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					      Apeluję także o wprowadzenie stosownych zmian na stronie tak, aby nie
 | 
				
			||||||
 | 
					      pozostawiać cienia wątpliwości odnośnie tego, na mocy jakiej przesłanki
 | 
				
			||||||
 | 
					      legalizującej dane są przetwarzane przez wspomniane podmioty trzecie, lub
 | 
				
			||||||
 | 
					      tak, aby te dane po prostu nie były wysyłane. Pomoże to zachować
 | 
				
			||||||
 | 
					      prywatność innym użytkownikom Państwa strony. Polecam Państwa uwadze
 | 
				
			||||||
 | 
					      oficjalne wytyczne EROD dotyczące zgody w kontekście RODO:
 | 
				
			||||||
 | 
					      https://edpb.europa.eu/sites/default/files/files/file1/edpb_guidelines_202005_consent_pl.pdf
 | 
				
			||||||
 | 
					      ). Aby na przykład zapobiec automatycznemu wysyłaniu historii przeglądania
 | 
				
			||||||
 | 
					      do podmiotów trzecich przez Państwa stronę, można po prostu ustawić
 | 
				
			||||||
 | 
					      odpowiednio treść nagłówka
 | 
				
			||||||
 | 
					      <a
 | 
				
			||||||
 | 
					        href="https://developer.mozilla.org/pl/docs/Web/HTTP/Headers/Referrer-Policy"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        Referrer-Policy </a
 | 
				
			||||||
 | 
					      >.
 | 
				
			||||||
 | 
					    </p> `;
 | 
				
			||||||
 | 
					  return text_html;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,5 +1,9 @@
 | 
				
			|||||||
<meta charset="utf-8">
 | 
					<meta charset="utf-8">
 | 
				
			||||||
<button id="clean">clean memory</button>
 | 
					<button id="clean">clean memory</button>
 | 
				
			||||||
<button id="copy">copy email template</button>
 | 
					<button id="copy_harsh">copy harsh email template</button>
 | 
				
			||||||
 | 
					<button id="copy_polite">copy polite email template</button>
 | 
				
			||||||
<div id="output"></div>
 | 
					<div id="output"></div>
 | 
				
			||||||
<script src="popup.js"></script>
 | 
					<script src="popup.js"></script>
 | 
				
			||||||
 | 
					<script src="render-data-list.js"></script>
 | 
				
			||||||
 | 
					<script src="email-template-harsh.js"></script>
 | 
				
			||||||
 | 
					<script src="email-template-polite.js"></script>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										95
									
								
								popup.js
									
									
									
									
									
								
							
							
						
						
									
										95
									
								
								popup.js
									
									
									
									
									
								
							@ -23,6 +23,12 @@ function sortByShorthost(tabdata) {
 | 
				
			|||||||
  });
 | 
					  });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function extractAllCookies(requests) {
 | 
				
			||||||
 | 
					  return Array.from(new Set(requests.map((request) => request.cookie))).filter(
 | 
				
			||||||
 | 
					    (cookie) => cookie !== undefined
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function render(memory = {}) {
 | 
					function render(memory = {}) {
 | 
				
			||||||
  let output_txt = "";
 | 
					  let output_txt = "";
 | 
				
			||||||
  if (!memory?.[tabid]) {
 | 
					  if (!memory?.[tabid]) {
 | 
				
			||||||
@ -30,11 +36,26 @@ function render(memory = {}) {
 | 
				
			|||||||
    output.innerHTML = output_txt;
 | 
					    output.innerHTML = output_txt;
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  output_txt = /* HTML */ `<h2>
 | 
				
			||||||
 | 
					      Część Twojej historii przeglądania została wysłana przez stronę ${tab.url}
 | 
				
			||||||
 | 
					      do:
 | 
				
			||||||
 | 
					    </h2>
 | 
				
			||||||
 | 
					    <ul></ul>`;
 | 
				
			||||||
  sortByShorthost(memory[tabid]).forEach(([shorthost, requests]) => {
 | 
					  sortByShorthost(memory[tabid]).forEach(([shorthost, requests]) => {
 | 
				
			||||||
    output_txt += /* HTML */ `${shorthost} ${
 | 
					    output_txt += /* HTML */ `
 | 
				
			||||||
      atLeastOneCookiedRequest(requests) ? "🍪" : ""
 | 
					      <li>
 | 
				
			||||||
    }</br>`;
 | 
					        ${shorthost}
 | 
				
			||||||
 | 
					        ${atLeastOneCookiedRequest(requests)
 | 
				
			||||||
 | 
					          ? /*  HTML */ `🍪 <ul>
 | 
				
			||||||
 | 
					            ${extractAllCookies(requests)
 | 
				
			||||||
 | 
					              .map((cookie) => `<li><code>${cookie}</code></li>`)
 | 
				
			||||||
 | 
					              .join("\n")}
 | 
				
			||||||
 | 
					          </ul>`
 | 
				
			||||||
 | 
					          : ""}
 | 
				
			||||||
 | 
					      </li>
 | 
				
			||||||
 | 
					    `;
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					  output_txt += "</ul>";
 | 
				
			||||||
  output.innerHTML = output_txt;
 | 
					  output.innerHTML = output_txt;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -54,65 +75,15 @@ function getDate() {
 | 
				
			|||||||
  return new Date().toISOString().split("T")[0];
 | 
					  return new Date().toISOString().split("T")[0];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
copy.onclick = () => {
 | 
					copy_harsh.onclick = () => {
 | 
				
			||||||
  const text_html = /* HTML */ `<p>
 | 
					  const text_html = harsh_email_template();
 | 
				
			||||||
      Dzień dobry, w dniu ${getDate()} odwiedziłem stronę ${tab.url}. Strona ta
 | 
					  navigator.clipboard.write([
 | 
				
			||||||
      bez mojej zgody wysłała moje dane osobowe do następujących podmiotów:
 | 
					    new ClipboardItem({ "text/plain": text_html, "text/html": text_html }),
 | 
				
			||||||
    </p>
 | 
					  ]);
 | 
				
			||||||
    <ul>
 | 
					};
 | 
				
			||||||
      ${sortByShorthost(memory[tabid])
 | 
					
 | 
				
			||||||
        .map(
 | 
					copy_polite.onclick = () => {
 | 
				
			||||||
          ([shorthost, requests]) => /* HTML */ `<li>
 | 
					  const text_html = polite_email_template();
 | 
				
			||||||
            Właściciel domeny <i>${shorthost}</i> otrzymał mój adres IP i część
 | 
					 | 
				
			||||||
            mojej historii
 | 
					 | 
				
			||||||
            przeglądania${atLeastOneCookiedRequest(requests)
 | 
					 | 
				
			||||||
              ? " <strong>opatrzoną sztucznie nadanym mi ID z Cookies</strong>"
 | 
					 | 
				
			||||||
              : ""};
 | 
					 | 
				
			||||||
          </li>`
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
        .join("\n")}
 | 
					 | 
				
			||||||
    </ul>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <p>
 | 
					 | 
				
			||||||
      Informacje te są automatycznie wysyłane przez Państwa stronę przez
 | 
					 | 
				
			||||||
      skrypty, które są na niej umieszczone. Pomimo faktu, że nie otrzymują
 | 
					 | 
				
			||||||
      Państwo bezpośrednio i nie przechowują tych danych, w świetle RODO są
 | 
					 | 
				
			||||||
      Państwo administratorem moich danych osobowych (utwierdza taki stan rzeczy
 | 
					 | 
				
			||||||
      <a
 | 
					 | 
				
			||||||
        href="https://curia.europa.eu/juris/document/document.jsf?text=&docid=216555&pageIndex=0&doclang=PL&mode=lst&dir=&occ=first&part=1&cid=3313819"
 | 
					 | 
				
			||||||
      >
 | 
					 | 
				
			||||||
        wyrok TSUE w sprawie C‑40/17 </a
 | 
					 | 
				
			||||||
      >). W załączeniu przesyłam zrzuty ekranów prezentujące wysłane przez
 | 
					 | 
				
			||||||
      Państwa stronę dane osobowe, wraz z ich adresatami.
 | 
					 | 
				
			||||||
    </p>
 | 
					 | 
				
			||||||
    <p>
 | 
					 | 
				
			||||||
      Dane te zostały przesłane bez mojej zgody i nastąpiło to zanim miałem w
 | 
					 | 
				
			||||||
      ogóle szansę przeczytać Państwa politykę prywatności. Nie widzę zatem
 | 
					 | 
				
			||||||
      przesłanki legalizującej takie przetwarzanie moich danych osobowych (na
 | 
					 | 
				
			||||||
      pewno nie jest to przetwarzanie konieczne do wyświetlenia strony z punktu
 | 
					 | 
				
			||||||
      widzenia technicznego). Jeżeli takie przesłanki legalizujące jednak
 | 
					 | 
				
			||||||
      występują, proszę o ich wskazanie, dla każdego z celów i podmiotów z
 | 
					 | 
				
			||||||
      osobna.
 | 
					 | 
				
			||||||
    </p>
 | 
					 | 
				
			||||||
    <p>
 | 
					 | 
				
			||||||
      Niniejszym zwracam się także z żądaniem wycofania przesłanych przez
 | 
					 | 
				
			||||||
      Państwa stronę moich danych osobowych z baz wyżej wymienionych podmiotów
 | 
					 | 
				
			||||||
      oraz przesłania potwierdzenia uwiarygadniającego pomyślne wycofanie tych
 | 
					 | 
				
			||||||
      danych. Proszę też o przesłanie tożsamości podmiotów, które są
 | 
					 | 
				
			||||||
      właścicielami wyżej wymienionych domen, abym mógł zapoznać się z ich
 | 
					 | 
				
			||||||
      politykami prywatności.
 | 
					 | 
				
			||||||
    </p>
 | 
					 | 
				
			||||||
    <p>
 | 
					 | 
				
			||||||
      Proszę też o wysłanie kopii danych zebranych na mój temat i wysłanych do
 | 
					 | 
				
			||||||
      wyżej wymienionych podmiotów.
 | 
					 | 
				
			||||||
    </p>
 | 
					 | 
				
			||||||
    <p>
 | 
					 | 
				
			||||||
      Apeluję także o wprowadzenie stosownych zmian na stronie tak, aby nie
 | 
					 | 
				
			||||||
      pozostawiać cienia wątpliwości odnośnie tego, na mocy jakiej przesłanki
 | 
					 | 
				
			||||||
      legalizującej dane są przetwarzane przez wspomniane podmioty trzecie, lub
 | 
					 | 
				
			||||||
      tak, aby te dane po prostu nie były wysyłane. Pomoże to zachować
 | 
					 | 
				
			||||||
      prywatność innym użytkownikom Państwa strony.
 | 
					 | 
				
			||||||
    </p> `;
 | 
					 | 
				
			||||||
  navigator.clipboard.write([
 | 
					  navigator.clipboard.write([
 | 
				
			||||||
    new ClipboardItem({ "text/plain": text_html, "text/html": text_html }),
 | 
					    new ClipboardItem({ "text/plain": text_html, "text/html": text_html }),
 | 
				
			||||||
  ]);
 | 
					  ]);
 | 
				
			||||||
 | 
				
			|||||||
@ -2,10 +2,31 @@ console.log("PROBLEMATIC REQUESTS");
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
let memory = {};
 | 
					let memory = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function gethost(url) {
 | 
				
			||||||
 | 
					  return new URL(request.url).host;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function getshorthost(host) {
 | 
				
			||||||
 | 
					  console.log("getshort", host);
 | 
				
			||||||
 | 
					  return host.split(".").slice(-2).join(".");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// const isThirdParty = (arg) => arg.urlClassification.thirdParty.length > 0;
 | 
					// const isThirdParty = (arg) => arg.urlClassification.thirdParty.length > 0;
 | 
				
			||||||
async function isThirdParty(request) {
 | 
					async function isThirdParty(request) {
 | 
				
			||||||
  const request_url = new URL(request.url);
 | 
					  const request_url = new URL(request.url);
 | 
				
			||||||
  const origin_url = new URL(await getOrigin(request));
 | 
					  const origin_url = new URL(await getOrigin(request));
 | 
				
			||||||
 | 
					  /* console.log(request_url.ho, origin_url, request_url.includes(origin_url)); */
 | 
				
			||||||
 | 
					  console.log(
 | 
				
			||||||
 | 
					    request_url.host,
 | 
				
			||||||
 | 
					    origin_url.host,
 | 
				
			||||||
 | 
					    request_url.host.includes(origin_url.host)
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
 | 
					  if (request_url.host.includes(origin_url.host)) {
 | 
				
			||||||
 | 
					    return false;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (getshorthost(request_url.host) == getshorthost(origin_url.host)) {
 | 
				
			||||||
 | 
					    return false;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    request_url.origin != origin_url.origin ||
 | 
					    request_url.origin != origin_url.origin ||
 | 
				
			||||||
    request.urlClassification.thirdParty.length > 0
 | 
					    request.urlClassification.thirdParty.length > 0
 | 
				
			||||||
@ -45,13 +66,15 @@ browser.webRequest.onBeforeSendHeaders.addListener(
 | 
				
			|||||||
      if (!memory[request.tabId]) {
 | 
					      if (!memory[request.tabId]) {
 | 
				
			||||||
        memory[request.tabId] = {};
 | 
					        memory[request.tabId] = {};
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      const shorthost = new URL(request.url).host
 | 
					      const shorthost = getshorthost(new URL(request.url).host);
 | 
				
			||||||
        .match(/((\.[^.]+){2}$)/)[0]
 | 
					 | 
				
			||||||
        .slice(1);
 | 
					 | 
				
			||||||
      if (!memory[request.tabId][shorthost]) {
 | 
					      if (!memory[request.tabId][shorthost]) {
 | 
				
			||||||
        memory[request.tabId][shorthost] = [];
 | 
					        memory[request.tabId][shorthost] = [];
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      memory[request.tabId][shorthost].push({ url: request.url, has_cookie });
 | 
					      memory[request.tabId][shorthost].push({
 | 
				
			||||||
 | 
					        url: request.url,
 | 
				
			||||||
 | 
					        has_cookie,
 | 
				
			||||||
 | 
					        cookie: request.requestHeaders.find((h) => h.name == "Cookie")?.value,
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  { urls: ["<all_urls>"] },
 | 
					  { urls: ["<all_urls>"] },
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										15
									
								
								render-data-list.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								render-data-list.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					function renderDataList() {
 | 
				
			||||||
 | 
					  return /* HTML */ ` <ul>
 | 
				
			||||||
 | 
					    ${sortByShorthost(memory[tabid])
 | 
				
			||||||
 | 
					      .map(
 | 
				
			||||||
 | 
					        ([shorthost, requests]) => /* HTML */ `<li>
 | 
				
			||||||
 | 
					          właściciel domeny <i>${shorthost}</i> otrzymał mój adres IP i część
 | 
				
			||||||
 | 
					          mojej historii
 | 
				
			||||||
 | 
					          przeglądania${atLeastOneCookiedRequest(requests)
 | 
				
			||||||
 | 
					            ? " <strong>opatrzoną sztucznie nadanym mi ID z Cookies</strong>"
 | 
				
			||||||
 | 
					            : ""};
 | 
				
			||||||
 | 
					        </li>`
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
 | 
					      .join("\n")}
 | 
				
			||||||
 | 
					  </ul>`;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user