1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-04-02 20:16:14 +02:00

242 Commits

Author SHA1 Message Date
Ilya Kreymer
6c97fe1d44 vidrw: support livestream playlist, support for generic extractor 2015-05-25 17:48:25 -07:00
Ilya Kreymer
af37b99e80 wombat: additional fixes/testing: for about:blank/empty iframes, initialize WB_wombat_location, document.WB_wombat_location and WB_wombat_top immediately.
disable redundant rewrites
vidrw: check for null parent node, fix bug with double-add! don't rewrite added elements
2015-05-24 20:17:04 -07:00
Ilya Kreymer
35e2e535bb def banner: ensure banner element isn't rewritten! 2015-05-21 12:24:16 -07:00
Ilya Kreymer
a929e96433 wombat: add rewrite_elem() back to main init_dom_override(), check if already overwritten
createElement(): add optional skip arg
2015-05-21 12:11:08 -07:00
Ilya Kreymer
690106bcb4 wombat: more refactoring! enable http/src observer by default, add skip_createElement override
implement document.cookie, document.referrer and document.domain as property overrides instead of WB_wombat rewrites
when a new iframe is loaded, ensure the *document* is reinited with wombat, even if window already has wombat settings
2015-05-21 11:26:54 -07:00
Ilya Kreymer
4983bf4425 rewrite: keep relative scheme after all, to work where with: scheme + "//..." constructions, #101 2015-05-21 11:26:54 -07:00
Ilya Kreymer
9912a31523 wombat: add prototype-level override for innerHTML and outerHTML 2015-05-21 11:26:54 -07:00
Ilya Kreymer
4e1be5c275 wombat work: add createElement() override, use current protocol instead of original url protocol
refactor init_dom_override() to only check children for fragments, add innerHTML override
2015-05-21 11:26:54 -07:00
Ilya Kreymer
058b25ec5a wombat: test with href overrides 2015-05-21 11:26:54 -07:00
Ilya Kreymer
c5a5d45a58 wombat: experimenting with initializing wombat on iframe init directly, rather than waiting for injected init... 2015-05-21 11:26:54 -07:00
Ilya Kreymer
d2763004dd wombat: for now, disable node observers by default 2015-05-14 22:32:09 -07:00
Ilya Kreymer
d8b11db1e7 wombat:
ajax: always explicitly add X-Requested-With: XMLHttpRequest to ajax requests
mutation obs: don't rewrite <link rel=canonical> with node added observer
2015-05-14 22:32:09 -07:00
Ilya Kreymer
fd4a0cc9b1 wombat: add extra mutation observer for any nodes added 2015-05-14 22:32:09 -07:00
Ilya Kreymer
40f15cf6ea rules: add location rewrite only rule for disqus
wombat: ensure _orig_setAttribute is still set even if setAttribute rewriting disabled!
2015-05-14 22:32:09 -07:00
Ilya Kreymer
b2e26eeb27 wombat: remove timezone offset, as Date.now() already UTC 2015-05-14 22:32:09 -07:00
Ilya Kreymer
7cbf43872f wombat: obey _no_rewrite for rewrite_elem() 2015-05-14 22:32:08 -07:00
Ilya Kreymer
15ac7ea1f8 vidrw: just check 'ustream' in url 2015-05-14 22:32:08 -07:00
Ilya Kreymer
7a0ab76a07 vidrw work: limit flashvar parsing to ustream (for now) 2015-05-14 22:32:08 -07:00
Ilya Kreymer
d657a65469 wombat: fix rewrite_attr not actually being rewritten due to incomplete refactor
when is_live, don't add timestamp to rewritten urls (hypothesis/via#11)
2015-05-14 22:32:08 -07:00
Ilya Kreymer
838853e52d vidrw work: parse first url from flashvars (experimental), add special case for ustream! 2015-05-14 22:32:08 -07:00
Ilya Kreymer
5072ed568c fix typos: wombat: fix rewrite not being called on setter
frame_insert: ensure <iframe> has separate close tag
recordloader: ensure length used as string
2015-05-14 22:32:07 -07:00
Ilya Kreymer
72982829bd postMessage: check for rewitten message 2015-05-14 22:32:07 -07:00
Ilya Kreymer
1c61bdcdd7 bump version to 0.9.8-dev
fix vidrw to work with mp_ / inverse framed replay!
2015-05-14 22:32:07 -07:00
Ilya Kreymer
160794e4ec wombat: add options to disable worker override, use mutation observers instead of setAttribute() override 2015-04-27 00:43:10 -07:00
Ilya Kreymer
904b4265e9 wombat typo fix 2015-04-26 18:28:05 -07:00
Ilya Kreymer
a88acb7476 wombat work: add option to use MutationObserver instead of setAttribute override
use original setAttribute when calling internally
use querySelectorAll for child element rewrite selection
add check for ':port' being dropped from host url and attempt to add back in
2015-04-24 22:09:08 -07:00
Ilya Kreymer
d9bd47ea77 wombat: disable always remove slash in extract_orig, as this may break urls that depend
on it (and they are different urls anyway)
2015-04-20 17:46:03 -07:00
Ilya Kreymer
8bd8485b5a framed replay fixes: don't use 'window.frames[0]' but get framed by 'replay_iframe' id to allow
for custom placement, multiple frames, etc...

