logo ← Manuais de Utilização / Instalação GSClient AppImage no Linux

Instalação GSClient AppImage no Linux

Documento com a lista de códigos de erros

#Requisitos Básicos

#Liberações no Firewall

Segue abaixo o nosso range de IPs e portas para liberação no firewall da máquina ou da rede, ou validação da rota por parte do provedor de internet.

IP:

  • 18.231.194.64/26

Portas:

  • 443/UDP

  • 443/TCP

  • 55844/TCP

  • 55845/TCP

E DNS local 53/UDP (consultas em gsurfnet.com).

#Sistema Operacional

Requisitos mínimos do Sistema Operacional e como validá-los.

1 - Arquitetura 64 bits.

Utilizando o comando abaixo um dos números deve ser 64:

uname -m

2 - Framework FUSE (Filesystem in Userspace)

  • O utilizando os comandos abaixo, um deles deve retornar a versão se estiver instalado:

(fusermount3 --version || fusermount --version)

3 - Biblioteca GNU C Library (glibc) versão 2.27 ou superior.

  • Utilizando o comando abaixo, o número no final da primeira linha deve ser maior ou igual a 2.27:

ldd --version

Caso a versão da distribuição Linux sendo utilizada não atenda esses requisitos, será necessário uma das 3 alternativas abaixo:

  1. Atualizar a versão da distribuição ou das dependências para que atendam os requisitos.

  2. Utilizar outra distribuição ou versão que atenda os requisitos.

  3. Em último caso, menos recomendado, utilizar o GSClient Classic.

#Instalação

A instalação deve ser realizada com o usuário root:

sudo su

Existem duas maneiras de realizar a instalação, via script ou manualmente.

#Instalação via script

Executar o comando abaixo e seguir a instalação conforme o script solicitar:

U="https://gsurf.com.br/lib/linux/script_gsclient"; (curl -sL $U || wget -qO- $U) | bash

Observação: Antes de iniciar a nova instalação, o script removerá automaticamente versões anteriores, mas apenas se estiverem no padrão GSurf, instalações customizadas (pastas, arquivos ou serviços renomeados) exigem remoção manual.

#Instalação manual

Clique aqui para abrir o passo a passo

#Remoção de GSClient Antigo

Somente realizar esse passo caso tenha algum GSClient instalado na máquina. 1 - Anotar a identificação do terminal da Central de Parceiros (CDP) que está instalado para reinstalar a OTP dele e utilizar na nova instalação:

cat /usr/gsurf/gsurfcli.txt

2 - Realizar a remoção completa dos arquivos antigos padrão GSurf:

killall serverSSL 2>/dev/null
killall gsclient 2>/dev/null
rm -r /usr/gsurf 2>/dev/null
rm -r /gsurf/ 2>/dev/null
rm -r /usr/sbin/gsurf/ 2>/dev/null
rm /usr/sbin/gsclient.AppImage 2>/dev/null    
find /lib* /usr/lib* -name "libGSurfRSA.so" -delete 2>/dev/null
rm /usr/lib/systemd/system/libssl.service 2>/dev/null
rm /usr/lib/systemd/system/gsclient.service 2>/dev/null
rm /etc/init.d/serverSSL 2>/dev/null
rm /etc/init.d/gsclient 2>/dev/null
sed -i '/serverSSL/d' /etc/rc.local 2>/dev/null
sed -i '/gsclient.AppImage/d' /etc/rc.local 2>/dev/null
sed -i '/serverSSL/d' /etc/rc.d/rc.local 2>/dev/null
sed -i '/gsclient.AppImage/d' /etc/rc.d/rc.local 2>/dev/null

Os comandos em ordem realizam as seguintes funções:

  1. Finaliza serviço do GSClient Classic

  2. Finaliza serviço do GSClient AppImage

  3. Remove certificado

  4. Remove pasta do GSClient Classic

  5. Remove pasta do GSClient AppImage

  6. Remove GSClient AppImage

  7. Remove a libGSurfRSA.so das pastas padrões lib do linux

  8. Remove o serviço do GSClient Classic do systemd

  9. Remove o serviço do GSClient AppImage do systemd

  10. Remove o serviço do GSClient Classic do init.d

  11. Remove o serviço do GSClient AppImage do init.d

  12. Remove linha de inicialização do GSClient Classic do rc.local

  13. Remove linha de inicialização do GSClient AppImage do rc.local

  14. Remove linha de inicialização do GSClient Classic do rc.d/rc.local

  15. Remove linha de inicialização do GSClient AppImage do rc.d/rc.local

