Skip to content

Proxiee is a straightforward Flask-based proxy server. Clients can request Proxiee to call a specified API URL along with other required parameters. Proxiee then executes the request and relays the response back to the user.

Notifications You must be signed in to change notification settings

khushaal-nandwani/proxiee

Repository files navigation

Proxiee

Proxiee is a straightforward Flask-based proxy server. Clients can request Proxiee to call a specified API URL along with other req uired parameters. Proxiee then executes the request and relays the response back to the user.

Features

  • Supports popular methods - GET, PUT, DELETE, POST.
  • Supports headers and parameters. You can add certain permanent headers on top using the configuration file. For example, this can include authorization keys for certain API.
  • Logs the server's health by logging the API called, time Proxiee took in complete processing (includes the parent api time), the IP of the Client, method etc. into a new log file every midnight along with an analysis tool for log.
  • Includes a configuration file where permissible APIs and username passwords can be specified, controlling access to Proxiee's functionality.

Configuration Setup

Configure myconfig file as follows

[allowed_apis]
api.endpoints.youwanttoaccess = 1

[users]
username = password

[allowed_ips]
127.0.0.1 = 1

[headers_for_api.endpoint.com]
header1 = value
header2 = value
  • allowed_apis are the APIs that can be accessed by the user.
  • users are the usernames and passwords that can be used to access the Proxy.
  • allowed_ips are the IPs that can call Proxy.
  • headers_for_api.endpoint.com are the headers that will be added to the request when calling api.endpoint.com.

Setup

  • Create a virtual enviornment using python -m venv .venv
  • Activate the virtual enviornment using source .venv/bin/activate for linux and .\.venv\Scripts\activate for windows.
  • Install the dependecies using pip install -r requirements.txt
  • run waitress-server --host={yourHost} --port={yourPort} main:app to start the server

Making a Request

  • The request should be made at http://{yourHost}:{yourPort}/proxy with the following parameters

    • 'api_url' : The API URL you want to access.
  • and the following headers

    • 'username' : The username you have configured in the myconfig.ini file.
    • 'password' : The password you have configured in the myconfig.ini file.

Troubleshooting

  • Make sure the python is correctly located in the .venv/pyvenv.cfg
  • Make sure python is installed and is in the PATH.
  • Make sure to configure myconfig.ini as per your requirements.

About

Proxiee is a straightforward Flask-based proxy server. Clients can request Proxiee to call a specified API URL along with other required parameters. Proxiee then executes the request and relays the response back to the user.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages