ソースを参照

Chore: update ruleset marker

SukkaW 10 ヶ月 前
コミット
9f821b84ca

+ 3 - 0
Build/constants/description.ts

@@ -7,3 +7,6 @@ export function createFileDescription(license = 'AGPL 3.0') {
 }
 
 export const SHARED_DESCRIPTION = createFileDescription('AGPL 3.0');
+
+// this_ruleset_is_made_by_sukkaw.ruleset.skk.moe
+export const MARKER_DOMAIN = 'th1s_rule5et_1s_m4d3_by_5ukk4w_ruleset.skk.moe';

+ 3 - 2
Build/lib/writing-strategy/clash.ts

@@ -4,6 +4,7 @@ import { noop } from 'foxts/noop';
 import { fastIpVersion, notSupported, withBannerArray } from '../misc';
 import { OUTPUT_CLASH_DIR } from '../../constants/dir';
 import { appendArrayInPlace } from 'foxts/append-array-in-place';
+import { MARKER_DOMAIN } from '../../constants/description';
 
 export class ClashDomainSet extends BaseWriteStrategy {
   public readonly name = 'clash domainset';
@@ -12,7 +13,7 @@ export class ClashDomainSet extends BaseWriteStrategy {
   readonly fileExtension = 'txt';
   readonly type = 'domainset';
 
-  protected result: string[] = ['this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'];
+  protected result: string[] = [MARKER_DOMAIN];
 
   constructor(public readonly outputDir = OUTPUT_CLASH_DIR) {
     super(outputDir);
@@ -90,7 +91,7 @@ export class ClashClassicRuleSet extends BaseWriteStrategy {
 
   readonly fileExtension = 'txt';
 
-  protected result: string[] = ['DOMAIN,this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'];
+  protected result: string[] = [`DOMAIN,${MARKER_DOMAIN}`];
 
   constructor(public readonly type: 'ip' | 'non_ip' /* | (string & {}) */, public readonly outputDir = OUTPUT_CLASH_DIR) {
     super(outputDir);

+ 2 - 1
Build/lib/writing-strategy/legacy-clash-premium.ts

@@ -1,13 +1,14 @@
 import { noop } from 'foxts/noop';
 import { OUTPUT_LEAGCY_CLASH_PREMIUM_DIR } from '../../constants/dir';
 import { ClashClassicRuleSet } from './clash';
+import { MARKER_DOMAIN } from '../../constants/description';
 
 export class LegacyClashPremiumClassicRuleSet extends ClashClassicRuleSet {
   public override readonly name = 'legacy clash premium classic ruleset';
 
   readonly fileExtension = 'txt';
 
-  protected result: string[] = ['DOMAIN,this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'];
+  protected result: string[] = [`DOMAIN,${MARKER_DOMAIN}`];
 
   constructor(public readonly type: 'ip' | 'non_ip' /* | (string & {}) */, public readonly outputDir = OUTPUT_LEAGCY_CLASH_PREMIUM_DIR) {
     super(type, outputDir);

+ 5 - 4
Build/lib/writing-strategy/singbox.ts

@@ -4,10 +4,11 @@ import { noop } from 'foxts/noop';
 import { fastIpVersion, withIdentityContent } from '../misc';
 import stringify from 'json-stringify-pretty-compact';
 import { OUTPUT_SINGBOX_DIR } from '../../constants/dir';
+import { MARKER_DOMAIN } from '../../constants/description';
 
 interface SingboxHeadlessRule {
-  domain: string[], // this_ruleset_is_made_by_sukkaw.ruleset.skk.moe
-  domain_suffix: string[], // this_ruleset_is_made_by_sukkaw.ruleset.skk.moe
+  domain: string[],
+  domain_suffix: string[],
   domain_keyword?: string[],
   domain_regex?: string[],
   source_ip_cidr?: string[],
@@ -34,8 +35,8 @@ export class SingboxSource extends BaseWriteStrategy {
   static readonly jsonToLines = (json: unknown): string[] => stringify(json).split('\n');
 
   private singbox: SingboxHeadlessRule = {
-    domain: ['this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'],
-    domain_suffix: ['this_ruleset_is_made_by_sukkaw.ruleset.skk.moe']
+    domain: [MARKER_DOMAIN],
+    domain_suffix: [MARKER_DOMAIN]
   };
 
   protected get result() {

+ 2 - 1
Build/lib/writing-strategy/surfboard.ts

@@ -2,11 +2,12 @@ import { noop } from 'foxts/noop';
 import { SurgeRuleSet } from './surge';
 import { OUTPUT_SURFBOARD_DIR } from '../../constants/dir';
 import { appendSetElementsToArray } from 'foxts/append-set-elements-to-array';
+import { MARKER_DOMAIN } from '../../constants/description';
 
 export class SurfboardRuleSet extends SurgeRuleSet {
   public override readonly name: string = 'surfboard for android ruleset';
 
-  protected result: string[] = ['DOMAIN,this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'];
+  protected result: string[] = [`DOMAIN,${MARKER_DOMAIN}`];
   constructor(public readonly type: 'ip' | 'non_ip' /* | (string & {}) */, public readonly outputDir = OUTPUT_SURFBOARD_DIR) {
     super(type, outputDir);
   }

+ 3 - 2
Build/lib/writing-strategy/surge.ts

@@ -7,6 +7,7 @@ import picocolors from 'picocolors';
 import { normalizeDomain } from '../normalize-domain';
 import { OUTPUT_MODULES_DIR, OUTPUT_SURGE_DIR } from '../../constants/dir';
 import { withBannerArray, withIdentityContent } from '../misc';
+import { MARKER_DOMAIN } from '../../constants/description';
 
 export class SurgeDomainSet extends BaseWriteStrategy {
   public readonly name = 'surge domainset';
@@ -15,7 +16,7 @@ export class SurgeDomainSet extends BaseWriteStrategy {
   readonly fileExtension = 'conf';
   type = 'domainset';
 
-  protected result: string[] = ['this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'];
+  protected result: string[] = [MARKER_DOMAIN];
 
   constructor(outputDir = OUTPUT_SURGE_DIR) {
     super(outputDir);
@@ -53,7 +54,7 @@ export class SurgeRuleSet extends BaseWriteStrategy {
 
   readonly fileExtension = 'conf';
 
-  protected result: string[] = ['DOMAIN,this_ruleset_is_made_by_sukkaw.ruleset.skk.moe'];
+  protected result: string[] = [`DOMAIN,${MARKER_DOMAIN}`];
 
   constructor(
     /** Surge RULE-SET can be both ip or non_ip, so this needs to be specified */

+ 2 - 1
Build/validate-global-tld.ts

@@ -5,13 +5,14 @@ import { ICP_TLD } from './constants/domains';
 import tldts from 'tldts-experimental';
 import { looseTldtsOpt } from './constants/loose-tldts-opt';
 import runAgainstSourceFile from './lib/run-against-source-file';
+import { MARKER_DOMAIN } from './constants/description';
 
 (async () => {
   const trie = new HostnameSmolTrie();
   const extraWhiteTLDs = new Set<string>();
 
   await runAgainstSourceFile(path.join(OUTPUT_SURGE_DIR, 'non_ip', 'domestic.conf'), (domain) => {
-    if (domain === 'this_ruleset_is_made_by_sukkaw.ruleset.skk.moe') {
+    if (domain === MARKER_DOMAIN) {
       return;
     }
     const tld = tldts.getPublicSuffix(domain, looseTldtsOpt);