- catch websocket errors
- re-enabled http2 by default. see
config.js
for details.
- add ability to override proxy settings on server-level basis
- update
testcafe-hammerhead
from24.5.18
to31.6.2
- fix throw error on empty files
- fix missing cors origin header when port and crossDomainPort are the same
- properly fixed window.top issues when window.top isn't hammerhead
- replace unreliable
win.__get$(win, 'location')
with just rewriting the url directly - fix worker-hammerhead.js proxy url rewriting port undefined when 443 or 80
- add newly added classes to exports in src/index.js
- replace broken
keyv-lru-files
with own implementation of JS caching
- fix localStorage's getItem referencing parent in iframes
- handle removeStaleSessions of .get() returning undefined from corrupted session files
- fix crashes from corrupted sessions
- fix memory usage issues when downloading huge files
- fix iframing cross-origin proxy
- add disk cache option for processed JS files. fixes huge server memory usage and enables workers to share the same cache
- update
testcafe-hammerhead
tov24.5.18
. fixes huge server slowdowns as brotli compression level is now adjusted to a much more reasonable value
- fix huge spikes of memory usage by replacing localStorage system with a custom one
- more fixes for iframing
- avoid using unstable API
fs.cpSync
in build.js
- added multithreading support
- convert hooks to stackable rewrite system
- delete hooks only after all fix function calls
- fix localStorage communication between windows by forcing them to read/write from realLocalStorage on every (get/set)Item call
- add argument for ignoring files in
addStaticFilesToProxy
- fix parseProxyUrl().proxy.port for 443 and 80 urls
- add option to restrict IP to session
- fix rewriting only non-websocket server headers
- fix errors when calling focus()/click()... to a closed iframe
- don't strip headers (hook onto res.writeHead) if connection is a websocket
- build to rammerhead.js and rammerhead.min.js
- fix same-domain iframes
- add jsdoc definitions for rammerhead store classes
- fix http proxy setting not deleting correctly
- fix uncatchable connection crash errors
- avoid shuffling percent encodings
- prevent forwarding localStorage endpoint to site by referrer
- fix (un)shuffle for location.hash and location.search
- add url encoding
- handle ECONNRESET manually
- bring back MemoryStore class for module exports
- add server option to disable localStorage syncing
- fix
RammerheadSessionFileCache
not saving cache to disk correctly
- handle websocket EPIPE error
- replace hammerhead's connection reset guard with a non-crashing rammerhead's reset guard
- add missing element attr getter unrewrite
- fix url rewriting for ports 80 and 443
- disable http2 support (for proxy to destination sites) because error handling is too complicated to handle
- removed server headers
report-to
(to avoid proxy url leak) andcross-origin-embedder-policy
(which fixes reCAPTCHA v3)
- fix logger.error undefined (caused by not fully updating arguments for httpResponse.badRequest)
- expose more utils for npm package
- show password box if needed for html demo
- expose more modules for npm package
- add support for .env files
- add
deleteUnused
config option - fix default 3 day session delete
- revert "revert fix for fix npm package"
- add entrypoint index.js for rammerhead package
- add package-lock.json to source control
- update demo link
- fix npm package
- add support for environment variable
DEVELOPMENT
- fix crash when fetching /deletesession with a non-existent session id
- fix stability issues with websocket
- update
testcafe-hammerhead
tov24.5.13
- removed multi worker and rate limiting support to defer the complexity to other more suitable platforms like Docker. See this commit if you wish to see the original attempt at this.
- removed unused session cleanup (as traversing the session list forces the cache into memory)
- lots of cleanup
- Initial commit