#!/bin/bash # 1. Definição da Senha (via Secrets do HF ou padrão) export PASSWORD=${PASSWORD:-"RustElite2024!"} echo "🚀 Iniciando ambiente Rust Cloud IDE..." # ============================================================================== # 2. 🪄 MÁGICA DE ARQUITETURA: FORÇAR A LOJA OFICIAL DA MICROSOFT # Isso resolve o "Erro 403" ao clicar em "Install" na interface do VS Code. # Fazemos o code-server ignorar a Open-VSX e usar os servidores da Azure. # ============================================================================== export EXTENSIONS_GALLERY='{"serviceUrl":"https://marketplace.visualstudio.com/_apis/public/gallery","cacheUrl":"https://vscode.blob.core.windows.net/gallery/index","itemUrl":"https://marketplace.visualstudio.com/items"}' # 3. Sideloading das Extensões Base (Bulletproof para não depender de rede no boot) mkdir -p /home/coder/workspace/.tmp_ext cd /home/coder/workspace/.tmp_ext echo "📦 Baixando extensões vitais offline..." curl -sL "https://github.com/rust-lang/rust-analyzer/releases/latest/download/rust-analyzer-linux-x64.vsix" -o rust.vsix curl -sL "https://open-vsx.org/api/tamasfe/even-better-toml/latest/download" -o toml.vsix curl -sL "https://open-vsx.org/api/serayuzgur/crates/latest/download" -o crates.vsix curl -sL "https://open-vsx.org/api/PKief/material-icon-theme/latest/download" -o icons.vsix echo "⚙️ Instalando extensões base do Rust..." code-server --install-extension rust.vsix || echo "⚠️ Falha menor no Rust" code-server --install-extension toml.vsix || echo "⚠️ Falha menor no Toml" code-server --install-extension crates.vsix || echo "⚠️ Falha menor no Crates" code-server --install-extension icons.vsix || echo "⚠️ Falha menor nos ícones" # Limpeza cd /home/coder/workspace rm -rf /home/coder/workspace/.tmp_ext echo "✅ Preparação concluída! A Loja Oficial da Microsoft está ATIVADA." echo "🔒 Iniciando Code Server (Porta 7860)..." # 4. Iniciar o servidor de forma compatível com Hugging Face exec code-server \ --bind-addr 0.0.0.0:7860 \ --auth password \ --disable-telemetry \ --app-name "Rust Elite IDE" \ /home/coder/workspace