mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
32 lines
828 B
TypeScript
32 lines
828 B
TypeScript
import type { Span } from '../../trace';
|
|
import { AdGuardHome } from '../writing-strategy/adguardhome';
|
|
import type { BaseWriteStrategy } from '../writing-strategy/base';
|
|
import { ClashDomainSet } from '../writing-strategy/clash';
|
|
import { SingboxSource } from '../writing-strategy/singbox';
|
|
import { SurgeDomainSet } from '../writing-strategy/surge';
|
|
import { FileOutput } from './base';
|
|
|
|
export class DomainsetOutput extends FileOutput {
|
|
strategies: BaseWriteStrategy[] = [
|
|
new SurgeDomainSet(),
|
|
new ClashDomainSet(),
|
|
new SingboxSource('domainset')
|
|
];
|
|
}
|
|
|
|
export class AdGuardHomeOutput extends FileOutput {
|
|
strategies: BaseWriteStrategy[];
|
|
|
|
constructor(
|
|
span: Span,
|
|
id: string,
|
|
outputDir: string
|
|
) {
|
|
super(span, id);
|
|
|
|
this.strategies = [
|
|
new AdGuardHome(outputDir)
|
|
];
|
|
}
|
|
}
|