SukkaW 9f821b84ca
Some checks failed
Build / Build (push) Has been cancelled
Build / Diff output (push) Has been cancelled
Build / Deploy to Cloudflare Pages (3.114.6) (push) Has been cancelled
Build / Deploy to GitHub and GitLab (push) Has been cancelled
Chore: update ruleset marker
2025-05-13 20:57:22 +08:00

27 lines
996 B
TypeScript

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,${MARKER_DOMAIN}`];
constructor(public readonly type: 'ip' | 'non_ip' /* | (string & {}) */, public readonly outputDir = OUTPUT_SURFBOARD_DIR) {
super(type, outputDir);
}
override writeDomainWildcards = noop;
override writeUserAgents = noop;
override writeUrlRegexes = noop;
override writeIpAsns = noop;
override writeSourcePorts(port: Set<string>): void {
// https://getsurfboard.com/docs/profile-format/rule/misc
appendSetElementsToArray(this.result, port, i => `IN-PORT,${i}`);
}
override writeOtherRules = noop;
}