123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396 |
- # mautrix-instagram - A Matrix-Instagram puppeting bridge.
- # Copyright (C) 2020 Tulir Asokan
- #
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU Affero General Public License as published by
- # the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU Affero General Public License for more details.
- #
- # You should have received a copy of the GNU Affero General Public License
- # along with this program. If not, see <https://www.gnu.org/licenses/>.
- import json
- import pkgutil
- from attr import dataclass
- from mautrix.types import SerializableAttrs
- default_capabilities = json.loads(
- pkgutil.get_data("mauigpapi.state", "samples/supported-capabilities.json")
- )
- @dataclass
- class AndroidApplication(SerializableAttrs):
- # TODO these newer versions make the iris subscribe stop working for some reason
- # APP_VERSION: str = "168.0.0.40.355"
- # APP_VERSION_CODE: str = "261079771"
- # APP_VERSION: str = "167.1.0.25.120"
- # APP_VERSION_CODE: str = "259829117"
- APP_VERSION: str = "159.0.0.29.122"
- APP_VERSION_CODE: str = "244390482"
- BREADCRUMB_KEY: str = "iN4$aGr0m"
- FACEBOOK_ANALYTICS_APPLICATION_ID: str = "567067343352427"
- FACEBOOK_OTA_FIELDS: str = (
- "update%7Bdownload_uri%2Cdownload_uri_delta_base%2Cversion_code_delta_base"
- "%2Cdownload_uri_delta%2Cfallback_to_full_update%2Cfile_size_delta%2Cversion_code"
- "%2Cpublished_date%2Cfile_size%2Cota_bundle_type%2Cresources_checksum"
- "%2Cresources_sha256_checksum%2Callowed_networks%2Crelease_id%7D "
- )
- FACEBOOK_ORCA_APPLICATION_ID: str = "124024574287414"
- BLOKS_VERSION_ID: str = "0e00f30ed0184b9c914a8baad3fe538aa36a9f0faad173486e76af5ee9310d0b"
- CAPABILITIES: str = "3brTvx8="
- SUPPORTED_CAPABILITIES: str = default_capabilities
- EXPERIMENTS: str = ",".join(
- (
- "ig_android_ad_stories_scroll_perf_universe",
- "ig_android_ads_bottom_sheet_report_flow",
- "ig_android_ads_data_preferences_universe",
- "ig_android_ads_rendering_logging",
- "ig_android_canvas_cookie_universe",
- "ig_android_feed_ads_ppr_universe",
- "ig_android_graphql_survey_new_proxy_universe",
- "ig_android_viewpoint_occlusion",
- "ig_android_viewpoint_stories_public_testing",
- "ig_promote_interactive_poll_sticker_igid_universe",
- "ig_stories_ads_delivery_rules",
- "ig_stories_ads_media_based_insertion",
- "ig_android_li_session_chaining",
- "ig_android_logging_metric_universe_v2",
- "mi_viewpoint_viewability_universe",
- "ig_android_branded_content_appeal_states",
- "ig_android_branded_content_tag_redesign_organic",
- "ig_branded_content_settings_unsaved_changes_dialog",
- "ig_branded_content_tagging_approval_request_flow_brand_side_v2",
- "ig_rn_branded_content_settings_approval_on_select_save",
- "aymt_instagram_promote_flow_abandonment_ig_universe",
- "ig_android_account_insights_shopping_content_universe",
- "ig_android_business_attribute_sync",
- "ig_android_business_promote_tooltip",
- "ig_android_business_transaction_in_stories_consumer",
- "ig_android_business_transaction_in_stories_creator",
- "ig_android_create_page_on_top_universe",
- "ig_android_fb_sync_options_universe",
- "ig_android_fb_url_universe",
- "ig_android_fbpage_on_profile_side_tray",
- "ig_android_insights_post_dismiss_button",
- "ig_android_location_integrity_universe",
- "ig_android_personal_user_xposting_destination_fix",
- "ig_android_place_signature_universe",
- "ig_android_product_breakdown_post_insights",
- "ig_android_secondary_inbox_universe",
- "ig_android_share_publish_page_universe",
- "ig_android_skip_button_content_on_connect_fb_universe",
- "ig_business_new_value_prop_universe",
- "ig_android_business_cross_post_with_biz_id_infra",
- "ig_android_claim_location_page",
- "ig_android_edit_location_page_info",
- "ig_android_page_claim_deeplink_qe",
- "ig_biz_growth_insights_universe",
- "android_cameracore_fbaudio_integration_ig_universe",
- "android_ig_cameracore_aspect_ratio_fix",
- "ig_android_arengine_remote_scripting_universe",
- "ig_android_camera_formats_ranking_universe",
- "ig_android_camera_gyro_universe",
- "ig_android_camera_reduce_file_exif_reads",
- "ig_android_enable_automated_instruction_text_ar",
- "ig_android_image_exif_metadata_ar_effect_id_universe",
- "ig_android_optic_face_detection",
- "ig_android_optic_new_architecture",
- "ig_android_optic_photo_cropping_fixes",
- "ig_android_recognition_tracking_thread_prority_universe",
- "ig_android_ttcp_improvements",
- "ig_camera_android_bg_processor",
- "ig_camera_android_effect_metadata_cache_refresh_universe",
- "ig_camera_android_facetracker_v12_universe",
- "ig_camera_android_feed_effect_attribution_universe",
- "ig_camera_android_gallery_search_universe",
- "ig_camera_android_gyro_senser_sampling_period_universe",
- "ig_camera_android_paris_filter_universe",
- "ig_camera_android_share_effect_link_universe",
- "ig_camera_android_subtle_filter_universe",
- "ig_cameracore_android_new_optic_camera2",
- "ig_cameracore_android_new_optic_camera2_galaxy",
- "ig_android_external_gallery_import_affordance",
- "ig_android_feed_auto_share_to_facebook_dialog",
- "ig_android_fs_creation_flow_tweaks",
- "ig_android_fs_new_gallery",
- "ig_android_fs_new_gallery_hashtag_prompts",
- "ig_android_music_story_fb_crosspost_universe",
- "ig_android_partial_share_sheet",
- "ig_android_photo_creation_large_width",
- "ig_android_render_thread_memory_leak_holdout",
- "ig_android_direct_add_member_dialog_universe",
- "ig_android_direct_aggregated_media_and_reshares",
- "ig_android_direct_block_from_group_message_requests",
- "ig_android_direct_inbox_cache_universe",
- "ig_android_direct_leave_from_group_message_requests",
- "ig_android_direct_mark_as_read_notif_action",
- "ig_android_direct_message_follow_button",
- "ig_android_direct_multi_upload_universe",
- "ig_android_direct_mutation_manager_media_3",
- "ig_android_direct_new_gallery",
- "ig_android_direct_segmented_video",
- "ig_android_direct_state_observer",
- "ig_android_direct_thread_target_queue_universe",
- "ig_android_direct_view_more_qe",
- "ig_android_direct_wellbeing_message_reachability_settings",
- "ig_android_disable_manual_retries",
- "ig_android_gallery_grid_controller_folder_cache",
- "ig_android_multi_thread_sends",
- "ig_android_on_notification_cleared_async_universe",
- "ig_android_push_reliability_universe",
- "ig_android_wait_for_app_initialization_on_push_action_universe",
- "ig_direct_android_bubble_system",
- "ig_direct_max_participants",
- "ig_android_explore_recyclerview_universe",
- "ig_android_explore_reel_loading_state",
- "ig_android_not_interested_secondary_options",
- "ig_android_save_to_collections_bottom_sheet_refactor",
- "ig_android_save_to_collections_flow",
- "ig_android_smplt_universe",
- "ig_explore_2018_post_chaining_account_recs_dedupe_universe",
- "ig_explore_2019_h1_destination_cover",
- "ig_explore_2019_h1_video_autoplay_resume",
- "ig_explore_reel_ring_universe",
- "ig_android_feed_cache_update",
- "ig_android_view_info_universe",
- "ig_carousel_bumped_organic_impression_client_universe",
- "ig_end_of_feed_universe",
- "ig_android_igtv_autoplay_on_prepare",
- "ig_android_igtv_browse_long_press",
- "ig_android_igtv_explore2x2_viewer",
- "ig_android_igtv_pip",
- "ig_android_igtv_player_follow_button",
- "ig_android_igtv_refresh_tv_guide_interval",
- "ig_android_igtv_stories_preview",
- "ig_android_igtv_whitelisted_for_web",
- "ig_android_biz_story_to_fb_page_improvement",
- "ig_android_contact_point_upload_rate_limit_killswitch",
- "ig_android_country_code_fix_universe",
- "ig_android_dual_destination_quality_improvement",
- "ig_android_explore_discover_people_entry_point_universe",
- "ig_android_fb_follow_server_linkage_universe",
- "ig_android_fb_link_ui_polish_universe",
- "ig_android_fb_profile_integration_universe",
- "ig_android_fbc_upsell_on_dp_first_load",
- "ig_android_ig_personal_account_to_fb_page_linkage_backfill",
- "ig_android_inline_editing_local_prefill",
- "ig_android_interest_follows_universe",
- "ig_android_invite_list_button_redesign_universe",
- "ig_android_login_onetap_upsell_universe",
- "ig_android_new_follower_removal_universe",
- "ig_android_persistent_nux",
- "ig_android_qp_kill_switch",
- "ig_android_recommend_accounts_destination_routing_fix",
- "ig_android_self_following_v2_universe",
- "ig_android_self_story_button_non_fbc_accounts",
- "ig_android_self_story_setting_option_in_menu",
- "ig_android_separate_empty_feed_su_universe",
- "ig_android_show_create_content_pages_universe",
- "ig_android_show_self_followers_after_becoming_private_universe",
- "ig_android_suggested_users_background",
- "ig_android_test_not_signing_address_book_unlink_endpoint",
- "ig_android_test_remove_button_main_cta_self_followers_universe",
- "ig_android_unfollow_from_main_feed_v2",
- "ig_android_unfollow_reciprocal_universe",
- "ig_android_unify_graph_management_actions",
- "ig_android_whats_app_contact_invite_universe",
- "ig_android_xposting_feed_to_stories_reshares_universe",
- "ig_android_xposting_newly_fbc_people",
- "ig_android_xposting_reel_memory_share_universe",
- "ig_android_zero_rating_carrier_signal",
- "ig_fb_graph_differentiation",
- "ig_graph_evolution_holdout_universe",
- "ig_graph_management_h2_2019_universe",
- "ig_graph_management_production_h2_2019_holdout_universe",
- "ig_inventory_connections",
- "ig_pacing_overriding_universe",
- "ig_sim_api_analytics_reporting",
- "ig_xposting_biz_feed_to_story_reshare",
- "ig_xposting_mention_reshare_stories",
- "instagram_ns_qp_prefetch_universe",
- "ig_android_analytics_background_uploader_schedule",
- "ig_android_appstate_logger",
- "ig_android_apr_lazy_build_request_infra",
- "ig_android_camera_leak",
- "ig_android_crash_fix_detach_from_gl_context",
- "ig_android_dead_code_detection",
- "ig_android_disk_usage_logging_universe",
- "ig_android_dropframe_manager",
- "ig_android_image_upload_quality_universe",
- "ig_android_mainfeed_generate_prefetch_background",
- "ig_android_media_remodel",
- "ig_android_memory_use_logging_universe",
- "ig_android_network_perf_qpl_ppr",
- "ig_android_qpl_class_marker",
- "ig_android_react_native_email_sms_settings_universe",
- "ig_android_sharedpreferences_qpl_logging",
- "ig_disable_fsync_universe",
- "ig_mprotect_code_universe",
- "ig_prefetch_scheduler_backtest",
- "ig_traffic_routing_universe",
- "ig_android_qr_code_nametag",
- "ig_android_qr_code_scanner",
- "ig_android_live_egl10_compat",
- "ig_android_live_realtime_comments_universe",
- "ig_android_live_subscribe_user_level_universe",
- "ig_android_tango_cpu_overuse_universe",
- "igqe_pending_tagged_posts",
- "ig_android_enable_zero_rating",
- "ig_android_sso_kototoro_app_universe",
- "ig_android_sso_use_trustedapp_universe",
- "ig_android_whitehat_options_universe",
- "ig_android_payments_growth_promote_payments_in_payments",
- "ig_android_purx_native_checkout_universe",
- "ig_android_shopping_pdp_post_purchase_sharing",
- "ig_payment_checkout_cvv",
- "ig_payment_checkout_info",
- "ig_payments_billing_address",
- "ig_android_profile_thumbnail_impression",
- "ig_android_user_url_deeplink_fbpage_endpoint",
- "instagram_android_profile_follow_cta_context_feed",
- "ig_android_mqtt_cookie_auth_memcache_universe",
- "ig_android_realtime_mqtt_logging",
- "ig_rti_inapp_notifications_universe",
- "ig_android_live_webrtc_livewith_params",
- "saved_collections_cache_universe",
- "ig_android_search_nearby_places_universe",
- "ig_search_hashtag_content_advisory_remove_snooze",
- "ig_android_shopping_bag_null_state_v1",
- "ig_android_shopping_bag_optimization_universe",
- "ig_android_shopping_checkout_signaling",
- "ig_android_shopping_product_metadata_on_product_tiles_universe",
- "ig_android_wishlist_reconsideration_universe",
- "ig_biz_post_approval_nux_universe",
- "ig_commerce_platform_ptx_bloks_universe",
- "ig_shopping_bag_universe",
- "ig_shopping_checkout_improvements_universe",
- "ig_shopping_checkout_improvements_v2_universe",
- "ig_shopping_checkout_mvp_experiment",
- "ig_shopping_insights_wc_copy_update_android",
- "ig_shopping_size_selector_redesign",
- "instagram_shopping_hero_carousel_visual_variant_consolidation",
- "ig_android_audience_control",
- "ig_android_camera_upsell_dialog",
- "ig_android_create_mode_memories_see_all",
- "ig_android_create_mode_tap_to_cycle",
- "ig_android_create_mode_templates",
- "ig_android_feed_post_sticker",
- "ig_android_frx_creation_question_responses_reporting",
- "ig_android_frx_highlight_cover_reporting_qe",
- "ig_android_music_browser_redesign",
- "ig_android_publisher_stories_migration",
- "ig_android_rainbow_hashtags",
- "ig_android_recipient_picker",
- "ig_android_reel_tray_item_impression_logging_viewpoint",
- "ig_android_save_all",
- "ig_android_stories_blacklist",
- "ig_android_stories_boomerang_v2_universe",
- "ig_android_stories_context_sheets_universe",
- "ig_android_stories_gallery_sticker_universe",
- "ig_android_stories_gallery_video_segmentation",
- "ig_android_stories_layout_universe",
- "ig_android_stories_music_awareness_universe",
- "ig_android_stories_music_lyrics",
- "ig_android_stories_music_overlay",
- "ig_android_stories_music_search_typeahead",
- "ig_android_stories_project_eclipse",
- "ig_android_stories_question_sticker_music_format",
- "ig_android_stories_quick_react_gif_universe",
- "ig_android_stories_share_extension_video_segmentation",
- "ig_android_stories_sundial_creation_universe",
- "ig_android_stories_video_prefetch_kb",
- "ig_android_stories_vpvd_container_module_fix",
- "ig_android_stories_weblink_creation",
- "ig_android_story_bottom_sheet_clips_single_audio_mas",
- "ig_android_story_bottom_sheet_music_mas",
- "ig_android_story_bottom_sheet_top_clips_mas",
- "ig_android_xposting_dual_destination_shortcut_fix",
- "ig_stories_allow_camera_actions_while_recording",
- "ig_stories_rainbow_ring",
- "ig_threads_clear_notifications_on_has_seen",
- "ig_threads_sanity_check_thread_viewkeys",
- "ig_android_action_sheet_migration_universe",
- "ig_android_emoji_util_universe_3",
- "ig_android_recyclerview_binder_group_enabled_universe",
- "ig_emoji_render_counter_logging_universe",
- "ig_android_delete_ssim_compare_img_soon",
- "ig_android_reel_raven_video_segmented_upload_universe",
- "ig_android_render_output_surface_timeout_universe",
- "ig_android_sidecar_segmented_streaming_universe",
- "ig_android_stories_video_seeking_audio_bug_fix",
- "ig_android_video_abr_universe",
- "ig_android_video_call_finish_universe",
- "ig_android_video_exoplayer_2",
- "ig_android_video_fit_scale_type_igtv",
- "ig_android_video_product_specific_abr",
- "ig_android_video_qp_logger_universe",
- "ig_android_video_raven_bitrate_ladder_universe",
- "ig_android_video_raven_passthrough",
- "ig_android_video_raven_streaming_upload_universe",
- "ig_android_video_streaming_upload_universe",
- "ig_android_video_upload_hevc_encoding_universe",
- "ig_android_video_upload_quality_qe1",
- "ig_android_video_upload_transform_matrix_fix_universe",
- "ig_android_video_visual_quality_score_based_abr",
- "ig_video_experimental_encoding_consumption_universe",
- "ig_android_vc_background_call_toast_universe",
- "ig_android_vc_capture_universe",
- "ig_android_vc_codec_settings",
- "ig_android_vc_cowatch_config_universe",
- "ig_android_vc_cowatch_media_share_universe",
- "ig_android_vc_cowatch_universe",
- "ig_android_vc_cpu_overuse_universe",
- "ig_android_vc_explicit_intent_for_notification",
- "ig_android_vc_face_effects_universe",
- "ig_android_vc_join_timeout_universe",
- "ig_android_vc_migrate_to_bluetooth_v2_universe",
- "ig_android_vc_missed_call_call_back_action_universe",
- "ig_android_vc_shareable_moments_universe",
- "ig_android_comment_warning_non_english_universe",
- "ig_android_feed_post_warning_universe",
- "ig_android_image_pdq_calculation",
- "ig_android_logged_in_delta_migration",
- "ig_android_wellbeing_support_frx_cowatch_reporting",
- "ig_android_wellbeing_support_frx_hashtags_reporting",
- "ig_android_wellbeing_timeinapp_v1_universe",
- "ig_challenge_general_v2",
- "ig_ei_option_setting_universe",
- )
- )
- LOGIN_EXPERIMENTS: str = "".join(
- (
- "ig_android_device_detection_info_upload",
- "ig_android_device_info_foreground_reporting",
- "ig_android_suma_landing_page",
- "ig_android_device_based_country_verification",
- "ig_android_direct_add_direct_to_android_native_photo_share_sheet",
- "ig_android_direct_main_tab_universe_v2",
- "ig_account_identity_logged_out_signals_global_holdout_universe",
- "ig_android_fb_account_linking_sampling_freq_universe",
- "ig_android_login_identifier_fuzzy_match",
- "ig_android_nux_add_email_device",
- "ig_android_passwordless_account_password_creation_universe",
- "ig_android_reg_modularization_universe",
- "ig_android_retry_create_account_universe",
- "ig_growth_android_profile_pic_prefill_with_fb_pic_2",
- "ig_android_quickcapture_keep_screen_on",
- "ig_android_gmail_oauth_in_reg",
- "ig_android_reg_nux_headers_cleanup_universe",
- "ig_android_smartlock_hints_universe",
- "ig_android_security_intent_switchoff",
- "ig_android_sim_info_upload",
- "ig_android_caption_typeahead_fix_on_o_universe",
- "ig_android_video_render_codec_low_memory_gc",
- "ig_android_device_verification_fb_signup",
- "ig_android_device_verification_separate_endpoint",
- )
- )
|