ensure outer frame url is updated to canonical (no mod) form for inverse setup as well.
2015-04-17 22:01:04 -07:00
Randall Leeds
2776d5d0b4 Fix typo in handling of no_rewrite_prefixes 2015-04-17 20:03:36 -07:00
Ilya Kreymer
74c6b60d5e wombat customization: pass custom options from config.yaml 'rewrite_opts.client' as a json obj
to wombat.js #96
currently supporting no_rewrite_prefixes, and skipping dom, setAttribute and postmessage overrides
(used by via.hypothes.is) -- other options to be added later
2015-04-16 12:24:01 -07:00
Ilya Kreymer
2e4427100c wombat init refactor: init wbinfo first, then pass wbinfo to wombat
to allow for additional options for wombat, in prep for #96
2015-04-16 11:51:25 -07:00
Ilya Kreymer
088a316b44 wb.js fix: check for possible null __orig_parent 2015-04-06 20:29:15 -07:00
Ilya Kreymer
ac06a49d4a fixes: add correct path for frame_mod and replay_mod
wombat: copy Date prototype to appeace 'instanceof Date' check
2015-04-04 17:31:51 -07:00
Ilya Kreymer
8bd6787595 'inverse' framed replay: ensure memento headers point to actual memento in inverse framed replay
add additional test for inverse framed replay, #92
fix framed replay url replace slash
2015-04-01 16:21:44 -07:00
Ilya Kreymer
bd21480db9 framed replay: add supporting for 'inverting' frame and replay modifiers,
setting default mod to be top-frame and inner frame to be 'mp_' #92
can enable this mode by setting framed_replay: inverse instead of true
modifiers passed to client side script via wbinfo as well
2015-04-01 10:13:56 -07:00
Ilya Kreymer
546cd8ac3a frame redirect: only attempt redirect if in 'framed' mode (add flag to wbinfo)
ensure both uris are decoded before comparing for top-frame redirect
2015-04-01 09:13:55 -07:00
Ilya Kreymer
3dd600c530 wombat: improve document.write override to write each elem at a time for body as well as head, #82 2015-03-24 10:46:10 -07:00
Ilya Kreymer
5b4d12eb05 wombat: fix wombat_location.href assign when url is already rewritten, compare against current url not passed in url
fixes ikreymer/pywb-webrecorder#9
2015-03-23 16:12:58 -07:00
Ilya Kreymer
5aa497dc68 Merge branch 'develop' into config-work 2015-03-06 21:09:21 -08:00
Ilya Kreymer
1fb631870b wb_frame: fix extra slash typo in replaced frame url 2015-03-05 17:04:44 -08:00
Ilya Kreymer
1d4c54deaa frames ui: update frames to use <!DOCTYPE html>, improved css and html5 compatibility 2015-02-25 13:25:05 -08:00
Ilya Kreymer
9f838241c7 wb.js bug fix: use only window.__orig_parent and not window.parent, as window.parent overriden. window instead of window.self 2015-02-21 12:34:35 -08:00
Ilya Kreymer
26df8d7784 remove debug logging and spaces 2015-02-19 01:17:31 -08:00
Ilya Kreymer
80dcb6ff27 rewrite: improvements to non-exact replay mode, redir_to_exact option set to false
frames: add request_ts to wbinfo and use that as the timestamp in the top-frame. for exact replay, request_ts == timestamp
for latest replay / no timestamp / memento timegate, redirect to current time instead of time of last capture, while serving
last capture.
timeutils: add timestamp_now() function to return timestamp of current datetime
Add extra tests for this mode
Tracked via #72
2015-02-17 17:51:45 -08:00
Ilya Kreymer
f9452bf48e rewrite: refactor IDN support: instead of returning IRI, return utf-8 %-encoded url
remove support for  returning IRI, as that requires detecting charset, instead just use %-encoded form
and let browser decode. Should address #66

Add rewrite option 'punycode_links_only' (default to false) to skip the %-encoded conversion of host, and just return punycode.

wombat: use getAttribute('href') on <a> tag to get original url, not punycode version

replay: add extra sanity check on Location header to ensure utf-8
2015-02-14 17:26:39 -08:00
Ilya Kreymer
dcf3688dc3 wombat: also override frameElement when changing window.parent for top-level replay frame 2015-02-11 19:26:45 -08:00
Ilya Kreymer
f068186e37 wombat: replace window.self -> window for clarity 2015-02-11 15:01:04 -08:00
Ilya Kreymer
148651680a wombat fix: use __orig_parent when referencing top-frame, since window.parent is being overriden 2015-02-10 15:02:08 -08:00
Ilya Kreymer
78ae86b6b6 Merge branch 'master' for 0.7.8 into develop 2015-02-05 08:45:55 -08:00
Ilya Kreymer
c47d3ca925 wombat: add mutation observers, addressing #71 and maybe #67
rules: fix regex for yt, add rx for wikimedia
2015-02-03 11:19:41 -08:00