qsniyg / maxurl

Finds larger/original versions of images and videos
https://qsniyg.github.io/maxurl/
Apache License 2.0
1.11k stars 69 forks source link

last modified header as file name for mbasic.facebook.com #826

Closed ghost closed 3 years ago

ghost commented 3 years ago

When I go to some public or private profile photo such as this one: https://mbasic.facebook.com/photo.php?fbid=1583065815213688&id=100005308538439&set=a.109070472613237 Then in normal network request (by browser) there is no last modified header for photo, probably their privacy concern, I remember previously it had. But when I use popup action popup and observe in [about:devtools-toolbox?id=maxurl%40qsniyg&type=extension](about:devtools-toolbox?id=maxurl%40qsniyg&type=extension) headers, I see last modified header. When I wanna save that either by pressing S or using default action of popup to be save, then it just uses picture name, instead of last modified header. My rule for name is: {updated_yyyymmdd_utc} {updated_hhmmss_utc} I also tried using my favorite instagram name rule: {author_username} {id} {updated_yyyymmdd_utc} {updated_hhmmss_utc} {filename} Name in both cases is 130726180_1583065818547021_271647124025395998_n.jpg instead.

qsniyg commented 3 years ago

Can you send the image itself? I can't access it as I don't have a FB account unfortunately

Edit: Does this happen when opening the image in a new tab as well, or only when opening the popup from FB?

ghost commented 3 years ago

Oh, it works when saved from new tab direct url, just does not work when from page. https://scontent-lga3-2.xx.fbcdn.net/v/t1.6435-0/cp0/e15/q65/p320x320/130726180_1583065818547021_271647124025395998_n.jpg?_nc_cat=100&ccb=1-3&_nc_sid=85a577&efg=eyJpIjoiYiJ9&_nc_ohc=5vhPE3sHLO8AX_x-9H6&_nc_ht=scontent-lga3-2.xx&tp=3&oh=6e3a7f4e4b3527d75573d68f76f61f87&oe=60D64584 Actually when I save that image via popup 1 default action download, it works. Then when I use popup 2 default action popup and S, it works. But when repeat popup 1 default action download, now it uses original file name instead, as when not working. Meaning popup action 1 download gets broken by previous use of popup action 2 popup. Popup action 2 popup still works. That is for direct url I just sent. Actually popup action 2 popup works even from ref page. Actually everything is same for direct url and ref url, meaning I thought it did not work, but just popup action 1 download does not work in both cases if previously broken by something, maybe by popup action 2 popup.

ghost commented 3 years ago

Actually that what I said in last reply is true for file name rule 1. But file name rule 2 does not work. I expected if rule part to the left does not work, it would try next. e.g. if {author_username} {id} {updated_yyyymmdd_utc} {updated_hhmmss_utc} {filename} does not work it will try {id} {updated_yyyymmdd_utc} {updated_hhmmss_utc} {filename} then if that neither {updated_yyyymmdd_utc} {updated_hhmmss_utc} {filename}... Here is my profile if needed:

