mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-06-13 05:37:40 +02:00
feat(YouTube/Spoof client): selectively spoof client for general video / livestreams / Shorts / fallback (unplayable video)
This commit is contained in:
@ -256,7 +256,6 @@ object SpoofClientPatch : BaseBytecodePatch(
|
|||||||
*/
|
*/
|
||||||
SettingsPatch.addPreference(
|
SettingsPatch.addPreference(
|
||||||
arrayOf(
|
arrayOf(
|
||||||
"PREFERENCE_CATEGORY: MISC_EXPERIMENTAL_FLAGS",
|
|
||||||
"SETTINGS: SPOOF_CLIENT"
|
"SETTINGS: SPOOF_CLIENT"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -112,6 +112,46 @@
|
|||||||
<item>https://github.com/polymorphicshade/Tubular/releases/latest</item>
|
<item>https://github.com/polymorphicshade/Tubular/releases/latest</item>
|
||||||
<item>https://github.com/deniscerri/ytdlnis/releases/latest</item>
|
<item>https://github.com/deniscerri/ytdlnis/releases/latest</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_general_options_entries">
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_ios</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_testsuite</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_tv</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_vr</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_general_options_entry_values">
|
||||||
|
<item>IOS</item>
|
||||||
|
<item>ANDROID_TESTSUITE</item>
|
||||||
|
<item>ANDROID_UNPLUGGED</item>
|
||||||
|
<item>ANDROID_VR</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_livestream_options_entries">
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_ios</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_tv</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_vr</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_livestream_options_entry_values">
|
||||||
|
<item>IOS</item>
|
||||||
|
<item>ANDROID_UNPLUGGED</item>
|
||||||
|
<item>ANDROID_VR</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_shorts_options_entries">
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_ios</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_vr</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_shorts_options_entry_values">
|
||||||
|
<item>IOS</item>
|
||||||
|
<item>ANDROID_VR</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_fallback_options_entries">
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_ios</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_testsuite</item>
|
||||||
|
<item>@string/revanced_spoof_client_options_entry_android_vr</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="revanced_spoof_client_fallback_options_entry_values">
|
||||||
|
<item>IOS</item>
|
||||||
|
<item>ANDROID_TESTSUITE</item>
|
||||||
|
<item>ANDROID_VR</item>
|
||||||
|
</string-array>
|
||||||
<string-array name="revanced_spoof_app_version_target_entries">
|
<string-array name="revanced_spoof_app_version_target_entries">
|
||||||
<item>@string/revanced_spoof_app_version_target_entry_18_17_43</item>
|
<item>@string/revanced_spoof_app_version_target_entry_18_17_43</item>
|
||||||
<item>@string/revanced_spoof_app_version_target_entry_18_05_40</item>
|
<item>@string/revanced_spoof_app_version_target_entry_18_05_40</item>
|
||||||
|
@ -1411,26 +1411,6 @@ Tap on the continue button and disable battery optimizations."</string>
|
|||||||
<string name="revanced_disable_quic_protocol_title">Disable QUIC protocol</string>
|
<string name="revanced_disable_quic_protocol_title">Disable QUIC protocol</string>
|
||||||
<string name="revanced_disable_quic_protocol_summary">"Disable CronetEngine's QUIC protocol."</string>
|
<string name="revanced_disable_quic_protocol_summary">"Disable CronetEngine's QUIC protocol."</string>
|
||||||
|
|
||||||
<string name="revanced_spoof_client_title">Spoof client</string>
|
|
||||||
<string name="revanced_spoof_client_summary_on">"Client is spoofed.
|
|
||||||
|
|
||||||
Side effects include:
|
|
||||||
• No HDR video.
|
|
||||||
• Watch history may not work."</string>
|
|
||||||
<string name="revanced_spoof_client_summary_off">"Client is not spoofed. Video playback may not work."</string>
|
|
||||||
<string name="revanced_spoof_client_use_ios_title">Spoof client to iOS</string>
|
|
||||||
<string name="revanced_spoof_client_use_ios_summary_on">"Client is currently spoofed to iOS.
|
|
||||||
|
|
||||||
Side effects include:
|
|
||||||
• Playback speed menu is missing.
|
|
||||||
• Live streams cannot play as audio only.
|
|
||||||
• Live streams not available on Android 8.0.
|
|
||||||
• Higher video qualities may be missing."</string>
|
|
||||||
<string name="revanced_spoof_client_use_ios_summary_off">"Client is currently spoofed to Android VR. (iOS client is used for Clips or Shorts)
|
|
||||||
|
|
||||||
Side effects include:
|
|
||||||
• Kids videos do not playback.
|
|
||||||
• Paused videos can randomly resume."</string>
|
|
||||||
<string name="revanced_spoof_player_parameter_title">Spoof player parameter</string>
|
<string name="revanced_spoof_player_parameter_title">Spoof player parameter</string>
|
||||||
<string name="revanced_spoof_player_parameter_summary">"Spoofs player parameters to prevent playback issues.
|
<string name="revanced_spoof_player_parameter_summary">"Spoofs player parameters to prevent playback issues.
|
||||||
|
|
||||||
@ -1473,6 +1453,61 @@ Limitation: Feed videos will play for less than 1 minute before encountering pla
|
|||||||
<string name="revanced_extended_settings_reset">Reset</string>
|
<string name="revanced_extended_settings_reset">Reset</string>
|
||||||
<string name="revanced_share_copy_settings_success">Settings copied to clipboard.</string>
|
<string name="revanced_share_copy_settings_success">Settings copied to clipboard.</string>
|
||||||
|
|
||||||
|
<!-- PreferenceScreen: Miscellaneous, PreferenceCategory: Miscellaneous, PreferenceScreen: Spoof client -->
|
||||||
|
<string name="revanced_preference_screen_spoof_client_title">Spoof client</string>
|
||||||
|
<string name="revanced_preference_screen_spoof_client_summary">Spoof the client to prevent playback issues.</string>
|
||||||
|
<string name="revanced_spoof_client_title">Spoof client</string>
|
||||||
|
<string name="revanced_spoof_client_summary_on">Client is spoofed.</string>
|
||||||
|
<string name="revanced_spoof_client_summary_off">"Client is not spoofed. Video playback may not work."</string>
|
||||||
|
|
||||||
|
<!-- PreferenceScreen: Miscellaneous, PreferenceCategory: Miscellaneous, PreferenceScreen: Spoof client, PreferenceCategory: Spoof client options -->
|
||||||
|
<string name="revanced_preference_category_spoof_client_options">Spoof client options</string>
|
||||||
|
<string name="revanced_spoof_client_general_title">General</string>
|
||||||
|
<string name="revanced_spoof_client_livestream_title">Live streams</string>
|
||||||
|
<string name="revanced_spoof_client_shorts_title">Shorts, Clips</string>
|
||||||
|
<string name="revanced_spoof_client_fallback_title">Fallback</string>
|
||||||
|
<string name="revanced_spoof_client_options_entry_ios">iOS</string>
|
||||||
|
<string name="revanced_spoof_client_options_entry_android_testsuite">Android Testsuite</string>
|
||||||
|
<string name="revanced_spoof_client_options_entry_android_tv">Android TV</string>
|
||||||
|
<string name="revanced_spoof_client_options_entry_android_vr">Android VR</string>
|
||||||
|
|
||||||
|
<!-- PreferenceScreen: Miscellaneous, PreferenceCategory: Miscellaneous, PreferenceScreen: Spoof client, PreferenceCategory: About -->
|
||||||
|
<string name="revanced_preference_category_spoof_client_about">About</string>
|
||||||
|
|
||||||
|
<string name="revanced_spoof_client_use_ios_title">iOS</string>
|
||||||
|
<string name="revanced_spoof_client_use_ios_summary">"Spoof client to iOS.
|
||||||
|
|
||||||
|
Side effects include:
|
||||||
|
• No HDR video.
|
||||||
|
• Playback speed menu is missing.
|
||||||
|
• Higher video qualities may be missing.
|
||||||
|
• Watch history does not work with a brand account.
|
||||||
|
• Live streams cannot play as audio only.
|
||||||
|
• Live streams not available on Android 8.0."</string>
|
||||||
|
<string name="revanced_spoof_client_use_android_testsuite_title">Android Testsuite</string>
|
||||||
|
<string name="revanced_spoof_client_use_android_testsuite_summary">"Spoof client to Android Testsuite.
|
||||||
|
|
||||||
|
Side effects include:
|
||||||
|
• No HDR video.
|
||||||
|
• Audio track menu and playback speed menu are missing.
|
||||||
|
• Subtitles may not be available."</string>
|
||||||
|
<string name="revanced_spoof_client_use_android_tv_title">Android TV</string>
|
||||||
|
<string name="revanced_spoof_client_use_android_tv_summary">"Spoof client to Android TV (YouTube TV).
|
||||||
|
|
||||||
|
Side effects include:
|
||||||
|
• No HDR video.
|
||||||
|
• Audio track menu and playback speed menu are missing.
|
||||||
|
• Subtitles may not be available.
|
||||||
|
• Some live streams are not supported for playback."</string>
|
||||||
|
<string name="revanced_spoof_client_use_android_vr_title">Android VR</string>
|
||||||
|
<string name="revanced_spoof_client_use_android_vr_summary">"Spoof client to Android VR.
|
||||||
|
|
||||||
|
Side effects include:
|
||||||
|
• No HDR video.
|
||||||
|
• Paused videos can randomly resume.
|
||||||
|
• Low quality Shorts seekbar thumbnails.
|
||||||
|
• Kids videos do not playback."</string>
|
||||||
|
|
||||||
<!-- PreferenceScreen: Miscellaneous, PreferenceCategory: Miscellaneous, PreferenceCategory: Patch information -->
|
<!-- PreferenceScreen: Miscellaneous, PreferenceCategory: Miscellaneous, PreferenceCategory: Patch information -->
|
||||||
<string name="revanced_preference_category_patch_information">Patch information</string>
|
<string name="revanced_preference_category_patch_information">Patch information</string>
|
||||||
|
|
||||||
|
@ -529,6 +529,31 @@
|
|||||||
|
|
||||||
<PreferenceScreen android:title="@string/revanced_preference_screen_misc_title" android:key="revanced_preference_screen_misc">
|
<PreferenceScreen android:title="@string/revanced_preference_screen_misc_title" android:key="revanced_preference_screen_misc">
|
||||||
|
|
||||||
|
<PreferenceScreen android:title="@string/revanced_preference_screen_import_export_title" android:key="revanced_preference_screen_import_export" android:summary="@string/revanced_preference_screen_import_export_summary">
|
||||||
|
<PreferenceCategory android:title="@string/revanced_preference_category_import_export_as_file" android:layout="@layout/revanced_settings_preferences_category" />
|
||||||
|
<Preference android:title="@string/revanced_extended_settings_export_title" android:key="revanced_extended_settings_export" android:summary="@string/revanced_extended_settings_export_summary" />
|
||||||
|
<Preference android:title="@string/revanced_extended_settings_import_title" android:key="revanced_extended_settings_import" android:summary="@string/revanced_extended_settings_import_summary" />
|
||||||
|
<PreferenceCategory android:title="@string/revanced_preference_category_import_export_as_text" android:layout="@layout/revanced_settings_preferences_category" />
|
||||||
|
<app.revanced.integrations.youtube.settings.preference.ImportExportPreference android:title="@string/revanced_extended_settings_import_export_as_text_title" android:summary="@string/revanced_extended_settings_import_export_as_text_summary" android:inputType="textMultiLine" />
|
||||||
|
</PreferenceScreen>
|
||||||
|
|
||||||
|
<!-- SETTINGS: SPOOF_CLIENT
|
||||||
|
<PreferenceScreen android:title="@string/revanced_preference_screen_spoof_client_title" android:key="revanced_preference_screen_spoof_client" android:summary="@string/revanced_preference_screen_spoof_client_summary">
|
||||||
|
<SwitchPreference android:title="@string/revanced_spoof_client_title" android:key="revanced_spoof_client" android:summaryOn="@string/revanced_spoof_client_summary_on" android:summaryOff="@string/revanced_spoof_client_summary_off" />
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/revanced_preference_category_spoof_client_options" android:layout="@layout/revanced_settings_preferences_category" />
|
||||||
|
<ListPreference android:entries="@array/revanced_spoof_client_general_options_entries" android:title="@string/revanced_spoof_client_general_title" android:key="revanced_spoof_client_general" android:entryValues="@array/revanced_spoof_client_general_options_entry_values" android:dependency="revanced_spoof_client" />
|
||||||
|
<ListPreference android:entries="@array/revanced_spoof_client_livestream_options_entries" android:title="@string/revanced_spoof_client_livestream_title" android:key="revanced_spoof_client_livestream" android:entryValues="@array/revanced_spoof_client_livestream_options_entry_values" android:dependency="revanced_spoof_client" />
|
||||||
|
<ListPreference android:entries="@array/revanced_spoof_client_shorts_options_entries" android:title="@string/revanced_spoof_client_shorts_title" android:key="revanced_spoof_client_shorts" android:entryValues="@array/revanced_spoof_client_shorts_options_entry_values" android:dependency="revanced_spoof_client" />
|
||||||
|
<ListPreference android:entries="@array/revanced_spoof_client_fallback_options_entries" android:title="@string/revanced_spoof_client_fallback_title" android:key="revanced_spoof_client_fallback" android:entryValues="@array/revanced_spoof_client_fallback_options_entry_values" android:dependency="revanced_spoof_client" />
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/revanced_preference_category_spoof_client_about" android:layout="@layout/revanced_settings_preferences_category" />
|
||||||
|
<Preference android:title="@string/revanced_spoof_client_use_ios_title" android:key="revanced_spoof_client_use_ios" android:selectable="false" android:summary="@string/revanced_spoof_client_use_ios_summary" />
|
||||||
|
<Preference android:title="@string/revanced_spoof_client_use_android_testsuite_title" android:key="revanced_spoof_client_use_android_testsuite" android:selectable="false" android:summary="@string/revanced_spoof_client_use_android_testsuite_summary" android:dependency="revanced_spoof_client" />
|
||||||
|
<Preference android:title="@string/revanced_spoof_client_use_android_tv_title" android:key="revanced_spoof_client_use_android_tv" android:selectable="false" android:summary="@string/revanced_spoof_client_use_android_tv_summary" android:dependency="revanced_spoof_client" />
|
||||||
|
<Preference android:title="@string/revanced_spoof_client_use_android_vr_title" android:key="revanced_spoof_client_use_android_vr" android:selectable="false" android:summary="@string/revanced_spoof_client_use_android_vr_summary" android:dependency="revanced_spoof_client" />
|
||||||
|
</PreferenceScreen>SETTINGS: SPOOF_CLIENT -->
|
||||||
|
|
||||||
<!-- SETTINGS: DISABLE_QUIC_PROTOCOL
|
<!-- SETTINGS: DISABLE_QUIC_PROTOCOL
|
||||||
<SwitchPreference android:title="@string/revanced_disable_quic_protocol_title" android:key="revanced_disable_quic_protocol" android:summary="@string/revanced_disable_quic_protocol_summary" />SETTINGS: DISABLE_QUIC_PROTOCOL -->
|
<SwitchPreference android:title="@string/revanced_disable_quic_protocol_title" android:key="revanced_disable_quic_protocol" android:summary="@string/revanced_disable_quic_protocol_summary" />SETTINGS: DISABLE_QUIC_PROTOCOL -->
|
||||||
|
|
||||||
@ -542,14 +567,6 @@
|
|||||||
<!-- SETTINGS: ENABLE_OPEN_LINKS_DIRECTLY
|
<!-- SETTINGS: ENABLE_OPEN_LINKS_DIRECTLY
|
||||||
<SwitchPreference android:title="@string/revanced_enable_open_links_directly_title" android:key="revanced_enable_open_links_directly" android:summaryOn="@string/revanced_enable_open_links_directly_summary_on" android:summaryOff="@string/revanced_enable_open_links_directly_summary_off" />SETTINGS: ENABLE_OPEN_LINKS_DIRECTLY -->
|
<SwitchPreference android:title="@string/revanced_enable_open_links_directly_title" android:key="revanced_enable_open_links_directly" android:summaryOn="@string/revanced_enable_open_links_directly_summary_on" android:summaryOff="@string/revanced_enable_open_links_directly_summary_off" />SETTINGS: ENABLE_OPEN_LINKS_DIRECTLY -->
|
||||||
|
|
||||||
<PreferenceScreen android:title="@string/revanced_preference_screen_import_export_title" android:key="revanced_preference_screen_import_export" android:summary="@string/revanced_preference_screen_import_export_summary">
|
|
||||||
<PreferenceCategory android:title="@string/revanced_preference_category_import_export_as_file" android:layout="@layout/revanced_settings_preferences_category" />
|
|
||||||
<Preference android:title="@string/revanced_extended_settings_export_title" android:key="revanced_extended_settings_export" android:summary="@string/revanced_extended_settings_export_summary" />
|
|
||||||
<Preference android:title="@string/revanced_extended_settings_import_title" android:key="revanced_extended_settings_import" android:summary="@string/revanced_extended_settings_import_summary" />
|
|
||||||
<PreferenceCategory android:title="@string/revanced_preference_category_import_export_as_text" android:layout="@layout/revanced_settings_preferences_category" />
|
|
||||||
<app.revanced.integrations.youtube.settings.preference.ImportExportPreference android:title="@string/revanced_extended_settings_import_export_as_text_title" android:summary="@string/revanced_extended_settings_import_export_as_text_summary" android:inputType="textMultiLine" />
|
|
||||||
</PreferenceScreen>
|
|
||||||
|
|
||||||
<app.revanced.integrations.youtube.settings.preference.OpenDefaultAppSettingsPreference android:title="@string/revanced_default_app_settings_title" android:summary="@string/revanced_default_app_settings_summary" />
|
<app.revanced.integrations.youtube.settings.preference.OpenDefaultAppSettingsPreference android:title="@string/revanced_default_app_settings_title" android:summary="@string/revanced_default_app_settings_summary" />
|
||||||
|
|
||||||
<!-- PREFERENCE: GMS_CORE_SETTINGS
|
<!-- PREFERENCE: GMS_CORE_SETTINGS
|
||||||
@ -563,10 +580,6 @@
|
|||||||
<!-- PREFERENCE_CATEGORY: MISC_EXPERIMENTAL_FLAGS
|
<!-- PREFERENCE_CATEGORY: MISC_EXPERIMENTAL_FLAGS
|
||||||
<PreferenceCategory android:title="@string/revanced_preference_category_experimental_flag" android:layout="@layout/revanced_settings_preferences_category"/>PREFERENCE_CATEGORY: MISC_EXPERIMENTAL_FLAGS -->
|
<PreferenceCategory android:title="@string/revanced_preference_category_experimental_flag" android:layout="@layout/revanced_settings_preferences_category"/>PREFERENCE_CATEGORY: MISC_EXPERIMENTAL_FLAGS -->
|
||||||
|
|
||||||
<!-- SETTINGS: SPOOF_CLIENT
|
|
||||||
<SwitchPreference android:title="@string/revanced_spoof_client_title" android:key="revanced_spoof_client" android:summaryOn="@string/revanced_spoof_client_summary_on" android:summaryOff="@string/revanced_spoof_client_summary_off" />
|
|
||||||
<SwitchPreference android:title="@string/revanced_spoof_client_use_ios_title" android:key="revanced_spoof_client_use_ios" android:summaryOn="@string/revanced_spoof_client_use_ios_summary_on" android:summaryOff="@string/revanced_spoof_client_use_ios_summary_off" />SETTINGS: SPOOF_CLIENT -->
|
|
||||||
|
|
||||||
<!-- SETTINGS: SPOOF_PLAYER_PARAMETER
|
<!-- SETTINGS: SPOOF_PLAYER_PARAMETER
|
||||||
<SwitchPreference android:title="@string/revanced_spoof_player_parameter_title" android:key="revanced_spoof_player_parameter" android:summary="@string/revanced_spoof_player_parameter_summary" />
|
<SwitchPreference android:title="@string/revanced_spoof_player_parameter_title" android:key="revanced_spoof_player_parameter" android:summary="@string/revanced_spoof_player_parameter_summary" />
|
||||||
<SwitchPreference android:title="@string/revanced_spoof_player_parameter_in_feed_title" android:key="revanced_spoof_player_parameter_in_feed" android:summaryOn="@string/revanced_spoof_player_parameter_in_feed_summary_on" android:summaryOff="@string/revanced_spoof_player_parameter_in_feed_summary_off" android:dependency="revanced_spoof_player_parameter" />SETTINGS: SPOOF_PLAYER_PARAMETER -->
|
<SwitchPreference android:title="@string/revanced_spoof_player_parameter_in_feed_title" android:key="revanced_spoof_player_parameter_in_feed" android:summaryOn="@string/revanced_spoof_player_parameter_in_feed_summary_on" android:summaryOff="@string/revanced_spoof_player_parameter_in_feed_summary_off" android:dependency="revanced_spoof_player_parameter" />SETTINGS: SPOOF_PLAYER_PARAMETER -->
|
||||||
|
Reference in New Issue
Block a user