진단 패키지
Gately에 문제가 생기면 설정 → 진단에서 진단 패키지를 내보내 GitHub issue에 첨부하세요. 관리자가 스크린샷이나 복사한 로그를 따로 요청하지 않고도 원인을 찾을 수 있습니다.
진단 패키지는 사용자 자신의 기기에서 생성되며 어디에도 업로드되지 않습니다. 내려받기 전에 내용 미리 보기를 누르면 내보낼 내용을 정확히 확인할 수 있습니다. zip에는 일반 텍스트와 JSON만 들어 있으므로 압축을 풀어 파일을 하나하나 검토할 수도 있습니다.
내보내는 내용
| 파일 | 내용 |
|---|---|
README.txt | 진단 패키지 설명(중국어·영어 병기) |
summary.json | Gately 버전과 빌드 정보, OS와 아키텍처, CPU 모델과 코어 수, 메모리 / 디스크 용량, 가동 시간, Go 런타임 통계, 관리 UI 포트 번호, 네트워크 인터페이스 이름과 주소 분류(예: private: 1, public: 2) |
modules.json | 모듈 목록과 개요 페이지에 표시되는 상태 요약 |
config/*.json | 설정 구조: 필드 이름, 숫자, 스위치, 프로토콜·모드 같은 열거 값 |
logs/*.log | 시스템과 각 모듈의 최근 실행 로그, 재시작 전에 디스크에 저장된 부분 포함(끌 수 있음) |
절대 내보내지 않는 내용
- 비밀번호, 비밀번호 해시, API 토큰, TOTP 시크릿, 세션 키, OAuth 클라이언트 시크릿, DNS 제공자 키, SSH 비밀번호와 개인 키, 인증서와 개인 키.
account.json과tokens.json은 아예 읽지 않습니다. - 도메인, 호스트 이름, 실제 IP 주소와 MAC 주소.
<domain>,<ipv4:private>,<ipv4:public>,<mac>같은 자리 표시자로 바뀌며 포트는 유지됩니다. - 설정 디렉터리 경로와 홈 디렉터리(
<config-dir>,<home>으로 대체). - 설정에 직접 입력한 이름, 메모 등의 텍스트: 알려진 열거 값이 아닌 문자열은 모두
<redacted>로 바뀝니다. - 파일 내용, Docker 컨테이너·이미지·환경 변수, 터미널 세션, 트래픽 내용.
마스킹 방식
- 설정: 기본적으로 값을 모두 제거합니다. 필드 이름, 숫자, 불리언, 정해진 열거 필드(
protocol,mode,provider등), 타임스탬프만 남습니다. 주소 필드는 포트와 IP 분류만 남깁니다. - 로그: IP 주소, 도메인, 이메일, URL,
password=…형식의 키-값,Bearer토큰, 토큰처럼 보이는 긴 문자열, MAC 주소, 사용자 디렉터리를 마스킹합니다.github.com,letsencrypt.org같은 공용 서비스 도메인은 장애가 네트워크 문제인지 판단하는 데 필요하므로 유지합니다. - 직접 입력한 이름(예: 규칙 메모)이 IP나 도메인처럼 보이지 않으면 로그 줄에 그대로 남을 수 있습니다. 게시하기 전에
logs/*.log를 훑어보고 공유하고 싶지 않은 내용은 지우세요.
API
GET /api/system/diagnostics(로그인 세션 전용, API 토큰은 거부됨). ?logs=0이면 로그를 제외하고 ?preview=1이면 파일을 JSON으로 반환합니다.