♻️ refactor: Refactor server management API endpoints and typings

This commit is contained in:
web
2025-08-26 09:37:15 -07:00
parent 217ddce60c
commit 4f7cc807af
141 changed files with 5665 additions and 10338 deletions
+18 -9
View File
@@ -1,27 +1,36 @@
{
"ADS Config": "ADS 구성",
"Announcement Management": "공지 관리",
"Application Management": "애플리케이션 관리",
"Auth Control": "인증 제어",
"Balance": "잔액",
"Commerce": "상업",
"Commission": "수수료",
"Coupon Management": "쿠폰 관리",
"Dashboard": "대시보드",
"Document Management": "문서 관리",
"Finance": "재무",
"Email": "이메일",
"Gift": "선물",
"Login": "로그인",
"Logs & Analytics": "로그 및 분석",
"Maintenance": "유지보수",
"Marketing Management": "마케팅 관리",
"Node Management": "노드 관리",
"Order Management": "주문 관리",
"Payment Config": "결제 구성",
"Product Management": "제품 관리",
"Protocol Management": "프로토콜 관리",
"Rule Management": "규칙 관리",
"Server": "서버",
"Register": "등록",
"Reset Subscribe": "구독 초기화",
"SMS": "문자 메시지",
"Server Management": "서버 관리",
"Settings": "설정",
"Server Traffic": "서버 트래픽",
"Subscribe": "구독",
"Subscribe Config": "구독 설정",
"Subscribe Traffic": "구독 트래픽",
"System": "시스템",
"System Config": "시스템 구성",
"System Management": "시스템 관리",
"System Tool": "시스템 도구",
"Ticket Management": "티켓 관리",
"User": "사용자",
"User Detail": "사용자 세부 정보",
"User Management": "사용자 관리"
"User Management": "사용자 관리",
"Users & Support": "사용자 및 지원"
}
+37
View File
@@ -0,0 +1,37 @@
{
"address": "주소",
"cancel": "취소",
"confirm": "확인",
"confirmDeleteDesc": "이 작업은 실행 취소할 수 없습니다.",
"confirmDeleteTitle": "이 노드를 삭제하시겠습니까?",
"copied": "복사됨",
"copy": "복사",
"create": "생성",
"created": "생성됨",
"delete": "삭제",
"deleted": "삭제됨",
"drawerCreateTitle": "노드 생성",
"drawerEditTitle": "노드 편집",
"edit": "편집",
"enabled": "활성화됨",
"enabled_off": "비활성화됨",
"enabled_on": "활성화됨",
"errors": {
"nameRequired": "이름을 입력해 주세요",
"portRange": "포트는 1과 65535 사이여야 합니다",
"protocolRequired": "프로토콜을 선택해 주세요",
"serverAddrRequired": "입력 주소를 입력해 주세요",
"serverRequired": "서버를 선택해 주세요"
},
"name": "이름",
"pageTitle": "노드",
"port": "포트",
"protocol": "프로토콜",
"select_protocol": "프로토콜 선택…",
"select_server": "서버 선택…",
"server": "서버",
"tags": "태그",
"tags_description": "권한 그룹화 태그(계획 바인딩 및 배포 정책 포함).",
"tags_placeholder": "여러 태그를 추가하려면 Enter 또는 쉼표(,)를 사용하세요",
"updated": "업데이트됨"
}
+3 -58
View File
@@ -1,59 +1,6 @@
{
"actions": "작업",
"app": {
"appDownloadURL": "앱 다운로드 URL",
"appIcon": "앱 아이콘",
"appList": "앱 목록",
"appName": "앱 이름",
"backupDomains": "백업 도메인 목록",
"backupDomainsDescription": "도메인 해석을 위한 백업 도메인 목록, 한 줄에 하나의 도메인",
"batchDelete": "일괄 삭제",
"cancel": "취소",
"communicationKey": "통신 키",
"communicationKeyDescription": "클라이언트 통신에 사용되는 키",
"config": "설정",
"configApp": "앱 설정",
"confirm": "확인",
"confirmDelete": "삭제 확인",
"create": "생성",
"createApp": "앱 생성",
"createSuccess": "성공적으로 생성되었습니다",
"defaultVersion": "기본",
"delete": "삭제",
"deleteWarning": "이 작업은 되돌릴 수 없습니다",
"describeDescription": "애플리케이션을 설명하는 데 사용되며, 앱 목록에 표시됩니다",
"description": "설명",
"downloadLink": "다운로드 링크",
"edit": "편집",
"editApp": "앱 편집",
"encryption": "암호화 방법",
"encryptionDescription": "클라이언트 통신을 위한 암호화 방법을 선택하세요. 선택하면 클라이언트는 이 방법을 사용하여 서버와 통신합니다.",
"nameDescription": "애플리케이션 이름, 앱 목록에 표시됩니다",
"platform": "플랫폼",
"selectApp": "앱 선택",
"selectAppDescription": "구성할 앱을 선택하세요. 모든 설정은 선택한 앱에 적용됩니다.",
"startupPicture": "시작 화면",
"startupPictureDescription": "시작 화면, 네트워크 및 로컬 이미지를 지원합니다. 네트워크 이미지를 사용할 경우, 전체 이미지 URL을 입력하세요",
"startupPicturePreview": "시작 화면 미리보기",
"startupPictureSkip": "시작 화면 건너뛰기 시간",
"startupPictureSkipDescription": "시작 화면 표시 시간(초), 0을 입력하면 표시되지 않습니다",
"subscriptionProtocol": "구독 프로토콜",
"updateSuccess": "성공적으로 업데이트되었습니다",
"version": "버전"
},
"cancel": "취소",
"config": {
"singleSubscriptionMode": "단일 구독 모드",
"subscriptionDomain": "구독 도메인",
"subscriptionDomainDescription": "구독에 사용됩니다; 사이트 도메인을 사용하려면 비워 두세요",
"subscriptionDomainPlaceholder": "구독 도메인을 입력하세요, 한 줄에 하나씩",
"subscriptionPath": "구독 경로",
"subscriptionPathDescription": "구독에 사용됩니다; 최적의 성능을 위해 수정 후 시스템을 재시작하세요",
"subscriptionPathPlaceholder": "입력하세요",
"updateSuccess": "성공적으로 업데이트되었습니다",
"wildcardResolution": "와일드카드 해상도",
"wildcardResolutionDescription": "구독에 사용됩니다"
},
"confirm": "확인",
"confirmDelete": "삭제하시겠습니까?",
"copy": "복사",
@@ -94,6 +41,9 @@
"name": "이름",
"noLimit": "무제한",
"noReset": "초기화 없음",
"node": "노드",
"nodeGroup": "노드 그룹",
"nodes": "노드들",
"pricing": "가격",
"purchaseWithDiscount": "공제 허용",
"purchaseWithDiscountDescription": "구독 취소 기능을 활성화하거나 비활성화합니다. 활성화 후, 시스템은 설정된 규칙과 비율에 따라 공제 처리를 수행하며, 남은 가치는 잔액으로 반환됩니다.",
@@ -106,9 +56,6 @@
"selectResetCycle": "초기화 주기를 선택하세요",
"selectSubscribeGroup": "구독 그룹을 선택하세요",
"selectUnitTime": "단위 시간을 선택하세요",
"server": "서버",
"serverGroup": "서버 그룹",
"servers": "서버",
"speedLimit": "속도 제한 ",
"traffic": "트래픽",
"unitPrice": "단가",
@@ -150,8 +97,6 @@
"subscribeGroup": "구독 그룹",
"tabs": {
"subscribe": "구독",
"subscribeApp": "앱 구성",
"subscribeConfig": "구독 구성",
"subscribeGroup": "구독 그룹"
},
"traffic": "트래픽",
-183
View File
@@ -1,183 +0,0 @@
{
"config": {
"addTimeSlot": "시간 슬롯 추가",
"communicationKey": "통신 키",
"communicationKeyDescription": "데이터 보안을 보장하기 위한 노드 통신 키",
"delete": "삭제",
"dynamicMultiplier": "동적 배수",
"dynamicMultiplierDescription": "동적 배수는 서로 다른 시간대에 서로 다른 노드에 대해 서로 다른 배수로 푸시된 데이터를 처리하는 것을 의미합니다.",
"endTime": "종료 시간",
"inputPlaceholder": "입력",
"multiplier": "배수",
"nodePullInterval": "노드 풀 간격",
"nodePullIntervalDescription": "노드가 패널에서 데이터를 가져오는 빈도(초 단위)",
"nodePushInterval": "노드 푸시 간격",
"nodePushIntervalDescription": "노드가 데이터를 패널로 푸시하는 빈도",
"reset": "재설정",
"save": "저장",
"saveSuccess": "저장 성공",
"startTime": "시작 시간",
"timeSlot": "시간 슬롯"
},
"group": {
"actions": "작업",
"cancel": "취소",
"confirm": "확인",
"confirmDelete": "삭제하시겠습니까?",
"create": "생성",
"createNodeGroup": "노드 그룹 생성",
"createdSuccessfully": "성공적으로 생성되었습니다",
"delete": "삭제",
"deleteWarning": "삭제 후 데이터는 복구할 수 없으니 신중히 진행하세요.",
"deletedSuccessfully": "성공적으로 삭제되었습니다",
"description": "설명",
"edit": "편집",
"editNodeGroup": "노드 그룹 편집",
"name": "이름",
"title": "노드 그룹 목록",
"updatedAt": "업데이트 시간"
},
"groupForm": {
"cancel": "취소",
"confirm": "확인",
"description": "설명",
"name": "이름"
},
"node": {
"abnormal": "비정상",
"actions": "작업",
"address": "주소",
"all": "전체",
"basicInfo": "기본 정보",
"cancel": "취소",
"confirm": "확인",
"confirmDelete": "삭제하시겠습니까?",
"copy": "복사",
"copySuccess": "성공적으로 복사되었습니다",
"create": "생성",
"createNode": "노드 생성",
"createSuccess": "생성 성공",
"delete": "삭제",
"deleteSuccess": "삭제 성공",
"deleteWarning": "삭제 후 데이터는 복구할 수 없습니다. 신중히 진행하세요.",
"detail": "상세 정보",
"disabled": "비활성화",
"disk": "디스크",
"edit": "편집",
"editNode": "노드 편집",
"enable": "활성화",
"enabled": "활성화",
"expireTime": "만료 시간",
"hide": "숨기기",
"id": "ID",
"ipAddresses": "IP 주소",
"lastUpdated": "마지막 업데이트",
"location": "위치",
"memory": "메모리",
"name": "이름",
"noData": "--",
"node": "노드",
"nodeDetail": "노드 상세 정보",
"nodeGroup": "노드 그룹",
"nodeStatus": "노드 상태",
"normal": "정상",
"onlineCount": "온라인 인원",
"onlineUsers": "온라인 사용자",
"protocol": "프로토콜",
"rate": "비율",
"relay": "중계",
"serverAddr": "서버 주소",
"speedLimit": "속도 제한",
"status": "상태",
"subscribeId": "구독 ID",
"subscribeName": "구독 이름",
"subscription": "구독",
"tags": "태그",
"trafficRatio": "트래픽 비율",
"trafficUsage": "트래픽 사용량",
"type": "유형",
"updateSuccess": "업데이트 성공",
"updatedAt": "업데이트 시간",
"user": "사용자",
"userDetail": "사용자 상세 정보",
"userId": "사용자 ID"
},
"nodeForm": {
"allowInsecure": "불안전 허용",
"cancel": "취소",
"city": "도시",
"confirm": "확인",
"congestionController": "혼잡 제어기",
"country": "국가",
"disableSni": "SNI 비활성화",
"edit": "편집",
"editSecurity": "보안 구성 편집",
"enableTLS": "TLS 활성화",
"encryptionMethod": "암호화 방법",
"fingerprint": "지문",
"flow": "흐름 제어 알고리즘",
"groupId": "노드 그룹",
"hopInterval": "홉 간격",
"hopPorts": "홉 포트",
"hopPortsPlaceholder": "여러 포트를 쉼표로 구분",
"name": "이름",
"obfsPassword": "난독화 비밀번호",
"obfsPasswordPlaceholder": "난독화 없음은 비워두세요",
"path": "경로",
"pleaseSelect": "선택하세요",
"port": "서버 포트",
"protocol": "프로토콜",
"reduceRtt": "RTT 줄이기",
"relayHost": "릴레이 호스트",
"relayMode": "릴레이 모드",
"relayPort": "릴레이 포트",
"relayPrefix": "릴레이 접두사",
"remarks": "비고",
"security": "보안",
"securityConfig": "보안 구성",
"selectEncryptionMethod": "암호화 방법 선택",
"selectNodeGroup": "노드 그룹 선택",
"selectProtocol": "프로토콜 선택",
"selectRelayMode": "릴레이 모드 선택",
"serverAddr": "서버 주소",
"serverKey": "서버 키",
"serverName": "서비스 이름",
"speedLimit": "속도 제한",
"speedLimitPlaceholder": "무제한",
"tags": "태그",
"tagsPlaceholder": "여러 태그 입력은 Enter 또는 쉼표(,) 사용",
"trafficRatio": "트래픽 비율",
"transport": "전송 프로토콜 구성",
"transportConfig": "전송 프로토콜 구성",
"transportHost": "전송 서버 주소",
"transportPath": "전송 경로",
"transportServerName": "전송 서버 이름",
"udpRelayMode": "UDP 릴레이 모드"
},
"relayModeOptions": {
"all": "모두",
"none": "없음",
"random": "무작위"
},
"securityConfig": {
"fingerprint": "지문",
"privateKey": "개인 키",
"privateKeyPlaceholder": "자동 생성은 비워두세요",
"publicKey": "공개 키",
"publicKeyPlaceholder": "자동 생성은 비워두세요",
"serverAddress": "서버 주소",
"serverAddressPlaceholder": "REALITY 대상 주소, 기본 SNI 사용",
"serverName": "서버 이름 (SNI)",
"serverNamePlaceholder": "REALITY 필수, 백엔드와 일치",
"serverPort": "서버 포트",
"serverPortPlaceholder": "REALITY 대상 포트, 기본 443",
"shortId": "짧은 ID",
"shortIdPlaceholder": "자동 생성은 비워두세요",
"sni": "서버 이름 표시 (SNI)"
},
"tabs": {
"node": "노드",
"nodeConfig": "노드 구성",
"nodeGroup": "노드 그룹"
}
}
+101
View File
@@ -0,0 +1,101 @@
{
"address": "주소",
"address_placeholder": "서버 주소",
"cancel": "취소",
"city": "도시",
"config": {
"actions": {
"cancel": "취소",
"save": "저장"
},
"communicationKey": "통신 키",
"communicationKeyDescription": "노드 인증에 사용됩니다.",
"description": "노드 통신 키, 풀/푸시 간격 및 동적 배수를 관리합니다.",
"dynamicMultiplier": "동적 배수",
"dynamicMultiplierDescription": "트래픽 회계를 조정하기 위한 시간 슬롯 및 배수를 정의합니다.",
"endTime": "종료 시간",
"inputPlaceholder": "입력해 주세요",
"multiplier": "배수",
"nodePullInterval": "노드 풀 간격",
"nodePullIntervalDescription": "노드가 구성을 가져오는 빈도(초 단위).",
"nodePushInterval": "노드 푸시 간격",
"nodePushIntervalDescription": "노드가 통계를 푸시하는 빈도(초 단위).",
"reset": "초기화",
"save": "저장",
"saveSuccess": "저장 성공",
"startTime": "시작 시간",
"timeSlot": "시간 슬롯",
"title": "노드 구성"
},
"confirm": "확인",
"confirmDeleteDesc": "이 작업은 실행 취소할 수 없습니다.",
"confirmDeleteTitle": "이 서버를 삭제하시겠습니까?",
"congestion_controller": "혼잡 제어기",
"copied": "복사됨",
"copy": "복사",
"country": "국가",
"cpu": "CPU",
"create": "생성",
"created": "성공적으로 생성됨",
"delete": "삭제",
"deleted": "성공적으로 삭제됨",
"disable_sni": "SNI 비활성화",
"disk": "디스크",
"drawerCreateTitle": "서버 생성",
"drawerEditTitle": "서버 편집",
"edit": "편집",
"enabled": "활성화됨",
"encryption_method": "암호화 방법",
"expireTime": "만료 시간",
"expired": "만료됨",
"flow": "흐름",
"hop_interval": "홉 간격",
"hop_ports": "홉 포트",
"hop_ports_placeholder": "예: 1-65535",
"host": "호스트",
"id": "ID",
"ipAddresses": "IP 주소",
"memory": "메모리",
"name": "이름",
"noData": "데이터 없음",
"notAvailable": "사용 불가",
"obfs_password": "난독화 비밀번호",
"obfs_password_placeholder": "난독화 비밀번호를 입력하세요",
"offline": "오프라인",
"online": "온라인",
"onlineUsers": "온라인 사용자",
"pageTitle": "서버",
"path": "경로",
"please_select": "선택해 주세요",
"port": "포트",
"protocols": "프로토콜",
"reduce_rtt": "RTT 감소",
"security_allow_insecure": "불안전 허용",
"security_fingerprint": "지문",
"security_private_key": "실제 개인 키",
"security_private_key_placeholder": "개인 키를 입력하세요",
"security_public_key": "실제 공개 키",
"security_public_key_placeholder": "공개 키를 입력하세요",
"security_server_address": "실제 서버 주소",
"security_server_address_placeholder": "예: 1.2.3.4 또는 도메인",
"security_server_port": "실제 서버 포트",
"security_short_id": "실제 짧은 ID",
"security_short_id_placeholder": "16자 이내의 헥스 문자열",
"security_sni": "SNI",
"security_title": "보안",
"select_encryption_method": "암호화 방법 선택",
"server_key": "서버 키",
"service_name": "서비스 이름",
"status": "상태",
"subscribeId": "구독 ID",
"subscription": "구독",
"traffic": "트래픽",
"traffic_ratio": "배수",
"transport_title": "전송",
"udp_relay_mode": "UDP 릴레이 모드",
"unitSecondsShort": "초",
"unlimited": "무제한",
"updated": "성공적으로 업데이트됨",
"user": "사용자",
"validation_failed": "유효성 검사 실패. 양식을 확인하세요."
}