A simple dev HTTP/HTTPS proxy for replacing CORS headers.
Download the appropriate version for your platform from UNCORS releases page. Once downloaded, the binary can be run from anywhere. You don’t need to install it into a global location. This works well for shared hosts and other systems where you don’t have a privileged account.
Ideally, you should install it somewhere in your PATH
for easy use. /usr/local/bin
is the most probable location.
We currently offer images for Docker https://hub.docker.com/r/evg4b/uncors
Prerequisite Tools
- Git
- Go (at least Go 1.11)
Fetch from GitHub
UNCORS uses the Go Modules support built into Go 1.11 to build. The easiest way to get started is to clone UNCORS source code in a directory outside of the GOPATH, as in the following example:
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/evg4b/uncors.git
cd uncors
go install
If you are a Windows user, substitute the $HOME environment variable above with %USERPROFILE%
.
./uncors --port 8080 --target 'https://github.com' --source 'http://localhost'
--port
- Local HTTP linthing port.--target
- Url with protocol for to the resource to be proxyed.--source
- Url with protocol for to the resource from which proxying will take place.
sequenceDiagram
participant Client
participant Uncors
participant Server
alt Handling OPTIONS queries
Client ->> Uncors: Access-Control-Request
Uncors ->> Client: Allow-Control-Request
end
alt Handling Data queries
Client ->> Uncors: GET, POST, PUT... query
Note over Uncors: Replacing url with target<br/> in headers and cookies
Uncors-->>Server: Real GET, POST, PUT... query
Server->>Uncors: Real responce
Note over Uncors: Replacing url with source<br/> in headers and cookies
Uncors-->>Client: Data responce
end