logo ← MANUAIS DE UTILIZAÇÃO / Instalação GSClient AppImage no Linux

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:

Portas:

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.

2 - Framework FUSE (Filesystem in Userspace)

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

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: ```bash 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: ```bash 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** ```bash ls /etc/rc.local ``` - Verificar se a localização é: **/etc/rc.d/rc.local** ```bash ls /etc/rc.d/rc.local ``` 2 - Adicionar a inicialização do serviço no rc.local: - Caso seja: **/etc/rc.local** ```bash 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** ```bash 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** ```bash /etc/rc.local ``` - Caso seja: **/etc/rc.d/rc.local** ```bash /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:

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:

Histórico de Revisões

Descrição Autor Versão e Data
Criação do documento Vitor Hugo 09/09/2025 – v1.0