Changelog
Every change to Scrapoxy, from its humble beginnings to its current glory, is documented here. The changelog uses semantic versioning.
4.20.0
BREAKING CHANGE
Azure and Brightdata connectors must be uninstall and reinstall to work properly
Bug Fixes
brightdata: display the proxy ID provided by Brightdata instead of the hidden text
brightdata: simplify architecture for better product and country handling
proxy-seller: enhanced country handling and added support for IPv6
clouds: support modifying the cloud instance port both before and after installation
proxy: proxy replacement managed at proxy level instead of connector level
connector: display correctly verification error message during connector configuration
fingerprint: add test for country preference to fingerprint request
4.19.0
Features
connector: add the Massive connector
fingerprint: refine fingerprinting with country-based preferences
Bug Fixes
brightdata: use Brightdata GEOip for fingerprint to avoid Scrapoxy ban
cloud: update cloud base image to Ubuntu 24.04
liveproxies: enhance detection of enterprise plans
cleaning: remove unused OAuth connection code and connection checks
frontend: improve formatting of country and region selections
frontend: make username and password fields read-only in project settings
stats: enable instant scaling metric refresh
connectors: improve handling of connector validation errors
website: update 'Get Started' documentation
4.18.1
Bugfixes
scaleway: check credentials on listIntances method to avoid permissions issue on project
4.18.0
Features
connector: add the Scaleway connector (thanks to Rémy Fontaine from Sahar)
Bug Fixes
connector/brightdata: update UI and documentation to clarify country selection for ISP and DC
website: doc update and minor fixes
4.17.6
Empty version for testing deployment purpose
4.17.5
Fix
chore: update github actions
4.17.4
This release doesn't include any code changes. Simply update the repository!
BREAKING CHANGE
Please update your Docker image from fabienvauchelles/scrapoxy to scrapoxy/scrapoxy
Repositories
github: change repository from fabienvauchelles/scrapoxy to scrapoxy/scrapoxy
dockerhub: change repository from fabienvauchelles/scrapoxy to scrapoxy/scrapoxy
4.17.3
Features
gcp: add smaller machine types (thanks runa!)
4.17.2
Bug fixes
iproyal: add migration for file storage
website: documentation adjustments
4.17.1
Features
connection: respect keep-alive timeout for MITM connections
Bug Fixes
iproyal: remove API dependency for residential connection
4.17.0
Features
geonode: add Geonode proxies support
Bug fixes
freeproxies: change the way of generating ID hash
misc: minor fixes
4.16.1
Bug fixes
iproyal: update connector to follow the new API
4.16.0
Features
zyte: add support of the Zyte API in Proxy Mode
4.15.2
Bug fixes
master: keep non-scrapoxy request cookies with MITM
4.15.1
Features
zyte: customize URL of the Zyte Smart Proxy Manager
Bug fixes
frontend: fix button alignment introduces with Safari support
4.15.0
Features
tls: add an option to shuffle the ciphersuite to avoid TLS fingerprint
4.14.0
Features
headers: maintain the order and duplication of HTTP headers for MITM mode
Bug fixes
privacy: remove all Scrapoxy headers and cookies from responses sent to the target website.
connectors: prevent unnecessary data sharing with the frontend.
refactor: clean a lot of code
4.13.0
Features
liveproxies: add Live Proxies support
Bug fixes
errors: add missing 557 HTTP status code.
4.12.0
BREAKING CHANGE
Possible breaking change on HTTP status code (see below)
Features
Possible breaking change:
errors: non-authentication errors now return a 557 HTTP status code.
Bug fixes
website: add documentation
idea: add run config for backend and frontend
frontend: fix card button for Safari browser
4.11.2
Bug fixes
gcp: upgrade template image to debian-12
4.11.1
Features
smartproxy: added support for Smartproxy datacenter pay per GB product
4.11.0
Features
smartproxy: added support for Smartproxy
task: enabled naming tasks for better identification
Bug fixes
test: fixed issues with fingerprints in tests.
misc: updated and corrected some documentation and naming conventions
4.10.2
Bug fixes
transport: fix usage of username & password for SOCKS proxy
4.10.1
Features
azure: add support for Spot Instance (thanks to Julien Maitrehenry)
fingerprint: use GET instead of POST method to access fingerprint server (to bypass firewall restrictions)
Bug fixes
azure: handle running deployment to avoid duplicate instances creation
4.10.0
Features
brightdata: add support for Residential and Mobile proxies for BrightData
fingerprint: use GET instead of POST method to access fingerprint server (to bypass firewall restrictions)
Bug fixes
website: misc fixes
4.9.0
Features
netnut: add NetNut connector
Bug fixes
sticky: correct cookie injection for sticky sessions
4.8.1
Bug fixes
ninjasproxy: update the API url
4.8.0
Features
success rate: add success rate metrics to proxies and project
Bug fixes
gcp: fix copy/paste with GCP private key
4.7.2
Bug fixes
freeproxy: include auth info in key generation
4.7.1
Bug fixes
frontend: correct proxy URL parsing
frontend: show proxies error message
transport: set transport type to proxy level
4.7.0
Features
brightdata: add BrightData connector for ISP and DC proxies
backend: add Swagger endpoint for scraper API
frontend: show coupon in marketplace
Bug fixes
misc: many small corrections
4.6.2
Features
frontend: add coupon field in marketplace
proxy-seller: add proxy-seller coupon
4.6.1
Features
master: add HTTPS support to master
4.6.0
Features
proxy-seller: add Proxy-Seller connector
Bug fixes
metrics: include request and response headers size in metrics
website: add stickies session documentation
4.5.2
Bug fixes
aws: use the correct architecture to install and create instances
log: don't throw error if there is no configuration file at startup
4.5.1
Features
frontend: auto-generate a free name at credential and connector creation
website: add scrapy-impersonate documentation to scrapy
Bug fixes
aws: add new instance type like t4g.nano
freeproxy: allow bracket in URLs
transport: add missing timeout on connections
log: add more log at startup
website: reorganize the documentation tree
4.5.0
Features
freeproxies: collect freeproxies from an URL at specified interval
proxies: make timeout configurable to detect online/offline status of proxies
proxies: make timeout configurable for removing offline proxies
freeproxies: add a configurable timeout to detect online/offine status of freeproxies
freeproxies: add a configurable timeout for removing offline freeproxies
api: add an API endpoint to manage freeproxies and sources
Refactor
connectors: merge all connectors into 3 fixed directory (common, frontend, backend)
storage: merge all storages into 2 fixed directory (common, backend)
auth: merge all authentications into 2 fixed directory (common, backend)
website: reorganize website and documentation structure for connectors
website: manage plural text in toasts
Bug fixes
linter: fix linter for HTML and CSS
frontend: correct pagination component
socks: allow socks in connect tunnel mode
4.4.2
Bug fixes
proxy-cheap: fix website url
4.4.1
Bug fixes
github: add script to build and publish docker image and npm package
4.4.0
Features
proxy-cheap: add Proxy-Cheap connectors
hypeproxy: add HypeProxy connector
4.3.0
Features
nimble: add Nimble connector with Nimble IP
Bug fixes
refactor: rename cloud to datacenter
frontend: fix clipboard issue with old browser
misc: correct some naming, documentation
storage: allow empty file for file storage
4.2.3
Bug fixes
commander: log commander http error on console
frontend: more stable clipboard copy
4.2.2
Bug fixes
standalone: force standalone mode when no option is selected
4.2.1
Features
fingerprint: add useragent for all http calls (fingerprint and api)
frontend: split token in username and password in project settings
Bug fixes
package.json: add missing socks package
4.2.0
Features
freeproxies: support HTTPS proxies
freeproxies: support SOCKS4/SOCKS5 proxies
Bug fixes
protocol: Accept only HTTP and HTTPS requests from master
4.1.6
Bug fixes
frontend: correct pagination component
doc: replace local search with algolia
doc: misc documentation fixes
4.1.5
Bug fixes
auth:
secure
flag for the authentication cookie is now optionaldoc: usage of username:password is better explained
4.1.4
Bug fixes
fingerprint: better fingerprint
4.1.3
Bug fixes
doc: correct link to picture
backend-app: add version to package-lock.json in build
4.1.2
Bug fixes
doc: add warning for xproxy installation
doc: improve documentation and website
eslint: merge scrapoxy-linter repository into scrapoxy repository
4.1.1
Bug fixes
iproyal: add migration layer for file storage
4.1.0
Features
iproyal: add support for Royal Residential proxies
marketplace: add marketplace menu with static proxies, dynamic proxies, hardware, datacenter providers and other
Bug fixes
transport: factorize code for residential proxies
4.0.1
Bug fixes
master: handle writeHead error after aborted connection
4.0.0
Scrapoxy 4 represents a complete rewrite, now developed in Typescript. It harnesses the capabilities of NestJS and Angular modules to enhance its functionality and efficiency.
BREAKING CHANGE
Scrapoxy 4 is not compatible with previous versions.
Features
datacenter providers: it supports main datacenter providers like AWS, Azure, GCP and more;
proxy services: it is compatible with proxy provider like Zyte, IPRoyal, Rayobyte and more;
hardware materials: it orchestrates 4G proxy farms hardware types, like Proxidize or XProxy.io;
free proxy lists: it handles manual lists of HTTP/HTTPS proxies;
auto-scale: it autoscale up and down proxies to optimize costs;
auto-rotate: it rotates proxies to avoid bans;
sticky sessions: it supports sticky sessions to keep the same IP address for a scraping session or a browser
traffic interception: it intercepts HTTP and HTTPS traffic to inject consistent headers or cookies;
monitoring: it monitors proxies and provides many statistics.
3.1.1
Bug fixes
master: use correctly writeEnd in socket and request (thanks to Ben Lavalley)
3.1.0
Features
mitm: decrypt & encrypt SSL requests to add headers (like x-cache-proxyname). Compatible with HTTPS requests in PhantomJS.
domains: manage whitelist or blacklist for urls (idea from Jonathan Wiklund)
docs: add ami-485fbba5 with type t2.micro
Bug fixes
logs: correct export path of logs
docs: correct documentation
ssl: add servername in the TLS connect (bug with HELLO)
pinger: use reject instead of throw error (crash program). Thanks to Anis Gandoura.
3.0.1
Features
digitalocean: support Digital Ocean tags on Droplets. Thanks to Ben Lavalley.
Bug fixes
digitalocean: use new image size (s-1vcpu-1gb instead of 512mb)
3.0.0
BREAKING CHANGE
The configuration of providers changes.
Features
providers: uses multiple providers at a time
awsec2: provider removes instances in batch every second (and no longer makes thousands of queries)
ovhcloud: provider creates instances in batch (new API route used)
Bug fixes
maxRunningInstances: remove blocking parameters maxRunningInstances
2.4.3
Bug fixes
node: change minimum version of Node.js to 8
dependencies: upgrade dependencies to latest version
2.4.2
Bug fixes
useragent: set useragent at instance creation, not at startup
instance: force crashed instance to be removed
2.4.1
Bug fixes
instance: correctly remove instance when instance is removed. Thanks to Étienne Corbillé.
2.4.0
Features
provider: add VScale.io provider. Thanks to Hotrush.
Bug fixes
proxy: use a valid startup script for init.d. Thanks to Hotrush.
useragent: change useragents with a fresh list for 2017
2.3.10
Features
docs: add ami-06220275 with type t2.nano
Bug fixes
instance: remove listeners on instance alive status on instance removal. Thanks to Étienne Corbillé.
2.3.9
Features
digitalocean: update Digital Ocean documentation
digitalocean: view only instances from selected region
instances: remove random instances instead of the last ones
pm2: add kill_timeout option for PM2 (thanks to cp2587)
Bug fixes
digitalocean: limit the number of created instances at each API request
digitalocean: don't remove locked instances
2.3.8
Features
docker: create the Docker image scrapoxy/scrapoxy
Bug fixes
template: limit max instances to 2
2.3.7
Features
connect: scrapoxy accepts now full HTTPS CONNECT method. It is useful for browser like PhantomJS. Thanks to Anis Gandoura
2.3.6
Bug fixes
template: replace old AWS AMI by ami-c74d0db4
2.3.5
BREAKING CHANGE
Please rebuild instance image.
Features
instance: change Node.js version to 6.x
ping: use an HTTP ping instead a TCP ping.
2.3.4
Features
stats: monitor stop count history
stats: add 3 more scales: 5m, 10m and 1h
logs: normalize logs and add more informations
scaling: pop a message when maximum number of instances is reached in a provider
scaling: add quick scaling buttons
docs: explain why Scrapoxy doesn't accept CONNECT mode
docs: explain how User Agent is overwritten
Bug fixes
dependencies: upgrade dependencies
ovh: monitor DELETED status
docs: add example to test scrapoxy with credentials
commander: manage twice instance remove
2.3.3
Bug fixes
master: sanitize bad request headers
proxy: catch all socket errors in the proxy instance
2.3.2
Bug fixes
docs: fallback to markdown for README (because npmjs doesn't like retext)
2.3.1
Features
docs: add tutorials for Scrapy and Node.js
Bug fixes
digitalocean: convert Droplet id to string
2.3.0
Features
digitalocean: add support for DigitalOcean provider
2.2.1
Misc
config: rename
my-config.json
toconf.json
doc: migrate documentation to ReadTheDocs
doc: link to the new website Scrapoxy.io
2.2.0
BREAKING CHANGE
node minimum version is now 4.2.1, to support JS class
Features
all: migrate core and gui to ES6, with all best practices
api: replace Express by Koa
Bug fixes
test: correct core e2e test
2.1.2
Bug fixes
gui: correct token encoding for GUI
2.1.1
Bug fixes
main: add message when all instances are stopped (at end)
doc: correct misc stuff in doc
2.1.0
Features
ovh: add OVH provider with documentation
security: add basic auth to Scrapoxy (RFC2617)
stats: add flow stats
stats: add scale for stats (1m/1h/1d)
stats: store stats on server
stats: add globals stats
doc: split of the documentation in 3 parts: quick start, standard usage and advanced usage
doc: add tutorials for AWS / EC2
gui: add a scaling popup instead of direct edit (with integrity check)
gui: add update popup when the status of an instance changes.
gui: add error popup when GUI cannot retrieve data
logs: write logs to disk
instance: add cloud name
instance: show instance IP
instance: always terminate an instance when stopping (prefer terminate instead of stop/start)
test: allow more than 8 requests (max 1000)
ec2: force to terminate/recreate instance instead of stop/restart
Bug fixes
gui: emit event when scaling is changed by engine (before, event was triggered by GUI)
stability: correct a lot of behavior to prevent instance cycling
ec2: use status name instead of status code
2.0.1
Features
test: specify the count of requests with the test command
test: count the requests by IP in the test command
doc: add GUI documentation
doc: add API documentation
doc: explain awake/asleep mode in user manual
log: add human readable message at startup
2.0.0
BREAKING CHANGE
API routes are prefixed with /api
Features
gui: add GUI to control Scrapoxy
gui: add statistics to the GUI (count of requests / minute, average delay of requests / minute)
doc: add doc about HTTP headers
1.1.0
Features
commander: stopping an instance returns the new count of instances
commander: password is hashed with base64
commander: read/write config with command (and live update of the scaling)
Misc
chore: force global install with NPM
1.0.2
Features
doc: add 2 AWS / EC2 tutorials
Bug fixes
template: correct template mechanism
config: correct absolute path for configuration
1.0.1
Misc
doc: change author and misc informations
1.0.0
Features
init: start of the project