DragonCoreSSH V40
PT-BR
DragonCoreSSH V40 é um painel/servidor em Go para SSH com HTTP Injection, painel web, PostgreSQL, integração com Xray-core e API pública para consultar status de usuário.
Requisitos
- Servidor Linux com
systemd - Acesso
rootousudo - Gerenciador de pacotes
apt,yumoudnf - Portas liberadas no firewall/security group conforme a configuração usada
Distribuições alvo:
- Ubuntu / Debian / Linux Mint
- CentOS / RHEL / Rocky / AlmaLinux
- Fedora
Instalação
Clone o projeto e execute o instalador:
git clone https://git.dr2.site/penguinehis/DragonCoreSSH-NewWEB
cd DragonCoreSSH-NewWEB
sudo bash install.sh
Durante a instalação, o script instala/configura:
- Go
- PostgreSQL
- Xray-core
- Binário do DragonCoreSSH V40
- Serviço
systemdchamadosshpanel - Painel web
- Arquivos de runtime em
/opt/sshpanel
Ao finalizar, o instalador mostra os dados principais:
Server IP
SSH ports
VLESS port
VLESS UUID
Admin panel URL
Admin login
Admin password
Admin token
Caminhos principais
/opt/sshpanel/sshpanel
/opt/sshpanel/.env
/opt/sshpanel/config.json
/opt/sshpanel/xray_config.json
/opt/sshpanel/admin/
/opt/sshpanel/logs/panel.log
/etc/systemd/system/sshpanel.service
Portas padrão
80 SSH com HTTP Injection
8080 SSH extra com HTTP Injection
9090 Painel web + API pública /check
10086 Xray VLESS
10088 SOCKS local em 127.0.0.1
Comandos úteis
Ver status do serviço:
systemctl status sshpanel --no-pager -l
Ver logs pelo journalctl:
journalctl -u sshpanel -f
Ver log direto do painel:
tail -f /opt/sshpanel/logs/panel.log
Reiniciar serviço:
systemctl restart sshpanel
Atualização
Entre na nova pasta do código e execute:
sudo bash update.sh
O update recompila o binário e atualiza os arquivos do painel web, mantendo as configurações e dados existentes.
API pública CheckUser
Endpoint:
GET /check
URL padrão:
http://SERVER_IP:9090/check
Consultar usuário SSH:
curl "http://SERVER_IP:9090/check?user=testuser"
Consultar UUID Xray:
curl "http://SERVER_IP:9090/check?uuid=a499cb67-6c73-43cc-a84d-92cbb68d22d1"
Se user e uuid forem enviados juntos, user tem prioridade.
Resposta de sucesso:
{
"username": "testuser",
"count_connections": 1,
"expiration_date": "31/12/2026",
"expiration_days": 243,
"limit_connections": 2
}
Conta ilimitada:
{
"username": "testuser",
"count_connections": 0,
"expiration_date": "Unlimited",
"expiration_days": -1,
"limit_connections": 1
}
Campos da resposta:
| Campo | Tipo | Descrição |
|---|---|---|
username |
string | Usuário SSH, nome do cliente Xray ou UUID. |
count_connections |
number | Conexões SSH ativas no momento. |
expiration_date |
string | Data de expiração em DD/MM/YYYY ou Unlimited. |
expiration_days |
number | Dias restantes. -1 significa ilimitado. |
limit_connections |
number | Limite máximo de conexões. |
Erros comuns:
{"error":"user or uuid parameter required"}
{"error":"user not found"}
{"error":"uuid not found"}
{"error":"database not configured"}
EN-US
DragonCoreSSH V40 is a Go-based SSH HTTP Injection server with a web panel, PostgreSQL, Xray-core integration, and a public API for checking user status.
Requirements
- Linux server with
systemd rootorsudoaccessapt,yum, ordnfpackage manager- Required ports opened in the firewall/security group
Target distributions:
- Ubuntu / Debian / Linux Mint
- CentOS / RHEL / Rocky / AlmaLinux
- Fedora
Installation
Clone the project and run the installer:
git clone https://git.dr2.site/penguinehis/DragonCoreSSH-NewWEB
cd DragonCoreSSH-NewWEB
sudo bash install.sh
During installation, the script installs/configures:
- Go
- PostgreSQL
- Xray-core
- DragonCoreSSH V40 binary
systemdservice namedsshpanel- Web panel
- Runtime files in
/opt/sshpanel
When finished, the installer prints the main access details:
Server IP
SSH ports
VLESS port
VLESS UUID
Admin panel URL
Admin login
Admin password
Admin token
Main paths
/opt/sshpanel/sshpanel
/opt/sshpanel/.env
/opt/sshpanel/config.json
/opt/sshpanel/xray_config.json
/opt/sshpanel/admin/
/opt/sshpanel/logs/panel.log
/etc/systemd/system/sshpanel.service
Default ports
80 SSH with HTTP Injection
8080 Extra SSH with HTTP Injection
9090 Web panel + public /check API
10086 Xray VLESS
10088 Local SOCKS on 127.0.0.1
Useful commands
Check service status:
systemctl status sshpanel --no-pager -l
Follow logs with journalctl:
journalctl -u sshpanel -f
Follow panel log file:
tail -f /opt/sshpanel/logs/panel.log
Restart service:
systemctl restart sshpanel
Update
Enter the new source-code folder and run:
sudo bash update.sh
The update script rebuilds the binary and updates the web panel files while keeping existing configuration and user data.
Public CheckUser API
Endpoint:
GET /check
Default URL:
http://SERVER_IP:9090/check
Check SSH username:
curl "http://SERVER_IP:9090/check?user=testuser"
Check Xray UUID:
curl "http://SERVER_IP:9090/check?uuid=a499cb67-6c73-43cc-a84d-92cbb68d22d1"
If both user and uuid are sent, user has priority.
Success response:
{
"username": "testuser",
"count_connections": 1,
"expiration_date": "31/12/2026",
"expiration_days": 243,
"limit_connections": 2
}
Unlimited account:
{
"username": "testuser",
"count_connections": 0,
"expiration_date": "Unlimited",
"expiration_days": -1,
"limit_connections": 1
}
Response fields:
| Field | Type | Description |
|---|---|---|
username |
string | SSH username, Xray client name, or UUID. |
count_connections |
number | Current active SSH connections. |
expiration_date |
string | Expiration date in DD/MM/YYYY or Unlimited. |
expiration_days |
number | Remaining days. -1 means unlimited. |
limit_connections |
number | Maximum connection limit. |
Common errors:
{"error":"user or uuid parameter required"}
{"error":"user not found"}
{"error":"uuid not found"}
{"error":"database not configured"}