TgWitness / เอกสาร

อ้างอิง / การตั้งค่า

เริ่มต้นอย่างรวดเร็ว

ทุกวิธีในการติดตั้งและเปิดใช้งาน TgWitness: แพ็กเกจ Windows, Python, Docker และเดโมจำลอง พร้อมขั้นตอนตรวจสอบเบื้องต้น

ภาษาอังกฤษ · Русский · ภาษายูเครน · Español · Português (Brasil) · ภาษาตุรกี · العربية · فارسی · اردو · हिन्दी · ภาษาอินโดนีเซีย · Tiếng Việt · ภาษาจีนตัวย่อ

TgWitness เป็นแอปพลิเคชันแบบสแตนด์อโลน สำหรับการติดตามกลุ่มและช่อง Telegram ที่บัญชีของคุณสามารถเข้าถึงได้ มันทำงานแบบท้องถิ่นด้วยไดเรกทอรีข้อมูลของตัวเอง

มาครั้งแรก? ลองดูเดโมก่อนที่จะเชื่อมต่อบัญชี เลือกคู่มือสำหรับพร็อกซี, Witness, การส่งออกข้อมูล หรือการตั้งค่าเซิร์ฟเวอร์

ติดตั้งและเริ่มใช้งาน#

รวบรวมผ่าน GitHub Actions (รุ่นทดลอง)

เลือกวิธีหนึ่ง การดาวน์โหลดแบบพกพาจะพร้อมใช้งานหลังจากที่มีการเผยแพร่เวอร์ชันที่สร้างขึ้นแล้ว:

ผู้ดูแล ไม่ต้องติดตั้งอะไรทั้งสิ้น จากแหล่งที่มา: Python 3.11+ Docker: Engine/Desktop พร้อม Compose 2.20+
Windows คัดลอก TgWitness-<version>-windows-amd64-portable.zip จาก GitHub Releases แล้วคลิกสองครั้งที่ TgWitness.cmd คลิกสองครั้งที่ Start.cmd คลิกสองครั้งที่ scripts\Docker.cmd
Linux / macOS — sh start.sh sh scripts/docker-start.sh

สำหรับวิธีรันจากซอร์สโค้ด ให้ดาวน์โหลดและแตกไฟล์จากกิ่ง main ปัจจุบัน หรือโคลนรีพอสิทอรี:

git clone https://github.com/phishdestroy/TgWitness.git
cd TgWitness

ซอร์สโค้ดปัจจุบันรองรับการนำเข้าบัญชีแบบกลุ่ม แดชบอร์ด MTProxy และการโหลดประวัติแบบทำต่อได้ รุ่นพรีวิวแบบพกพา 0.7.0 และไฟล์ซอร์สโค้ดของรุ่นดังกล่าวออกมาเมื่อก่อนจะมีฟีเจอร์เหล่านี้ ดูขอบเขตของแต่ละเวอร์ชันได้ในบันทึกการเปลี่ยนแปลง

Start.cmd จะเสนอให้ติดตั้ง Python 3.12 สำหรับผู้ใช้ Windows ของคุณหากไม่พบ Python ที่เหมาะสม (ผ่าน winget หรือตัวติดตั้งที่ลงนามรับรองจาก python.org) ส่วน start.sh จะแสดงคำสั่งติดตั้งที่ตรงกับดิสทริบิวชัน Linux หรือ macOS ของคุณหากยังไม่มี Python การเปิดใช้งานจากซอร์สโค้ดครั้งแรกจะสร้าง .venv และติดตั้งไลบรารีที่จำเป็นโดยอัตโนมัติ

Docker สร้างแอปพลิเคชันและเริ่มทำงานในพื้นหลัง; ไม่จำเป็นต้องใช้ Python บนเครื่องโฮสต์ scripts\Docker.cmd และ scripts/docker-start.sh จะแสดงที่อยู่ของแผงควบคุมและโทเค็นเมื่อ คอนเทนเนอร์ทำงานปกติ คำสั่ง Docker ที่เทียบเท่ากันบนทุกเครื่องโฮสต์ที่รองรับคือ:

docker compose up -d --build --wait
docker compose exec tgwitness cat /data/panel-token.txt

