Surge多配置文件聚合配置方法
摘要
Surge 是一个在 macOS 和iOS 平台上的网络工具,可以实现网络流量的接管、处理、转发和截获。本文介绍Surge的多配置文件聚合方法,讲解如何通过编写Surge配置文件实现多个配置文件中规则、服务器资源等配置内容的聚合使用。
1. Surge配置原理
Surge 核心的功能由配置文件(Profile)所控制,当遇到一些特殊需求时,需要通过手动编辑配置文件方可实现。
Surge的配置以格式化文本的方式保存在配置文件中,Surge图形界面的策略和策略组、规则、DNS等内容都是配置文件中内容的直观呈现,要想自定义Surge配置,最简洁的方式就是直接编辑Surge配置文件。
2. Surge托管配置
Surge的配置文件分为三类:
- 普通配置:即手动创建或默认使用的一般配置文件。
- 托管配置:通常由企业管理员或服务商提供。托管配置由于可以被远程更新,所以不可以在本地进行修改。如需要进行修改应先创建副本变为普通配置。
- 企业配置:仅限企业版本,不可修改和查看,也不可建立副本。
有些机场提供的URL链接的配置文件是托管配置类型,但还有一些提供的是普通配置类型,普通配置类型不会自动更新,我们可以通过手动修改普通配置的配置文件,实现将普通配置文件转换为托管配置文件而获得自动更新功能。
根据官方文档:
如果配置文件以
#!MANAGED-CONFIG http://test.com/surge.conf interval=60 strict=true开始,则 Surge 会自动的从 URL 更新配置文件,配置文件仅在 Surge 主程序运行时更新。
由此可知,在普通配置文件的开头加入以下信息即可将其转换为托管配置类型,这样即可以自动更新配置内容了。
#!MANAGED-CONFIG (此处替换为机场提供的配置文件URL) interval=60 strict=true
3. Surge多配置文件聚合配置
当使用超过一个机场的时候,我会希望可以将多个机场的服务器配置聚合到同一个配置文件中。本文以聚合两个托管配置源为例讲解多配置文件聚合配置方法。
(1)找到配置文件
通过“更多” -> ”配置“ 可以打开如图1所示的配置窗口,在配置窗口中可以查看和修改配置文件。图中有两个托管配置文件“Source1”和“Source2”分别来自两个不同的订阅源;SumUpcomfig配置文件是为了对“Source1”和“Source2”进行聚合操作而手动建立的普通配置文件。图中的SumUpcomfig为typo,实际应为SumUpconfig;配置文件命名对配置没有实际影响。如果没有可以更改的普通配置文件,则需要手动新建一个配置文件。

(2)编辑配置文件
右键点选配置文件可以看到操作选项,如图2所示。选择在“文本编辑器中编辑”可以使用本机默认的文本编辑器打开配置文件;选择“在访达中显示”可以查看文件位置并手动打开配置文件。

