Download Configurações VPN
Endpoint para download de arquivos de configuração (.conf) dos servidores VPN em formato ZIP.
Autenticação
Bearer token JWT do usuário autenticado
Autorização
Parâmetros
Query Parameters
IDs dos servidores separados por vírgula (ex: “id1,id2,id3”)
Responses
Content-Type: application/zip
Content-Disposition: attachment; filename="confs.zip"
[Arquivo ZIP contendo os arquivos .conf dos servidores]
Exemplo de Requisição
curl --location --request GET 'http://localhost:3333/server/download/confs?ids=server-id-1,server-id-2,server-id-3' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
--output confs.zip
Estrutura do Arquivo ZIP
O arquivo ZIP retornado contém os arquivos de configuração com a seguinte estrutura:
confs.zip
├── server-id-1.conf
├── server-id-2.conf
└── server-id-3.conf
Cada arquivo .conf contém a configuração completa do servidor VPN para conexão OpenVPN.
Endpoint Relacionado: Obter Configurações
Para obter as configurações sem fazer download (retorna JSON):
const obterConfiguracoes = async (serverIds) => {
const token = localStorage.getItem('access_token');
const response = await fetch(
`http://localhost:3333/server/user/confs?ids=${serverIds.join(',')}`,
{
headers: {
'Authorization': `Bearer ${token}`
}
}
);
const confs = await response.json();
// Retorna: [{ id: "server-id", conf: "conteudo-conf" }, ...]
return confs;
};
Endpoint Relacionado: Validar Configurações
Para validar se as configurações estão atualizadas:
const validarConfiguracoes = async (serverIds) => {
const token = localStorage.getItem('access_token');
const response = await fetch(
`http://localhost:3333/server/validate/confs?ids=${serverIds.join(',')}`,
{
headers: {
'Authorization': `Bearer ${token}`
}
}
);
const result = await response.json();
// Retorna: { valid: boolean, message: string, invalidConfs?: string[] }
return result;
};
Sempre valide as configurações antes de fazer download em produção para garantir que os arquivos estão atualizados.
O arquivo ZIP pode ser grande dependendo do número de servidores selecionados. Implemente tratamento de timeout adequado para downloads maiores.
Os arquivos de configuração (.conf) podem ser importados diretamente em clientes OpenVPN compatíveis.
Event Logging
Este endpoint registra automaticamente:
- Timestamp do download
- ID do usuário
- IDs dos servidores baixados
- Tamanho do arquivo gerado