Click Sync é um sistema de alta precisão projetado para executar cliques simultâneos em múltiplos navegadores com desvio próximo a zero. Desenvolvido especificamente para testes de segurança e análise de vulnerabilidades, o sistema utiliza otimizações a nível de kernel para garantir sincronização precisa em escala de nanosegundos.
- Sincronização de cliques com precisão de nanosegundos
- Suporte a múltiplos navegadores e contextos
- Otimização específica para processadores AMD Ryzen
- Sistema de barreiras de sincronização em três fases
- Logging detalhado com análise de timestamps
- Processador: AMD Ryzen (otimizado para série 5000+)
- Memória RAM: 16GB+
- Armazenamento: SSD NVMe
- Sistema Operacional: Linux (testado em Fedora)
- Python 3.8+
- Selenium WebDriver
- Chrome/Chromium
- Módulos do kernel Linux
- Privilégios root para otimizações de kernel
# Instale as dependências necessárias
sudo dnf install gcc kernel-devel python3-devel chromium-chromedriver
# Configure as permissões de tempo real
echo 'kernel.sched_rt_runtime_us=-1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# Compile o módulo
cd modules/click_sync
make
# Instale o módulo
sudo insmod click_sync.ko
# Verifique a instalação
lsmod | grep click_sync
# Instale o pacote
pip install -e .
/clique/
├── modules/
│ ├── click_sync/ # Módulo kernel
│ ├── click_sync.c
│ └── click_sync_wrapper.c
├── src/
│ ├── click_manager/ # Gerenciamento de cliques
│ ├── commands/ # Comandos do programa
│ ├── main/ # Componentes principais
│ ├── memory/ # Gerenciamento de memória
│ ├── navegador/ # Interação com navegadores
│ └── sistema/ # Gerenciamento do sistema
└── setup.py
new link
: Define URLs para os navegadoresadd
: Adiciona XPaths para elementoslocalize
: Verifica elementos nos navegadoresclick
: Executa cliques sincronizadosexit
: Encerra o programa
# Inicie o programa
python main.py
# Configure links
> new link
Digite o novo link para o navegador 1: https://site1.com
Digite o novo link para o navegador 2: https://site2.com
# Adicione elementos
> add
Digite um novo XPath para o navegador 1: //button[@id='submit']
Digite um novo XPath para o navegador 2: //input[@type='submit']
# Execute cliques sincronizados
> click
- Implementa sincronização precisa usando TSC
- Gerencia barreiras de sincronização
- Otimiza scheduling de threads
- Implementa controle de tempo real
- Coordena operações de clique
- Implementa executor atômico
- Gerencia timestamps precisos
- Analisa desvios de sincronização
- Controla instâncias Selenium
- Gerencia estados dos navegadores
- Implementa localização resiliente
- Otimiza carregamento de páginas
- Implementa lock de memória
- Otimiza uso de cache
- Gerencia prioridades I/O
- Configura scheduling RT
- Use apenas para testes autorizados
- Obtenha permissão antes de testar sites
- Evite sobrecarga em servidores
- Respeite políticas de segurança
- Requer privilégios root
- Otimizado para AMD Ryzen
- Depende de kernel Linux
- Requer Chrome/Chromium (devido ao undetected-chromedriver)
O sistema foi desenvolvido para manter a precisão e sincronização independentemente de:
- Complexidade do DOM
- Framework utilizado no site
- Estado de carregamento da página
- Tipo de elemento a ser clicado
- Quantidade de JavaScript/requisições
- Animações ou transições
Os testes já demonstraram essa independência de contexto, com desvios consistentemente baixos (4-6 nanosegundos).
O sistema fornece logs detalhados com:
- Timestamps precisos
- Análise de desvios
- Estados de sincronização
- Métricas de performance
🔬 Análise Precisa de Timestamps:
⚡ Pre-Atomic (Driver ID):
⏱️ Monotonic: 24009114671290 ns
⚙️ Process Time: 206499813 ns
🧵 Thread Time: 170967264 ns
Use os scripts fornecidos para diagnóstico:
diagnose.sh
: Verifica estado do sistemaverify_click_sync.sh
: Valida módulo kernel
-
Erro de Privilégios
- Verifique se está executando como root
- Confirme as permissões do dispositivo
-
Módulo Kernel não Carrega
- Verifique compatibilidade do kernel
- Confirme se os headers estão instalados
-
Falha na Sincronização
- Verifique carga do sistema
- Confirme prioridade RT
- Valide configurações de CPU
-
Elementos não Encontrados
- Verifique XPaths
- Confirme carregamento da página
- Valide estado do DOM
- Desvio médio: 4-6 nanosegundos
- Desvio máximo: < 10 nanosegundos
- Tempo de sincronização: < 1 microssegundo
- Precisão de timestamp: nanosegundos
- Afinidade de CPU por CCX
- Prioridade RT para threads críticas
- Lock de memória para performance
- Barreiras otimizadas por hardware
- Sincronização TSC
- Fork o repositório
- Crie um branch para features
- Faça commit das alterações
- Push para o branch
- Crie um Pull Request
Este projeto está licenciado sob a GPL v3.
Para suporte e dúvidas:
- Abra uma issue no GitHub
- Documente o problema detalhadamente
- Inclua logs relevantes
- Forneça informações do sistema
Desenvolvido para testes de segurança e análise de vulnerabilidades.
- Implementação inicial
- Suporte a AMD Ryzen
- Sistema de barreiras
- Logging preciso