Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/uvian/xboard-core
Defensive ToolsVulnerability AnalysisScripting & AutomationConfiguration AuditingNetwork SecurityPrivacyUtilities & Frameworks
GitHubuvian/xboard-core

xboard-core

Xboard 노드 백엔드: Xray-core v26.10.31 기반, 단일 패치로 기기 수/속도 제한 구현, Xboard V2 계약과 엄격히 정렬, CVE-2026-98432 완화 내장

저장소 보기
13일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

xboard-core

cedar2025/Xboard 패널을 위한 차세대 노드 백엔드입니다. wyx2685/v2node의 현대 프로토콜 커버리지 + 커널 통합 방식을 취하고, cedar2025/Xboard-Node의 **운영 계층(푸시/머신 모드/인증서/듀얼 커널)**을 취하며, 커널 베이스라인은 Xray-core v26.10.31로 고정합니다.

문서: docs/ARCHITECTURE.md(아키텍처 및 의사결정 기록) · docs/CONTRACT.md(패널과의 필드별 계약, 증거 행 번호 포함) · docs/PANEL-PATCH.md(패널 패치: 왜 수정했는지, 어떻게 설치하는지, 어떻게 롤백하는지) · docs/STATUS.md(구현됨 / 미구현 / 검증 방법) · docs/PANEL-IMPROVEMENTS.md(패널의 보다 장기적인 개선 목록)

왜 기존의 두 가지를 계속 쓰지 않는가

차원Xboard-Node(dev 2026-04)v2node(2026-10)본 프로젝트
커널 버전fork가 v26.3.27에 동결됨v26.9.30v26.10.31(MPTCP 기본 비활성화 포함)
기기 수/속도 제한//go:linkname으로 비공개 레지스트리 하이재킹dispatcher 패키지 전체를 자체 모듈로 복사단일 패치 app/usergate(3개 hunk)
프로토콜 범위vless/vmess/trojan/ss/hysteria2/tuic/anytls(xray+sing-box)vless/vmess/trojan/ss/hysteria2/tuic/anytls, VLESS encryption / mldsa65Seed / xver 포함xray 측 vless/vmess/trojan/ss2022 + 완전한 REALITY 강화; anytls/tuic/hysteria2는 sing-box에 위임(프로토콜 패치 제로)
전송ws/grpc/httpupgrade/h2(삭제됨)/xhttptcp/ws/grpc/httpupgrade/xhttpxhttp 우선, h2/quic 컴파일 시점 거부
푸시WS handshake 푸시폴링만(ETag + msgpack)WS 푸시 + 폴링 폴백
인증서certmagic + 21개 libdns providerlegocertmagic + libdns(xbn 방식 계승)
머신 모드지원(다중 노드/단일 프로세스)단일 프로세스 다중 Nodes지원

핵심 결론: 두 프로젝트의 **진짜 분기점은 기능이 아니라 "어떻게 자신을 xray의 데이터 플레인에 끼워 넣는가"**입니다.

  • xbn은 linkname을 선택합니다(패치가 가장 적지만 내보내지 않은 심볼에 의존).
  • v2node는 dispatcher 전체 복사를 선택합니다(자기 완결적이지만 700줄의 업스트림 변경을 동기화해야 함).
  • 이 프로젝트는 세 번째 길을 선택합니다: vendor된 xray에 app/usergate 패키지 + 3곳의 hunk를 추가하고, 데이터 플레인 의미는 xray 자체의 dispatcher가 담당하며, 게이트는 Admit/Limit 두 개의 순수 함수만 수행합니다.

디렉터리

cmd/xboard-core/          # 入口(node 模式 / machine 模式 / standalone)
internal/config/          # YAML 配置 + 校验 + 热重载
internal/panel/           # 面板契约:/api/v2/server/*(含 V1 兼容)
internal/kernel/          # 内核抽象(xray / singbox 双实现)
internal/kernel/xray/     # 配置构建(安全默认在此集中收敛)+ 运行时热更新
internal/gate/            # 设备数 + 限速闸门(被 usergate 补丁调用)
internal/sysinfo/         # 面板 status 必填项(cpu/mem/swap/disk,零依赖)
internal/traffic/         # 每用户流量计数与上报
internal/metrics/         # Prometheus 指标 + 健康检查
internal/cert/            # ACME 证书管理(certmagic + libdns)
third_party/xray/         # vendored Xray-core + 补丁序列
panel-patch/              # 面板侧补丁(对 cedar2025/Xboard 的零迁移改动)
docs/                     # 架构决策记录、面板改造清单

빌드

의존성: Go 1.27+ (go.mod 요구 사항), git, GNU patch.

make vendor          # clone Xray-core v26.10.31 到 third_party/xray
make patches         # 打 patches/*.patch(幂等)
make build           # -> bin/xboard-core
bash scripts/verify.sh   # gofmt + vet + test + build + smoke + vendored 单测 + 补丁幂等

make가 없는 머신(예: Windows의 git-bash)에서는 bash scripts/verify.sh를 직접 실행하면 되며, 이는 make verify와 동등합니다; make vendor는 하나의 tar 파이프로 대체할 수 있으며, 구현은 Makefile을 참조하세요.

Windows 주의: %TEMP%에 쓸 수 없으면 go는 creating work dir: ... Access is denied를 보고합니다. 빌드 전에 export TMP=D:/tmp TEMP=D:/tmp를 실행하면 됩니다(scripts/verify.sh는 GO_TMP 변수를 지원합니다).

현재 상태는 docs/STATUS.md를 참조하세요: go build ./..., go test ./..., -smoke, vendored app/usergate와 app/dispatcher 단위 테스트가 모두 통과했습니다.

보안 기본값 (패널로 재정의할 수 없는 강제 제약)

  1. 모든 리스닝 socket에 SetMultipathTCP(false) 적용(CVE-2026-98432), 단 설정에 명시적으로 sockopt.tcpMptcp: true가 있을 때는 예외.
  2. 프로세스 시작 시 debug.SetGCPercent 외에도 GODEBUG에 multipathtcp=0이 포함되어 있는지 검증하며, 없으면 WARN을 남기고 계속 진행; install.sh가 기본으로 기록.
  3. allowInsecure는 빌드 계층에서 거부되며 pinnedPeerCertSha256 / verifyPeerCertByName으로 변환됨.
  4. h2/http/h3/quic 전송은 빌드 계층에서 바로 오류를 발생시킴(업스트림에서 삭제됨), tcp로 조용히 다운그레이드되지 않음.
  5. REALITY: shortIds 비어 있지 않음 검증, dest 필수, maxTimeDiff 기본값 90s, 선택적 mldsa65Seed/xver/limitFallback*.
  6. minClientVer를 내려보내지 않음; 패널이 내려보내면 WARN을 기록하고 /status에 노출하여 mihomo 계열 클라이언트가 조용히 폴백되는 것을 방지.
도구 다운로드