Skip to content

Repository files navigation

 __ ___ _
\ \ / (_)_ __ | | ___ __ _ _ __
\ \ /\ / /| | '_ \| | / _ \/ _` | '_ \
\ V V / | | | | | |__| __/ (_| | | | |
\_/\_/ |_|_| |_|_____\___|\__,_|_| |_|

Debloat, privacidade e performance para Windows 10/11 — com interface em Rust e rollback de verdade.

PowerShellRustWindowsLicense: MIT

🇺🇸 English version


Instalação em uma linha

Abra o Terminal como Administrador (botão direito no Iniciar → Terminal (Admin)) e cole:

irm https://raw.githubusercontent.com/isaacoolibama/WinLean/main/install.ps1 | iex

O instalador baixa tudo para %LOCALAPPDATA%\WinLean, cria um atalho temporário no menu Iniciar e abre a interface. Ao fechar o aplicativo, a instalação, o atalho e os temporários do WinLean são removidos automaticamente. Logs e journals de rollback em C:\ProgramData\WinLean são preservados.

Em inglês:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/isaacoolibama/WinLean/main/install.ps1))) -Lang en

Outras opções: -NoLaunch (só instala), -Cli (usa o menu PowerShell), -Force (força uma reinstalação).


Por que mais um debloater?

A maioria dos scripts de debloat é uma lista de reg add sem nenhuma memória do que foi alterado. Se algo quebrar uma semana depois, o caminho é reinstalar o Windows.

O WinLean foi construído sobre três restrições:

RestriçãoComo é garantida
Nada é irreversívelCada valor de registro, serviço e tarefa agendada é gravado em um journal JSON com o estado anterior antes da alteração. O -Revert executa o journal ao contrário.
O Windows precisa continuar usávelServiços vão para Manual, não Disabled, sempre que desabilitar pudesse quebrar impressão, VPN, Bluetooth ou projeção. Search, Defender e Update nunca são tocados.
Otimização precisa ser realMemory Compression permanece ligada e o Prefetch não é apagado. Os dois costumam ser "otimizados" por outros scripts, e remover ambos deixa máquinas com pouca RAM mais lentas.

Arquitetura

 ┌────────────────────────┐ ┌──────────────────────────────┐
│ winlean.exe (Rust) │ │ WinLean.ps1 (motor) │
│ HTML/CSS + WebView2 │──exec──▶ toda a lógica de alteração │
│ monta a linha de cmd │◀─pipe──│ saída em texto estruturado │
└────────────────────────┘ └──────────────┬───────────────┘
│
┌─────────────▼──────────────┐
│ journal-<data>.json │
│ estado anterior de tudo │
└────────────────────────────┘

A interface não altera o sistema. Ela monta a linha de comando e delega ao WinLean.ps1, que continua utilizável sozinho. Isso mantém uma única fonte de verdade sobre o que é modificado na máquina — e permite auditar o script sem ler uma linha de Rust.

A janela nativa é controlada por Rust e renderizada pelo Microsoft WebView2. O instalador verifica o runtime e o instala automaticamente quando necessário, inclusive no Windows LTSC. O PowerShell executa apenas como motor oculto e nenhum processo fica residente depois que o aplicativo é fechado.


A interface

A v1.3.0 abre maximizada como um aplicativo gráfico normal do Windows: painel HTML/CSS com cores sólidas, presets em cartões, seleção visual dos módulos, plano de energia e modo de simulação. Antes de qualquer alteração, uma confirmação resume exatamente o que será executado. Durante a execução, o progresso e o log ficam em um modal central — a página não pula nem exige rolagem.

O botão Desfazer última execução usa o journal mais recente. Português e inglês podem ser alternados no topo da janela, e a escolha é repassada ao motor via -Language.


Presets

PresetO que fazPlano de energia
MínimoSó telemetria, rastreamento e políticas de IA. Nenhuma mudança de interface ou app.Manter
TrabalhoBloatware, telemetria, IA, serviços, interface, performance, limpezaAutomático
JogosTudo do Trabalho + GameDVR off, Game Mode on, MMCSS, throttling de rede offDesempenho máximo
TudoTudo, mais modo low-end, menu clássico e Fast Startup desativadoDesempenho máximo

Planos de energia

Selecionáveis na lista Plano de energia da interface ou com -PowerPlan na linha de comando.

OpçãoDescrição
ManterNão altera nada relacionado a energia
AutomáticoDesktop recebe Desempenho máximo, notebook fica em Equilibrado
EquilibradoPadrão do Windows. Escala a frequência conforme a carga
Alto desempenhoMantém a CPU em frequência alta. Mais consumo e calor
Desempenho máximoElimina micro-latências do gerenciamento de energia
Economia de energiaPrioriza bateria, reduz desempenho de forma perceptível

