/simple-cors-proxy

Simple CORS proxy server for seamless cross-origin requests with TypingMind plugin. Easy setup.

Primary LanguageJavaScript

🐳 Docker Simple CORS Proxy

🐳 Docker Image | 🔗 TypingMind Plugin

This is a simple CORS proxy server designed to work with the TypingMind plugin. It allows you to make cross-origin requests to any API without worrying about CORS restrictions.

🚀 Features

  • 🌐 Seamless integration with external APIs using the TypingMind plugin
  • 🔄 Handles CORS headers to enable cross-origin requests
  • ⚙️ Easy setup and configuration
  • 🐳 Docker image available for quick deployment

⌨️ TypingMind Plugin

The TypingMind plugin is a powerful tool that enhances the capabilities of GPT. With the TypingMind plugin, GPT can seamlessly make calls to any API without being restricted by CORS (Cross-Origin Resource Sharing) policies. This allows GPT to access external data sources and services, opening up a wide range of possibilities for integration and interaction.

To use the TypingMind plugin, simply install go to the TypingMind Plugin page and click on Import.

🐳 Docker

You can use the Docker image to quickly run the proxy server. Here's how:

  1. Pull the Docker image:
docker pull obeoneorg/simple-cors-proxy
  1. Run the Docker container:
docker run -d --name simple-cors-proxy  -p 8080:8080 obeoneorg/simple-cors-proxy

🐳 Docker Compose

You can use the Docker Compose file to quickly run the proxy server. Here's how:

  1. Run the Docker Compose file:
docker compose up -d

💻 Usage

To use this proxy server without Docker, follow these steps:

  1. Clone the repository:
git clone https://github.com/obeone/simple-cors-proxy.git
  1. Install the dependencies:
npm install
  1. Start the server:
npm start
  1. The server will be running on port 8080 by default. You can change the port by setting the PORT environment variable.

Advanced Usage

Authentication

If you need to authenticate access to the proxy server, you can use the PROXY_TOKEN environment variable. You set the PROXY_TOKEN environment variable to the value of your API key, and the proxy server will check the API key in the X-Proxy-Token header.

Example :

docker run -d --name simple-cors-proxy  -p 8080:8080 -e PROXY_TOKEN=YOUR_API_KEY obeoneorg/simple-cors-proxy
curl -H "X-Proxy-Token: YOUR_API_KEY" -H "X-Url-Destination: http://example.com" http://localhost:8080/proxy

Headers Removal

If you need to remove some headers (for example X-Forwarded-For), you can use the x-headers-delete header. For example, if you want to remove the X-Forwarded-For header, you can set the x-headers-delete header to X-Forwarded-For.

You can also use the environment variable HEADERS_TO_DELETE to remove specific headers, or both.

In both cases, if you need to remove multiple headers, you can use a comma-separated list.

So for example :

docker run -d --name simple-cors-proxy  -p 8080:8080 -e HEADERS_TO_DELETE=X-Forwarded-For,X-Forwarded-Host obeoneorg/simple-cors-proxy

🤝 Contributing

Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on GitHub.

Generated by GPT-3.5-turbo-1106