commit e22052e9c2f6163cd692ef3f824498ba726b209e Author: João Pedro Toledo Goncalves Date: Wed Sep 17 00:04:26 2025 +0000 Adicionar README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..3806ded --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# ProxySync_Firewall + +O **ProxySync_Firewall** é um script de automação projetado para versionar e sincronizar as configurações do seu firewall pfSense com um repositório Git, como o Gitea. Ele garante um histórico completo de todas as alterações, facilitando a auditoria e a recuperação de desastres. + +Este serviço opera diretamente no ambiente FreeBSD do pfSense, usando `git` para gerenciar as alterações e `cron` para automatizar a execução. + +--- + +## Funcionalidades + +- **Sincronização Automática:** Exporta e commita a configuração do pfSense (`config.xml`) de forma agendada. +- **Armazenamento Seguro:** Guarda as credenciais do Gitea em um arquivo seguro, com permissões restritas. +- **Histórico de Alterações:** Cada alteração na configuração é registrada em um commit com metadados de data e hora. +- **Registro de Deploy:** Cria um arquivo de log no repositório para registrar as instalações e atualizações do script. + +--- + +## Instalação + +A instalação é um processo interativo. Basta copiar o conteúdo do script de instalação (`ProxySync_Firewall_Installer.sh`) para o seu firewall pfSense e executá-lo como `root`. + +1. **Acesse o shell do pfSense** via SSH. +2. **Crie e edite o arquivo do instalador** (por exemplo, `vi /tmp/install.sh`). +3. **Cole o conteúdo do script de instalação** e salve. +4. **Torne o arquivo executável:** `chmod +x /tmp/install.sh`. +5. **Execute o script:** `./tmp/install.sh`. + +O script irá guiar você, solicitando a URL do seu repositório Gitea, seu usuário, token de acesso e uma identificação de colaborador. + +--- + +## Uso + +### Sincronização + +Após a instalação, o script de sincronização principal será salvo em `/usr/local/sbin/commit_configs.sh`. + +Para executar a sincronização manualmente, basta rodar o comando: + +```bash +/usr/local/sbin/commit_configs.sh \ No newline at end of file