Dois detalhes que o script resolve por você:

  • Desempenho máximo vem oculto no Windows. O script duplica o esquema antes de ativá-lo, e verifica se o hardware aceitou — muitos notebooks recusam esse plano. Se for recusado, nada é alterado e você é avisado, em vez de o script mentir que aplicou.
  • Em desktop, a suspensão seletiva de USB também é desligada. É causa clássica de periférico sumindo do nada.

Módulos

1. Remoção de bloatware

Remove cerca de 70 pacotes UWP para o usuário atual e faz o deprovisioning, para que novos perfis já nasçam limpos. Inclui Copilot, Widgets, o "novo Outlook", Teams, apps Bing, Phone Link, Clipchamp, DevHome e a shovelware de OEM de sempre.

Uma lista de proteção fixa garante que Microsoft Store, winget, Terminal, Calculadora, Bloco de Notas, Paint, Ferramenta de Captura, Fotos, Câmera, Segurança do Windows, codecs de mídia e o Microsoft.XboxIdentityProvider (exigido por muitos jogos) nunca sejam removidos — mesmo que algum curinga os alcance.

2. Privacidade e telemetria
  • AllowTelemetry = 0 nos dois caminhos de política
  • ID de publicidade, experiências personalizadas, histórico de atividades e upload de timeline desligados
  • 19 chaves de sugestão/anúncio do ContentDeliveryManager zeradas
  • Personalização de digitação, tinta digital e coleta de contatos desligadas
  • Relatório de Erros do Windows desligado
  • DiagTrack e dmwappushservice desabilitados; RetailDemo e WMPNetworkSvc também
  • WerSvc, PcaSvc e MapsBroker em Manual
  • 21 tarefas agendadas de telemetria desativadas
3. Copilot, Recall e Windows AI

TurnOffWindowsCopilot nas políticas de máquina e de usuário. Em WindowsAI: DisableAIDataAnalysis, AllowRecallEnablement=0, TurnOffSavingSnapshots, DisableClickToDo, além de Cocreator, Image Creator e preenchimento generativo do Paint.

A IA do Edge é tratada à parte, porque o Edge 141+ desacoplou-a do Copilot do sistema: sidebar, contexto de página, Compose e assistente de compras desligados por política.

4. Serviços

28 serviços reajustados neste módulo, cada um com a justificativa explícita no código-fonte, mais uns 10 tratados no módulo de Privacidade (DiagTrack, MapsBroker, WMPNetworkSvc, RetailDemo etc. — ver acima). Disabled só é usado onde não existe cenário legítimo em estação de trabalho (roteador AllJoyn, Fax, RRAS); o restante — incluindo o recém-adicionado CertPropSvc (propagação de certificado de smart card) — vai para Manual.

Também ajusta o SvcHostSplitThresholdInKB para o total de RAM instalada. Acima de 3,5 GB o Windows isola cada serviço em um svchost.exe próprio; elevar o limite reagrupa os serviços e reduz visivelmente a contagem de processos.

Nunca tocados: Windows Search, Spooler, Windows Update, Defender, Áudio, Bluetooth, Temas, BITS, iphlpsvc, Netlogon. Em máquinas de domínio, Registro Remoto e Arquivos Offline também são pulados.

A indexação do Windows Search (WSearch) é a maior consumidora isolada de RAM/CPU/disco parado do sistema, mas fica fora do padrão de propósito: desligá-la deixa a busca do Iniciar/Explorer mais lenta (varredura ao vivo em vez de índice pronto). Quem topar essa troca pode ligar via -DisableSearchIndex (opção avançada, nunca incluída em nenhum preset).

5. Interface

Extensões visíveis, Explorer abrindo em Este Computador, botões de Visão de Tarefas / Widgets / Chat ocultos, recomendações e avisos de conta no Iniciar off, propaganda do OneDrive off, resultados web do Bing removidos da busca (quatro chaves — uma só não resolve), caixa de pesquisa reduzida a ícone.

6. Performance e memória

Delay de menu 400→200 ms, atraso de apps na inicialização removido, timeouts de desligamento reduzidos, Reserved Storage desativado (~7 GB de volta).

Apps UWP proibidos de rodar em segundo plano (BackgroundAccessApplications\GlobalUserDisabled + BackgroundAppGlobalToggle) — na prática, o maior consumo real de RAM parada costuma vir daí, não de serviço; o app continua funcionando normalmente quando aberto. O driver Ndu (estatísticas de uso de rede por app) também é desativado — baixo risco, só remove o monitoramento em Configurações › Rede › Uso de dados.

O modo low-end adiciona transparência, animações e redesenho ao arrastar desligados, mantendo o ClearType ativo — texto ilegível não é otimização.

7. Jogos

