อ้างอิง / Collect
คุณสมบัติและข้อจำกัด
สิ่งที่ TgWitness ได้พัฒนาไว้ในปัจจุบัน สิ่งที่แพลตฟอร์ม Telegram จำกัด และสิ่งที่ยังต้องพัฒนาต่อไปในอนาคต
อ้างอิงการออกแบบ: 26 ตุลาคม 2026 กรณีการใช้งานหลักคือกลุ่ม Telegram ส่วนตัว และช่องที่บัญชีที่เชื่อมต่อสามารถเข้าถึงได้ เอกสารนี้แยกแยะ พฤติกรรมที่ได้รับการพัฒนาแล้ว ขอบเขตของแพลตฟอร์ม และงานในอนาคต รายการสถาปัตยกรรมเป้าหมาย ไม่ได้หมายความว่าฟีเจอร์ดังกล่าวมีอยู่แล้ว
แอปพลิเคชันแบบสแตนด์อโลน#
TgWitness มีกระบวนการติดตั้ง ไดเรกทอรีข้อมูล และวงจรการปล่อยเวอร์ชันเป็นของตัวเอง ส่วน อินเทอร์เฟซเว็บที่มาพร้อมในแพ็กเกจจะจัดการการตั้งค่าและการตรวจสอบ; บันทึกที่ส่งออกสามารถใช้งานได้อย่างอิสระ
ผู้ใช้งานเชื่อมต่อบัญชีของตน เลือกแหล่งข้อมูลที่แต่ละบัญชีสามารถเห็นได้ และได้รับ บันทึกการสังเกตการณ์ที่เก็บไว้ แผงควบคุมแสดงเนื้อหา การเปลี่ยนแปลงที่บันทึกไว้ แหล่งที่มา ของการสังเกตการณ์ และช่องว่างที่ทราบ นักสืบสวนคนอื่นสามารถตรวจสอบข้อมูลที่ส่งออกได้
มีสี่สถานะสำคัญที่ควรพิจารณา: การอนุญาตบัญชี, การเข้าถึงแหล่งข้อมูล, เครื่องมือเก็บข้อมูลที่ทำงานได้, และระดับที่ความครบถ้วนของการส่งข้อมูลได้รับการยืนยันแล้ว ไม่มี สถานะใดในสามสถานะแรกที่พิสูจน์สถานะที่สี่ได้โดยอัตโนมัติ กลุ่มที่เงียบไม่ได้หมายความว่า เครื่องมือเก็บข้อมูลนั้นล้มเหลว
การสืบสวนร่วมกัน#
ผู้ดูแลระบบสามารถออกโทเค็นการเข้าถึงที่มีขอบเขตจำกัดเฉพาะพื้นที่ทำงานและ การสนทนาส่วนตัว พร้อมด้วยสิทธิ์ 7 ระดับ ข้อจำกัด IP วันหมดอายุ ข้อจำกัดการเข้าสู่ระบบ และการควบคุมเซสชัน ผู้ตรวจสอบแบบอ่านอย่างเดียวสามารถตรวจสอบคดีได้โดยไม่ต้องรับ การอนุญาตจาก Telegram หรือกุญแจแผงควบคุมหลัก สิทธิ์การเข้าถึงที่จำกัดเฉพาะการสนทนาจะแยกต่างหาก จากตั้งค่าระดับบัญชีและการส่งออกบันทึกทั้งหมด
MTProxy อัตโนมัติจะรักษาเส้นทาง Telegram ที่ใช้งานได้จากสี่แหล่งสาธารณะหรือ แคตตาล็อกของผู้ให้บริการ โหมด IP จะกำหนดว่า เมื่อเกิดข้อผิดพลาด ต้องรอพร็อกซีอื่น หรือสามารถใช้เส้นทางตรงที่ได้รับอนุญาตอย่างชัดเจนได้ คำขอ HTTP ภายนอกมีเส้นทางแยกต่างหากและสวิตช์ปิด
เครื่องมือเก็บถาวร#
main เวอร์ชันปัจจุบันเพิ่มฟังก์ชันการเก็บรวบรวมประวัติ การค้นหาและวิเคราะห์ในคลังข้อมูล
MCP แบบอ่านอย่างเดียว OCR/การถอดความแบบท้องถิ่น และ
webhooks ที่ส่งออกไป นี่เป็นคุณสมบัติที่เพิ่มเข้ามาในเวอร์ชัน source-checkout หลังจาก
การเปิดตัวเวอร์ชัน 0.7.0 portable preview รายงานวิเคราะห์และข้อความที่ได้รับการถอดความจะยังคงแยกต่างหาก
จากเหตุการณ์ที่บันทึกไว้
ส่วนเสริม (ไม่บังคับ)#
ขั้นตอนการตั้งค่าทั่วไปคือ บัญชี → แหล่งข้อมูล → การสังเกตการณ์ ส่วน Extras เป็นจุดหมายปลายทางแยกต่างหาก ที่มีบอท Telegram Witness และตัวอย่างการจับภาพจาก GitHub แต่ละส่วนจะระบุความพร้อมใช้งานและข้อกำหนดก่อนที่จะแสดง การตั้งค่า การเลือกการ์ดจะเปิดคู่มือการใช้งาน แต่จะไม่ดำเนินการสมัครหรือเริ่มบริการ
การตั้งค่าบอทมีสามขั้นตอน: สร้างสิทธิ์การเข้าถึงแบบอ่านเท่านั้น, เลือกการตั้งค่าการเผยแพร่, และ เปิดใช้งานบนเซิร์ฟเวอร์ witness ตัวเลือกเครือข่ายและการเผยแพร่, การเชื่อมต่อที่มีอยู่ และ คำสั่งการตรวจสอบจะถูกเปิดเผยตามคำขอ การตั้งค่าที่ดาวน์โหลดมาจะแตกต่าง จาก witness ที่กำลังทำงานอยู่ การเปลี่ยนตัวเลือกเสริมจะเก็บร่างไว้; การเปลี่ยนแปลงบัญชีและการล็อก จะลบโทเค็นชั่วคราวและแบบฟอร์มออก คู่มือในตัวรวมถึงคำแนะนำในการเริ่มต้นใช้งาน GitHub Actions capture จะเริ่มต้น collector ที่ถูกปักหมุดจาก fork ของคุณ บันทึกการสนทนาหนึ่งครั้ง และสร้างการส่งต่อที่เข้ารหัสพร้อมที่มาของเวิร์กโฟลว์
โปรโตคอลและแหล่งข้อมูลส่วนตัว#
MTProto คือโปรโตคอลของ Telegram; Telethon คือไลบรารี Python ที่ TgWitness ใช้เพื่อ สื่อสารผ่าน MTProto ทั้งสองไม่ใช่วิธีการเชื่อมต่อทางเลือก การเก็บข้อมูลใช้ MTProto; ส่วน witness (ตัวเลือกเสริม) จะเผยแพร่การตรวจสอบที่ลงนามผ่าน Bot API
แต่ละพื้นที่ทำงานมีสตรีมการอัปเดตบัญชีและไคลเอนต์ที่ได้รับอนุญาตเป็นของตัวเอง TgWitness เลือกข้อมูลการสังเกตจากแหล่งที่ตั้งค่าไว้ และส่งคำขอที่ชัดเจนและแยกต่างหาก สำหรับฟังก์ชันต่าง ๆ เช่น การสร้างภาพถ่ายประวัติ (history snapshots) และการดาวน์โหลดสื่อ
แหล่งข้อมูลส่วนตัวไม่จำเป็นต้องมีชื่อผู้ใช้สาธารณะ ประเภทเพียร์ของ Telegram และ ID เลข เป็นตัวระบุ; ชื่อตำแหน่งและชื่อผู้ใช้สามารถเปลี่ยนแปลงได้ การเข้าถึงขึ้นอยู่กับ การเป็นสมาชิกและสิทธิ์ที่มีอยู่ TgWitness ไม่เข้าร่วมแหล่งข้อมูลโดยอัตโนมัติหรือข้าม ขั้นตอนการอนุมัติการเข้าร่วม แฮชการเข้าถึงจากบัญชีอื่นไม่ใช่โทเค็นการเข้าถึงแบบสากล
แบบจำลองการเก็บรวบรวมข้อมูลต้องพิจารณาถึงประวัติที่ซ่อนอยู่ก่อนการเข้าร่วม, บทบาทของผู้เข้าร่วม/ผู้ดูแลระบบ การยกเลิกเซสชัน, การลบหรือเปลี่ยนแปลงสิทธิ์, การย้ายจากกลุ่มไปยังซูเปอร์กลุ่ม หัวข้อ/ฟอรั่ม, การสนทนาที่เชื่อมโยงกัน, ตัวตนของช่อง และไฟล์แนบที่ใช้งานไม่ได้ ไม่ใช่ทุกการผสมผสานที่ได้รับการตรวจสอบในสภาพแวดล้อมจริงแล้ว
ความชัดเจนของแหล่งข้อมูลจะถูกตรวจสอบเมื่อเครื่องมือเก็บข้อมูลเริ่มทำงาน การขาดแหล่งข้อมูลจากผลลัพธ์ ของบทสนทนาที่ถูกจำกัดหมายความว่าสิทธิ์การเข้าถึงยังไม่ได้รับการยืนยัน ไม่ใช่การลบที่พิสูจน์ได้ แหล่งข้อมูลหนึ่ง ที่ไม่สามารถเข้าถึงได้จะไม่ขัดขวางการสังเกตแหล่งข้อมูลอื่น ๆ ที่สามารถเข้าถึงได้ อย่าใส่ลิงก์ คำเชิญหรือเซสชันจริงลงในชุดข้อมูลสาธารณะ
หลายบัญชี#
แผงควบคุมนี้รองรับพื้นที่ทำงานได้ไม่จำกัด โดยแต่ละพื้นที่ทำงานมีคุณสมบัติดังต่อไปนี้:
- การอนุญาต, ห้องเก็บข้อมูลที่เข้ารหัส และเส้นทางเชื่อมต่อ
- บันทึก SQLite และข้อมูลระบุตัวตนสำหรับการลงนาม Ed25519
- แหล่งข้อมูลที่เลือกไว้, แถวรอสื่อ และการตั้งค่าการจับภาพ
- สถานะการสังเกตการณ์ ข้อผิดพลาด จุดตรวจสอบ และการส่งออกข้อมูล
การเปลี่ยนพื้นที่ทำงานที่แสดงอยู่จะไม่หยุดการทำงานของตัวเก็บข้อมูลอื่น การอนุญาตบัญชีซ้ำ ระหว่างพื้นที่ทำงานจะถูกปฏิเสธ บันทึกที่ผูกกับบัญชี Telegram หนึ่งบัญชีแล้วไม่สามารถกำหนดใหม่ให้บัญชีอื่นได้ แต่สามารถเชื่อมต่อบัญชีเดียวกันใหม่ได้ ซึ่งช่วยรักษาอัตลักษณ์ของบัญชีและขอบเขต ID ข้อความที่เกี่ยวข้อง
ไม่มีจำนวนที่คงที่และไม่มีการรับประกันปริมาณข้อมูลที่ผ่านได้ Workspaces ใช้ กระบวนการ Python และวงจรเหตุการณ์ร่วมกัน การแยกผู้ดำเนินการบัญชีเป็นงานในอนาคต สำหรับ การแยกกระบวนการในปัจจุบัน ให้ใช้การติดตั้ง พอร์ต และไดเรกทอรีข้อมูลที่แยกกัน
กำหนดแหล่งข้อมูลให้แต่ละบัญชีตามสิทธิ์การเข้าถึงที่บัญชีนั้นได้รับ บัญชีต่าง ๆ อาจติดตามกลุ่มเดียวกัน แต่ข้อมูลการติดตามของพวกมันจะยังคงแยกกันและรักษาแหล่งที่มาไว้ บัญชีสองบัญชี บนเครื่องเดียวที่ควบคุมโดยผู้ดำเนินการเดียวกัน ไม่ถือเป็นพยานอิสระสองคน การส่งออกข้อมูล จะดำเนินการตามพื้นที่ทำงาน (workspace) แต่ละแห่ง; ยังไม่มีการสนับสนุนการรวมแพ็กเกจคดีหรือไทม์ไลน์ Telegram แบบรวมทั้งหมด
การบันทึกและระบุแหล่งที่มา#
แหล่งข้อมูล (Sources) ให้ตัวเลือกการตั้งค่าแยกตามบัญชีสำหรับข้อความใหม่ การแก้ไข การลบ การแสดงปฏิกิริยา และการเป็นสมาชิก การตั้งค่าล่วงหน้าจะเก็บรักษาทั้งหมวดหมู่ทั้งหมด หรือเฉพาะข้อความ/การแก้ไข/การลบ นโยบายนี้ใช้กับกลุ่มที่เลือกในพื้นที่ทำงาน (workspace) คงอยู่แม้หลังการรีสตาร์ท และได้รับการลงนาม พร้อมข้อมูลก่อน/หลังการเปลี่ยนแปลง ค่าเริ่มต้นจะเก็บรักษาทุกหมวดหมู่ การปิดหมวดหมู่ จะไม่ลบบันทึกเก่า; การเปิดกลับจะไม่สร้างเหตุการณ์ที่พลาดไปใหม่ บันทึกการดำเนินงาน เหตุการณ์บริการกลุ่มอื่น ๆ และภาพถ่ายประวัติที่ระบุไว้อย่างชัดเจน เป็นสิ่งที่แยกกัน ออบเจ็กต์ Telegram ที่ถูกบันทึกอาจเก็บรักษาเมตาดาต้าที่ฝังอยู่ได้ ไม่ว่า การตั้งค่าสวิตช์อัปเดตแยกกันจะเป็นอย่างไร ยังไม่มีการแทนที่หมวดหมู่ตามกลุ่ม
| เนื้อหา | บันทึกไว้แล้ว | ขอบเขต |
|---|---|---|
| ข้อความ | ข้อความ, ID ของผู้รับ/ข้อความ, ข้อมูลเมตาของผู้ส่ง, คำตอบ และซองอัปเดตต้นฉบับ | ไม่มีลายเซ็น Telegram ที่สามารถตรวจสอบได้โดยสาธารณะสำหรับข้อความนี้ |
| แก้ไข | เวอร์ชันที่ตรวจพบใหม่และเวอร์ชันที่บันทึกไว้ก่อนหน้านี้ทั้งหมด | การแก้ไขระหว่างช่วงที่ระบบหยุดทำงานอาจสูญหายได้; ผู้ส่งไม่จำเป็นต้องเป็นผู้แก้ไข |
| การลบ | การแจ้งเตือนและเนื้อหาที่บันทึกไว้ก่อนหน้านี้ (หากมี) | โดยทั่วไปไม่ระบุผู้ลบหรือเวลาดำเนินการที่แม่นยำ |
| การลบที่ไม่ได้ระบุขอบเขต | คำแจ้งเตือนระดับบัญชีต้นฉบับ โดยไม่คาดเดาคู่สนทนา | การเชื่อมโยงอย่างเคร่งครัดกับ ID ที่บันทึกไว้ก่อนหน้านี้ในระดับบัญชี เป็นงานที่ต้องดำเนินการต่อไป |
| ปฏิกิริยา | แสดงข้อมูลการตอบกลับและตัวตนล่าสุดที่ปรากฏ | การได้รับรายชื่อผู้ใช้ที่ใช้งานอยู่ครบถ้วนจำเป็นต้องดำเนินการค้นหาแยกต่างหาก; ช่องสื่อสารอาจซ่อนตัวตนของผู้ใช้ |
| การเป็นสมาชิก | ข้อความบริการและอัปเดตที่ส่งถึงผู้เข้าร่วม | การมองเห็นขึ้นอยู่กับบทบาทและประเภทการสนทนา; เหตุการณ์ที่ขาดหายไปไม่ถือเป็นการไม่มีอยู่ |
| การดำเนินการของผู้ดูแลระบบ | แสดงเฉพาะการอัปเดตที่เกี่ยวข้องเท่านั้น | การเก็บข้อมูลบันทึกผู้ดูแลระบบแบบแยกต่างหากยังไม่ได้รับการพัฒนา |
| ไฟล์แนบ | คำอธิบายเวอร์ชันต้นฉบับ, จำนวนไบต์ที่ดาวน์โหลด/SHA-256 และผลการลอง | ไฟล์ที่หายไปอาจไม่สามารถกู้คืนได้; เวอร์ชันล่าสุดจะไม่ถูกแทนที่ |
| ประวัติ | ภาพถ่ายหน้าจอที่แสดงข้อความที่มองเห็นได้ในปัจจุบันอย่างชัดเจน | ไม่สร้างใหม่ทุกการแก้ไขหรือเนื้อหาที่ถูกลบ |
| กระบวนการเก็บรวบรวม | การเริ่ม/หยุด, สัญญาณชีพ, ข้อผิดพลาด, การตั้งค่า, ขอบเขต และใบรับโปรแกรม | รายงานจากผู้ใช้เอง ไม่ใช่การรับรองกระบวนการจากฝ่ายอิสระ |
การกระทำจะได้รับการระบุว่าเป็นของบุคคลใดบุคคลหนึ่งก็ต่อเมื่อแหล่งข้อมูลระบุชื่อผู้กระทำนั้นอย่างชัดเจน หากไม่มีการระบุชื่อ ผู้ใช้ ระบบจะแจ้งว่าข้อมูลการระบุตัวตนไม่ครบถ้วน ชื่อผู้ใช้และชื่อจริงเป็น ข้อมูลที่สังเกตได้เท่านั้น ไม่ใช่หลักฐานยืนยันตัวตนในโลกจริง
ความจุและข้อจำกัดของ Telegram#
ไม่มีจำนวนการสนทนาที่แน่นอนซึ่งสามารถติดตามได้พร้อมรับประกันคุณภาพ ความจุขึ้นอยู่กับจำนวนเหตุการณ์สูงสุดต่อวินาที ปริมาณและขนาดไฟล์แนบ RPC เพิ่มเติม บัญชีที่ใช้งานอยู่ ความล่าช้าของดิสก์/พื้นที่ว่าง สภาพเครือข่าย ข้อจำกัดของ Telegram ความล่าช้าที่ยอมรับได้ และความลึกของคิว
Telegram แยกการส่งแบบพาสซีฟ (passive delivery) ออกจากแบบแอคทีฟชอร์ตโพลลิ่ง (active short polling) เอกสารอัปเดต
ของ Telegram อธิบายถึงการเรียกใช้updates.getChannelDifferenceเพิ่มเติมสำหรับ
ช่องเปิด (open channels)/ซูเปอร์กรุ๊ป (supergroups) และแนะนำให้ใช้แหล่งข้อมูลแบบชอร์ตโพลลิ่ง
พร้อมกันไม่เกินสิบแหล่ง นี่ไม่ใช่ข้อจำกัดที่สิบกลุ่มที่เลือกไว้ หรือการรับประกันความครบถ้วน
| โหมด | วัตถุประสงค์ | สถานะ |
|---|---|---|
| การสังเกตมาตรฐาน | บันทึกการอัปเดตที่ส่งมาจากแหล่งข้อมูลที่เลือกไว้ | ได้ดำเนินการแล้ว |
| ข้อสังเกตสำคัญ | การตรวจสอบความแตกต่างเพิ่มเติมสำหรับชุดข้อมูลต้นทางที่มีขอบเขตจำกัด | ยังไม่ถูกนำไปใช้ในโหมดผู้ใช้ |
การสำรวจความถี่สูงแบบสุ่ม โดยไม่คำนึงถึง FloodWait หรือสมมติว่ามีความจุแบบเชิงเส้น จากบัญชีเพิ่มเติม ไม่ถือเป็นโมเดลการกำหนดขนาดที่ถูกต้อง ข้อจำกัดเริ่มต้นคือ 1,000 บทสนทนาแรกที่แสดงในรายการ สูงสุด 500 ข้อความต่อภาพถ่ายประวัติ 1–2,000 MiB ต่อไฟล์ที่เก็บรวบรวมตามประเภท และ 4 GiB สำหรับเนื้อหา ZIP ที่ลงนามและไม่ถูกบีบอัด; แต่ละ ค่าสามารถปรับเปลี่ยนได้ตามพื้นที่ทำงาน (workspace) ในส่วน Parameters การส่งออกข้อมูลไม่มีขีดจำกัดจำนวนเหตุการณ์ที่คงที่ โหมดสำรองของเบราว์เซอร์ถูกจำกัดไว้ที่ 128 MiB ตามค่าเริ่มต้น; CLI แบบสตรีมมิ่งมี ขีดจำกัดการถ่ายโอนข้อมูลที่สามารถปรับได้ โดยค่าเริ่มต้นคือ 5 GiB
tools/check_capacity.py วัดการรับและส่งออกข้อมูลสังเคราะห์ในท้องถิ่น ผลลัพธ์
ดังกล่าวไม่ใช่การวัดการส่งข้อความ Telegram หรือจำนวนการสนทนาจริงที่รับประกันได้ ดู
VERIFICATION.md เพื่อทราบเวอร์ชันที่วัดและปริมาณงาน
ความน่าเชื่อถือและการกู้คืนข้อมูล#
พฤติกรรมที่ได้รับการนำไปใช้รวมถึง WAL ของ SQLite/ธุรกรรมแบบซิงโครนัส; การเขียนข้อความ และงานสื่อแบบอะตอมิก; งานที่คงอยู่และช่วงเวลาการลองใหม่; ตัวระบุเวอร์ชันต้นฉบับ; การลองใหม่แบบจำกัด; FloodWait ของสื่อที่เก็บถาวร; การดาวน์โหลดสื่อนอกช่วง การรอเครือข่ายของเหตุการณ์ข้อความ; การส่งออกด้วย prefix ที่คงที่ในขณะที่การเขียนในภายหลังยังคงดำเนินต่อไป; การตั้งค่าแบบอะตอมิกและ บันทึกการตรวจสอบ; การรักษาสิทธิ์การใช้งานหลังการเข้าสู่ระบบแทนที่ล้มเหลว; การแยกพื้นที่ทำงานเพิ่มเติมที่เสียหาย; การพยายามเชื่อมต่อใหม่แบบชัดเจน; การรายงานการสูญเสียสิทธิ์การเข้าถึงที่ชัดเจน; และการตรวจจับการเปลี่ยนแปลงเวลาจริงโดยใช้นาฬิกาแบบโมโนโทนิก
ตำแหน่ง (pts/qts/seq) ของบัญชีและช่องจะถูกบันทึกและฟื้นฟูหลังการรีสตาร์ท และการสนทนาที่ถูกติดตาม จะได้รับการตรวจสอบซ้ำเป็นระยะ; ดูรูปแบบหลักฐาน การบันทึกตำแหน่ง เป็นระยะไม่ใช่การยืนยันแบบอะตอมิกและไม่สูญเสียข้อมูลว่าบันทึกได้รับการยอมรับ
ทุกครั้งที่กระบวนการเริ่มต้นจะบันทึกหัวข้อมูลก่อนหน้าและจุดสิ้นสุดออฟไลน์ ประวัติปัจจุบัน
ไม่ถูกพิจารณาว่าเป็นการซ่อมแซมช่องว่าง Telegram มีขีดจำกัดในการเก็บรักษาความแตกต่าง;
differenceTooLong ไม่สามารถสร้างเนื้อหาที่หายไปได้ทั้งหมด ช่องว่างที่ไม่สามารถกู้คืนได้ต้อง
ยังคงแสดงอย่างชัดเจน แม้ภาพถ่ายประวัติในภายหลังจะสำเร็จก็ตาม
แบบจำลองหลักฐาน#
แต่ละเหตุการณ์จะบันทึกลำดับเหตุการณ์ เวลาสังเกตการณ์ UTC ท้องถิ่น เวลาต้นทาง (หากมี) ประเภท ข้อความต้นทาง ผู้ส่ง (หากมี) เนื้อหาต้นฉบับ ค่าแฮชก่อนหน้า และลายเซ็น การสังเกตการณ์ข้อความยังเก็บรักษาข้อมูลบัญชีผู้รวบรวม/บริบทการทำงานด้วย
ใบรับกระบวนการที่ลงนามแล้วประกอบด้วย ID การทำงานแบบสุ่ม; เวอร์ชันของ TgWitness/Python/OS/dependency ; ค่า SHA-256 ของไฟล์ต้นฉบับและลายนิ้วมือรวม; บัญชีเริ่มต้น, ขอบเขต และตั้งค่า; ค่า UTC/monotonic; และส่วนหัวของบันทึกก่อนหน้า การเปลี่ยนแปลงการตั้งค่า การเริ่ม/หยุด และข้อผิดพลาดจะถูกบันทึกลงในบันทึกเดียวกัน จุดตรวจสอบ (checkpoints) จะถูกเก็บรักษาไว้เมื่อเริ่มต้นระบบ ทุก 5 นาทีระหว่างการสังเกตการณ์ (สามารถปรับเปลี่ยนได้) และเมื่อหยุดระบบอย่างเป็นระเบียบ จุดตรวจสอบท้องถิ่นที่เก็บรักษาไว้สามารถตรวจจับการย้อนกลับไปยังส่วนนำของบันทึกที่เก่ากว่าได้
| กลไก | สิ่งที่เว็บไซต์นี้กำหนด |
|---|---|
| SHA-256 ของไฟล์ | ไบต์ตรงกับค่าสรุปที่ทราบ |
| โซ่แฮชเหตุการณ์ | การจัดเรียง/การเชื่อมโยงข้อมูลบันทึกตามขอบเขตที่ทราบ |
| Ed25519 | ลายเซ็นภายใต้กุญแจเฉพาะ |
| จุดตรวจสอบที่เก็บรักษาอย่างอิสระ | เนื้อหาในส่วนถัดไปสอดคล้องกับขอบเขตที่กำหนดไว้ |
| การวัดขนาดไฟล์โปรแกรม | รายงานจากตัวเก็บข้อมูลเองเกี่ยวกับไฟล์ที่วัดได้ |
| การตอบสนอง TSA ที่ถูกต้องและเป็นอิสระ | การมีอยู่ของไบต์เฉพาะตามเวลา TSA ภายใต้สมมติฐานความเชื่อถือที่ชัดเจน |
การเตรียมคำขอตาม RFC 3161 และการตรวจสอบคำตอบจาก OpenSSL ได้ถูกนำไปใช้แล้ว การส่งคำขออัตโนมัติยังไม่ได้ถูกนำไปใช้ คำขอหรือลายเซ็นท้องถิ่นที่มี เวลาของเครื่องนั้นไม่ใช่ timestamp ที่อิสระ ดู TIMESTAMP.md
ผู้ดำเนินการที่ควบคุมเครื่องมือเก็บข้อมูลและกุญแจลงนามสามารถสร้าง บันทึกการสังเกตใหม่ที่ลงนามได้ ลายเซ็นดังกล่าวไม่ยืนยันแหล่งที่มาของ Telegram ความจริง หรือ ความยอมรับทางกฎหมายโดยอัตโนมัติ การเก็บรักษาข้อมูลที่ปลอดภัยยิ่งขึ้นจำเป็นต้องมีจุดตรวจสอบ/การเก็บข้อมูลตามเวลาที่อิสระ การควบคุมการเข้าถึงกุญแจ บันทึกการโอนข้อมูล และการตรวจสอบจากซอฟต์แวร์ที่เชื่อถือได้
การส่งออก การติดตั้ง และการส่งต่อ#
ไฟล์ ZIP ที่ลงนามแล้วประกอบด้วย JSONL, CSV, HTML ต้นฉบับ ไฟล์แนบที่เก็บรักษาไว้ ค่าแฮช manifest ที่ลงนามแล้ว และเครื่องมือตรวจสอบเพื่อความสะดวก มันครอบคลุมพื้นที่ทำงานหนึ่งแห่งและ คำนำหน้าบันทึกเต็มรูปแบบที่กำหนดไว้ล่วงหน้า ฟิลเตอร์ค้นหาในแผงควบคุมจะไม่ลบข้อมูลบันทึกโดยไม่ได้แจ้งให้ทราบ กุญแจลับ, โทเค็น และเซสชัน Telegram ไม่ถูกรวมไว้; ข้อมูลการสังเกตต้นฉบับอาจยังคงมี ข้อมูลส่วนตัวและเมตาดาต้าของ Telegram อยู่
บันทึก ZIP digest, fingerprint ที่เชื่อถือได้, checkpoint, process receipt และ handoff ไว้แยกกัน ใช้ตัวตรวจสอบจากระบบติดตั้งที่เชื่อถือได้ แทนที่จะเชื่อถือ โค้ดที่รันได้เพียงเพราะมันปรากฏอยู่ใน ZIP ที่ตรวจสอบ
อินเทอร์เฟซเบราว์เซอร์ทำงานแบบโลคัลโดยไม่ต้องใช้ Node.js, CDNs หรือฟอนต์ภายนอก โทเค็น ผู้ดำเนินการหนึ่งตัวควบคุมการติดตั้ง การเข้าถึงจากระยะไกลจำเป็นต้องใช้ HTTPS หรืออุโมงค์ SSH มีการจัดเตรียม Python แบบเนทีฟและนิยามคอนเทนเนอร์ พร้อมตัวอย่างบริการในโฟลเดอร์ deploy/; การตรวจสอบแพลตฟอร์มที่ดำเนินการแล้วถูกระบุแยกต่างหาก
พื้นที่ทำงานเริ่มต้นใช้รากข้อมูล (data root); พื้นที่ทำงานเพิ่มเติมใช้ profiles/<id>/
การสำรองข้อมูลจำเป็นต้องหยุดกระบวนการและใช้ชุดข้อมูล/กุญแจครบถ้วน ไฟล์ ZIP ของหลักฐาน
ไม่ใช่การสำรองข้อมูลของแอปพลิเคชัน ข้อมูลลับสามารถใช้กุญแจหลักภายนอกสำหรับ
ไดเรกทอรีข้อมูลใหม่; การเข้ารหัสบันทึก/สื่อถูกจัดการโดยดิสก์/โวลุ่มของผู้ดำเนินการ
ดู CONNECTION-SECURITY.md และ OPERATIONS.md.
เกณฑ์การปล่อยเวอร์ชันที่เสถียร#
ก่อนการปล่อยเวอร์ชันที่เสถียร ให้ระบุไว้ว่า:
- กลุ่มส่วนตัวจริง ซูเปอร์กรุ๊ป ฟอรั่ม และช่อง ที่มีบทบาทของสมาชิก/ผู้ดูแลระบบ และ ประวัติที่ซ่อน/แสดงได้ รวมถึงการเข้าสู่ระบบ/2FA การเพิกถอนสิทธิ์ และการสูญเสียสิทธิ์การเข้าถึง
- การแก้ไข การลบ การแสดงปฏิกิริยา การเป็นสมาชิก และสื่อที่ได้รับการควบคุม เพื่อเปรียบเทียบกับกิจกรรมที่ทราบแล้ว
- กระบวนการ/เซิร์ฟเวอร์หยุดทำงาน, ความล้มเหลวของดิสก์/ดิสก์เต็ม, การอ้างอิงไฟล์ที่หมดอายุ, FloodWait, การสูญเสียการเชื่อมต่อเครือข่าย, ไฟล์ที่เสียหาย และการย้อนกลับฐานข้อมูล.
- การใช้งานหลายบัญชีอย่างต่อเนื่องพร้อมการวัดความล่าช้า, แถวรอ, หน่วยความจำ และพื้นที่ดิสก์ รวมถึง แหล่งข้อมูลที่เงียบและแหล่งข้อมูลที่มีเสียงรบกวนร่วมกัน
- การหยุดชะงักระหว่างการเปลี่ยนสถานะ MTProto และการรับบันทึก
- การติดตั้งที่สะอาดบนระบบปฏิบัติการ/คอนเทนเนอร์ที่ตั้งใจไว้ และการกู้คืนข้อมูลสำรองที่ได้รับการตรวจสอบแล้ว
- การตรวจสอบอย่างอิสระเกี่ยวกับความปลอดภัย ลายเซ็น และข้ออ้างเกี่ยวกับแหล่งที่มา/หลักฐาน
การสำรวจบันทึกผู้ดูแลระบบ (Admin-log polling), รายชื่อรีแอคเตอร์เพิ่มเติม, การสำรวจตามลำดับความสำคัญ, ผู้ทำงานแยกกัน, การเข้ารหัสระดับแอปพลิเคชัน ยังคงเป็นงานในอนาคต การเข้าถึงแผงควบคุมตามขอบเขตถูกอธิบาย ในส่วนการเข้าถึงและสิทธิ์ เวอร์ชัน 0.6 รองรับ TData แบบบัญชีเดียวที่มีขอบเขตจำกัด และการนำเข้าไฟล์บัญชีตามที่อธิบายใน ACCOUNTS.md โปรดตรวจสอบเงื่อนไข API ของ Telegram ก่อนเผยแพร่ ข้อมูลอ้างอิงการวิจัยและผลการค้นพบ บนแพลตฟอร์มอยู่ในไฟล์ RESEARCH.md