Skip to content

maximeKets/linkedin-automation-bot

Repository files navigation

LinkedIn Computer Vision Automation

Python Version uv OpenCV License: MIT GHCR DockerHub

Un bot d'automatisation d'invitations LinkedIn reposant sur la reconnaissance visuelle (Computer Vision) et l'interaction orientée interface utilisateur (GUI Automation).

À propos du projet

Ce script automatise l'envoi d'invitations LinkedIn ciblées (notamment pour les profils Tech et Talent Acquisitions). Au lieu de se baser sur le code HTML du navigateur — qui change souvent et bloque les bots classiques — ce projet s'appuie sur la vision par ordinateur pour reproduire un véritable comportement humain (pauses aléatoires, mouvements réels de la souris, copier-coller dynamique).

Fonctionnalités clés

  • Localisation Visuelle : Détection asynchrone des boutons via opencv-python et une tolérance (confidence) ajustable.
  • Comportement Humain Simulé : Mouvements naturels du curseur, scrolls et temps d'attente aléatoires.
  • Approche Variée : Copier-coller intelligent d'un pool de messages personnalisés (pyperclip).
  • Environnement Moderne : Construit et géré via le nouvel outil de packaging ultra-rapide uv.
  • Failsafe (Arrêt d'Urgence) : Interruption instantanée lors du déplacement de la souris en haut à gauche de l'écran.

Installation & Configuration

Prérequis

  • Python 3.12+
  • uv installé sur votre machine.

Déploiement

  1. Clonez ce dépôt :

    git clone https://github.com/maximeKets/linkedin-automation-bot.git
    cd linkedin-automation-bot
  2. Installez les dépendances via l'outil uv :

    uv sync

Setups additionnels (Captures UI)

Le bot observe votre écran. Il dépend de captures PNG. Si le script ne repère pas de bouton, vous devrez recréer ces petites captures (depuis votre propre moniteur), recadrez-les précisément et mettez-les dans le folder "./image" :

  • connect_btn.png : Bouton Se connecter.
  • add_note_btn.png : Bouton Ajouter une note.
  • send_btn.png : Bouton d'envoi modal.
  • next_page.png : Bouton de pagination.

💡 Conseil de configuration Gardez le niveau de zoom de votre navigateur à 100% lors de la création de la capture. Essayez de ne pas prendre de pixels de bordure extérieurs.

Utilisation

  1. Naviguez sur votre page de recherche LinkedIn.
  2. Lancez le script en console :
    uv run main.py
  3. Basculez sur votre navigateur en moins de 5 secondes. Ne touchez plus à votre clavier ni votre souris. Le script va scanner l'écran, cliquer sur les boutons de connexion et coller la note automatiquement.

Personnalisation

  • Configurez le pool de messages directement dans la variable globale MESSAGES du fichier main.py.
  • Ajustez le volume d'envois journalier en modifiant le paramètre dans l'exécution finale : run_automation(nb_invits=100).

🐳 Déploiement via Docker

Ce projet est distribué sous forme d'image Docker multi-architecture (AMD64 / ARM64).

# 1. Récupérer la dernière image depuis GitHub Container Registry
docker pull ghcr.io/maximeKets/linkedin-automation-bot:latest

# 2. Lancer le conteneur (ajuste le port si nécessaire)
docker run -p 8000:8000 ghcr.io/maximeKets/linkedin-automation-bot:latest

Développé avec ❤️ pour optimiser la recherche d'opportunités entrantes.
Note: Ce projet est un Proof of Concept d'automatisation UI. Utilisez-le conformément aux conditions générales de LinkedIn.

About

Python script automation using Computer Vision (OpenCV & PyAutoGUI) to send personalized connection requests on LinkedIn.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors