add data sync id

pull/765/head
deniscerri 1 year ago
parent ad5a503321
commit 0ab8ef9c81
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -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…
Cancel
Save