{"imu_enabled":true,"language":"en","check_updates":false,"check_update_interval":24,"check_update_notify":false,"dark_mode":true,"settings_tabs":true,"settings_alphabetical_order":false,"settings_visible_description":true,"settings_show_disabled":true,"settings_show_disabled_profiles":false,"settings_show_requirements":true,"advanced_options":false,"allow_browser_request":true,"retry_503_times":3,"retry_503_ms":2000,"use_blob_over_arraybuffer":false,"allow_live_settings_reload":true,"allow_remote":true,"disable_keybind_when_editing":true,"enable_gm_download":true,"gm_download_max":15,"enable_webextension_download":false,"write_to_clipboard":false,"redirect":true,"redirect_video":true,"redirect_audio":false,"redirect_history":true,"redirect_extension":true,"canhead_get":true,"redirect_force_page":false,"redirect_infobox_url":false,"redirect_infobox_timeout":7,"print_imu_obj":false,"redirect_disable_for_responseheader":false,"redirect_to_no_infobox":false,"redirect_host_html":false,"mouseover":true,"mouseover_open_behavior":"download","t2_mouseover_open_behavior":"popup","t3_mouseover_open_behavior":"popup","mouseover_trigger_behavior":"keyboard","mouseover_trigger_key":[["a","s"]],"mouseover_trigger_key_t2":[["y","x"]],"mouseover_trigger_key_t3":[],"mouseover_trigger_delay":1,"mouseover_trigger_mouseover":false,"mouseover_trigger_enabledisable_toggle":"disable","mouseover_trigger_prevent_key":["shift"],"mouseover_close_behavior":"esc","mouseover_close_need_mouseout":true,"mouseover_jitter_threshold":30,"mouseover_cancel_popup_when_elout":true,"mouseover_cancel_popup_with_esc":true,"mouseover_cancel_popup_when_release":true,"mouseover_auto_close_popup":false,"mouseover_auto_close_popup_time":5,"mouseover_hold_key":["i"],"mouseover_hold_position_center":false,"popup_hold_zoom":"none","mouseover_hold_close_unhold":false,"mouseover_hold_unclickthrough":true,"mouseover_close_el_policy":"both","mouseover_close_click_outside":true,"mouseover_allow_partial":"media","mouseover_partial_avoid_head":false,"mouseover_use_blob_over_data":false,"popup_use_anonymous_crossorigin":false,"mouseover_enable_notallowed":true,"mouseover_enable_notallowed_cant_load":true,"mouseover_notallowed_duration":300,"mouseover_minimum_size":20,"popup_maximum_source_size":0,"mouseover_exclude_backgroundimages":false,"mouseover_exclude_page_bg":true,"mouseover_exclude_imagemaps":true,"mouseover_only_links":false,"mouseover_linked_image":false,"mouseover_exclude_sameimage":false,"mouseover_exclude_imagetab":true,"mouseover_allow_video":true,"t2_mouseover_allow_video":true,"t3_mouseover_allow_video":true,"mouseover_allow_audio":false,"t2_mouseover_allow_audio":false,"t3_mouseover_allow_audio":false,"mouseover_allow_hlsdash":false,"t2_mouseover_allow_hlsdash":false,"t3_mouseover_allow_hlsdash":true,"enable_stream_download":false,"stream_mux_mp4_over_mkv":false,"hls_dash_use_max":true,"max_video_quality":null,"mouseover_video_autoplay":true,"mouseover_video_controls":false,"mouseover_video_controls_key":["c"],"mouseover_video_loop":true,"mouseover_video_autoloop_max":0,"mouseover_video_playpause_key":["space"],"mouseover_video_muted":false,"mouseover_video_mute_key":["m"],"mouseover_video_volume":100,"mouseover_video_volume_down_key":["9"],"mouseover_video_volume_up_key":["0"],"mouseover_video_volume_change_amt":5,"mouseover_video_resume_from_source":false,"mouseover_video_resume_if_different":false,"mouseover_video_pause_source":true,"mouseover_video_seek_amount":10,"mouseover_video_seek_left_key":["shift","left"],"mouseover_video_seek_right_key":["shift","right"],"mouseover_video_frame_prev_key":[","],"mouseover_video_frame_next_key":["."],"mouseover_video_framerate":25,"mouseover_video_speed_down_key":["["],"mouseover_video_speed_up_key":["]"],"mouseover_video_speed_amount":0.25,"mouseover_video_reset_speed_key":["backspace"],"mouseover_video_screenshot_key":["shift","s"],"popup_video_screenshot_format":"jpg","mouseover_ui":true,"mouseover_ui_toggle_key":["u"],"mouseover_ui_opacity":80,"mouseover_ui_use_safe_glyphs":false,"mouseover_ui_imagesize":true,"mouseover_ui_zoomlevel":true,"mouseover_ui_filesize":false,"mouseover_ui_gallerycounter":true,"mouseover_ui_gallerymax":50,"mouseover_ui_gallerybtns":true,"mouseover_ui_closebtn":true,"mouseover_ui_optionsbtn":false,"mouseover_ui_downloadbtn":false,"mouseover_ui_rotationbtns":false,"mouseover_ui_caption":true,"mouseover_ui_wrap_caption":true,"mouseover_ui_caption_link_page":true,"mouseover_ui_link_underline":true,"mouseover_use_remote":false,"mouseover_zoom_behavior":"fit","mouseover_zoom_custom_percent":100,"mouseover_zoom_use_last":"gallery","mouseover_zoom_max_width":0,"mouseover_zoom_max_height":0,"mouseover_pan_behavior":"drag","mouseover_movement_inverted":true,"mouseover_drag_min":5,"mouseover_scrolly_behavior":"zoom","mouseover_scrollx_behavior":"gallery","mouseover_scrolly_video_behavior":"default","mouseover_scrolly_video_invert":false,"mouseover_scrollx_video_behavior":"default","scroll_override_page":false,"scroll_zoom_origin":"cursor","scroll_zoomout_pagemiddle":"never","scroll_zoom_behavior":"fitfull","scroll_incremental_mult":1.25,"mouseover_move_with_cursor":false,"mouseover_move_within_page":true,"zoom_out_to_close":false,"scroll_past_gallery_end_to_close":false,"mouseover_position":"cursor","mouseover_prevent_cursor_overlap":true,"mouseover_overflow_position_center":false,"mouseover_overflow_origin":"a11","mouseover_add_link":true,"mouseover_add_video_link":false,"mouseover_click_image_close":false,"mouseover_click_video_close":false,"mouseover_download":false,"mouseover_hide_cursor":false,"mouseover_hide_cursor_after":0,"mouseover_mouse_inactivity_jitter":5,"mouseover_clickthrough":false,"mouseover_mask_ignore_clicks":false,"mouseover_links":true,"mouseover_only_valid_links":true,"mouseover_allow_self_pagelink":false,"mouseover_allow_iframe_el":false,"mouseover_allow_canvas_el":false,"mouseover_allow_svg_el":false,"mouseover_enable_gallery":true,"mouseover_gallery_cycle":false,"mouseover_gallery_prev_key":["left"],"mouseover_gallery_next_key":["right"],"mouseover_gallery_move_after_video":false,"mouseover_gallery_download_key":["shift","d"],"gallery_download_method":"zip","gallery_download_unchanged":true,"gallery_zip_filename_format":"{host_domain_nosub}-{items_amt}-{download_unix}\n{items_amt}-{download_unix}","gallery_jd_autostart":false,"gallery_jd_referer":"domain","gallery_zip_add_tld":true,"gallery_zip_add_info_file":true,"mouseover_styles":"","mouseover_enable_fade":true,"mouseover_enable_zoom_effect":false,"mouseover_zoom_effect_move":false,"mouseover_fade_time":100,"mouseover_enable_mask_styles2":"never","mouseover_mask_styles2":"background-color: rgba(0, 0, 0, 0.5)","mouseover_mask_fade_time":100,"mouseover_ui_styles":"","mouseover_wait_use_el":false,"mouseover_add_to_history":false,"mouseover_close_key":["esc"],"mouseover_download_key":[["s"],["ctrl","s"]],"mouseover_open_new_tab_key":["o"],"mouseover_open_bg_tab_key":["shift","o"],"mouseover_copy_link_key":["shift","c"],"mouseover_open_options_key":["p"],"mouseover_open_orig_page_key":["n"],"mouseover_rotate_left_key":["e"],"mouseover_rotate_right_key":["r"],"mouseover_flip_horizontal_key":["h"],"mouseover_flip_vertical_key":["v"],"mouseover_zoom_in_key":[["+"],["="],["shift","="]],"mouseover_zoom_out_key":[["-"]],"mouseover_zoom_full_key":["1"],"mouseover_zoom_fit_key":["2"],"mouseover_fullscreen_key":["f"],"mouseover_apply_blacklist":true,"apply_blacklist_host":false,"mouseover_matching_media_types":false,"mouseover_find_els_mode":"hybrid","popup_allow_cache":true,"popup_cache_duration":30,"popup_cache_itemlimit":20,"popup_cache_resume_video":true,"website_inject_imu":true,"website_image":true,"extension_contextmenu":true,"extension_hotreload":true,"allow_watermark":true,"allow_smaller":false,"allow_possibly_different":false,"allow_possibly_broken":false,"allow_possibly_upscaled":false,"allow_thirdparty":false,"allow_apicalls":true,"allow_thirdparty_libs":true,"custom_xhr_for_lib":true,"use_webarchive_for_lib":false,"lib_integrity_check":true,"allow_thirdparty_code":false,"allow_bruteforce":false,"process_format":{},"deviantart_prefer_size":false,"deviantart_support_download":true,"ehentai_full_image":true,"imgur_filename":false,"imgur_source":false,"instagram_use_app_api":false,"instagram_dont_use_web":false,"instagram_prefer_video_quality":true,"instagram_gallery_postlink":false,"snapchat_orig_media":true,"tiktok_no_watermarks":false,"tiktok_thirdparty":null,"tumblr_api_key":"xrMpLM8n1eCeL3oRYSZG7CLALw6EHhYDdU6Wq5eD1PbMkld7Y1","twitter_use_ext":false,"bigimage_blacklist":"","bigimage_blacklist_engine":"glob","filename_format":"{author_username} {id} {updated_yyyymmdd_utc} {updated_hhmmss_utc} {filename}","filename_replace_special_underscores":true,"replaceimgs_enable_keybinding":false,"replaceimgs_keybinding":["shift","alt","r"],"replaceimgs_auto":false,"replaceimgs_replaceimgs":true,"replaceimgs_addlinks":false,"replaceimgs_replacelinks":false,"replaceimgs_plainlinks":"none","replaceimgs_links_newtab":false,"replaceimgs_size_constraints":"none","replaceimgs_usedata":false,"replaceimgs_wait_fullyloaded":true,"replaceimgs_totallimit":8,"replaceimgs_domainlimit":2,"replaceimgs_delay":0,"replaceimgs_css":"","replaceimgs_simple_progress":true,"highlightimgs_enable_keybinding":false,"highlightimgs_keybinding":["shift","alt","h"],"highlightimgs_enable":false,"highlightimgs_auto":"never","highlightimgs_onlysupported":true,"highlightimgs_css":"outline: 4px solid yellow","last_update_check":1622890768179,"last_update_version":"0.19.1","last_update_url":null,"settings_version":11}
qsniyg commented 3 years ago

Thanks! I managed to track down the issue, it was due to cache not returning the proper response type for head requests (which is what the download popup trigger does).