Surge的配置文件的格式部分沿用了 INI 文件的格式,以 [Section] 进行分段,用于划分不同的段落,对设置内容进行区隔。
在每个分段,如果想引用某个文件配置的某个部分,则需要在相应的地方输入”#!include 配置文件名“。比如,以本文的SumUpConfig配置文件为例,以下内容就代表引用source1.conf配置文件的[General]部分。
[General]
#!include source1.conf
再比如,以下内容代表引用source1.conf和source2.confg两个配置文件的Proxy部分。Proxy部分包括了代理服务器的配置信息,是在实际应用中主要需要聚合的内容。
[Proxy]
#!include source1.conf,source2.conf
依此类推,聚合配置的整体文件内容如下。通过这种方式,聚合了source1.conf和source2.confg两个配置文件的代理服务器资源,在其余配置部分则只使用了source1.conf的配置内容。
[General]
#!include source1.conf
[Replica]
#!include source1.conf
[Proxy]
#!include source1.conf,source2.conf
[Proxy Group]
#!include source1.conf
[Rule]
#!include source1.conf
[URL Rewrite]
#!include source1.conf
参考
Surge 配置文件指引 - Surge Tech Community
Surge多配置文件聚合配置方法的更多相关文章
- shell 环境变量的相关配置文件和配置方法
shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...
- MySql互为主从配置文件及配置方法
# Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 6 ...
- postcss.config.js配置文件的配置方法
module.exports = { plugins: { 'autoprefixer': {}, } }
- log4net 配置文件配置方法
转自:http://www.dozer.cc/2013/06/log4net-config-file-order/ 最近把项目中所有的日志都改成了 log4net ,同事也蠢蠢欲动,用起了 log4n ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- CentOS防火墙iptables的配置方法详解
CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...
- 使用配置文件来配置JDBC连接数据库
1.管理数据库连接的Class 代码如下: package jdbcTest;import java.sql.Connection;import java.sql.DriverManager;impo ...
- Wampserver 2.5 多站点配置方法
写在开头:本文适用于wampserver2.5版本,和wamp的老版本配置有语法上的区别,笔者正是因为被老版本的配置办法给整迷糊了所以才总结了一篇针对2.5版本的配置方法,如果您还停留在1.x或着已经 ...
- XAMPP中proftpd的简明配置方法
XAMPP中proftpd的简明配置方法 用LAMPP的安装方法可以开一个默认的nobody用户,用lampp security就可以初始设置相应的默认用户密码.如果要有多用户,又怎样管理.目录怎 ...
- Spring AOP基于配置文件的面向方法的切面
Spring AOP基于配置文件的面向方法的切面 Spring AOP根据执行的时间点可以分为around.before和after几种方式. around为方法前后均执行 before为方法前执行 ...
随机推荐
- 【已解决】xml映射找不到类名java.lang.ClassNotFoundException
XMLUtil文件里的Class.forName 参数要写相对于项目根目录的绝对路径,除了类名要加上对应的包路径!
- AtCoder Beginner Contest 240
前言 考场把前六题切了,但是 E 题和 F 题罚时了,所以也写一写. ABC240 E - Ranges on Tree 题目传送门 分析 \(r\) 的最大值就是叶子的个数,如果将叶子按顺序编号, ...
- #三分,分治,计算几何,prim#JZOJ 3860 地壳运动
题目 \(q\)组询问查询最小生成树,边权为\(u*k1+v*k2\)(\(k1,k2\)每次询问都不同) \(n\leq 35,m\leq 25000,q\leq 200000\) 分析 纯\(\t ...
- #计数,记忆化搜索#C 连边方案
分析 设\(dp[i][j][k][l]\)表示处理到\([i-l+1,i]\)的连边,二进制状态(奇点还是偶点)为\(k\)的方案数, 最后一维是为了避免算重,那么如果第\(i-l+1\)位是偶点可 ...
- #树上启发式合并,trie#JZOJ 5363 生命之树
分析 考虑按位处理, 如果熟悉dsu的话可以发现这道题能够用dsu做, 再用两个trie分别维护该位为0或1的字符串, 重儿子可以按照子树字符串的总长计算 代码 #include <cstdio ...
- 【直播回顾】OpenHarmony知识赋能六期第一课—OpenHarmony智能家居项目介绍
6月16日晚上19点,知识赋能第六期第一节课 <OpenHarmony智能家居项目介绍> ,在OpenHarmony开发者成长计划社群内成功举行. 本次直播是"OpenHarmo ...
- OpenHarmony有氧拳击之设备端开发
一.简介 在一个风和日丽,阳光明媚的下午,码农们都像往常一样正在专注地码代码.突然前面的小哥哥站起来,手握开发板,来回出拳.这是怎么回事? 原来这是一款拳击互动游戏,本文将带你一同解开其中的奥秘.开发 ...
- 在ECS上安装部署openGauss数据库指导手册
在 ECS 上安装部署 openGauss 数据库指导手册 文档下载:在 ECS 上安装部署 openGauss 数据库指导手册.docx 前 言 简介 openGauss 是关系型数据库,采用客户端 ...
- 前端与 HTML
0x1 前端 什么是前端 解决图形用户界面(GUI)人机交互的问题 跨终端 PC/移动浏览器 客户端/小程序 VR/AR 等 Web 技术栈 一句话总结前端工程师的工作:使用 Web 技术栈解决多端 ...
- 【Oracle】使用PL/SQL快速查询出1-9数字
[Oracle]使用PL/SQL快速查询出1-9数字 简单来说,直接Recursive WITH Clauses 在Oracle 里面就直接使用WITH result(参数)即可 WITH resul ...