เปิด http://127.0.0.1:8787 ใช้โทเค็นที่พิมพ์โดย Docker helper หรือคำสั่ง Docker ที่สอง หรืออ่านไฟล์ data/live/panel-token.txt สำหรับการติดตั้งแบบพกพาหรือจากซอร์สโค้ด ต่อที่ Connect Telegram ด้านล่าง การติดตั้งแบบเนทีฟและ Docker ใช้พื้นที่จัดเก็บข้อมูลแยกกัน; การเริ่มต้น Docker จะไม่นำเข้าบันทึกแบบเนทีฟที่มีอยู่

สำหรับเซิร์ฟเวอร์ การติดตั้งรวมถึง HTTPS อัตโนมัติ การรีสตาร์ท การเผยแพร่ภาพ การอัปเดต และการสำรองข้อมูล

สำรวจอินเทอร์เฟซ#

  1. เรียกใช้ TgWitness-Demo.cmd ในแพ็กเกจแบบพกพา, scripts\Demo.cmd ในโฟลเดอร์แหล่งที่มาของ Windows หรือ sh start.sh --demo บน Linux/macOS การเรียกใช้จากแหล่งที่มาจะสร้าง .venv ก่อนและติดตั้งส่วนที่จำเป็น
  2. เปิด http://127.0.0.1:8787.
  3. การสาธิตในเครื่องจะเปิดสมุดบันทึกตัวอย่างโดยอัตโนมัติ ไม่จำเป็นต้องคัดลอกโทเค็นเพื่อเข้าถึงโดยตรงในเครื่อง

ข้อความตัวอย่างเป็นข้อความสมมติ โหมดสาธิตไม่สามารถเชื่อมต่อกับบัญชี Telegram ที่จริงได้

เชื่อมต่อ Telegram#

[!WARNING] อย่าใช้ข้อมูลใดที่คุณไม่สามารถรับความสูญเสียได้ เราขอแนะนำอย่างแรงว่าอย่าเชื่อมต่อ บัญชีส่วนตัวหรือบัญชีที่มีค่า และอย่าสร้าง API ID / hash บนบัญชีที่คุณให้ความสำคัญ Telegram อาจระงับบัญชีได้โดยไม่คาดคิดและมักเป็นการระงับถาวร ไม่ว่าใช้แอปพลิเคชันใด การทดสอบที่ราบรื่นขึ้นอยู่กับ Telegram ไม่ใช่ TgWitness และไม่รับประกันอะไรสำหรับอนาคต

  1. หากเดโมในระบบกำลังทำงานอยู่ ให้หยุดมันลงและเรียกใช้ Start.cmd หรือ sh start.sh หากไม่เช่นนั้น ให้ปล่อยให้การติดตั้งแบบสดที่เปิดไว้ข้างต้นทำงานต่อไป
  2. ใช้โทเค็นของแผงควบคุมที่สอดคล้องกับวิธีการติดตั้งของคุณเพื่อเปิดแผงควบคุม
  3. หากต้องการใช้พร็อกซี ให้บันทึกไว้ที่ บัญชี → การตั้งค่า → การตั้งค่าการเชื่อมต่อ → เปลี่ยนเส้นทางเชื่อมต่อ
  4. ในส่วน Account (บัญชี), ป้อนหมายเลขโทรศัพท์ของคุณแล้วกด Continue (ต่อ), เลือก QR code → Show QR code (แสดงรหัส QR), หรือเลือกไฟล์แล้วกด Connect account (เชื่อมต่อบัญชี). API ID + Hash เป็นตัวเลือก: พื้นที่ทำงานจะใช้คู่ที่บันทึกไว้หรือนำเข้า, หรือคู่ที่ใช้งานได้จากกลุ่มที่สร้างไว้ล่วงหน้า. เพื่อใช้แอปของคุณเอง, ให้วางคู่ API ID:API Hash ลงใน API ID. สำหรับกุญแจการอนุญาตแบบครบถ้วน ให้เลือก "กุญแจการอนุญาต" (Auth key) วางตัวอักษรฐานสิบหกทั้งหมด 512 ตัว และเลือก DC ID ที่ให้มา User ID เป็นตัวเลือกและจะถูกทำเครื่องหมายถูกหากมีการกรอก
  5. ดำเนินการตามวิธีการลงชื่อเข้าใช้ที่คุณเลือก: โทรศัพท์/รหัส/2FA, การยืนยันจาก แอป Telegram ที่ลงชื่อเข้าใช้แล้วสำหรับ QR, หรือการนำเข้าเซสชันที่ได้รับอนุญาตและรองรับ
  6. ตรวจสอบ ID บัญชีที่แสดงอยู่ แหล่งข้อมูลเปิด: การสนทนาของคุณจะโหลดอัตโนมัติ; เพิ่มกลุ่มของคุณ
  7. ในส่วน “เลือกการเปลี่ยนแปลงที่จะเก็บรักษา” ให้เลือกหมวดหมู่เหตุการณ์หรือตัวเลือกที่ตั้งไว้ล่วงหน้า “ข้อความ การแก้ไข และการลบ” แล้วบันทึกการตั้งค่าการติดตาม
  8. เลือกการตั้งค่าไฟล์แนบแต่ละรายการ แล้วกด "เริ่มการสังเกตการณ์"

