Ilya Kreymer
3dd6c442ed
client-side rewrite: unrewrite accessing Attr object value/nodeValue for href, src, poster attributes
2017-04-18 11:40:28 -07:00
Ilya Kreymer
8849eb494e
client-side: init postMessage override on iframe access
2017-04-17 13:39:41 -07:00
Ilya Kreymer
0c833eb27e
client-side rewrite fixes:
...
- rewrite-blob: more generic removal of postMessage override for worker scripts
- rewrite-style: wrap decodeURIComponent in exception handling
2017-04-15 23:37:07 -07:00
Ilya Kreymer
bae9a09671
client-side Date override: override 'constructor' property so 'new Date().constructor == Date'
2017-04-14 09:21:29 -07:00
Ilya Kreymer
a20480b9ab
wombat rewrite: rewrite href="data:text/css" using rewrite_style()
...
rewrite_style fix: replace all 'WB_wombat_' in text not just first once
2017-03-21 11:17:15 -07:00
Ilya Kreymer
a82cfc1ab2
rewriter: add rewrite_dash for rewriting DASH and HLS manifests!
...
rewriter: refactor to use mixins to extend base rewriter (todo: more refactoring)
fuzzy-matcher: support for additional 'match_filters' to filter fuzzy results via optional regexes by mime type,
eg. allow more lenient fuzzy matching on DASH manifests than other resources (for now)
fuzzy-matching: add WebAgg-Fuzzy-Match response header if response is fuzzy matched, redirect to exact match in rewriterapp
2017-03-20 14:41:12 -07:00
Ilya Kreymer
1344907032
wombat fixes: message listener fixes for multiple listeners
...
- don't reject multiple listeners
- create new WrappedListener() obj for each listener
- extract_orig() add current scheme if url starts with '//'
2017-03-15 11:14:04 -07:00
Ilya Kreymer
93f26452e5
wombat fixes:
...
- add service worker rewrite
- add documentURI rewrite
- allow history change from "about:blank"
2017-03-14 18:28:18 -07:00
Ilya Kreymer
20e49c7391
karma fixes: avoid accessing undef var
2017-03-14 12:28:13 -07:00
Ilya Kreymer
e0878f0f67
wombat: reinit paths if inited via new window creation/iframe to reflect correct url!
...
refactor wombat into single _WBWombat object
2017-03-14 11:44:09 -07:00
Ilya Kreymer
57eba8fcde
client side rewrite: add override for window.frames access
2017-03-12 09:47:29 -07:00
Ilya Kreymer
0784e4e5aa
spin-off warcio!
...
update imports to point to warcio
warcio rename fixes:
- ArcWarcRecord.stream -> raw_stream
- ArcWarcRecord.status_headers -> http_headers
- ArchiveLoadFailed single param init
2017-03-07 10:58:00 -08:00
Ilya Kreymer
531422fc1b
client-side rewrite improvements:
...
- add overrides for document.URL, xhr.responseURL, function for general single property override
- postMessage: add overrides for additional MessageEvent properties, target, srcElement, path, eventPhase
- postMessage: avoid duplicate event listeners registered
- check for duplicate postMessage override inits
2017-02-15 17:03:15 -08:00
Ilya Kreymer
564f548afa
wombat improvements:
...
- xhr responseURL override, extract original url
- Worker override: if using 'blob:', extract blob and remove any postMessage() rewriting (workers won't have the __WB_pmw function)
- eval() override: conv to string before rewriting
2017-02-05 02:26:02 -05:00
Ilya Kreymer
0e414acfda
setup: remove pyamf as default dep for now
2016-12-21 17:15:41 -08:00
Ilya Kreymer
5690604556
client-side rewrite: add eval() override, add WB_wombat_ prefixes for location
2016-12-02 12:11:54 -08:00
Ilya Kreymer
a8c0ff3c06
client rewrite: fix window.fetch override, create new Request object if url is rewritten
2016-11-23 11:46:01 -08:00
Ilya Kreymer
42a31bbebf
wombat improvements:
...
- history change check: don't reject urls without a slash, check if new url == origin
- new api: override window.fetch() if it exists
- srcset elem rewriting, <source> element srcset override
- ajax: don't add X-Pywb-Requested-With header if url is a data: url
2016-10-19 21:11:16 -07:00
Ilya Kreymer
8b77f66a10
wb_frame.js: make more safe, check that frame actually exists before accessing
2016-10-19 20:57:56 -07:00
Ilya Kreymer
06b9e957e6
vidrw: when in proxy mode, use current protocol for vi_ query
2016-10-03 08:17:13 -07:00
Ilya Kreymer
28dd799516
wombat: auto-disable notifications and geolocation queries
2016-10-01 21:08:53 -07:00
Ilya Kreymer
e97d2fb517
wombat unrewrite: if given a host-relative url (starting with '/') to extract_orig(), extract as host-relative as well if the host matches the current origin -- maintain host-relative urls when possible
2016-10-01 13:53:59 -07:00
Ilya Kreymer
950c31737c
wombat typo: check that __WB_top_frame is not null before using!
2016-09-30 13:49:57 -07:00
Ilya Kreymer
718cd43ae2
client rewrite: improvements for proxy mode
...
- disable most overrides when in proxy mode
- if using rewrite_url(), keep current scheme, instead of defaulting to http
- use 'window._wb_js' to check init
2016-09-29 15:26:12 -07:00
Ilya Kreymer
98e8a75920
vidrw: more permissive flash video rewriting: consider any <object> with flashvars, attempt any youtube-dl playlist
...
bump version to 0.32.2
2016-09-21 11:37:31 -07:00
Ilya Kreymer
0a76a56b91
wombat: edge case: correctly handle <iframe src="javascript:WB_wombat_location=...> assignment created via JS.. custom rewrite_frame_src() added for use with rewrite_elem(), ensures wombat init is inserted first thing after 'javascript:'
2016-09-14 15:44:20 -07:00
Ilya Kreymer
cc65ce914d
wombat improvements (2.16):
...
- rewrite_elem() also rewrite 'poster'
- extract_orig() don't add http:// if nothing extracted
- new override: navigator.sendBeacon() if available
2016-09-14 14:13:59 -07:00
Ilya Kreymer
5fede0fea3
wombat: turn off debugging (accidentally committed)
2016-09-14 13:39:10 -07:00
Ilya Kreymer
1fb6e9b5fa
rewrite: url rewriter: don't rewrite relative urls, only those that start with scheme, / or contain ../ #195
...
update tests to reflect this new behavior
2016-09-14 13:04:46 -07:00
Ilya Kreymer
6452c72b4f
bump versions
2016-09-08 10:31:07 -07:00
Ilya Kreymer
1fe201c528
rewrite: html: rewrite svg <image> tag
...
client: update textContent after rewrite_style() in rewrite_elem()
2016-09-08 10:06:47 -07:00
Ilya Kreymer
895a01933c
wb: allow multiple readystateevent changes, in case data changes (eg. title is available later)
2016-09-02 12:04:30 -07:00
Ilya Kreymer
70a25b6d0f
client rewrite: ensure window.open() windows have wombat inited. if they are set to about:blank, use parser from opener to ensure proper relative url resolving
2016-08-20 13:03:17 -04:00
Ilya Kreymer
099a81b786
wb_frame: add support for optional 'wbinfo.outer_prefix' which if set, is used for making the top frame url ( #191 )
2016-08-20 00:03:21 -04:00
Ilya Kreymer
892ebacead
cross-frame improvements: #191
...
- make hashchange functions use postMessage(), support setting top->replay and replay->top
- special postMessage() option for sending message from top frame -> replay frame
- fix history navigation, mimic top frame history same as replay frame as much as possible
- remove iframe_loaded() callback, using postMessage() notifications only
- include document title in 'load' message
2016-08-19 23:44:15 -04:00
Ilya Kreymer
6af1a7856e
top-frame handling: don't access contents of top frame directly to support cross-domain frames
...
set __WB_top_Frame in wombat if is_framed property is true, don't check wbinfo (#191 )
2016-08-19 13:59:42 -04:00
Ilya Kreymer
b22a29df5f
vidrw: also check for 'src' param as well as movie
2016-08-08 19:50:16 -04:00
Ilya Kreymer
d5adc05cbb
history rewrite check: don't check empty urls ( #188 )
2016-08-01 10:27:38 -04:00
Ilya Kreymer
c3389987cd
frame timestamp extract: fix timestamp extracting timestamp for non-html resources for use with frame display ( #189 )
2016-07-28 10:06:10 -04:00
Ilya Kreymer
42a2fa02fe
wombat: history check fix: ensure check applies to absolute url #188
2016-07-16 13:32:46 -04:00
Ilya Kreymer
64a49b3e4d
wombat: history change improvements ( #188 ):
...
- ensure back, go, forward also propagated to top frame
- ensure pushState propagated as pushState and replaceState as replaceState to top frame
- security: prevent pushState or replaceState from changing to different domain
2016-07-16 13:18:08 -04:00
Ilya Kreymer
0b57f4a352
cookie notification: use postMessage() instead of callback to notify top frame of cookie setting with custom domain, #186
2016-07-01 09:58:25 -04:00
Ilya Kreymer
827ba9b50f
cookies: add optional callback when setting cookie with domain (to experiment with server side handling of custom domain)
2016-06-30 12:26:18 -04:00
Ilya Kreymer
e28f294302
wombat: ensure window.open() rewrite happens even in if open not in prototype
...
rewrite mod: allow empty "" as set mod, check for undefined
2016-05-24 17:55:17 -07:00
Ilya Kreymer
84c829467b
framed replay: use postMessage() instead of custom function to notify of replay frame changing url, include different type of change, eg. load, replaceState, pushState, #181
2016-05-23 12:10:10 -07:00
Ilya Kreymer
94afab0bb2
wombat rewrite: don't add duplicate slash in rel-url resolve
2016-05-17 18:53:00 -07:00
Ilya Kreymer
e5e7c5a7df
wombat: ensure Math.random() overrides use the current window
2016-05-06 09:48:38 -07:00
Ilya Kreymer
033909efe0
wombat: set version to 1.12
...
return 'null' for frameElement ovevrride instead of undefined
2016-05-01 11:46:36 -07:00
Ilya Kreymer
1c97a67763
rewrite client-side improvements:
...
add WB_wombat_frameElement Object prototype property to support frameElement rewriting
document.domain: allow changing to higher-level domain
rewrite_elem: also rewrite <form> action and <input> value, if they are absolute urls
2016-04-30 01:43:40 -07:00
Ilya Kreymer
61381fcac6
wombat rewrite: remove cookie domain if hostname is an IP address
2016-04-07 15:53:26 -07:00