bundleid cn.alanhe.surge category Self-Dev connections 0636B261-83DB-4543-80DF-242F3DC91488 destinationuid BBB56AB5-5DF6-4763-8504-006F8B6066C9 modifiers 0 modifiersubtext vitoclose destinationuid 26B7B094-1135-4D44-9C83-4A44BF60676A modifiers 1048576 modifiersubtext Reveal profile in Finder vitoclose 0785A01E-68C4-485D-A2C8-58607552185C destinationuid E78945D3-3452-4A45-A0B8-2A46BACB37B7 modifiers 0 modifiersubtext vitoclose 0B781B29-1B66-4F9C-8B61-8477E02878CD destinationuid 7F8E5ABB-8E12-4EE8-A537-9C6C8884222A modifiers 0 modifiersubtext vitoclose 184429E5-5B99-4D80-8741-ACC0B6820475 destinationuid 0636B261-83DB-4543-80DF-242F3DC91488 modifiers 0 modifiersubtext vitoclose 2535B20A-F43D-438D-8DF6-2F037994030B destinationuid BBB56AB5-5DF6-4763-8504-006F8B6066C9 modifiers 0 modifiersubtext vitoclose 26B7B094-1135-4D44-9C83-4A44BF60676A destinationuid 7C07A059-1788-425B-B78F-E0E083008564 modifiers 0 modifiersubtext vitoclose 32F87F30-C084-443C-8A7F-43B9F5588E2A 3477EA17-4B07-418B-B4D8-B4D74D4ECF96 destinationuid D8F3DDB1-79D5-455B-BF8C-022F6FBFECB7 modifiers 0 modifiersubtext vitoclose 5468E8DA-D6EE-46E4-B944-F358BFBB350A destinationuid 7AF3CA13-DA2D-4D97-B5A7-E4EC8D4107F3 modifiers 0 modifiersubtext vitoclose 55101303-A2F4-4FCE-8085-F6E1E1CEDE14 destinationuid BBB56AB5-5DF6-4763-8504-006F8B6066C9 modifiers 1048576 modifiersubtext enter to toggle vitoclose destinationuid 9DC097B6-3E31-4BC5-82CC-1D8BC266141F modifiers 0 modifiersubtext vitoclose 6620B43C-63DB-4DCE-99DD-3A1C57604DDA destinationuid 32F87F30-C084-443C-8A7F-43B9F5588E2A modifiers 0 modifiersubtext vitoclose 672241DA-A742-4C25-8736-D929FC69A4E5 destinationuid E78945D3-3452-4A45-A0B8-2A46BACB37B7 modifiers 0 modifiersubtext vitoclose 7AF3CA13-DA2D-4D97-B5A7-E4EC8D4107F3 destinationuid 2535B20A-F43D-438D-8DF6-2F037994030B modifiers 0 modifiersubtext vitoclose 7F8E5ABB-8E12-4EE8-A537-9C6C8884222A destinationuid 6620B43C-63DB-4DCE-99DD-3A1C57604DDA modifiers 0 modifiersubtext vitoclose 82C5845C-72B1-4A59-8F88-A73D1A4C77E4 destinationuid 5468E8DA-D6EE-46E4-B944-F358BFBB350A modifiers 0 modifiersubtext vitoclose 9DC097B6-3E31-4BC5-82CC-1D8BC266141F destinationuid A700346D-23C4-4082-B08E-5310676FC7B1 modifiers 0 modifiersubtext sourceoutputuid 8F22E5F9-D68C-4D1A-BDDD-E0D6FBE8F0F9 vitoclose destinationuid 3477EA17-4B07-418B-B4D8-B4D74D4ECF96 modifiers 0 modifiersubtext sourceoutputuid CC027DAF-E73F-4CE8-AD72-6A8EF241675C vitoclose destinationuid 0B781B29-1B66-4F9C-8B61-8477E02878CD modifiers 0 modifiersubtext sourceoutputuid BAF32485-BCE3-4162-A461-73BF076974E5 vitoclose destinationuid B53E08CC-23B2-4106-BDA3-E59F7963BB1C modifiers 0 modifiersubtext sourceoutputuid F593F692-F916-42BB-99B7-140B87623C13 vitoclose destinationuid 82C5845C-72B1-4A59-8F88-A73D1A4C77E4 modifiers 0 modifiersubtext sourceoutputuid B094556D-7E5F-4164-B13E-9BB4ED4E4CB8 vitoclose destinationuid 184429E5-5B99-4D80-8741-ACC0B6820475 modifiers 0 modifiersubtext sourceoutputuid E933A172-0BB9-448B-A033-1E0AC7512B93 vitoclose destinationuid 184429E5-5B99-4D80-8741-ACC0B6820475 modifiers 0 modifiersubtext sourceoutputuid 3DE87DAE-DC88-4020-8D85-3C764F5C8DAD vitoclose destinationuid 672241DA-A742-4C25-8736-D929FC69A4E5 modifiers 0 modifiersubtext sourceoutputuid 14FA5E04-9ADE-4A0A-B8D5-4A034446C6FA vitoclose destinationuid A205BD55-D9B0-44B8-A796-D824FF9D0CD5 modifiers 0 modifiersubtext sourceoutputuid 8F9640CA-01F8-4302-A00C-84BA9B4CA810 vitoclose A205BD55-D9B0-44B8-A796-D824FF9D0CD5 destinationuid E9460C86-1ECB-4B7A-AC26-9E3C9217A842 modifiers 0 modifiersubtext vitoclose A2FC1AB9-4FB8-4B9B-BB98-98D82F0F3F28 destinationuid C868E6BF-C380-4C41-8EC1-DF222F2980D3 modifiers 0 modifiersubtext vitoclose A4709F7F-DEDB-4663-811E-782DF215CE2D destinationuid 55101303-A2F4-4FCE-8085-F6E1E1CEDE14 modifiers 0 modifiersubtext vitoclose A6EDFDEB-1846-4C23-B96C-E307F0217376 destinationuid E9460C86-1ECB-4B7A-AC26-9E3C9217A842 modifiers 0 modifiersubtext vitoclose A8B7F4BE-AC75-4422-824F-24CE3504A736 destinationuid 32F87F30-C084-443C-8A7F-43B9F5588E2A modifiers 0 modifiersubtext vitoclose destinationuid 3D011412-96FD-4B01-A35D-5DF525CE08A6 modifiers 0 modifiersubtext vitoclose destinationuid A2FC1AB9-4FB8-4B9B-BB98-98D82F0F3F28 modifiers 0 modifiersubtext vitoclose BBB56AB5-5DF6-4763-8504-006F8B6066C9 destinationuid 32F87F30-C084-443C-8A7F-43B9F5588E2A modifiers 0 modifiersubtext vitoclose D7FC2694-B93F-4F59-A2DF-BB59ACDA7200 destinationuid 32F87F30-C084-443C-8A7F-43B9F5588E2A modifiers 0 modifiersubtext vitoclose D8F3DDB1-79D5-455B-BF8C-022F6FBFECB7 destinationuid D7FC2694-B93F-4F59-A2DF-BB59ACDA7200 modifiers 0 modifiersubtext vitoclose E78945D3-3452-4A45-A0B8-2A46BACB37B7 destinationuid A8B7F4BE-AC75-4422-824F-24CE3504A736 modifiers 0 modifiersubtext Toogle Selected Rule vitoclose E9460C86-1ECB-4B7A-AC26-9E3C9217A842 destinationuid BBB56AB5-5DF6-4763-8504-006F8B6066C9 modifiers 0 modifiersubtext vitoclose destinationuid 78ED1DBA-29A8-4592-B380-71E3678E1A2B modifiers 0 modifiersubtext vitoclose createdby Alan He description Quick to Surge disabled name Surge objects config concurrently escaping 102 script node node_modules/@stacker/alfred-utils/dist/alfred-cli-download.js scriptargtype 0 scriptfile type 0 type alfred.workflow.action.script uid A700346D-23C4-4082-B08E-5310676FC7B1 version 2 config availableviaurlhandler triggerid surge type alfred.workflow.trigger.external uid A4709F7F-DEDB-4663-811E-782DF215CE2D version 1 config concurrently escaping 102 script node ./do.js "{query}" scriptargtype 0 scriptfile type 0 type alfred.workflow.action.script uid BBB56AB5-5DF6-4763-8504-006F8B6066C9 version 2 config argument passthroughargument variables type alfred.workflow.utility.argument uid 3477EA17-4B07-418B-B4D8-B4D74D4ECF96 version 1 config alfredfiltersresults alfredfiltersresultsmatchmode 0 argumenttreatemptyqueryasnil argumenttrimmode 0 argumenttype 1 escaping 102 keyword surge queuedelaycustom 3 queuedelayimmediatelyinitially queuedelaymode 0 queuemode 1 runningsubtext Please Waiting script node ./index.js $HTTP_API scriptargtype 0 scriptfile subtext quick to surge title Surge type 0 withspace type alfred.workflow.input.scriptfilter uid 55101303-A2F4-4FCE-8085-F6E1E1CEDE14 version 3 config argumenttrimmode 0 argumenttype 2 fixedorder items [{"title":"Direct Outbound","arg":"direct","subtitle":"All requests will be sent to the target server directly"},{"title":"Global Proxy","arg":"proxy","subtitle":"All requests will be forwarded to a proxy server"},{"title":"Rule-based Proxy","arg":"rule","subtitle":"Using rule system to determine how to process requests"}] matchmode 0 runningsubtext subtext title withspace type alfred.workflow.input.listfilter uid D8F3DDB1-79D5-455B-BF8C-022F6FBFECB7 version 1 config argument passthroughargument variables type alfred.workflow.utility.argument uid 0B781B29-1B66-4F9C-8B61-8477E02878CD version 1 config concurrently escaping 102 script node ./outbound.js $HTTP_API {query} scriptargtype 0 scriptfile type 0 type alfred.workflow.action.script uid D7FC2694-B93F-4F59-A2DF-BB59ACDA7200 version 2 config paths /Applications/Surge.app toggle type alfred.workflow.action.launchfiles uid B53E08CC-23B2-4106-BDA3-E59F7963BB1C version 1 config conditions inputstring matchcasesensitive matchmode 0 matchstring update_workflow outputlabel uid 8F22E5F9-D68C-4D1A-BDDD-E0D6FBE8F0F9 inputstring matchcasesensitive matchmode 0 matchstring outboundmode outputlabel uid CC027DAF-E73F-4CE8-AD72-6A8EF241675C inputstring matchcasesensitive matchmode 0 matchstring httpApi outputlabel uid F593F692-F916-42BB-99B7-140B87623C13 inputstring matchcasesensitive matchmode 0 matchstring dns outputlabel uid BAF32485-BCE3-4162-A461-73BF076974E5 inputstring matchcasesensitive matchmode 0 matchstring policyGroups outputlabel uid B094556D-7E5F-4164-B13E-9BB4ED4E4CB8 inputstring matchcasesensitive matchmode 0 matchstring profiles outputlabel uid E933A172-0BB9-448B-A033-1E0AC7512B93 inputstring matchcasesensitive matchmode 0 matchstring module outputlabel uid 8F9640CA-01F8-4302-A00C-84BA9B4CA810 inputstring matchcasesensitive matchmode 0 matchstring rules outputlabel uid 14FA5E04-9ADE-4A0A-B8D5-4A034446C6FA inputstring matchcasesensitive matchmode 0 matchstring log outputlabel uid 3DE87DAE-DC88-4020-8D85-3C764F5C8DAD elselabel else hideelse type alfred.workflow.utility.conditional uid 9DC097B6-3E31-4BC5-82CC-1D8BC266141F version 1 config concurrently escaping 102 script node ./dns.js $HTTP_API {query} scriptargtype 0 scriptfile type 0 type alfred.workflow.action.script uid 6620B43C-63DB-4DCE-99DD-3A1C57604DDA version 2 config argumenttrimmode 0 argumenttype 2 fixedorder items [{"title":"Flush DNS","arg":"\/dns\/flush","subtitle":"Flush the DNS cache."},{"title":"DNS Cache","arg":"\/dns","subtitle":"Obtain the current DNS cache content."},{"title":"DNS Delay","arg":"\/test\/dns_delay","subtitle":"Test the DNS delay."}] matchmode 0 runningsubtext subtext title withspace type alfred.workflow.input.listfilter uid 7F8E5ABB-8E12-4EE8-A537-9C6C8884222A version 1 config argument passthroughargument variables type alfred.workflow.utility.argument uid 82C5845C-72B1-4A59-8F88-A73D1A4C77E4 version 1 config lastpathcomponent onlyshowifquerypopulated removeextension text {query} title Modified successfully type alfred.workflow.output.notification uid 32F87F30-C084-443C-8A7F-43B9F5588E2A version 1 config argument passthroughargument variables module {query} type alfred.workflow.utility.argument uid 184429E5-5B99-4D80-8741-ACC0B6820475 version 1 config alfredfiltersresults alfredfiltersresultsmatchmode 0 argumenttreatemptyqueryasnil argumenttrimmode 0 argumenttype 1 escaping 102 queuedelaycustom 3 queuedelayimmediatelyinitially queuedelaymode 0 queuemode 1 runningsubtext script node ./policy-groups-policys.js "$group" "{query}" scriptargtype 0 scriptfile subtext title type 0 withspace type alfred.workflow.input.scriptfilter uid 2535B20A-F43D-438D-8DF6-2F037994030B version 3 config alfredfiltersresults alfredfiltersresultsmatchmode 0 argumenttreatemptyqueryasnil argumenttrimmode 0 argumenttype 1 escaping 102 queuedelaycustom 3 queuedelayimmediatelyinitially queuedelaymode 0 queuemode 1 runningsubtext script node policy-groups.js {query} scriptargtype 0 scriptfile subtext title type 0 withspace type alfred.workflow.input.scriptfilter uid 5468E8DA-D6EE-46E4-B944-F358BFBB350A version 3 config argument passthroughargument variables group {query} type alfred.workflow.utility.argument uid 7AF3CA13-DA2D-4D97-B5A7-E4EC8D4107F3 version 1 config argument passthroughargument variables type alfred.workflow.utility.argument uid 672241DA-A742-4C25-8736-D929FC69A4E5 version 1 config argument passthroughargument variables type alfred.workflow.utility.argument uid A205BD55-D9B0-44B8-A796-D824FF9D0CD5 version 1 config alfredfiltersresults alfredfiltersresultsmatchmode 0 argumenttreatemptyqueryasnil argumenttrimmode 0 argumenttype 2 escaping 102 queuedelaycustom 3 queuedelayimmediatelyinitially queuedelaymode 0 queuemode 1 runningsubtext script node profiles.js scriptargtype 0 scriptfile subtext title type 0 withspace type alfred.workflow.input.scriptfilter uid 0636B261-83DB-4543-80DF-242F3DC91488 version 3 config externaltriggerid modules passinputasargument passvariables workflowbundleid self type alfred.workflow.output.callexternaltrigger uid 78ED1DBA-29A8-4592-B380-71E3678E1A2B version 1 config path type alfred.workflow.action.revealfile uid 7C07A059-1788-425B-B78F-E0E083008564 version 1 config alfredfiltersresults alfredfiltersresultsmatchmode 0 argumenttreatemptyqueryasnil argumenttrimmode 0 argumenttype 1 escaping 102 queuedelaycustom 3 queuedelayimmediatelyinitially queuedelaymode 0 queuemode 1 runningsubtext script node module.js $HTTP_API "{query}" scriptargtype 0 scriptfile subtext title type 0 withspace type alfred.workflow.input.scriptfilter uid E9460C86-1ECB-4B7A-AC26-9E3C9217A842 version 3 config argument {var:CONF_FILE_LOCATION}/{query}.conf passthroughargument variables group {query} type alfred.workflow.utility.argument uid 26B7B094-1135-4D44-9C83-4A44BF60676A version 1 config externaltriggerid rules passinputasargument passvariables workflowbundleid self type alfred.workflow.output.callexternaltrigger uid 3D011412-96FD-4B01-A35D-5DF525CE08A6 version 1 config concurrently escaping 102 script node ./toggle-rule.js '{query}' echo -n '{query}' scriptargtype 0 scriptfile type 0 type alfred.workflow.action.script uid A8B7F4BE-AC75-4422-824F-24CE3504A736 version 2 config alfredfiltersresults alfredfiltersresultsmatchmode 0 argumenttreatemptyqueryasnil argumenttrimmode 0 argumenttype 1 escaping 102 queuedelaycustom 3 queuedelayimmediatelyinitially queuedelaymode 0 queuemode 1 runningsubtext script node rules.js '{query}' scriptargtype 0 scriptfile subtext title type 0 withspace type alfred.workflow.input.scriptfilter uid E78945D3-3452-4A45-A0B8-2A46BACB37B7 version 3 config availableviaurlhandler triggerid modules type alfred.workflow.trigger.external uid A6EDFDEB-1846-4C23-B96C-E307F0217376 version 1 config argument {var:keyword} passthroughargument variables type alfred.workflow.utility.argument uid A2FC1AB9-4FB8-4B9B-BB98-98D82F0F3F28 version 1 config availableviaurlhandler triggerid rules type alfred.workflow.trigger.external uid 0785A01E-68C4-485D-A2C8-58607552185C version 1 config externaltriggerid rules passinputasargument passvariables workflowbundleid self type alfred.workflow.output.callexternaltrigger uid C868E6BF-C380-4C41-8EC1-DF222F2980D3 version 1 readme > Surge Mac 4.0提供了HTTP API支持,因此终于可以打通外部App调用了。这里实现了Alfred的打通,比如快速切换代理模式等。 ## 功能 1. 支持代理模式切换 2. 支持增强模式开关 3. 支持规则检索及切换选中状态 4. 支持MitM开关 5. 支持模块开关 6. 支持选中profile切换,⌘ enter 则finder下选中profile文件 ### 操作说明 1. option enter进入下一级菜单 2. enter选中 3. command enter表示reveal in finder ## 安装 1. brew install node 2. 开启Surge API支持 ## 如何开启Surge API支持 配置文件中增加如下配置 ``` http-api = examplekey@0.0.0.0:6171 ``` 更多介绍参见这里 https://1991421.cn/2020/11/16/a12a6619/ ### Surge API官方文档 据作者所说,未来还会开放更多API,敬请期待。。。 - https://manual.nssurge.com/others/http-api.html ## 注意 Surge Mac 4.0.0、Surge iOS 4.4.0开始提供HTTP API, 即该版本之前的均不支持 uidata 0636B261-83DB-4543-80DF-242F3DC91488 note Profiles xpos 460 ypos 925 0785A01E-68C4-485D-A2C8-58607552185C xpos 270 ypos 1335 0B781B29-1B66-4F9C-8B61-8477E02878CD xpos 345 ypos 310 184429E5-5B99-4D80-8741-ACC0B6820475 xpos 315 ypos 705 2535B20A-F43D-438D-8DF6-2F037994030B note group-policy list xpos 770 ypos 710 26B7B094-1135-4D44-9C83-4A44BF60676A xpos 690 ypos 1120 32F87F30-C084-443C-8A7F-43B9F5588E2A xpos 1400 ypos 590 3477EA17-4B07-418B-B4D8-B4D74D4ECF96 xpos 500 ypos 255 3D011412-96FD-4B01-A35D-5DF525CE08A6 xpos 1020 ypos 1210 5468E8DA-D6EE-46E4-B944-F358BFBB350A note Policy Groups xpos 465 ypos 710 55101303-A2F4-4FCE-8085-F6E1E1CEDE14 xpos 80 ypos 265 6620B43C-63DB-4DCE-99DD-3A1C57604DDA note dns xpos 700 ypos 530 672241DA-A742-4C25-8736-D929FC69A4E5 xpos 335 ypos 805 78ED1DBA-29A8-4592-B380-71E3678E1A2B xpos 1090 ypos 990 7AF3CA13-DA2D-4D97-B5A7-E4EC8D4107F3 xpos 670 ypos 740 7C07A059-1788-425B-B78F-E0E083008564 xpos 825 ypos 1070 7F8E5ABB-8E12-4EE8-A537-9C6C8884222A note DNS mode xpos 470 ypos 535 82C5845C-72B1-4A59-8F88-A73D1A4C77E4 xpos 355 ypos 550 9DC097B6-3E31-4BC5-82CC-1D8BC266141F xpos 240 ypos 425 A205BD55-D9B0-44B8-A796-D824FF9D0CD5 xpos 270 ypos 860 A2FC1AB9-4FB8-4B9B-BB98-98D82F0F3F28 xpos 880 ypos 1320 A4709F7F-DEDB-4663-811E-782DF215CE2D xpos 80 ypos 55 A6EDFDEB-1846-4C23-B96C-E307F0217376 xpos 30 ypos 1245 A700346D-23C4-4082-B08E-5310676FC7B1 xpos 530 ypos 40 A8B7F4BE-AC75-4422-824F-24CE3504A736 note Toogle Rule Selected xpos 635 ypos 1215 B53E08CC-23B2-4106-BDA3-E59F7963BB1C note warning for turn on http-api xpos 500 ypos 350 BBB56AB5-5DF6-4763-8504-006F8B6066C9 note do something xpos 770 ypos 85 C868E6BF-C380-4C41-8EC1-DF222F2980D3 xpos 665 ypos 1390 D7FC2694-B93F-4F59-A2DF-BB59ACDA7200 xpos 905 ypos 350 D8F3DDB1-79D5-455B-BF8C-022F6FBFECB7 note outbound mode xpos 640 ypos 310 E78945D3-3452-4A45-A0B8-2A46BACB37B7 note Rules xpos 430 ypos 1215 E9460C86-1ECB-4B7A-AC26-9E3C9217A842 note module xpos 175 ypos 1100 userconfigurationconfig config default examplekey@localhost:6171 placeholder required trim description 开启Surge API支持 label HTTP API type textfield variable HTTP_API config default placeholder required trim description 配置文件所在绝对路径 label File Location type textfield variable CONF_FILE_LOCATION variablesdontexport version 1.25 webaddress https://github.com/alanhg/alfred-workflows/tree/master/surge