ข้อมูลรับรอง API ใช้เพื่อระบุตัวตนของแอปพลิเคชันของคุณ; ข้อมูลเหล่านี้ไม่ ให้สิทธิ์การเข้าถึงบัญชีด้วยตัวมันเอง กลุ่มส่วนตัวไม่จำเป็นต้องมีชื่อผู้ใช้สาธารณะ แต่บัญชีของคุณต้องมีสิทธิ์การเข้าถึง

สำหรับบัญชีที่มีอยู่แล้ว โปรดดูรูปแบบบัญชีและเซสชัน: พาเนลรองรับ Telethon StringSession, Telethon/Pyrogram SQLite, TData ZIP แบบบัญชีเดียว และไฟล์ JSON ของบัญชีที่รองรับ ให้เลือกไฟล์เซสชันและไฟล์ JSON คู่กัน แล้วกด เชื่อมต่อบัญชี นอกจากนี้ยังสามารถเข้าสู่ระบบด้วย QR ได้โดยใช้การตั้งค่า API เสริมแบบเดียวกัน ทั้งนี้ยังไม่รองรับ TDLib, เซสชันของบอท และรายการบัญชีในรูปแบบ CSV/JSON

สำหรับหลายบัญชี ให้ใช้เมนู บัญชี → นำเข้าบัญชี แล้วเลือกไฟล์เซสชันที่รองรับ ไฟล์ JSON คู่กันจะถูกจับคู่ตามชื่อไฟล์หลัก และแต่ละบัญชีที่นำเข้าจะได้รับเวิร์กสเปซแยกของตัวเอง ดูการนำเข้าแบบกลุ่มและกลุ่มบัญชี

เพื่อเพิ่มบัญชีอีกบัญชี ให้กด + ข้างตัวเลือกรายชื่อบัญชี หรือเปิด บัญชี → การตั้งค่า → การตั้งค่าการเชื่อมต่อ → พื้นที่ทำงาน หรือใช้ Accounts พื้นที่ทำงานมีเซสชัน บันทึก กุญแจ แหล่งข้อมูล และคิวที่แยกกัน การเปลี่ยนมุมมองจะไม่ทำให้ตัวเก็บข้อมูลอื่นหยุดทำงาน บัญชี Telegram เดียวกันไม่สามารถกำหนดให้กับพื้นที่ทำงานสองแห่งในระบบติดตั้งนี้ได้ ไม่มีจำนวนพื้นที่ทำงานที่กำหนดไว้; พื้นที่ทำงานทั้งหมดใช้กระบวนการเดียวกัน ดังนั้นความจุจึงขึ้นอยู่กับเครื่อง

โทเค็นแผงสด (live panel token) ปกป้องการเข้าถึงสิทธิ์ Telegram ของคุณและ ข้อมูลที่บันทึกไว้; โทเค็นนี้แยกต่างหากจากข้อมูลรับรอง API ของ Telegram มีเพียงการสาธิตท้องถิ่นที่ ถูกเริ่มต้นอย่างชัดเจนและเข้าถึงโดยตรงเท่านั้นที่จะได้รับการเข้าถึงอัตโนมัติ ส่วนการสาธิตจากระยะไกลหรือผ่านพร็อกซีจะยังคงใช้ data/demo/panel-token.txt

