⚠️ Avertissement
Ce tuto est purement éducatif. Toute utilisation abusive ou illégale est sous ta responsabilité. Reste éthique !

Salut, Guerrier des Libertés ! 💖

Bienvenue dans ce tuto ultra-simple pour te protéger contre la Loi Narcotrafic. On a créé NarcoShield pour que même toi, qui n’y connais rien en code, puisses dire "non" à la surveillance. Pas besoin d’être un pro, promis ! On va y aller étape par étape, avec plein d’explications. Prêt ? Let’s go ! 🚀

Étape 1 : C’est quoi cette loi ? 🔍

La Loi Narcotrafic (votée au Sénat en février 2025, en débat en mars 2025) permet aux autorités :

Exemple : T’es en train de parler à un pote, et bam, quelqu’un active ton micro. Flippant, non ? Même si t’as rien à cacher, c’est ta vie privée qu’on touche.

Solution : Avec NarcoShield, on détecte et on bloque ces intrusions. Facile !

Étape 2 : Prépare ton Matériel 🛠️

Tu auras besoin de :

Bon à savoir : C’est gratuit et légal pour te protéger. Si t’as un iPhone, c’est plus dur – viens me voir sur pctamalou.fr pour des astuces !

Étape 3 : Choisis ta Protection 🛡️

NarcoShield existe en deux versions : pour ton PC ou ton Android. Suis celle qui te va !

Option 1 : NarcoShield pour PC

Ce qu’il fait : Surveille ta caméra/micro, trouve les intrus, et les bloque.

  1. Installe Python
    • Va sur python.org.
    • Télécharge la dernière version (ex. 3.11).
    • Sur Windows, coche "Add Python to PATH" pendant l’install.
    • Ouvre "Invite de commandes" (Windows) ou "Terminal" (Mac/Linux), tape python --version. Si ça marche, t’es prêt !
  2. Télécharge les outils

    Dans "Invite de commandes" ou "Terminal", tape :

    pip install psutil scapy pycryptodome

    Ça installe tout ce qu’il faut. Si ça bugge, dis-moi par mail admin@pctamalou.fr!

  3. Prends le script

    Copie ce code dans un fichier appelé NarcoShield.py (utilise Notepad par exemple...) :

    import os
    import psutil
    import scapy.all as scapy
    import time
    import platform
    from datetime import datetime
    from cryptography.fernet import Fernet

    # Génère une clé pour sécuriser tes logs
    key = Fernet.generate_key() if not os.path.exists("narcoshield.key") else open("narcoshield.key", "rb").read()
    cipher = Fernet(key)
    if not os.path.exists("narcoshield.key"):
    with open("narcoshield.key", "wb") as key_file:
    key_file.write(key)

    # Écrit des logs chiffrés
    log_file = "narcoshield.log.enc"
    def log_encrypted(message):
    encrypted_msg = cipher.encrypt(message.encode())
    with open(log_file, "ab") as f:
    f.write(encrypted_msg + b"\n")

    # Vérifie les capteurs
    def detect_intrusion():
    for proc in psutil.process_iter(['pid', 'name']):
    try:
    if any(keyword in proc.info['name'].lower() for keyword in ['camera', 'webcam', 'mic', 'audio']):
    msg = f"[ALERT] Capteur actif : {proc.info['name']} (PID: {proc.info['pid']})"
    print(msg)
    log_encrypted(msg)
    trace_source()
    return
    except (psutil.NoSuchProcess, psutil.AccessDenied):
    continue
    print("[OK] Rien de suspect pour l’instant.")

    # Trouve l’intrus
    def trace_source():
    packets = scapy.sniff(filter="tcp", count=10, timeout=5)
    for pkt in packets:
    if pkt.haslayer(scapy.IP):
    src_ip = pkt[scapy.IP].src
    msg = f"[TRACE] Source suspecte : {src_ip}"
    print(msg)
    log_encrypted(msg)
    block_source(src_ip)

    # Bloque l’intrus
    def block_source(ip):
    os_name = platform.system()
    if os_name == "Windows":
    os.system(f"netsh advfirewall firewall add rule name='NarcoBlock_{ip}' dir=in action=block remoteip={ip}")
    print(f"[BLOCK] {ip} bloqué sur Windows.")
    elif os_name == "Linux":
    os.system(f"iptables -A INPUT -s {ip} -j DROP")
    print(f"[BLOCK] {ip} bloqué sur Linux.")
    elif os_name == "Darwin": # Mac
    os.system(f"sudo pfctl -t badguys -T add {ip}")
    print(f"[BLOCK] {ip} bloqué sur Mac.")
    log_encrypted(f"Blocage de {ip}")

    # Lance tout
    print("NarcoShield – Protection activée !")
    log_encrypted("Démarrage")
    while True:
    detect_intrusion()
    time.sleep(5)
  4. Lance NarcoShield

    Ouvre "Invite de commandes" ou "Terminal", va dans le dossier (ex. cd Desktop), et tape :

    python NarcoShield.py

    Il te dira si tout va bien ou si un intrus est détecté. Pour arrêter, fais Ctrl+C.

