This project is a lightweight asynchronous proxy for OpenAI’s ChatGPT API written in pure PHP. It lets you send a prompt, receive a request ID, and fetch the result later — ideal for long tasks, background jobs, or backend integrations.
- ✅ Async request → ID → result flow
- ✅ SQLite storage (no external DB)
- ✅ HMAC SHA256 signature validation
- ✅ Configurable API key (file or env)
- ✅ Per-IP rate limiting
- ✅ Worker with retries and TTL
- ✅ PowerShell client for Windows
- ✅ Daemon mode (
php index.php daemon)
chatgpt-proxy/
├─ index.php # Main proxy script
├─ .env.example.php # Example configuration
├─ .env.php # Real config (ignored by git)
├─ requests.sqlite # SQLite database
├─ send-request.ps1 # Example PowerShell client
└─ logs/ # Worker logs
-
Install PHP 8.1+ with
pdo_sqliteandcurl. -
Copy config:
cp .env.example.php .env.php
-
Edit
.env.phpand add your OpenAI API key.
Start the server:
php -S localhost:8000Run worker once:
php index.php workerRun worker continuously:
php index.php daemonRun the included PowerShell client:
.\send-request.ps1It will:
- Generate an HMAC signature
- Send the request
- Poll the result
- Print the final ChatGPT response
| Endpoint | Method | Description |
|---|---|---|
POST /index.php?action=request |
POST | Create a new request |
GET /index.php?action=result&id=ID |
GET | Get result by request ID |
GET /index.php?action=worker |
GET | Manually trigger worker |
GET /index.php?action=health |
GET | Health check |
- All requests must include the
X-Proxy-Keyheader. - Request body must include
sign(HMAC SHA256).
MIT — free to use, modify, and distribute.
Проект — это лёгкий асинхронный прокси-сервер для ChatGPT API на чистом PHP. Позволяет отправить запрос, получить ID и получить результат позже — удобно для долгих задач, очередей и интеграций.
- ✅ Асинхронный цикл: запрос → ID → результат
- ✅ SQLite без внешней БД
- ✅ Проверка подписи (HMAC SHA256)
- ✅ API-ключ из файла или окружения
- ✅ Лимитирование по IP
- ✅ Воркеры с ретраями и TTL
- ✅ PowerShell-клиент для Windows
- ✅ Демон-режим (
php index.php daemon)
chatgpt-proxy/
├─ index.php # Основной прокси-скрипт
├─ .env.example.php # Пример конфигурации
├─ .env.php # Настоящий конфиг (в .gitignore)
├─ requests.sqlite # База SQLite
├─ send-request.ps1 # Клиент на PowerShell
└─ logs/ # Логи воркера
-
Установите PHP 8.1+ с расширениями
pdo_sqliteиcurl. -
Скопируйте конфиг:
cp .env.example.php .env.php
-
Отредактируйте
.env.phpи добавьте свой ключ OpenAI.
Старт сервера:
php -S localhost:8000Однократный запуск воркера:
php index.php workerЗапуск воркера в фоне:
php index.php daemonЗапустите PowerShell-клиент:
.\send-request.ps1Он:
- Генерирует HMAC-подпись
- Отправляет запрос
- Проверяет статус
- Выводит результат ChatGPT
| Endpoint | Метод | Описание |
|---|---|---|
POST /index.php?action=request |
POST | Создание нового запроса |
GET /index.php?action=result&id=ID |
GET | Получение результата по ID |
GET /index.php?action=worker |
GET | Ручной запуск обработки |
GET /index.php?action=health |
GET | Проверка состояния |
- Все запросы должны содержать заголовок
X-Proxy-Key. - Тело запроса должно содержать валидную подпись
sign(HMAC SHA256).
MIT — свободное использование, изменение и распространение.
- 🇬🇧 English — scroll to top
- 🇷🇺 Русский — scroll below