ตรวจสอบและส่งออก#

  • บันทึก: ค้นหาและกรองข้อมูลการสังเกตตามแหล่งที่มาและประเภทเหตุการณ์
  • เลือกเหตุการณ์เพื่อตรวจสอบบันทึกต้นฉบับ แหล่งที่มา และเวอร์ชันที่เก็บไว้
  • รายละเอียดการแก้ไขแสดงเนื้อหาที่มีอยู่ก่อนและหลังการแก้ไข ส่วนรายละเอียดการลบแสดง เนื้อหาที่ถูกบันทึกไว้ครั้งสุดท้าย (หากมี); ส่วนผู้กระทำที่ไม่ทราบตัวตนจะยังคงไม่ทราบตัวตน
  • รูปแบบการส่งออก: ZIP ที่มีลายเซ็น, JSONL, CSV และ HTML สำหรับใช้งานแบบออฟไลน์
  • การส่งออกบทสนทนาแบบเต็ม (Sources → Full chat export): ดาวน์โหลดประวัติการสนทนาทั้งหมดที่มองเห็นได้ ของบทสนทนาหนึ่งบทในรูปแบบแพ็กเกจที่ลงนามด้วย chat.json (สไตล์ Telegram-export) และ chat.html ที่อ่านได้ บทสนทนาส่วนตัวจะทำงานได้เมื่อบัญชีนั้นเป็นสมาชิก นี่เป็น ภาพถ่ายปัจจุบัน ไม่ใช่การสร้างใหม่ของข้อความที่ถูกลบหรือแก้ไขไปแล้ว ตรวจสอบ สำเนาด้วย python verify.py chat-export.zip --fingerprint TRUSTED_SHA256.
  • จุดตรวจสอบ: รักษาขอบเขตของบันทึกที่มีลายเซ็นให้อยู่นอกตัวเก็บข้อมูล
  • ดาวน์โหลดใบยืนยันการดำเนินการที่ลงนาม: เพื่อเก็บรักษาบันทึกโปรแกรม/เวอร์ชันของผู้เก็บข้อมูล
  • เตรียมคำขอเวลาประทับ: เตรียมคำขอแบบออฟไลน์ไปยังหน่วยงานออกเวลาประทับ; ทำตาม TIMESTAMP.md เพื่อรับและตรวจสอบคำตอบ
  • ตรวจสอบบันทึก: ตรวจสอบลายเซ็นของเหตุการณ์และลิงก์ในห่วงโซ่ ZIP export ยังตรวจสอบสื่อด้วย

เบราว์เซอร์ที่รองรับสามารถบันทึกไฟล์ส่งออกขนาดใหญ่ได้โดยตรงไปยังไฟล์ที่เลือกไว้ ส่วนเบราว์เซอร์อื่น ๆ จะบัฟเฟอร์ได้สูงสุด 128 MiB ในขณะที่เซิร์ฟเวอร์กำลังทำงาน CLI แบบสตรีมมิ่งจะรองรับ การดาวน์โหลดไฟล์ขนาดใหญ่ได้โดยไม่ต้องบัฟเฟอร์ข้อมูลตอบกลับทั้งหมด:

python -m tgwitness.download --token-file data/live/panel-token.txt --out evidence.zip

สำหรับพื้นที่ทำงานอื่น ๆ ให้เพิ่ม --profile ID โดยใช้ Exports → Workspace ID สำหรับเซิร์ฟเวอร์ระยะไกล ให้เพิ่ม --url https://your-server ขีดจำกัดการถ่ายโอนข้อมูลตามค่าเริ่มต้นคือ 5 GiB; --max-mib สามารถปรับเปลี่ยนได้ เนื้อหา ZIP ที่ลงนามมีขีดจำกัดการตรวจสอบแบบไม่บีบอัด แยกต่างหาก 4 GiB ตามค่าเริ่มต้น (Parameters สามารถเพิ่มขีดจำกัดนี้ได้; ตรวจสอบไฟล์เก็บถาวรดังกล่าวด้วย verify.py --max-gib N) ตรวจสอบไฟล์เก็บถาวรโดยใช้สำเนาของตัวตรวจสอบที่เชื่อถือได้และ ลายนิ้วมือ/จุดตรวจสอบของกุญแจที่เก็บรักษาไว้อย่างอิสระ

