logo ← Manuais de Utilização / GSClient Android

GSClient Android

#📖 Visão Geral

Este projeto fornece um aplicativo de VPN utilizando a biblioteca de comunicação TLS para dispositivos Android.


#🚀 Como utilizar

Para utilizar o aplicativo, é necessário realizar a instalação de um certificado GSurf.
O usuário deverá fornecer o nome de usuário e a senha da Central de Parceiros, juntamente com uma chave OTP (One Time Password), para gerar um certificado que será utilizado na autenticação com nossa estrutura.

Após a instalação, caso o app solicite, o usuário deverá conceder permissões para que o aplicativo exiba notificações.
Se as permissões não forem concedidas, o serviço de VPN não poderá ser executado em segundo plano.


#📋 Descrição do funcionamento

O aplicativo escuta conexões no endereço IP de loopback, nas portas definidas pelo flavor gerado.

Quando uma aplicação estabelece conexão em uma dessas portas, uma nova conexão é aberta com o servidor.
A escrita e a leitura são realizadas de forma assíncrona:

  • Dados recebidos do servidor são enviados ao socket do cliente.

  • Dados recebidos do cliente são encaminhados ao servidor de forma criptografada.

Diagrama de sequencia

Cada flavor deve conter o arquivo ports.xml, que define a relação de porta=serviço.
Exemplo:

<resources>
    <string name="port_map">8480=scopena;2046=scopelegado</string>
</resources>

#📱 Versões suportadas

Este aplicativo é compatível com:

  • Versões Android: 5.0 até 14.

  • Arquiteturas:

  • arm64-v8a

  • armeabi-v7a

  • x86

  • x86_64

#Telas

#📱 Tela principal

Descrição dos elementos em tela:
- Azul: lista de portas abertas e seu status.
- Vermelho: botão liga/desliga da VPN, caso o certificado não tenha sido instalado ou o app não tenha permissão para mostrar notificações, uma nova tela será aberta para instalação ou solicitação das permissões.
- Marrom: tela de ajuda e configuração.
- Verde: versão da aplicação.

tela_principal


#📱 Relação de portas e status

  • Transparente: Aguardando conexão no socket local.

  • Amarelo: Recebeu conexão no socket local e está se conectando no servidor.

  • Vermelho: Aconteceu algum erro no socket local ou ao se conectar no servidor.

  • Azul: Conexão estabelecida com o servidor.

portas

Caso aconteça algum erro, é possível clicar na porta com erro para uma descrição mais detalhada.

tela_de_erro


#📱 Tela de ajuda e configuração

Nessa tela é possível configurar os níveis de log, tamanho do log e fazer testes de conexão.

#Níveis de Log

Define a quantidade e o tipo de informações registradas no log:

  • Baixo: registra apenas mensagens de erro.

  • Médio: registra mensagens de erro e informações gerais.

  • Alto: registra todos os tipos de mensagens, incluindo erro, informação e depuração (debug).

#Tamanho Máximo do Log

Especifica o tamanho limite do arquivo de log. Quando esse tamanho é alcançado, o arquivo é automaticamente reiniciado (sobrescrito).

#Download dos Logs

Permite baixar o conteúdo do log para um diretório local do equipamento.

tela_de_ajuda


#📱 Tela de teste de conexão

Nessa tela que o usuário poderá testar a conexão.

  • Ícone de sucesso: Sucesso no teste de conexão.

  • Ícone de erro: Informa que um erro ocorreu no teste. É possível clicar para visualizar o código de erro.

tela_teste_de_conexao


#📱 Tela de instalação do certificado

Nessa tela que o usuário irá realizar a instalação do certificado.
- Usuário: Usuário válido do Sig ou Central de Parceiros.
- Senha: Senha válida do Sig ou Central de Parceiros.
- OTP: Chave de ativação de uso único obtido no Sig ou Central de Parceiros.

tela_de_instalacao