GameDVR off (política + chaves de usuário), Game Mode on, SystemResponsiveness 20→10, NetworkThrottlingIndex off, prioridades de GPU/CPU/SFIO elevadas em Tasks\Games, Nagle desativado apenas nos adaptadores ativos.

Serviços Xbox e o Xbox Identity Provider são preservados — Game Pass, EA App e launchers continuam funcionando.

8. Limpeza de disco

Temp do usuário e do Windows, logs CBS, fila do WER, cache de shaders DirectX, crash dumps, cache do Windows Update (com o serviço parado antes), Delivery Optimization e Lixeira. O preset Tudo ainda roda o DISM /StartComponentCleanup.

O Prefetch é deixado intacto de propósito.


Rollback

Cada execução grava C:\ProgramData\WinLean\backups\journal-<timestamp>.json contendo, para cada mudança, o valor anterior e se a chave sequer existia — assim o revert remove o que o WinLean criou em vez de escrever um padrão chutado.

Pela interface: botão Desfazer última execução. Pela linha de comando:

&"$env:LOCALAPPDATA\WinLean\WinLean.ps1"-Revert
&"$env:LOCALAPPDATA\WinLean\WinLean.ps1"-Revert -JournalPath "C:\...\journal-20260813-101500.json"

Um ponto de Restauração do Sistema também é criado antes da primeira alteração.

Revertendo a remoção de apps

Apps UWP removidos não voltam automaticamente — o revert grava a lista em um arquivo de texto. Reinstale pela Microsoft Store, pelo winget, ou tudo de uma vez:

Get-AppxPackage-AllUsers |ForEach-Object {
Add-AppxPackage-DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
}

Uso pela linha de comando

O motor funciona sozinho, sem a interface:

# Simular tudo, sem alterar nada
.\WinLean.ps1 -Preset Work -DryRun
# Sem interação, em inglês, com plano de energia explícito
.\WinLean.ps1 -Preset Gaming -PowerPlan Ultimate -Language en -Silent
# Módulos avulsos
.\WinLean.ps1 -Privacy -DisableAI -Energy -PowerPlan Balanced
ParâmetroDescrição
-Language pt|enIdioma da saída (padrão: pt)
-Preset Minimal|Work|Gaming|FullPerfil pronto
-PowerPlan Keep|Auto|Balanced|HighPerformance|Ultimate|PowerSaverPlano de energia
-RemoveApps -Privacy -DisableAI -Services -Interface -Performance -Energy -Gaming -CleanDiskMódulos individuais
-LowEndMode-ClassicContextMenu-DisableFastStartup-HAGS-DisableSearchIndex-KeepXboxOpcionais
-DryRunSimula tudo, não altera nada
-NoRestorePointPula a criação do ponto de restauração (o journal de rollback continua valendo)
-SilentSem perguntas
-PlainSaída sem cor, para consumo pela interface
-Revert [-JournalPath <arquivo>]Desfaz uma execução anterior

Compilando a interface

cd ui
cargo build --release
# binário em ui/target/release/winlean.exe

Requer Rust 1.88+. No Windows, a janela usa winit + wry e renderiza o HTML/CSS embutido com o Microsoft WebView2. Em outros sistemas, a interface de terminal continua disponível para desenvolvimento.


Compatibilidade

Status
Windows 11 24H2 / 25H2Suportado
Windows 11 22H2 / 23H2Suportado
Windows 10 22H2Suportado — tweaks exclusivos do Win11 são pulados automaticamente
Windows 10 / 11 LTSCFunciona; a maior parte do bloat já não existe
Windows ServerNão testado

O WinLean detecta RAM, SSD vs HDD, notebook vs desktop e ingresso em domínio, e se adapta: o SysMain só é relaxado em SSD, o plano de energia é escolhido conforme o formato da máquina, e serviços sensíveis a ambiente corporativo são pulados em domínio.


Arquivos

%LOCALAPPDATA%\WinLean\ instalação temporária da interface
C:\ProgramData\WinLean\logs\winlean-*.log trace completo
C:\ProgramData\WinLean\backups\journal-*.json dados de rollback

Créditos

Construído após estudar as abordagens de Raphire/Win11Debloat, ChrisTitusTech/winutil e zoicware/RemoveWindowsAI. O motor de rollback por journal, a interface em Rust, a lista de apps protegidos e a lógica adaptativa por hardware são autorais deste projeto.


Aviso

O WinLean altera configurações do sistema, serviços e aplicativos instalados. É fornecido no estado em que se encontra, sem garantias. Leia o código, rode com simulação primeiro e mantenha backup. Você é responsável pelo que executa na sua máquina.

Licença

MIT — Isaac Oolibama R. Lacerda

About

Debloat, privacidade e performance para Windows 10/11. Interface em Rust, rollback por journal JSON, PT/EN.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages