{"id":17165,"library":"axios-https-proxy-fix","title":"Axios HTTP Client with HTTPS Proxy Fix (Abandoned Fork)","description":"This package, `axios-https-proxy-fix`, is an unmaintained fork of the popular `axios` promise-based HTTP client, specifically created to address a known bug in older `axios` versions. The original issue caused an 'ERR_BAD_PROTOCOL' or '403' error when attempting to make HTTPS requests through an HTTP proxy. It ships with version `0.17.1`, last published in December 2017. As an old fork, it lacks the features, performance improvements, and security patches present in the actively maintained official `axios` library (which is currently in its `1.x` and later versions and has evolved its proxy handling). Its primary differentiator was its proxy fix, which is now largely addressed or handled through standard configurations or companion libraries (like `https-proxy-agent`) in modern `axios`.","status":"abandoned","version":"0.17.1","language":"javascript","source_language":"en","source_url":"https://github.com/Sitronik/axios","tags":["javascript","xhr","http","ajax","promise","node","typescript"],"install":[{"cmd":"npm install axios-https-proxy-fix","lang":"bash","label":"npm"},{"cmd":"yarn add axios-https-proxy-fix","lang":"bash","label":"yarn"},{"cmd":"pnpm add axios-https-proxy-fix","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"For ESM in Node.js or browser environments; CommonJS users should use `require`.","wrong":"const axios = require('axios-https-proxy-fix');","symbol":"axios","correct":"import axios from 'axios-https-proxy-fix';"},{"note":"TypeScript type import for request configuration. Types are based on Axios 0.17.1.","symbol":"AxiosRequestConfig","correct":"import type { AxiosRequestConfig } from 'axios-https-proxy-fix';"},{"note":"TypeScript type import for response objects. Types are based on Axios 0.17.1.","symbol":"AxiosResponse","correct":"import type { AxiosResponse } from 'axios-https-proxy-fix';"}],"quickstart":{"code":"import axios from 'axios-https-proxy-fix';\n\n// Configure Axios with a proxy (example for an HTTP proxy handling HTTPS traffic)\n// In a real application, replace with actual proxy details and consider environment variables\nconst instance = axios.create({\n  baseURL: 'https://jsonplaceholder.typicode.com',\n  timeout: 5000,\n  proxy: {\n    protocol: 'http',\n    host: 'your.proxy.host',\n    port: 8080,\n    auth: {\n      username: process.env.PROXY_USERNAME ?? '',\n      password: process.env.PROXY_PASSWORD ?? ''\n    }\n  }\n});\n\n// Make a GET request using the configured instance\ninstance.get('/todos/1')\n  .then(response => {\n    console.log('Fetched data:', response.data);\n    console.log('Status:', response.status);\n  })\n  .catch(error => {\n    if (error.response) {\n      console.error('Request failed with status:', error.response.status);\n      console.error('Response data:', error.response.data);\n    } else if (error.request) {\n      console.error('No response received:', error.request);\n    } else {\n      console.error('Error setting up request:', error.message);\n    }\n  });\n\n// Perform a POST request directly without instance (using default global config)\naxios.post('https://jsonplaceholder.typicode.com/posts', {\n    title: 'foo',\n    body: 'bar',\n    userId: 1,\n  }, {\n    proxy: {\n      protocol: 'http',\n      host: 'another.proxy.host',\n      port: 3128\n    }\n  })\n  .then(response => {\n    console.log('Posted data:', response.data);\n  })\n  .catch(error => {\n    console.error('POST error:', error.message);\n  });","lang":"typescript","description":"This quickstart demonstrates how to make GET and POST requests using `axios-https-proxy-fix`, including basic proxy configuration for HTTP proxies handling HTTPS traffic, and error handling."},"warnings":[{"fix":"Migrate to the official `axios` package. For HTTPS proxy issues, consider modern `axios` proxy configuration or libraries like `https-proxy-agent`.","message":"This package is an abandoned fork of Axios version 0.17.1 (released December 2017). It is incompatible with modern Axios (v0.20+ and v1.x+) and lacks numerous features, bug fixes, and performance improvements present in the actively maintained official `axios` library. Do not use for new projects.","severity":"breaking","affected_versions":">=0.17.1"},{"fix":"Switch to the official `axios` package (npm: `axios`). The issues `axios-https-proxy-fix` addressed are either resolved in modern `axios` or handled through robust alternative patterns.","message":"The `axios-https-proxy-fix` package is no longer maintained. Its last update was in 2017, meaning it will not receive security updates, bug fixes, or compatibility enhancements. Using unmaintained software introduces significant risks.","severity":"deprecated","affected_versions":">=0.17.1"},{"fix":"Immediately replace `axios-https-proxy-fix` with the current stable version of the official `axios` package to benefit from active security maintenance.","message":"Using this outdated package exposes applications to potential security vulnerabilities. It lacks years of security patches and best practices implemented in the main `axios` project. This includes vulnerabilities related to HTTP request handling, data parsing, and network interactions.","severity":"gotcha","affected_versions":">=0.17.1"},{"fix":"Use the official `axios` package, which provides up-to-date and accurate TypeScript definitions for its current API.","message":"The TypeScript type definitions included with this package are based on an ancient version of Axios. They will not reflect the API changes and new features introduced in `axios` v0.20 and especially v1.x, leading to type errors and incorrect IntelliSense if used in a modern TypeScript project.","severity":"gotcha","affected_versions":">=0.17.1"}],"env_vars":null,"last_verified":"2026-04-22T00:00:00.000Z","next_check":"2026-07-21T00:00:00.000Z","problems":[{"fix":"Upgrade to the official `axios` package (v0.2x or v1.x+). Modern Axios has improved proxy handling. If problems persist, consider using `https-proxy-agent` with Axios's `httpsAgent` option, or ensure your proxy configuration is correct for your proxy server and `axios` version.","cause":"This error or similar 'ERR_BAD_PROTOCOL' indicates a problem establishing an HTTPS connection through an HTTP proxy, often due to how older Axios versions handled the 'CONNECT' method.","error":"Error: tunneling socket could not be established, statusCode=403"},{"fix":"Replace `axios-https-proxy-fix` with the current stable `axios` package (`npm install axios`). Features are backported to forks only if actively maintained, which this one is not.","cause":"Attempting to use features or configurations introduced in newer versions of the official `axios` library with the outdated `axios-https-proxy-fix` fork.","error":"Property 'someNewAxiosFeature' does not exist on type 'AxiosInstance'."},{"fix":"Ensure the package is installed via `npm install axios-https-proxy-fix` or update your import paths to use the official `axios` package after migrating.","cause":"The package was not installed or is not resolvable in the current environment.","error":"ModuleNotFoundError: No module named 'axios-https-proxy-fix'"}],"ecosystem":"npm","meta_description":null}