Option 2 : NarcoShield pour Android

Ce qu’il fait : Surveille ta caméra/micro et coupe le Wi-Fi si un truc louche arrive.

  1. Prépare ton téléphone
    • Va dans "Paramètres" > "À propos" > tape 7 fois sur "Numéro de build".
    • Active "Débogage USB" dans "Options développeurs".
  2. Installe Android Studio

    Télécharge-le sur developer.android.com/studio et installe-le.

  3. Crée l’appli

    Ouvre Android Studio, fais "New Project" > "Empty Activity", appelle-le "NarcoShield". Remplace MainActivity.java par :

    package com.pctamalou.narcoshield;

    import android.Manifest;
    import android.content.Context;
    import android.content.pm.PackageManager;
    import android.hardware.Camera;
    import android.media.AudioRecord;
    import android.net.wifi.WifiManager;
    import android.os.Bundle;
    import android.util.Log;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.core.app.ActivityCompat;
    import androidx.core.content.ContextCompat;
    import java.util.Timer;
    import java.util.TimerTask;

    public class MainActivity extends AppCompatActivity {
    private static final String TAG = "NarcoShield";
    private WifiManager wifiManager;
    private Timer timer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    requestPermissions();
    startMonitoring();
    }

    private void requestPermissions() {
    String[] perms = {Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, Manifest.permission.CHANGE_WIFI_STATE};
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, perms, 100);
    }
    }

    private void startMonitoring() {
    timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {
    @Override
    public void run() {
    if (isCameraActive() || isMicActive()) {
    Log.w(TAG, "[ALERT] Intrusion détectée !");
    wifiManager.setWifiEnabled(false);
    Log.w(TAG, "[BLOCK] WiFi coupé.");
    new Timer().schedule(new TimerTask() {
    @Override
    public void run() {
    wifiManager.setWifiEnabled(true);
    }
    }, 10000);
    } else {
    Log.i(TAG, "[OK] Tout va bien.");
    }
    }
    }, 0, 5000);
    }

    private boolean isCameraActive() {
    try {
    Camera camera = Camera.open();
    if (camera != null) {
    camera.release();
    return true;
    }
    } catch (Exception e) {
    return false;
    }
    return false;
    }

    private boolean isMicActive() {
    try {
    AudioRecord recorder = new AudioRecord(android.media.MediaRecorder.AudioSource.MIC, 44100,
    android.media.AudioFormat.CHANNEL_IN_MONO, android.media.AudioFormat.ENCODING_PCM_16BIT, 1024);
    if (recorder.getState() == AudioRecord.STATE_INITIALIZED) {
    recorder.startRecording();
    if (recorder.getRecordingState() == AudioRecord.RECORDSTATE_RECORDING) {
    recorder.stop();
    recorder.release();
    return true;
    }
    }
    } catch (Exception e) {
    return false;
    }
    return false;
    }
    }

    Ajoute ça dans AndroidManifest.xml avant <application> :

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
  4. Installe l’appli

    Branche ton téléphone en USB, clique "Run" dans Android Studio, choisis ton téléphone, et accepte les permissions une fois installée.

Étape 4 : Utilise NarcoShield 🔄

Sur PC : Laisse le script tourner. Il te prévient et bloque les intrus.

Sur Android : L’appli travaille seule. Si ta caméra/micro s’active, elle coupe le Wi-Fi.

Étape 5 : Reste dans les Clous ! ⚠️

Utilise NarcoShield pour te protéger, pas pour faire des bêtises. Vérifie les lois en France (ex. CNIL) pour rester légal.

Conclusion : T’es un Champion ! 🎉

Avec NarcoShield, t’es prêt à dire "non" à la surveillance ! Ensemble, on défend nos libertés ! 💖