https://github.com/dellabeneta/user-pip
Processa em um POD o Ipv4 da requisição. Ip público do usuário.
https://github.com/dellabeneta/user-pip
docker golang hostinger k3s
Last synced: about 2 months ago
JSON representation
Processa em um POD o Ipv4 da requisição. Ip público do usuário.
- Host: GitHub
- URL: https://github.com/dellabeneta/user-pip
- Owner: dellabeneta
- License: mit
- Created: 2025-05-28T17:53:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-21T16:09:55.000Z (12 months ago)
- Last Synced: 2025-06-21T17:23:33.193Z (12 months ago)
- Topics: docker, golang, hostinger, k3s
- Language: Go
- Homepage: https://linktr.ee/dellabeneta
- Size: 184 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## User-PIP

Uma aplicação web simples em Go para exibir o endereço IP do usuário, a hora da requisição e o nome do pod/servidor (útil para ambientes Kubernetes).
### Aviso Importante
**Este projeto é destinado a fins de teste, demonstração e aprendizado.** Não utilize para coleta de dados sensíveis em produção sem as devidas adequações de segurança.
### Funcionalidades
- Exibe o IP real do visitante (considerando proxies)
- Mostra a data e hora da requisição
- Exibe o nome do pod/servidor
- Interface web responsiva e minimalista
- Pronto para Docker e Kubernetes
### Começando
**Pré-requisitos**
- Go 1.24+
- Docker (opcional)
- Kubernetes (opcional)
**Instalação Local**
```bash
git clone https://github.com/seu-usuario/user-pip.git
cd user-pip
go run main.go
```
A aplicação estará disponível em `http://localhost:8080`
**Usando Docker**
```bash
docker build -t user-pip .
docker run -p 8080:8080 user-pip
```
**Deploy no Kubernetes**
```bash
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
```
Acesse via NodePort em `http://:30080`
### Tecnologias
- **Backend**: Go 1.24+
- **Frontend**: HTML5, CSS3 (inline)
- **Container**: Docker Alpine
- **Orquestração**: Kubernetes
### Como Funciona
O serviço exibe o IP do visitante, a data/hora da requisição e o nome do pod/servidor, útil para troubleshooting e testes em ambientes distribuídos.
### Configuração
O serviço pode ser configurado através das seguintes variáveis de ambiente:
| Variável | Descrição | Padrão |
|----------|-------------------|--------|
| PORT | Porta do servidor | 8080 |
### Estrutura do Projeto
```
della@ubuntu:~/projetos/user-pip$ tree
.
├── Dockerfile
├── go.mod
├── k3s
│ ├── deployment.yaml
│ ├── namespace.yaml
│ └── service.yaml
├── LICENSE
├── main.go
├── nuke.sh
├── pip.png
├── README.md
└── templates
├── favicon.ico
└── index.html
3 directories, 12 files
della@ubuntu:~/projetos/user-pip$
```
### Scripts Úteis
**nuke.sh**: Script para limpeza completa do Docker (containers, imagens, volumes e redes)
```bash
chmod +x nuke.sh
./nuke.sh
```
### Licença
Este projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais