mirror of
https://github.com/bolucat/Archive.git
synced 2025-12-24 13:28:37 +08:00
Update On Fri Mar 22 19:26:22 CET 2024
This commit is contained in:
1
.github/update.log
vendored
1
.github/update.log
vendored
@@ -594,3 +594,4 @@ Update On Tue Mar 19 19:28:36 CET 2024
|
||||
Update On Wed Mar 20 14:51:04 CET 2024
|
||||
Update On Wed Mar 20 15:20:33 CET 2024
|
||||
Update On Fri Mar 22 14:55:10 CET 2024
|
||||
Update On Fri Mar 22 19:26:11 CET 2024
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
"@mui/icons-material": "5.15.14",
|
||||
"@mui/lab": "5.0.0-alpha.169",
|
||||
"@mui/material": "5.15.14",
|
||||
"@mui/x-data-grid": "6.19.8",
|
||||
"@mui/x-data-grid": "7.0.0",
|
||||
"@tauri-apps/api": "1.5.3",
|
||||
"ahooks": "3.7.10",
|
||||
"axios": "1.6.8",
|
||||
@@ -151,7 +151,7 @@
|
||||
"telegraf": "4.16.3",
|
||||
"tsx": "4.7.1",
|
||||
"typescript": "5.4.3",
|
||||
"vite": "5.2.2",
|
||||
"vite": "5.2.3",
|
||||
"vite-plugin-monaco-editor": "1.1.0",
|
||||
"vite-plugin-svgr": "4.2.0"
|
||||
}
|
||||
|
||||
56
clash-nyanpasu/pnpm-lock.yaml
generated
56
clash-nyanpasu/pnpm-lock.yaml
generated
@@ -36,8 +36,8 @@ dependencies:
|
||||
specifier: 5.15.14
|
||||
version: 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)
|
||||
'@mui/x-data-grid':
|
||||
specifier: 6.19.8
|
||||
version: 6.19.8(@mui/material@5.15.14)(@mui/system@5.15.14)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)
|
||||
specifier: 7.0.0
|
||||
version: 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@5.15.14)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)
|
||||
'@tauri-apps/api':
|
||||
specifier: 1.5.3
|
||||
version: 1.5.3
|
||||
@@ -141,7 +141,7 @@ devDependencies:
|
||||
version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
|
||||
'@vitejs/plugin-react':
|
||||
specifier: 4.2.1
|
||||
version: 4.2.1(vite@5.2.2)
|
||||
version: 4.2.1(vite@5.2.3)
|
||||
adm-zip:
|
||||
specifier: 0.5.12
|
||||
version: 0.5.12
|
||||
@@ -269,14 +269,14 @@ devDependencies:
|
||||
specifier: 5.4.3
|
||||
version: 5.4.3
|
||||
vite:
|
||||
specifier: 5.2.2
|
||||
version: 5.2.2(@types/node@20.11.30)(sass@1.72.0)
|
||||
specifier: 5.2.3
|
||||
version: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
|
||||
vite-plugin-monaco-editor:
|
||||
specifier: npm:vite-plugin-monaco-editor-new@1.1.3
|
||||
version: /vite-plugin-monaco-editor-new@1.1.3(monaco-editor@0.47.0)
|
||||
vite-plugin-svgr:
|
||||
specifier: 4.2.0
|
||||
version: 4.2.0(typescript@5.4.3)(vite@5.2.2)
|
||||
version: 4.2.0(typescript@5.4.3)(vite@5.2.3)
|
||||
|
||||
packages:
|
||||
|
||||
@@ -498,6 +498,13 @@ packages:
|
||||
regenerator-runtime: 0.14.0
|
||||
dev: false
|
||||
|
||||
/@babel/runtime@7.24.1:
|
||||
resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
regenerator-runtime: 0.14.0
|
||||
dev: false
|
||||
|
||||
/@babel/template@7.22.15:
|
||||
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@@ -1567,7 +1574,7 @@ packages:
|
||||
'@types/react':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.9
|
||||
'@babel/runtime': 7.24.1
|
||||
'@mui/utils': 5.15.14(@types/react@18.2.67)(react@18.2.0)
|
||||
'@types/react': 18.2.67
|
||||
prop-types: 15.8.1
|
||||
@@ -1587,7 +1594,7 @@ packages:
|
||||
'@emotion/styled':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.9
|
||||
'@babel/runtime': 7.24.1
|
||||
'@emotion/cache': 11.11.0
|
||||
'@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0)
|
||||
'@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0)
|
||||
@@ -1612,7 +1619,7 @@ packages:
|
||||
'@types/react':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.9
|
||||
'@babel/runtime': 7.24.1
|
||||
'@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0)
|
||||
'@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0)
|
||||
'@mui/private-theming': 5.15.14(@types/react@18.2.67)(react@18.2.0)
|
||||
@@ -1647,7 +1654,7 @@ packages:
|
||||
'@types/react':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.9
|
||||
'@babel/runtime': 7.24.1
|
||||
'@types/prop-types': 15.7.11
|
||||
'@types/react': 18.2.67
|
||||
prop-types: 15.8.1
|
||||
@@ -1655,16 +1662,15 @@ packages:
|
||||
react-is: 18.2.0
|
||||
dev: false
|
||||
|
||||
/@mui/x-data-grid@6.19.8(@mui/material@5.15.14)(@mui/system@5.15.14)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0):
|
||||
resolution: {integrity: sha512-QsOW9GhJdhvagJfUb5jpZE1MMaCLugxx0l89amxJAthMia95BlGS7jndiDEh8IQNthgzfxjAzrSv8GZpcgSEaA==}
|
||||
/@mui/x-data-grid@7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@5.15.14)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0):
|
||||
resolution: {integrity: sha512-Nwwfr+ot/di0oH/pVwIxKV2QD7QyUY/MKkTWRSKzQoJw2aiFQf1Usmvq9Fu1qsCsvMmqIFaToY7972p0cczRjw==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
'@mui/material': ^5.4.1
|
||||
'@mui/system': ^5.4.1
|
||||
'@mui/material': ^5.15.14
|
||||
react: ^17.0.0 || ^18.0.0
|
||||
react-dom: ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.9
|
||||
'@babel/runtime': 7.24.1
|
||||
'@mui/material': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0)
|
||||
'@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.67)(react@18.2.0)
|
||||
'@mui/utils': 5.15.14(@types/react@18.2.67)(react@18.2.0)
|
||||
@@ -1674,6 +1680,8 @@ packages:
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
reselect: 4.1.8
|
||||
transitivePeerDependencies:
|
||||
- '@emotion/react'
|
||||
- '@emotion/styled'
|
||||
- '@types/react'
|
||||
dev: false
|
||||
|
||||
@@ -1819,7 +1827,7 @@ packages:
|
||||
rollup:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/estree': 1.0.3
|
||||
'@types/estree': 1.0.5
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
@@ -2224,15 +2232,15 @@ packages:
|
||||
/@types/estree-jsx@1.0.5:
|
||||
resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
|
||||
dependencies:
|
||||
'@types/estree': 1.0.3
|
||||
'@types/estree': 1.0.5
|
||||
dev: false
|
||||
|
||||
/@types/estree@1.0.3:
|
||||
resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==}
|
||||
dev: false
|
||||
|
||||
/@types/estree@1.0.5:
|
||||
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
|
||||
dev: true
|
||||
|
||||
/@types/fs-extra@11.0.4:
|
||||
resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
|
||||
@@ -2466,7 +2474,7 @@ packages:
|
||||
/@ungap/structured-clone@1.2.0:
|
||||
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||
|
||||
/@vitejs/plugin-react@4.2.1(vite@5.2.2):
|
||||
/@vitejs/plugin-react@4.2.1(vite@5.2.3):
|
||||
resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
@@ -2477,7 +2485,7 @@ packages:
|
||||
'@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6)
|
||||
'@types/babel__core': 7.20.5
|
||||
react-refresh: 0.14.0
|
||||
vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0)
|
||||
vite: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
@@ -7326,7 +7334,7 @@ packages:
|
||||
monaco-editor: 0.47.0
|
||||
dev: true
|
||||
|
||||
/vite-plugin-svgr@4.2.0(typescript@5.4.3)(vite@5.2.2):
|
||||
/vite-plugin-svgr@4.2.0(typescript@5.4.3)(vite@5.2.3):
|
||||
resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==}
|
||||
peerDependencies:
|
||||
vite: ^2.6.0 || 3 || 4 || 5
|
||||
@@ -7334,15 +7342,15 @@ packages:
|
||||
'@rollup/pluginutils': 5.0.5
|
||||
'@svgr/core': 8.1.0(typescript@5.4.3)
|
||||
'@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0)
|
||||
vite: 5.2.2(@types/node@20.11.30)(sass@1.72.0)
|
||||
vite: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/vite@5.2.2(@types/node@20.11.30)(sass@1.72.0):
|
||||
resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==}
|
||||
/vite@5.2.3(@types/node@20.11.30)(sass@1.72.0):
|
||||
resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_desc">適用於 Android 的通用代理工具鏈,由 Kotlin 編寫。</string>
|
||||
<string name="project">專案</string>
|
||||
<string name="project">計畫</string>
|
||||
<string name="github">原始碼</string>
|
||||
<string name="telegram">Telegram 更新頻道</string>
|
||||
<string name="oss_licenses">開放原始碼授權協定</string>
|
||||
<string name="oss_licenses">開放原始碼授權條款</string>
|
||||
<string name="app_version">版本</string>
|
||||
<string name="logcat">匯出 debug 所需資訊</string>
|
||||
<string name="menu_configuration">設定檔</string>
|
||||
<string name="menu_group">組</string>
|
||||
<string name="menu_group">群組</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="quick_toggle">切換</string>
|
||||
<!-- group -->
|
||||
<string name="group_name">群組名稱</string>
|
||||
<string name="group_update">更新</string>
|
||||
<string name="group_subscription_link">訂閱連接</string>
|
||||
<string name="group_subscription_link">訂閱連結</string>
|
||||
<string name="group_name_required">需要群組名稱</string>
|
||||
<string name="group_create">建立新組</string>
|
||||
<string name="group_create_subscription">建立新訂閱</string>
|
||||
<string name="group_edit">編輯</string>
|
||||
<string name="group_edit_subscription">編輯訂閱</string>
|
||||
<string name="group_status_empty">空組</string>
|
||||
<string name="group_status_empty">空白群組</string>
|
||||
<string name="group_status_empty_subscription">尚未更新</string>
|
||||
<string name="group_status_proxies">%d 個代理</string>
|
||||
<string name="group_status_proxies_subscription">%d 個代理 | 更新於 %s</string>
|
||||
@@ -55,7 +55,7 @@
|
||||
<string name="speed_detail">代理: %1$s↑ %2$s↓
|
||||
\n直連: %3$s↑ %4$s↓</string>
|
||||
<string name="speed">%s/s</string>
|
||||
<string name="connection_test_testing">測試中……</string>
|
||||
<string name="connection_test_testing">正在測試…</string>
|
||||
<string name="connection_test_available">成功:HTTPS 握手花費 %dms</string>
|
||||
<string name="connection_test_error">失敗:%s</string>
|
||||
<string name="connection_test_fail">網路不可用</string>
|
||||
@@ -69,7 +69,7 @@
|
||||
<string name="password">密碼</string>
|
||||
<string name="enc_method">加密方式</string>
|
||||
<string name="protocol">設定</string>
|
||||
<string name="protocol_param">協定參數</string>
|
||||
<string name="protocol_param">通訊協定參數</string>
|
||||
<string name="obfs">混淆</string>
|
||||
<string name="obfs_param">混淆參數</string>
|
||||
<string name="uuid">使用者 ID</string>
|
||||
@@ -88,29 +88,29 @@
|
||||
<string name="on">啟用</string>
|
||||
<string name="off">停用</string>
|
||||
<string name="search_apps">搜尋…</string>
|
||||
<string name="scanning">掃描中……</string>
|
||||
<string name="scanning">正在掃描…</string>
|
||||
<string name="invert_selections">反向選取</string>
|
||||
<string name="clear_selections">清除選取</string>
|
||||
<string name="bypass_apps">略過</string>
|
||||
<string name="show_system_apps">顯示系統應用</string>
|
||||
<string name="show_system_apps">顯示系統應用程式</string>
|
||||
<string name="auto_connect">自動連線</string>
|
||||
<string name="auto_connect_summary">如果代理在開機或應用更新前正在運行則自動啓動</string>
|
||||
<string name="direct_boot_aware">允許與解鎖前啓動</string>
|
||||
<string name="direct_boot_aware_summary">您選取的設定檔將受到較少的保護</string>
|
||||
<string name="auto_connect_summary">如果代理在開機或應用更新前正在執行則自動啟動</string>
|
||||
<string name="direct_boot_aware">允許螢幕鎖定時切換</string>
|
||||
<string name="direct_boot_aware_summary">您選取的設定檔資訊將受到較少保護</string>
|
||||
<!-- notification category -->
|
||||
<string name="service_vpn">VPN 服務</string>
|
||||
<string name="service_proxy">代理服務</string>
|
||||
<string name="forward_success">SagerNet 已啟動。</string>
|
||||
<string name="invalid_server">伺服器名稱無效</string>
|
||||
<string name="stop">停止</string>
|
||||
<string name="stopping">關閉中……</string>
|
||||
<string name="stopping">正在關閉…</string>
|
||||
<string name="vpn_error">%s</string>
|
||||
<string name="vpn_permission_denied">建立 VPN 服務的權限被拒</string>
|
||||
<string name="reboot_required">無法啟動 VPN 服務,您可能需要重新啟動您的裝置。</string>
|
||||
<!-- alert category -->
|
||||
<string name="profile_empty">請選擇一個設定檔</string>
|
||||
<string name="profile_empty">請選取一個設定檔</string>
|
||||
<string name="connect">連線</string>
|
||||
<string name="clipboard_empty">剪貼簿為空</string>
|
||||
<string name="clipboard_empty">剪貼簿為空白</string>
|
||||
<!-- menu category -->
|
||||
<string name="settings">設定</string>
|
||||
<string name="edit">編輯</string>
|
||||
@@ -136,25 +136,25 @@
|
||||
<string name="add_profile_methods_scan_qr_code">掃描 QR 碼</string>
|
||||
<string name="add_profile_methods_manual_settings">手動設定</string>
|
||||
<plurals name="removed">
|
||||
<item quantity="other">已刪除 %d 項</item>
|
||||
<item quantity="other">已移除 %d 個項目</item>
|
||||
</plurals>
|
||||
<plurals name="added">
|
||||
<item quantity="other">已新增 %d 個配置</item>
|
||||
<item quantity="other">已新增 %d 個代理</item>
|
||||
</plurals>
|
||||
<string name="undo">復原</string>
|
||||
<!-- tasker -->
|
||||
<!-- status -->
|
||||
<string name="connecting">連線中……</string>
|
||||
<string name="connecting">正在連線…</string>
|
||||
<string name="vpn_connected">已連線,輕觸以檢查連線能力</string>
|
||||
<string name="not_connected">未連線</string>
|
||||
<!-- subscriptions -->
|
||||
<string name="subscriptions">訂閱</string>
|
||||
<string name="cleartext_http_warning">純文字 HTTP 流量並不安全</string>
|
||||
<string name="error_title">錯誤</string>
|
||||
<string name="no_proxies_found">此連接不包含任何代理</string>
|
||||
<string name="no_proxies_found">此連結不包含任何代理</string>
|
||||
<!-- plugin -->
|
||||
<string name="plugin">外掛程式</string>
|
||||
<string name="plugin_configure">設定……</string>
|
||||
<string name="plugin_configure">設定…</string>
|
||||
<string name="plugin_disabled">已停用</string>
|
||||
<string name="plugin_unknown">未知外掛程式 %s</string>
|
||||
<string name="plugin_untrusted">警告:此外掛程式並非來自可靠的可信來源。</string>
|
||||
@@ -164,11 +164,11 @@
|
||||
<string name="yes">是</string>
|
||||
<string name="no">否</string>
|
||||
<string name="apply">套用</string>
|
||||
<string name="license">授權協定</string>
|
||||
<string name="document">文檔</string>
|
||||
<string name="license">授權條款</string>
|
||||
<string name="document">文件</string>
|
||||
<string name="early_data_header_name">前置資料標頭</string>
|
||||
<string name="certificates">憑證(鏈結)</string>
|
||||
<string name="alpn">應用層協定協商</string>
|
||||
<string name="certificates">憑證</string>
|
||||
<string name="alpn">應用層通訊協定協商</string>
|
||||
<string name="grpc_service_name">gRPC 服務名稱</string>
|
||||
<string name="http_path">HTTP 路徑</string>
|
||||
<string name="http_host">HTTP 主機</string>
|
||||
@@ -214,7 +214,7 @@
|
||||
<string name="route_proxy">代理</string>
|
||||
<string name="route_bypass">繞過</string>
|
||||
<string name="route_block">封鎖</string>
|
||||
<string name="route_profile">選擇設定檔…</string>
|
||||
<string name="route_profile">選取設定檔…</string>
|
||||
<string name="empty_route">空白路由規則</string>
|
||||
<string name="empty_route_notice">在儲存前設定一些規則</string>
|
||||
<string name="route_bypass_domain">%s 網域規則</string>
|
||||
@@ -236,7 +236,7 @@
|
||||
<string name="mux_concurrency">多工器同時連線數目</string>
|
||||
<string name="tcp_keep_alive_interval">TCP 保持連線傳送間隔</string>
|
||||
<string name="service_failed">失敗:</string>
|
||||
<string name="select_profile">選擇設定檔</string>
|
||||
<string name="select_profile">選取設定檔</string>
|
||||
<string name="proxy_chain">代理鏈結</string>
|
||||
<string name="custom_config">客製化設定檔</string>
|
||||
<string name="balancer">負載平衡器</string>
|
||||
@@ -269,7 +269,7 @@
|
||||
<string name="auto">自動</string>
|
||||
<string name="enable_log">啟用記錄檔</string>
|
||||
<string name="enable_log_sum">用於除錯用途</string>
|
||||
<string name="list">列表</string>
|
||||
<string name="list">清單</string>
|
||||
<string name="random">隨機</string>
|
||||
<string name="api_port">API 連接埠</string>
|
||||
<string name="probe_interval">負載平衡器觀測間隔</string>
|
||||
@@ -319,10 +319,10 @@
|
||||
<string name="ooc_subscription_token_invalid">無效的 OOCv1 權杖</string>
|
||||
<string name="update_subscription_warning">代理尚未連線,您真的希望繼續更新嗎?</string>
|
||||
<string name="ooc_warning">警告</string>
|
||||
<string name="ooc_missing_protocol">此訂閱需要 %s 協定支援,但其未被安裝,不支援的設定檔將被忽略。</string>
|
||||
<string name="ooc_missing_protocol">此訂閱需支援 %s 通訊協定,但其未被安裝,不支援的設定檔將被忽略。</string>
|
||||
<string name="service_subscription">訂閱更新服務</string>
|
||||
<string name="subscription_update">訂閱更新</string>
|
||||
<string name="subscription_update_message">更新 %s 中…</string>
|
||||
<string name="subscription_update_message">正在更新 %s …</string>
|
||||
<string name="group_filter">篩選</string>
|
||||
<string name="subscription_used">已用 %s</string>
|
||||
<string name="subscription_traffic">已用 %s / 剩餘 %s</string>
|
||||
@@ -350,10 +350,10 @@
|
||||
<string name="copy_failed">複製失敗。</string>
|
||||
<string name="copy_success">成功複製!</string>
|
||||
<string name="create_rule">建立規則</string>
|
||||
<string name="open_market">打開應用商店</string>
|
||||
<string name="open_settings">打開設定</string>
|
||||
<string name="open_app">打開應用程式</string>
|
||||
<string name="copy_package_name">複製軟體包名稱</string>
|
||||
<string name="open_market">開啟應用商店</string>
|
||||
<string name="open_settings">開啟設定</string>
|
||||
<string name="open_app">開啟應用程式</string>
|
||||
<string name="copy_package_name">複製應用程式套件名稱</string>
|
||||
<string name="copy_label">複製名稱</string>
|
||||
<string name="udp_connections">%d 個 UDP 連線</string>
|
||||
<string name="tcp_connections">%d 個 TCP 連線</string>
|
||||
@@ -384,31 +384,31 @@
|
||||
<string name="wireguard_psk">節點預先共用金鑰</string>
|
||||
<string name="warp_license">CloudFlare Warp 是一個免費的 WireGuard VPN 提供者。使用此服務表示您同意其服務條款。</string>
|
||||
<string name="warp_generate">產生設定檔</string>
|
||||
<string name="generating">正在產生……</string>
|
||||
<string name="generating">正在產生…</string>
|
||||
<string name="pcap_notice">Pcap 檔案將被儲存至 %s</string>
|
||||
<string name="profile_traffic_statistics">設定檔流量統計資料</string>
|
||||
<string name="resolve_destination_summary">如果目的地位址是一個網域,則基於 IPv6 策略傳出。</string>
|
||||
<string name="destination_override_summary">使用被偵測到的網域複寫目的地位址,而不是僅用於路由</string>
|
||||
<string name="route_opt_block_analysis">封鎖分析</string>
|
||||
<string name="route_play_store">%s 谷歌Play商店規則</string>
|
||||
<string name="route_play_store">%s Google Play商店規則</string>
|
||||
<string name="naive_insecure_concurrency">不安全並發</string>
|
||||
<string name="stun_test">NAT 行為尋找</string>
|
||||
<string name="naive_insecure_concurrency_summary">使用N個並發的隧道能使網路條件較差时更加可用。但數量越多,越易被偵測,安全性越低。由於本項目致力於面對流量分析的安全性,以不安全的方式使用違背了其初忠。
|
||||
\n
|
||||
\n如一定要使用,請先嘗試 N=2,觀察其是否解決了您的問題。強烈反對於此使用多於4個隧道。</string>
|
||||
<string name="stun_attest_loading">這可能需要數分鐘…</string>
|
||||
<string name="stun_test_summary">使用 STUN 確定客戶端的 NAT 映射行為和 RFC 5780 中定義的 NAT 過濾行為。</string>
|
||||
<string name="stun_test_summary">使用 STUN 確定用戶端的 NAT 映射行為和 RFC 5780 中定義的 NAT 篩選行為。</string>
|
||||
<string name="start">開始</string>
|
||||
<string name="backup">備份</string>
|
||||
<string name="backup_rules">路由規則</string>
|
||||
<string name="invalid_backup_file">無效的備份文件</string>
|
||||
<string name="invalid_backup_file">無效的備份檔</string>
|
||||
<string name="tools_network">網路</string>
|
||||
<string name="backup_settings">設置</string>
|
||||
<string name="backup_import">導入</string>
|
||||
<string name="backup_import_summary">導入將覆蓋現有數據。</string>
|
||||
<string name="backup_importing">正在導入…</string>
|
||||
<string name="backup_groups_and_configurations">分組和配置</string>
|
||||
<string name="backup_summary">如果路由規則不與配置一起備份,則自定義出站將丟失。</string>
|
||||
<string name="backup_not_file">不是一個備份文件,預計 .json,但 %s</string>
|
||||
<string name="packet_encoding">包編碼</string>
|
||||
</resources>
|
||||
<string name="backup_settings">設定</string>
|
||||
<string name="backup_import">匯入</string>
|
||||
<string name="backup_import_summary">匯入將覆蓋現有資料。</string>
|
||||
<string name="backup_importing">正在匯入…</string>
|
||||
<string name="backup_groups_and_configurations">分組和設定檔</string>
|
||||
<string name="backup_summary">如果路由規則不與設定檔一起備份,則自訂出站將丟失。</string>
|
||||
<string name="backup_not_file">不是一個備份檔案,預計 .json,但 %s</string>
|
||||
<string name="packet_encoding">封包編碼</string>
|
||||
</resources>
|
||||
|
||||
@@ -31,7 +31,7 @@ It is written in C++ with portability in mind, and we're actively working on bui
|
||||
<a href="#building">Building</a> |
|
||||
<a href="#support">Support</a> |
|
||||
<a href="#license">License</a> |
|
||||
<a href="https://gitlab.com/suyu-emu/suyu/-/pipelines">Pipelines</a>
|
||||
<a href="https://git.suyu.dev/suyu/suyu/actions">Pipelines</a>
|
||||
</p>
|
||||
|
||||
## Status
|
||||
@@ -46,22 +46,22 @@ This project is completely free and open source, and anyone can contribute to he
|
||||
|
||||
Most of the development happens on GitLab. For development discussion, please join us on [Discord](https://discord.gg/suyu).
|
||||
|
||||
If you want to contribute, please take a look at the [Contributor's Guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing) and [Developer Information](https://gitlab.com/suyu-emu/suyu/-/wikis/Developer-Information).
|
||||
If you want to contribute, please take a look at the [Contributor's Guide](https://git.suyu.dev/suyu/suyu/wiki/Contributing) and [Developer Information](https://git.suyu.dev/suyu/suyu/wiki/Developer-Information).
|
||||
You can also contact any of the developers on Discord to learn more about the current state of suyu.
|
||||
|
||||
## Downloads
|
||||
|
||||
* __Windows__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
||||
* __Linux__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
||||
* __macOS__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
||||
* __Android__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
||||
* __Windows__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
* __Linux__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
* __macOS__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
* __Android__: [Releases](https://git.suyu.dev/suyu/suyu/releases)
|
||||
|
||||
We have official builds [here.](https://gitlab.com/suyu-emu/suyu/-/releases) If any website or person is claiming to have a build for suyu, take that with a grain of salt.
|
||||
We have official builds [here.](https://git.suyu.dev/suyu/suyu/releases) If any website or person is claiming to have a build for suyu, take that with a grain of salt.
|
||||
|
||||
## Building
|
||||
|
||||
* __Windows__: [Wiki page](https://gitlab.com/suyu-emu/suyu/-/wikis/Building-for-Windows)
|
||||
* __Linux__: [Wiki page](https://gitlab.com/suyu-emu/suyu/-/wikis/Building-for-Linux)
|
||||
* __Windows__: [Wiki page](https://git.suyu.dev/suyu/suyu/wiki/Building-for-Windows)
|
||||
* __Linux__: [Wiki page](https://git.suyu.dev/suyu/suyu/wiki/Building-for-Linux)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -590,6 +590,7 @@ from .facebook import (
|
||||
FacebookReelIE,
|
||||
FacebookAdsIE,
|
||||
)
|
||||
from .fathom import FathomIE
|
||||
from .fancode import (
|
||||
FancodeVodIE,
|
||||
FancodeLiveIE
|
||||
|
||||
54
yt-dlp/yt_dlp/extractor/fathom.py
Normal file
54
yt-dlp/yt_dlp/extractor/fathom.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import json
|
||||
|
||||
from .common import InfoExtractor
|
||||
from ..utils import (
|
||||
extract_attributes,
|
||||
float_or_none,
|
||||
get_element_html_by_id,
|
||||
parse_iso8601,
|
||||
)
|
||||
from ..utils.traversal import traverse_obj
|
||||
|
||||
|
||||
class FathomIE(InfoExtractor):
|
||||
_VALID_URL = r'https?://(?:www\.)?fathom\.video/share/(?P<id>[^/?#&]+)'
|
||||
_TESTS = [{
|
||||
'url': 'https://fathom.video/share/G9mkjkspnohVVZ_L5nrsoPycyWcB8y7s',
|
||||
'md5': '0decd5343b8f30ae268625e79a02b60f',
|
||||
'info_dict': {
|
||||
'id': '47200596',
|
||||
'ext': 'mp4',
|
||||
'title': 'eCom Inucbator - Coaching Session',
|
||||
'duration': 8125.380507,
|
||||
'timestamp': 1699048914,
|
||||
'upload_date': '20231103',
|
||||
},
|
||||
}, {
|
||||
'url': 'https://fathom.video/share/mEws3bybftHL2QLymxYEDeE21vtLxGVm',
|
||||
'md5': '4f5cb382126c22d1aba8a939f9c49690',
|
||||
'info_dict': {
|
||||
'id': '46812957',
|
||||
'ext': 'mp4',
|
||||
'title': 'Jon, Lawrence, Neman chat about practice',
|
||||
'duration': 3571.517847,
|
||||
'timestamp': 1698933600,
|
||||
'upload_date': '20231102',
|
||||
},
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
display_id = self._match_id(url)
|
||||
webpage = self._download_webpage(url, display_id)
|
||||
props = traverse_obj(
|
||||
get_element_html_by_id('app', webpage), ({extract_attributes}, 'data-page', {json.loads}, 'props'))
|
||||
video_id = str(props['call']['id'])
|
||||
|
||||
return {
|
||||
'id': video_id,
|
||||
'formats': self._extract_m3u8_formats(props['call']['video_url'], video_id, 'mp4'),
|
||||
**traverse_obj(props, {
|
||||
'title': ('head', 'title', {str}),
|
||||
'duration': ('duration', {float_or_none}),
|
||||
'timestamp': ('call', 'started_at', {parse_iso8601}),
|
||||
}),
|
||||
}
|
||||
@@ -15,35 +15,35 @@ class XVideosIE(InfoExtractor):
|
||||
_VALID_URL = r'''(?x)
|
||||
https?://
|
||||
(?:
|
||||
(?:[^/]+\.)?xvideos2?\.com/video|
|
||||
(?:www\.)?xvideos\.es/video|
|
||||
(?:[^/]+\.)?xvideos2?\.com/video\.?|
|
||||
(?:www\.)?xvideos\.es/video\.?|
|
||||
(?:www|flashservice)\.xvideos\.com/embedframe/|
|
||||
static-hw\.xvideos\.com/swf/xv-player\.swf\?.*?\bid_video=
|
||||
)
|
||||
(?P<id>[0-9]+)
|
||||
(?P<id>[0-9a-z]+)
|
||||
'''
|
||||
_TESTS = [{
|
||||
'url': 'https://www.xvideos.com/video4588838/motorcycle_guy_cucks_influencer_steals_his_gf',
|
||||
'md5': '14cea69fcb84db54293b1e971466c2e1',
|
||||
'url': 'http://xvideos.com/video.ucuvbkfda4e/a_beautiful_red-haired_stranger_was_refused_but_still_came_to_my_room_for_sex',
|
||||
'md5': '396255a900a6bddb3e98985f0b86c3fd',
|
||||
'info_dict': {
|
||||
'id': '4588838',
|
||||
'id': 'ucuvbkfda4e',
|
||||
'ext': 'mp4',
|
||||
'title': 'Motorcycle Guy Cucks Influencer, Steals his GF',
|
||||
'duration': 108,
|
||||
'title': 'A Beautiful Red-Haired Stranger Was Refused, But Still Came To My Room For Sex',
|
||||
'duration': 1238,
|
||||
'age_limit': 18,
|
||||
'thumbnail': r're:^https://img-hw.xvideos-cdn.com/.+\.jpg',
|
||||
'thumbnail': r're:^https://cdn\d+-pic.xvideos-cdn.com/.+\.jpg',
|
||||
}
|
||||
}, {
|
||||
# Broken HLS formats
|
||||
'url': 'https://www.xvideos.com/video65982001/what_s_her_name',
|
||||
'md5': 'b82d7d7ef7d65a84b1fa6965f81f95a5',
|
||||
'md5': '56742808292c8fa1418e4538c262c58b',
|
||||
'info_dict': {
|
||||
'id': '65982001',
|
||||
'ext': 'mp4',
|
||||
'title': 'what\'s her name?',
|
||||
'duration': 120,
|
||||
'age_limit': 18,
|
||||
'thumbnail': r're:^https://img-hw.xvideos-cdn.com/.+\.jpg',
|
||||
'thumbnail': r're:^https://cdn\d+-pic.xvideos-cdn.com/.+\.jpg',
|
||||
}
|
||||
}, {
|
||||
'url': 'https://flashservice.xvideos.com/embedframe/4588838',
|
||||
@@ -90,6 +90,18 @@ class XVideosIE(InfoExtractor):
|
||||
}, {
|
||||
'url': 'https://de.xvideos.com/video4588838/biker_takes_his_girl',
|
||||
'only_matching': True
|
||||
}, {
|
||||
'url': 'https://flashservice.xvideos.com/embedframe/ucuvbkfda4e',
|
||||
'only_matching': True,
|
||||
}, {
|
||||
'url': 'https://www.xvideos.com/embedframe/ucuvbkfda4e',
|
||||
'only_matching': True,
|
||||
}, {
|
||||
'url': 'http://static-hw.xvideos.com/swf/xv-player.swf?id_video=ucuvbkfda4e',
|
||||
'only_matching': True,
|
||||
}, {
|
||||
'url': 'https://xvideos.es/video.ucuvbkfda4e/a_beautiful_red-haired_stranger_was_refused_but_still_came_to_my_room_for_sex',
|
||||
'only_matching': True
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
|
||||
Reference in New Issue
Block a user