Observação: Os comandos removerão automaticamente a versão anterior do GSClient, porém apenas se foi instalada no padrão GSurf. Instalações customizadas (outras pastas, arquivos ou serviços renomeados) exigem remoção manual.

#Início da instalação

1 - Realizar o início da instalação:

Executar os comandos abaixo caso a versão da glibc no Sistema Operacional seja 2.34 ou superior:

mkdir -p /usr/sbin/gsurf
wget https://gsurf.com.br/lib/linux/gsclient_appimage_tls3.zip -P /usr/sbin/gsurf
(unzip -o /usr/sbin/gsurf/gsclient_appimage_tls3.zip -d /usr/sbin/gsurf || bsdtar -xf /usr/sbin/gsurf/gsclient_appimage_tls3.zip -C /usr/sbin/gsurf || busybox unzip -o /usr/sbin/gsurf/gsclient_appimage_tls3.zip -d /usr/sbin/gsurf) 2>/dev/null
chmod +x /usr/sbin/gsurf/*

Executar os comandos abaixo caso a versão da glibc no Sistema Operacional esteja entre 2.27 e 2.33:

mkdir -p /usr/sbin/gsurf
wget https://gsurf.com.br/lib/linux/gsclient_appimage_tls1.zip -P /usr/sbin/gsurf
(unzip -o /usr/sbin/gsurf/gsclient_appimage_tls1.zip -d /usr/sbin/gsurf || bsdtar -xf /usr/sbin/gsurf/gsclient_appimage_tls1.zip -C /usr/sbin/gsurf || busybox unzip -o /usr/sbin/gsurf/gsclient_appimage_tls1.zip -d /usr/sbin/gsurf) 2>/dev/null
chmod +x /usr/sbin/gsurf/*

Os comandos em ordem realizam as seguintes funções:

  1. Cria o diretório gsurf para os arquivos

  2. Instala a versão do GSClient dentro da pasta gsurf

  3. Descompacta o arquivo

  4. Concede permissão de execução para os arquivos

#Instalação do Certificado

1 - Executar o instalador do certificado:

/usr/sbin/gsurf/gsclient_setup.AppImage

2 - No campo Usuário digite seu usuário de acesso a Central de Parceiros.

3 - No campo Senha digite sua senha de acesso a Central de Parceiros.

4 - No campo OTP digite o código de 10 números localizado dentro do terminal na Central de Parceiros.

No final deverá ocorrer a mensagem Certificado instalado, pronto para execução do GS Client.

#Configurar execução como serviço

1 - Preparar o GSClient:

mv /usr/sbin/gsurf/gsclient.AppImage /usr/sbin
restorecon -v /usr/sbin/gsclient.AppImage 2>/dev/null
rm -r /usr/sbin/gsurf

Os comandos em ordem realizam as seguintes funções:

  1. Move o GSClient para a pasta /usr/sbin

  2. Caso o sistema tenha SELinux, restaura o contexto do GSClient para o padrão da pasta /usr/sbin

  3. Remove a pasta de instalação

Utilizar somente uma das opções abaixo, dependendo do que o sistema utiliza (Systemd, Init.d ou Rc.local) para configurar a inicialização por serviço:

#Systemd

1 - Verificar se o sistema utiliza systemd:

  • Utilizando o comando abaixo o resultado deve ser systemd:

    ps -p 1 -o comm=

2 - Realizar a criação do serviço no systemd:

mkdir -p /usr/lib/systemd/system

cat <<EOF > /usr/lib/systemd/system/gsclient.service
[Unit]
Description=GSClient
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/sbin/gsclient.AppImage

[Install]
WantedBy=multi-user.target
EOF

chmod +x /usr/lib/systemd/system/gsclient.service

Os comandos em ordem realizam as seguintes funções:

  1. Cria a pasta system dentro do systemd caso ela não exista

  2. Cria o arquivo gsclient.service dentro da pasta system e preenche com o script de inicialização

  3. Concede a permissão de execução para o arquivo

3 - Realizar a inicialização do serviço no systemd:

systemctl daemon-reload
systemctl enable gsclient.service
systemctl start gsclient.service
systemctl status gsclient.service

Os comandos em ordem realizam as seguintes funções:

  1. Atualiza a lista de serviço

  2. Configura o serviço como automático

  3. Inicia o serviço

  4. Verifica o status do serviço

#Init.d

1 - Caso não utilize systemd, verificar se o sistema utiliza init.d:

  • O comando abaixo deve executar sem erros:

    ls /etc/init.d/

2 - Realizar a criação do serviço no init.d:

cat <<'EOF' > /etc/init.d/gsclient
#!/bin/sh
### BEGIN INIT INFO
# Provides:          gsclient
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     false
# Short-Description: GSClient script
# Description:       Start/Stop GSClient
### END INIT INFO

DESC="GSClient script"
NAME=gsclient

do_start() {
    echo "Starting $NAME!";
    /usr/sbin/gsclient.AppImage &
}

do_stop() {
    echo "Stopping $NAME!"
    killall gsclient
}

case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
esac
exit 0
EOF

chmod +x /etc/init.d/gsclient
update-rc.d gsclient defaults

Os comandos em ordem realizam as seguintes funções:

  1. Cria o arquivo gsclient dentro do init.d e preenche com o script de inicialização

  2. Concede permissões para o arquivo

  3. Configura o serviço como automático (Caso retorne comando não enconrado, o sistema não utiliza init.d)

3 - Iniciar o serviço:

/etc/init.d/gsclient start

#Rc.local

1 - Caso não utilize systemd ou init.d, verificar se o sistema utiliza rc.local:

  • Verificar se a localização é: /etc/rc.local

    ls /etc/rc.local
  • Verificar se a localização é: /etc/rc.d/rc.local

    ls /etc/rc.d/rc.local

2 - Adicionar a inicialização do serviço no rc.local:

  • Caso seja: /etc/rc.local

grep -qxF '/usr/sbin/gsclient.AppImage &' /etc/rc.local || echo '/usr/sbin/gsclient.AppImage &' >> /etc/rc.local
chmod +x /etc/rc.local
  • Caso seja: /etc/rc.d/rc.local

grep -qxF '/usr/sbin/gsclient.AppImage &' /etc/rc.d/rc.local || echo '/usr/sbin/gsclient.AppImage &' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

Os comandos em ordem realizam as seguintes funções:

  1. Adiciona a inicialização do serviço na última linha do rc.local caso já não esteja adicionado

  2. Concede a permissão de execução para o arquivo

3 - Iniciar o serviço:

  • Caso seja: /etc/rc.local

    /etc/rc.local
  • Caso seja: /etc/rc.d/rc.local

    /etc/rc.d/rc.local

#Teste de conexão

1 - Caso a execução como serviço não tenha sido configurada, é possível iniciar manualmente:

/usr/sbin/gsclient.AppImage &

Apertar enter até ele voltar para o terminal normal (mostrando o usuário e etc).

2 - Verificar se o serviço está rodando:

pgrep -af gsclient

3 - Execute um teste de comunicação utilizando telnet ou nc no IP 127.0.0.1 e na porta desejada:

  • Caso seja SiTef:

telnet 127.0.0.1 4096

Aperte Ctrl e c ou Ctrl e ç, q e enter para fechar a conexão.

#Logs

Existem diferentes arquivos onde podem ser armazenados os logs da VPN.

1 - Journal:

journalctl $(journalctl -F SYSLOG_IDENTIFIER | grep ^GSURF | sed 's/^/-t /') --no-pager -S today

2 - Syslog:

cat /var/log/syslog | grep GSURF

3 - Messages:

cat /var/log/messages | grep GSURF

#Arquivos

Segue abaixo todos os arquivos do GSClient AppImage em suas localização padrões, juntamente de informações sobre eles:

  • /usr/gsurf/certificado.pfx

    • Certificado.

  • /usr/gsurf/tk.dat

    • Autenticador (criado após primeira conexão).

  • /usr/gsurf/gsurfcli.txt

    • Identificação do terminal da CDP.

  • /usr/gsurf/region.txt

    • Região de conexão.

      • Deve conter escrito somente 3 ou sp2.

  • /usr/gsurf/service.cfg

    • Contém os serviços do terminal da CDP na última instalação.

      • Adição de novos serviços no terminal da CDP com porta ou categoria diferentes dos anteriores exigem reinstalação do certificado.

  • /usr/sbin/gsclient.AppImage

    • Arquivo de execução da VPN.

  • /usr/lib/systemd/system/gsclient.service

    • Inicializador do serviço pelo Systemd.

  • /etc/init.d/gsclient

    • Inicializador do serviço pelo Init.d.

  • /etc/rc.local

    • Inicializador do serviço pelo rc.local.

  • /etc/rc.d/rc.local

    • Inicializador do serviço pelo rc.d/rc.local.

#Histórico de Revisões

Descrição

Autor

Versão e Data

Criação do documento

Vitor Hugo

09/09/2025 – v1.0