8000 GitHub - luxedo/http-proxy: Advanced HTTP/HTTPS proxy server in TypeScript, built on proxy-chain. Features configurable authentication, strict host validation, keep-alive connections, response compression, and advanced logging with Winston. Ideal for Discord bots, web scraping, and secure web traffic control.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Advanced HTTP/HTTPS proxy server in TypeScript, built on proxy-chain. Features configurable authentication, strict host validation, keep-alive connections, response compression, and advanced logging with Winston. Ideal for Discord bots, web scraping, and secure web traffic control.

License

Notifications You must be signed in to change notification settings

luxedo/http-proxy

 
 

Repository files navigation

🧭 HTTP Proxy Server

English | Português

A robust and configurable HTTP proxy server developed in TypeScript, featuring authentication, host access control, and logging. Ideal for scenarios such as Discord bots, data scraping, and traffic control.

🚀 Features

  • 🔐 Basic authentication via .env
  • 🌐 Host access control
  • 📄 Logging with Winston
  • ⚙️ Configuration via environment variables
  • 🧪 Modular and extensible structure

📦 Installation

  1. Clone the repository:

    git clone https://github.com/HCDevWorks/http-proxy.git
    cd http-proxy
  2. Install the dependencies:

    pnpm install
  3. Configure the .env file:

    PORT=8888
    ENABLE_LOGS=true
    ENABLE_ERROR_LOGS=false
    PROXY_USERNAME=your_username
    PROXY_PASSWORD=your_password
    ALLOWED_HOSTS='google.com','youtube.com'

🛠️ Usage

Start the proxy server with:

pnpm build # build the server

and

pnpm start # start the server

The server will listen on the port defined in PORT (default: 8888).

🖥️ Running as a Linux Service

See how to create a systemd service to run the proxy automatically on Linux in docs/linux-service.md.

📁 Project Structure

http-proxy/
├── src/
│   ├── config/
│   │   └── config.ts       # Loads environment variables
│   ├── logger/
│   │   └── logger.ts       # Winston logger configuration
│   └── server/
│       └── server.ts       # Main proxy server logic
├── tests/                  # Proxy and benchmark tests
│   ├── testProxy.ts
│   └── testProxyBenchmark.ts
├── .env                    # Environment variables
├── package.json
├── pnpm-lock.yaml
├── tsconfig.json
└── docs/
    └── pt-br/
        └── README.md       # Documentation in Brazilian Portuguese

🤝 Contributing

Contributions are welcome! Please read our Code of Conduct and Contributing Guidelines before opening issues or pull requests.

We also provide templates to help you:

📄 License

This project is licensed under the MIT License.

About

Advanced HTTP/HTTPS proxy server in TypeScript, built on proxy-chain. Features configurable authentication, strict host validation, keep-alive connections, response compression, and advanced logging with Winston. Ideal for Discord bots, web scraping, and secure web traffic control.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%
0