O auto-rewards automatiza pesquisas no Microsoft Bing usando o navegador padrão e fecha as abas com ydotool. O projeto é voltado principalmente para Linux com Wayland, incluindo Hyprland, e oferece uma CLI e uma interface gráfica em CustomTkinter.
Use apenas em uma conta Microsoft já autenticada no navegador e respeite os termos aplicáveis ao serviço.
- CLI compacta com progresso no terminal.
- GUI em modo escuro com Start, Stop e barra de progresso.
- Quantidade de pesquisas e intervalo configuráveis.
- Configuração TOML opcional seguindo o padrão XDG.
- Modos
--dry-rune--verbose. - Detecção básica de sessão, Hyprland, navegador e
ydotool. - Cancelamento cooperativo na GUI.
- Python 3.11 ou mais recente.
- Linux; Wayland é o ambiente principal.
- Navegador disponível pelo módulo
webbrowserdo Python ou pela variávelBROWSER. ydotoole seu daemon para fechar abas durante execuções reais.- Tk, necessário para a GUI com CustomTkinter.
Hyprland é detectado para diagnóstico, mas não é obrigatório. Em X11 ou quando o tipo da sessão não pode ser identificado, o programa exibe um aviso e tenta continuar.
No Arch Linux, instale o ydotool com:
sudo pacman -S ydotoolO daemon deve estar ativo antes de uma execução real:
ydotooldClone o repositório:
git clone https://github.com/MOBSAD/auto-rewards.git
cd auto-rewardsA forma recomendada é instalar com pipx, que mantém o aplicativo isolado:
pipx install .Como alternativa, instale no ambiente Python ativo:
python -m pip install .O pacote instala dois comandos:
auto-rewards CLI
auto-rewards-gui GUI
auto-rewards
auto-rewards -n 20 --delay 5
auto-rewards --dry-run
auto-rewards --verbose
auto-rewards --dry-run --verboseOpções disponíveis:
| Opção | Descrição |
|---|---|
-n, --searches N |
Quantidade de pesquisas; deve ser um inteiro maior que zero. |
--delay SECONDS |
Intervalo entre pesquisas; aceita número positivo inteiro ou decimal. |
--dry-run |
Mostra as ações planejadas sem abrir navegador, executar ydotool ou aguardar delays. |
--verbose |
Mostra ambiente detectado, queries, URLs, delays e ações executadas. |
-h, --help |
Mostra a ajuda da CLI. |
Os defaults internos são 15 pesquisas e 7 segundos de intervalo.
auto-rewards-guiA GUI carrega os defaults da configuração, valida os campos e executa as pesquisas em uma thread. O botão Stop solicita cancelamento sem encerrar o processo à força; abas já abertas ainda são fechadas.
Com as dependências instaladas, os dois modos também podem ser iniciados diretamente no repositório:
python main.py
python gui.pyA configuração é opcional e não é criada automaticamente. O caminho padrão é:
~/.config/auto-rewards/config.toml
Quando XDG_CONFIG_HOME estiver definido, o caminho será:
$XDG_CONFIG_HOME/auto-rewards/config.toml
Exemplo:
searches = 15
delay = 7searches deve ser um inteiro maior que zero. delay aceita inteiro ou decimal maior que zero. TOML inválido ou valores incompatíveis produzem um erro claro.
Na CLI, a prioridade é:
argumentos da CLI > config.toml > defaults internos
Por exemplo, auto-rewards -n 5 substitui temporariamente um valor searches definido no arquivo.
Os testes usam apenas a biblioteca padrão e não abrem navegador, GUI ou executam ydotool:
python -m unittest- O projeto é focado em Linux/Wayland; não há suporte específico para X11, macOS ou Windows.
- A detecção de Hyprland depende de
HYPRLAND_INSTANCE_SIGNATURE. - O navegador é aberto pelo mecanismo padrão do Python; ainda não existe opção
--browser. - O fechamento usa o atalho global
Ctrl+W. A janela correta precisa permanecer em foco. - A GUI permite alterar valores para a execução atual, mas não grava o arquivo de configuração.
- Stop é cooperativo: a pesquisa atual pode precisar encerrar sua etapa antes da finalização.
Instale o pacote e confirme que ydotool está no PATH:
command -v ydotoolConfirme que ydotoold está ativo, que o usuário possui as permissões necessárias para dispositivos de entrada e que o navegador está em foco.
Confirme que existe um navegador no PATH ou defina BROWSER, por exemplo:
export BROWSER=firefoxConfira a variável usada pela detecção:
echo "$XDG_SESSION_TYPE"Confirme que a instalação incluiu customtkinter e que o Python possui suporte a Tk. A CLI continua disponível pelo comando auto-rewards.