BLA
BLA는 오픈소스 Blue Defense MCP와 CLI로, 소프트웨어 자산을 자동 AI 리버스 엔지니어링으로부터 보호합니다
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Website
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Aplicativo desktop multiplataforma (Windows, Linux, macOS) para compactar e transferir arquivos e pastas direto entre dois computadores (P2P), sem armazenar nada em nuvem e com criptografia ponta a ponta (E2EE).
Downloads); nunca sobrescreve — usa nome (1), nome (2)....zpp2 localmente, sem rede.[App Origem] ──DataChannel P2P (libdatachannel)── [App Destino]
│ │
└────── SignalR (sinalização) ────────────────┘
│
[Servidor de sinalização]
+ coturn (TURN/STUN, fallback)
O servidor só pareia os dois lados (troca de SDP/candidatos ICE; no máximo 2 dispositivos por código). O arquivo vai direto entre as máquinas (ou via relay TURN quando o P2P direto é bloqueado), sempre cifrado com AES-256-GCM.
Cada pacote .zpp2 (zstd em chunks com SHA-256) é enviado em mensagens de até 60 KiB:
Ack) o que gravou em disco e, ao final, envia Done.O estado das transferências em andamento fica em %LOCALAPPDATA%/ZipStream/transfers (Linux: ~/.local/share/ZipStream/transfers; macOS: ~/Library/Application Support/ZipStream/transfers).
| Projeto | Papel |
|---|---|
src/ZipP2P.Core | Motor de compressão (zstd streaming, formato .zpp2) + criptografia (ECDH/AES-GCM/SAS) |
src/ZipP2P.P2P | Transporte (libdatachannel), sinalização, protocolo de transferência, reconexão e estado persistido |
src/ZipP2P.Contracts | DTOs compartilhados (cliente/servidor) |
src/ZipP2P.Server | Servidor de sinalização (ASP.NET Core + SignalR) |
src/ZipP2P.App | Aplicativo desktop (Avalonia) |
tests/ZipP2P.Core.Tests | Testes do motor e da criptografia |
tests/ZipP2P.P2P.Tests | Protocolo, retomada, reconexão e integração ponta a ponta via WebRTC |
tests/ZipP2P.App.Tests | Log, linha de comando e integração com o menu de contexto |
dotnet run --project src/ZipP2P.Server
Escuta em http://0.0.0.0:5000 (hub em /signaling). Para a mesma rede, também dá para usar o servidor embutido no app: ⚙️ Configurações → Iniciar servidor local.
dotnet run --project src/ZipP2P.App
Linha de comando:
| Argumento | Efeito |
|---|---|
--send <caminho> | Abre o painel compacto e já começa a enviar (usado pelo menu de contexto) |
--receive <código> | Abre a aba Receber com o código preenchido |
<caminho> | Igual a --send |
As configurações ficam em SQLite (%LOCALAPPDATA%/ZipStream/settings.db) e são editadas em ⚙️ Configurações: URL do servidor, porta do servidor local, menu de contexto. A pasta de destino é lembrada pela aba Receber.
http://192.168.0.10:5000/signaling).Cada release (tag v*) gera pelo GitHub Actions:
| Arquivo | Sistema |
|---|---|
ZipStream-Setup-<versão>-win-x64.exe | Windows — instalador (Inno Setup), por usuário, sem administrador; opção de já adicionar o menu de contexto |
zipstream_<versão>_amd64.deb | Debian/Ubuntu/Mint — sudo apt install ./zipstream_<versão>_amd64.deb; instala em /opt/zipstream, atalho no menu e comando zipstream |
ZipStream-win-x64.zip, ZipStream-linux-x64.tar.gz, ZipStream-osx-x64.tar.gz | Versões portáteis |
Para gerar uma release: git tag v1.2.3 && git push origin v1.2.3. Rodando o workflow manualmente (Actions → Release → Run workflow), os pacotes ficam nos artefatos da execução, sem criar release.
deploy/docker-compose.yml sobe o servidor de sinalização e o coturn (TURN). O HTTPS fica com um reverse proxy que já rode na VPS (ex.: Caddy): o servidor entra na network externa proxy (docker network create proxy, se ainda não existir) com o alias zipstream-server. No Caddyfile, com o proxy também nessa network:
zipstream.seudominio.com {
reverse_proxy zipstream-server:5000
}
git clone https://github.com/igoreusttaquio/ZipStream-P2P.git && cd ZipStream-P2P/deploy
cp .env.example .env # PUBLIC_IP e TURN_PASSWORD
docker compose up -d --build # atualizar: git pull && docker compose up -d --build
Firewall: liberar 3478/tcp+udp e 49160-49200/udp (80/443 já são do Caddy). Teste: https://zipstream.seudominio.com responde "ZipStream signaling server".
https://zipstream.seudominio.com/signaling.zipstream.seudominio.com:3478, usuário zipstream e a senha do TURN_PASSWORD → Salvar. Sem usuário, o servidor vale só como STUN. Sem nada configurado, o app usa o STUN público do Google (stun.l.google.com:19302), suficiente para a maioria das redes; o TURN só é necessário quando a conexão direta é bloqueada.⚙️ Configurações → Menu de contexto → Instalar / Remover.
| Sistema | Como é instalado | Observações |
|---|---|---|
| Windows | HKCU\Software\Classes\*\shell e Directory\shell (sem administrador) | No Windows 11 fica em "Mostrar mais opções" |
| Linux | Scripts do Nautilus e Caja, ação do Nemo, service menu do Dolphin | Melhor esforço; pode ser preciso reiniciar o gerenciador (nautilus -q) |
| macOS | Ação Rápida do Automator em ~/Library/Services | Experimental; melhor com o app em /Applications |
Se o app mudar de lugar, Configurações mostra que a entrada aponta para outra cópia — é só clicar em Instalar de novo.
No Linux, o ícone da bandeja usa o protocolo StatusNotifierItem (KDE, Cinnamon, XFCE...); no GNOME é preciso a extensão AppIndicator. Sem bandeja, abrir o app de novo traz a janela de volta.
Microsoft.NETCore.App e Microsoft.AspNetCore.App (servidor embutido). Instalar só o ASP.NET Core de uma versão mais nova que o .NET Runtime quebra a resolução — instale o .NET Runtime da mesma versão (dotnet --list-runtimes mostra o que há). Os pacotes do release já trazem o runtime.dotnet test
Detalhes no plan.md.