Maasea / sgmodule

surge module
Apache License 2.0
912 stars 112 forks source link

可以添加自动字幕么 #59

Open spacexnasa opened 3 months ago

spacexnasa commented 3 months ago

你好,如题,目前是 zh-Hans,可以调整为 English (auto-generated) 么?不知道怎么弄,每次都要点击下,感觉挺麻烦的

eslco commented 1 month ago

以下参考内容来自GPT4o的回答

要设置 Argument 和确保脚本自定义功能正常启用,你需要进行以下几步操作:

1. 设置 Argument

Argument 是用来配置脚本的参数,可以在 Surge 或 Shadowrocket 配置文件中通过引入模块来设置。以下是你需要在配置文件中设置的 Argument 参数:

#!arguments=屏蔽上传按钮:true,屏蔽选段:false,字幕翻译语言:en-US,歌词翻译语言:zh-Hant,脚本执行引擎:auto,启用调试模式:false

可以根据需要调整各项设置:

  • 屏蔽上传按钮: truefalse,控制是否屏蔽上传按钮。
  • 屏蔽选段: truefalse,控制是否屏蔽选段功能。
  • 字幕翻译语言歌词翻译语言: 设定翻译的目标语言(例如,en-US 为英语@美国 zh-Hant 为繁体中文,off 为关闭翻译)。
  • 脚本执行引擎: 选择 autojscwebview
  • 启用调试模式: truefalse,启用或关闭调试模式。

2. 添加 Script 字段

要启用 Response 和 Request 的处理脚本,确实需要在 Surge 或 Shadowrocket 配置文件中添加 Script 字段。这些字段确保请求和响应能够按需拦截和处理。

在 Surge 配置文件中,你可以按照以下格式添加 Script 字段:

[Script]
# HTTP 请求脚本
youtube.request = type=http-request,pattern=^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/(browse|next|player|reel\/reel_watch_sequence|get_watch),requires-body=1,max-size=-1,binary-body-mode=1,engine={{{脚本执行引擎}}},script-path=https://raw.githubusercontent.com/Maasea/sgmodule/master/Script/Youtube/dist/youtube.request.preview.js 

# HTTP 响应脚本
youtube.response = type=http-response,pattern=^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/(browse|next|player|search|reel\/reel_watch_sequence|guide|account\/get_setting|get_watch),requires-body=1,max-size=-1,binary-body-mode=1,engine={{{脚本执行引擎}}},script-path=https://raw.githubusercontent.com/Maasea/sgmodule/master/Script/Youtube/dist/youtube.response.preview.js,argument="{"lyricLang":"{{{歌词翻译语言}}}","captionLang":"{{{字幕翻译语言}}}","blockUpload":{{{屏蔽上传按钮}}},"blockImmersive":{{{屏蔽选段按钮}}},"debug":{{{启用调试模式}}}}"

这段配置定义了两个脚本:一个用于处理 HTTP 请求 (youtube.request),另一个用于处理 HTTP 响应 (youtube.response)。

3. 确保 MITM 设置完整

在配置文件中,[MITM] 部分确保中间人攻击 (MITM) 设置完整,以便脚本能正确处理 YouTube 请求。你可以通过以下配置来设置 hostname

[MITM]
hostname = %APPEND% www.youtube.com, m.youtube.com, tv.youtube.com, music.youtube.com, youtubei.googleapis.com, -redirector*.googlevideo.com, *.googlevideo.com, *.doubleclick.net,*.ytimg.com

总结

  1. 设置 Argument: 确保 Argument 字段设置正确。
  2. 添加 Script 字段: 在配置文件中添加 Script 字段以启用 Request 和 Response 的处理脚本。
  3. 完善 MITM 设置: 确保 MITM 设置中包含所有需要拦截的域名。

通过上述设置,你的 Surge 或 Shadowrocket 配置应该能够正确启用脚本功能。