feat: implement validateProxyUrl validation

This commit is contained in:
divocat
2025-10-03 21:44:42 +03:00
parent 3f4a0cf094
commit eb52d52eb4
5 changed files with 63 additions and 31 deletions

View File

@@ -0,0 +1,24 @@
import { ValidationResult } from './types';
import { validateShadowsocksUrl } from './validateShadowsocksUrl';
import { validateVlessUrl } from './validateVlessUrl';
import { validateTrojanUrl } from './validateTrojanUrl';
// TODO refactor current validation and add tests
export function validateProxyUrl(url: string): ValidationResult {
if (url.startsWith('ss://')) {
return validateShadowsocksUrl(url);
}
if (url.startsWith('vless://')) {
return validateVlessUrl(url);
}
if (url.startsWith('trojan://')) {
return validateTrojanUrl(url);
}
return {
valid: false,
message: 'URL must start with vless:// or ss:// or trojan://',
};
}