ตรวจสอบการติดตั้ง#

python start.py --setup-only
python start.py --check
python start.py --check --json

--check ตรวจสอบการพึ่งพาในระบบท้องถิ่น การสนับสนุนการลงนาม การจัดเก็บข้อมูล การตั้งค่ากุญแจ และ ที่อยู่รับฟัง มันไม่ติดตั้งอะไรทั้งสิ้นและไม่เชื่อมต่อกับ Telegram หากพอร์ต ถูกใช้งานอยู่ อาจหมายความว่ามีอินสแตนซ์อื่นกำลังทำงานอยู่ ให้ใช้ --port ที่ต่างออกไป หรือหยุดการทำงานของมันก่อน

โปรแกรมติดตั้งจะติดตั้งลงใน .venv คำสั่งเสริม python -m tgwitness... ต้อง ใช้ .venv\Scripts\python.exe บน Windows หรือ .venv/bin/python บน Linux/macOS, เว้นแต่สภาพแวดล้อมนั้นได้ถูกเปิดใช้งานแล้ว

เซสชัน การป้องกัน และการดำเนินงาน#

ไฟล์ Telethon SQLite .session ที่ปิดและมีความสม่ำเสมอสามารถแปลงได้บนเครื่องท้องถิ่นด้วย python -m tgwitness.sessions account.session --out account.tgwitness-session แล้ว โหลดเข้าสู่ Account ได้ นอกจากนี้ยังมีตัวเลือกการนำเข้าไฟล์โดยตรงและการเข้าสู่ระบบด้วย QR Code ด้วย ดู CONNECTION-SECURITY.md เพื่อทราบรูปแบบการเข้าสู่ระบบ SOCKS5, HTTP CONNECT, MTProxy และกุญแจหลักภายนอก

การหยุดการสังเกตการณ์จะหยุดการเก็บข้อมูล การล็อกจะปิดการเข้าถึงผ่านเบราว์เซอร์เท่านั้น การปิดแท็บจะไม่หยุดกระบวนการเก็บข้อมูล การหยุดกระบวนการจะขัดจังหวะ การเก็บข้อมูล; ภาพถ่ายประวัติไม่สามารถสร้างใหม่การแก้ไขหรือการลบทั้งหมดที่พลาดได้ ดูวิธีการทำงานของการเก็บข้อมูลสำหรับนโยบายเหตุการณ์, แถวรอไฟล์แนบ, การแยกบัญชี และพฤติกรรมเมื่อเริ่มต้นใหม่

เซสชันและข้อมูลลับได้รับการเข้ารหัส เนื้อหาข้อความ สื่อ และข้อมูลที่ส่งออกจำเป็นต้องใช้ ดิสก์หรือโวลุ่มที่เข้ารหัส ลายเซ็นช่วยยืนยันความสมบูรณ์ของข้อมูลเมื่อเทียบกับกุญแจที่เชื่อถือได้; แต่ไม่ยืนยันแหล่งที่มาของ Telegram หรือป้องกันการปลอมแปลงโดยผู้ดำเนินการที่ ควบคุมเครื่องมือเก็บข้อมูลและกุญแจของมัน

อ่าน OPERATIONS.md สำหรับการสำรอง/กู้คืนข้อมูล, DEPLOYMENT.md สำหรับการโฮสต์, และ deploy/ สำหรับตัวอย่างการใช้งานบริการ แผงควบคุมที่ติดตั้ง ยังรวมถึงคู่มือการตั้งค่าแบบออฟไลน์ที่ /guide.html

การตรวจสอบจริงและข้อจำกัดที่ยังเหลืออยู่ ถูกบันทึกไว้ในไฟล์ VERIFICATION.md และ READINESS.md.