참고 문헌 / 증거
Telegram · 저장 및 복구
백업, 오래된 파일을 클라우드로 이동, Object Lock 하의 복사본, 새 기기에서 복구.
이 패널은 다음 세 가지 작업을 구분합니다:
| 과제 | 기능 |
|---|---|
| 백업 보관하기 | 서명된 저널, 체크포인트, 보존된 파일 및 대기 중인 내보내기 항목을 구성된 S3 저장소로 복사합니다. |
| 무료 로컬 저장 공간 | 선택한 오래된 첨부 파일을 S3 또는 rclone 클라우드 원격 저장소로 복사하고, 전체 내용을 다시 불러온 다음, 암호화된 바이트를 검증한 후 검증된 로컬 사본을 삭제합니다. |
| 증거 사본 보관하기 | S3 Object Lock을 구성하고 반환된 보존 상태를 확인하십시오. 서비스는 요청된 모드와 날짜를 반드시 확인해야 합니다. |
공간을 확보하더라도 서명된 일지는 절대 삭제되거나 덮어쓰이지 않습니다. 각 첨부 파일은 원본 SHA-256과 복구 영수증을 유지합니다. 선택적 gzip 압축은 인증된 암호화 전에 수행됩니다. 클라우드 파일 이름에는 텔레그램 이름, 채팅 ID 또는 원본 첨부 파일 이름이 포함되지 않습니다. 하나의 첨부 파일 크기는 최대 32 GiB까지 가능합니다.
업로드 응답만으로는 파일을 삭제할 수 있는 권한이 부여되지 않습니다. TgWitness는 암호화된 전체 객체를 다운로드하여 크기를 확인하고, SHA-256 수신 확인증을 저장한 후, 삭제 직전에 로컬 바이트를 다시 한 번 확인합니다. 업로드 실패, 읽어온 내용이 다르거나 전송이 취소된 경우, 로컬 파일은 그대로 유지됩니다. 만약 활성화된 증거 백업이 해당 파일을 아직 복사하지 않은 경우, 삭제 작업도 백업이 완료될 때까지 대기합니다.
디스크 공간이 부족해질 때#
여유 공간이 매개변수 → 첨부 파일 → 디스크 여유 공간 설정값(기본 1 GiB)보다 적으면 첨부 파일 다운로드를 일시 중지하고 대기열을 유지합니다. 텍스트 관찰은 계속됩니다. 알림 설정과는 무관하며, 알림을 꺼도 다운로드 예약 공간이나 저장소 보호 기능은 꺼지지 않습니다.
더 일찍 대응하려면 자동 실행을 켜고 공간 확보를 위해 로컬 파일 제거를 선택한 뒤 디스크 공간 부족 시 추가 외부 전송 실행을 켜세요. 이 선택 규칙은 기본적으로 여유 공간이 5120 MiB 미만일 때 시작하여 10240 MiB가 확보될 때까지 묶음으로 처리합니다. 두 임계값 모두 설정할 수 있습니다. 대상, 파일 최소 경과 시간, 묶음 한도, 전체 재읽기 검증 및 증거 백업 전제 조건은 수동 실행과 같습니다. 대상을 스스로 활성화하지 않습니다. 30초마다 확인하며 오류나 진전이 없으면 다음 시도를 5분 늦춥니다. 상태와 재시도 시각은 재시작 후에도 유지됩니다. 규칙이 비활성 상태이면 예약 작업은 평소 간격을 사용합니다.
패널에는 여유 공간, 패키징 예약 공간, 규칙 준비 상태, 임시 공간 부족으로 건너뛴 파일이 표시됩니다. 패키징과 복원은 시작 전에 최대 임시 공간 요구량을 확인하고 쓰는 동안에도 여유 공간을 확인합니다. 다운로드 예약 설정을 사용하되 저장소 작업에는 최소 64 MiB를 남깁니다. 이는 파일 시스템 할당량이 아니므로 다른 프로세스가 확인 사이에 공간을 사용할 수 있습니다.
Gzip은 원격 객체를 무손실 압축하며 활성 저널을 줄이거나 로컬 압축 파일을 만들지 않습니다. JPEG·동영상·ZIP은 거의 줄지 않거나 조금 커질 수 있습니다. 압축을 켜면 패키징에 일시적으로 첨부 파일 크기의 약 두 배와 예약 공간이 필요할 수 있습니다. 가장 큰 파일을 고려하여 충분히 이른 시작 임계값을 정하세요. 너무 큰 파일은 보관하고 보고하며, 작은 파일이나 이미 검증된 원격 복사본은 계속 공간을 확보할 수 있습니다. 검증된 복사본이 있으면 새 로컬 패키징 파일 없이 로컬 파일을 제거할 수 있습니다. 복원도 임시 공간이 필요하며 공간이 생길 때까지 거부될 수 있습니다.
옮길 수 있는 파일이 없거나 대상이 설정되지 않으면 TgWitness는 자동으로 공간을 확보할 수 없습니다. 저장소 관리는 서명된 저널을 잘라내거나 다시 쓰지 않습니다. 새 텍스트 관찰을 위해서는 여전히 공간이 필요합니다.
대상 연결#
[추가 기능] → [저장소 및 디스크 공간] → [저장소 관리]에서 작업과 대상 위치를 선택한 후, 저장하고 [업로드 및 다운로드 테스트]를 선택하세요. 이 테스트는 작은 무작위 프로브를 업로드한 후 이를 다시 읽어옵니다. 텔레그램 콘텐츠는 사용되지 않습니다.
S3의 경우, 제공업체의 실제 엔드포인트, 리전 및 버킷을 사용하십시오. 와사비(Wasabi), 백블레이즈(Backblaze), 클라우드플레어 R2(Cloudflare R2) 및 기타 호환 가능한 서비스는 동일한 S3 설정을 사용합니다. 호환되는 API가 있다고 해서 오브젝트 락(Object Lock)이 지원된다는 의미는 아닙니다. 거버넌스 모드에서는 승인된 관리자가 보존 기간 설정을 우회할 수 있지만, 컴플라이언스 모드에는 다른 제약 조건이 적용됩니다. 보존 기간 설정을 신뢰하기 전에 반환된 오브젝트 락 상태를 확인하십시오.
rclone 대상의 경우, rclone의 제공자 설정을 사용하여 원격 저장소를 하나 생성한 다음
해당 원격 저장소의 [name] 섹션을 패널에 붙여넣으세요. 설치된 헬퍼는
MEGA, Google Drive, OneDrive, Dropbox, Box, pCloud 및 선택기에 표시된
기타 제공업체를 지원합니다. 인증 정보는 이 작업 공간의 암호화된 볼트에 저장됩니다. OAuth
갱신 정보는 볼트에 다시 저장됩니다. 인증 정보는 저널
이벤트에 추가되거나 복구 다운로드에 포함되지 않습니다.
헬퍼는 워크스페이스 내에 설치되며, 고정된 버전과 SHA-256이 포함됩니다. 시스템 PATH에는 추가되지 않습니다. 구성 파일과 작업 파일은 해당 워크스페이스 내의 임시 파일입니다. 명령어 기반 및 로컬 파일 리모트는 허용되지 않습니다. rclone은 현재 외부 요청을 위해 명시적으로 선택된 Direct 경로를 요구합니다. 워크스페이스의 SOCKS5 또는 HTTP 경로에는 네이티브 S3 스토리지를 사용하십시오. rclone은 사용할 수 없는 경로를 자동으로 우회하지 않습니다.
복구 파일을 보관하세요#
'파일 복사 후 복구 파일 저장'을 선택하고, 이 파일을 설치 폴더와는 별도의 장소에 보관하십시오. 이 파일에는 복호화 키와 서명된 객체 영수증이 포함되어 있으므로, 개인 키 백업으로 취급하십시오. 원본 원격 구성 파일과 대상 인증 정보도 별도로 보관하십시오. 이후 복사 작업 전에 생성된 복구 파일에는 그 이후 파일의 영수증이 포함되어 있지 않습니다.
서명 키의 지문은 이미 별도로 기록되어 있어야 합니다. 동일한 파일 내에 포함된 키와만 대조하여 확인된 서명만으로는 해당 복구 파일이 누구의 것인지 확인할 수 없습니다.
기존 작업 공간에서 누락된 저장 영수증을 복구하려면, ‘저장된 복구 파일에서 파일 복구’를 열고 해당 파일을 선택하십시오. 패널은 서명을 확인하고 동일한 작업 공간 서명 키를 요구합니다. 다른 저장 키로 대체하는 것은 허용되지 않습니다. 그런 다음 ‘모든 파일 복원’을 선택하십시오. 복원 작업이 진행되면 자동 저장 규칙이 일시 중지되므로, 다음 예정된 처리 시 복원된 파일이 즉시 다시 삭제되지 않습니다. 로컬 사본 사용이 끝나면 규칙을 다시 활성화하십시오.
복원(Restoration) 단계에서는 암호문을 검증하고, 복호화를 인증하며, 필요한 경우 압축을 해제하고
원본 평문SHA-256을 확인한 후 파일을 media/.
손상된 원격 객체는 절대 로컬 파일을 대체하지 않습니다. 바이트가 다른 기존 로컬 파일은
덮어쓰기되지 않고 검토를 위해 그대로 유지됩니다.
설치 데이터 손실 후 복구#
다른 컴퓨터에 TgWitness를 설치하십시오. 비공개 복구 파일, 별도로 기록된 지문, 그리고 원래의 대상 계정 인증 정보를 사용하십시오:
python -m tgwitness.storage recover \
--recovery storage-recovery.json \
--fingerprint TRUSTED_WORKSPACE_SHA256 \
--credentials original-rclone.conf \
--output recovered-attachments
S3의 경우, --credentials 다음과 같은 내용이 포함된 비공개 JSON 파일을 가리킵니다. access_key 를 가리키며
secret_key; 서명된 복구 파일은 대상 설정을 제공합니다.
이 명령어는 직접적인 외부 연결을 사용하며, rclone 원격 서버에 필요할 때 고정된 헬퍼를
다운로드합니다. 기존 출력 디렉터리는 허용하지 않습니다.
복구된 원본 바이트는 recovered-attachments/media/SHA-256로 명명된
파일에 기록됩니다. recovery-log.jsonl 는 복구 작업에 대한 서명되지 않은 기록입니다.
이 명령어는 손실된 서명된 저널이나 해당 서명 키를 재구성하지 않습니다. 이를 위해
워크스페이스의 전체 백업을 보관하십시오. 저장소 복구 파일은 워크스페이스의
전체 백업이 아닙니다.
운영자 봇 및 완료 알림#
이 텔레그램 봇은 운영자에게 귀속됩니다. BotFather를 통해 봇을 생성하고 패널에서 토큰, 대상 채팅방 및 명시적으로 허용된 텔레그램 사용자 ID를 설정하십시오. 발신자와 채팅방은 반드시 일치해야 합니다. 전달된 메시지와 다른 봇에서 전송된 명령어는 무시됩니다.
/status 그리고 /stats 는 기본 상태 전용 모드에서 사용할 수 있습니다. 선택 사항인
제어 모드를 사용하면 /pause, /resume 및 /copy. /copy 구성된
저장 작업을 요청합니다. 이는 원격 업로드가 이미 완료되었음을 의미하지는 않습니다. 명령어
는 임의의 URL, 파일 또는 셸 프로그램을 제공할 수 없습니다.
알림과 작업 완료에 대해 별도의 알림 설정을 사용하세요. 완료 알림은 누락된 부분이 있는 계정 내보내기와 완전한 내보내기를 구분하며, 이력 및 저장 용량을 표시합니다. 알림 설정에서 별도로 활성화하지 않는 한 메시지 발췌문은 포함되지 않습니다. 서비스 선택기는 고정된 제공자 예시 세트가 아닌, 실제로 설치된 Apprise 카탈로그를 기반으로 생성됩니다.