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为方法前执行 ...
随机推荐
- Python BeautifulSoup 简单使用方法
- 使用OHOS SDK构建box2d
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码,当前最新的提交记录ID为411acc32eb6d4f2e96fc70ddbdf01fe5f9b16230. 执行如下命令 ...
- 掌握 C++ 编译过程:面试中常见问题解析
C++是一种高级编程语言,但是计算机并不能直接理解它.因此,需要将C++代码翻译成计算机可以理解的机器语言.这个过程就是编译过程,是C++程序从源代码到可执行文件的转换过程,包括预处理.编译.汇编和链 ...
- HarmonyOS非线性容器特性及使用场景
非线性容器实现能快速查找的数据结构,其底层通过hash或者红黑树实现,包括HashMap.HashSet.TreeMap.TreeSet.LightWeightMap.LightWeightSet ...
- HH的项链—树状数组
题目描述 HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义. HH不断地收集新的贝壳,因此他的项链变得越来越长.有一天 ...
- 牛客网-SQL专项练习1
①检索所有比"王华"年龄大的学生姓名.年龄和性别.SQL语句: 解析: 第一步:先找到王华的年龄 SELECT AGE FROM S WHRE SN = "王华" ...
- Docker部署Node应用简单实践
简介: 本文将从零至一,介绍如何在云服务器上通过 Docker 容器运行一个简单的Node应用. 前言 本文将从零至一,介绍如何在云服务器上通过 Docker 容器运行一个简单的Node应用.本文假设 ...
- ModelScope初探:一行代码调用成熟AI模型
简介: 如何用一行代码调用成熟AI模型?试试ModelScope,让AI开发者解放生产力! ModelScope是阿里推出的下一代开源的模型即服务共享平台,为泛AI开发者提供灵活.易用.低成本的一站式 ...
- 一种关于低代码平台(LCDP)建设实践与设计思路
简介: 作者在负责菜鸟商业中心CRM系统开发过程中发现有一个痛点:业务线很多,每个业务线对同一个页面都有个性化布局和不同的字段需求,而他所在的团队就3个人,那么在资源有限的情况下该如何支撑呢?本文就降 ...
- 一遇到复杂分析查询就卡顿?MySQL分析实例了解一下
随着企业数据爆发式增长,MySQL分析查询卡顿问题越来越多,用户时效性不能保证,精细化运营诉求不能满足.如何能无缝对接业务库,实现毫秒级针对万亿级数据进行即时的多维分析透视和业务探索,MySQL分析实 ...