Andrei Alexandru 20948a5d45 Added GitHub Actions CI workflow and initial unit tests
- Added .github/workflows/go-test.yml for automated CI testing using GitHub Actions
- Implemented unit tests for:
  • utils/release.go (FetchLatestRelease)
  • routes/builds.go (buildsHandler)
  • routes/status.go (statusHandler)
- Ensured tests run with go test ./... -v -cover
- Included go vet and gofmt checks in the CI pipeline
- Improved project reliability and continuous integration setup
2025-11-02 11:10:06 +02:00
2025-10-12 03:04:43 +03:00

Go Proxy Server (Gin-based) for ClassiCube-PPC

A lightweight HTTP proxy server written in Go using the Gin framework. It supports file forwarding, release version tracking, and download statistics, enabling the download of ClassiCube-PPC resources on older systems (it can also be used for other purposes).


🚀 Features

  • Proxy file downloads via ?url=...
  • Track active downloads and total bytes transferred
  • Serve latest release info from release.json

Requirements

  • Go 1.21 or newer
  • Internet access for proxying external URLs

Setup

git clone https://github.com/andreiixedev/Proxy-PPC.git
cd NewProxy
go mod init newproxy
go get github.com/gin-gonic/gin@latest

>> Run the Server
go run main.go

Server will start on http://localhost:5090

Build Executable (Windows)

go build -o proxy.exe main.go

Then run:

./proxy.exe

🐳 Docker (Optional)

FROM golang:1.21-alpine
WORKDIR /app
COPY . .
RUN go build -o proxy .
EXPOSE 5090
CMD ["./proxy"]

Build and run:

docker build -t newproxy .
docker run -p 5090:5090 newproxy

Credits

Built with gin and ❤️ by Andreiixe.

Description
Proxy for ClassiCube-PPC
Readme 40 KiB
Languages
Go 62.9%
Python 37.1%