add data sync id
This commit is contained in:
parent
ad5a503321
commit
0ab8ef9c81
10 changed files with 39 additions and 15 deletions
|
|
@ -108,12 +108,14 @@ class GenerateYoutubePoTokensFragment : Fragment() {
|
|||
.filterIndexed { index, _ -> selectedItems[index] }
|
||||
.toMutableSet()
|
||||
|
||||
configuration.remove(conf)
|
||||
conf.clients.clear()
|
||||
conf.clients.addAll(newValues)
|
||||
configuration.add(conf)
|
||||
preferences.edit().putString("youtube_generated_po_tokens", Gson().toJson(configuration).toString()).apply()
|
||||
setValues(conf)
|
||||
if (newValues.isNotEmpty()) {
|
||||
configuration.remove(conf)
|
||||
conf.clients.clear()
|
||||
conf.clients.addAll(newValues)
|
||||
configuration.add(conf)
|
||||
preferences.edit().putString("youtube_generated_po_tokens", Gson().toJson(configuration).toString()).apply()
|
||||
setValues(conf)
|
||||
}
|
||||
}
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.show()
|
||||
|
|
@ -143,10 +145,12 @@ class GenerateYoutubePoTokensFragment : Fragment() {
|
|||
|
||||
switch.setOnClickListener {
|
||||
configuration.remove(conf)
|
||||
conf.enabled = switch.isEnabled
|
||||
conf.enabled = switch.isChecked
|
||||
configuration.add(conf)
|
||||
preferences.edit().putString("youtube_generated_po_tokens", Gson().toJson(configuration).toString()).apply()
|
||||
regenerate.performClick()
|
||||
if (conf.poTokens.isEmpty()) {
|
||||
regenerate.performClick()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1301,6 +1301,12 @@ class YTDLPUtil(private val context: Context, private val commandTemplateDao: Co
|
|||
}
|
||||
}
|
||||
|
||||
val dataSyncID = sharedPreferences.getString("youtube_data_sync_id", "")!!
|
||||
if (dataSyncID.isNotBlank()) {
|
||||
extractorArgs.add("player-skip=webpage,configs")
|
||||
extractorArgs.add("data_sync_id=${dataSyncID}")
|
||||
}
|
||||
|
||||
val generatedPoTokensRaw = sharedPreferences.getString("youtube_generated_po_tokens", "[]")
|
||||
val generatedPoTokens = Gson().fromJson(generatedPoTokensRaw,Array<YoutubeGeneratePoTokenItem>::class.java).toMutableList()
|
||||
if (generatedPoTokens.isNotEmpty()) {
|
||||
|
|
@ -1315,8 +1321,11 @@ class YTDLPUtil(private val context: Context, private val commandTemplateDao: Co
|
|||
}
|
||||
}
|
||||
|
||||
extractorArgs.add("player-skip=webpage,configs")
|
||||
extractorArgs.add("visitor_data=${value.visitorData}")
|
||||
if (dataSyncID.isBlank()) {
|
||||
extractorArgs.add("player-skip=webpage,configs")
|
||||
extractorArgs.add("visitor_data=${value.visitorData}")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -222,6 +222,14 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="15dp"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/generate_potokens_warning"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -467,7 +467,6 @@
|
|||
<string name="automatic_backup">Automatyczna kopia zapasowa</string>
|
||||
<string name="backup_path">Ścieżka kopii zapasowej</string>
|
||||
<string name="write_subs_when_embed_subs">Tworzenie napisów podczas osadzania</string>
|
||||
<string name="use_newpipe_potoken">Używanie automatycznie wygenerowanych tokenów PO z narzędzia NewPipe Extractor</string>
|
||||
<string name="automatic_backup_summary">Automatyczne tworzenie kopii zapasowej wszystkiego po znalezieniu nowej wersji aplikacji</string>
|
||||
<string name="use_newpipe_potoken_warning">Po włączeniu tej opcji aplikacja wyłączy pliki cookie i użyje wygenerowanych tokenów po i danych odwiedzających jako argumentów ekstraktora YouTube</string>
|
||||
<string name="write_subs_when_embed_subs_summary">Spowoduje to zastosowanie opcji Zapisz napisy i Zapisz automatyczne napisy w celu pobrania plików napisów, a następnie usunięcia ich po osadzeniu</string>
|
||||
|
|
|
|||
|
|
@ -470,6 +470,5 @@
|
|||
<string name="use_code_highlighter">Usar marcador para code de cores</string>
|
||||
<string name="write_subs_when_embed_subs">Salvar legendas ao incorporar</string>
|
||||
<string name="write_subs_when_embed_subs_summary">Isso aplicará \"Salvar legendas\" e \"Salvar legendas automáticas\" para baixar os subarquivos e excluí-los após a incorporação</string>
|
||||
<string name="use_newpipe_potoken">Usar chave de acesso PO gerados automaticamente por NewPipe Extractor</string>
|
||||
<string name="use_newpipe_potoken_warning">Ao ativar essa opção, o aplicativo desativará os cookies e usará as chaves de acesso PO gerados e os dados do visitante como argumentos do YouTube Extractor</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -470,6 +470,5 @@
|
|||
<string name="automatic_backup_summary">Аутоматско прављење резервне копије свега, када се пронађе нова верзија апликације</string>
|
||||
<string name="write_subs_when_embed_subs">Писање титлова приликом уграђивања</string>
|
||||
<string name="write_subs_when_embed_subs_summary">Ово ће применити „Сачувај титлове“ и „Сачувај аутоматске титлове“ за преузимање потфајлова, а затим их избрисати након уграђивања</string>
|
||||
<string name="use_newpipe_potoken">Користи аутоматски генерисане PO токене из NewPipe Extractor-а</string>
|
||||
<string name="use_newpipe_potoken_warning">Ако ово омогућите, апликација ће онемогућити колачиће и користити генерисане PO токене и податке о посетиоцима као аргументе YouTube Extractor-а</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -470,6 +470,5 @@
|
|||
<string name="write_subs_when_embed_subs">Вписувати субтитри під час вкладання</string>
|
||||
<string name="use_code_highlighter">Використовувати колірний маркер коду</string>
|
||||
<string name="backup_path">Шлях до резервної копії</string>
|
||||
<string name="use_newpipe_potoken">Використовувати автозгенеровані токени PO з NewPipe Extractor</string>
|
||||
<string name="use_newpipe_potoken_warning">Увімкнувши це, застосунок вимкне файли cookie і використовуватиме згенеровані токени PO та дані відвідувачів як аргументи для YouTube Extractor</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -469,6 +469,5 @@
|
|||
<string name="automatic_backup">自动备份</string>
|
||||
<string name="backup_path">备份路径</string>
|
||||
<string name="write_subs_when_embed_subs">嵌入时写入字幕</string>
|
||||
<string name="use_newpipe_potoken">使用来自 NewPipe 提取器自动生成的 PO 令牌</string>
|
||||
<string name="use_newpipe_potoken_warning">启用本选项后,应用会禁用 cookies 并把生成的 po 令牌和访问者数据用作 YouTube 提取器变量</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -474,4 +474,5 @@
|
|||
<string name="write_subs_when_embed_subs_summary">This will apply Save Subtitles and Save Automatic Subtitles to download the sub files and then delete them after embedding</string>
|
||||
<string name="generate_potokens">Generate PO Tokens</string>
|
||||
<string name="regenerate">Re-generate</string>
|
||||
<string name="generate_potokens_warning">* By enabling this, you need to disable cookies. If you want to keep using cookies, fill in the Data Sync ID Extractor Argument</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -24,6 +24,13 @@
|
|||
android:key="use_app_language_for_metadata"
|
||||
android:title="@string/use_app_language_for_metadata" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue=""
|
||||
android:icon="@drawable/ic_code"
|
||||
android:key="youtube_data_sync_id"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="Data Sync ID" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue=""
|
||||
android:icon="@drawable/ic_code"
|
||||
|
|
|
|||
Loading…
Reference in a new issue