PROJECT
text/plain
Magic Bytes
Offset: 0
54 68 69 73 20 69 73 20 54 65 58 2C
The PROJECT format is a configuration file used by the TeX typesetting system, originally developed by Donald Knuth and maintained by various TeX distribution communities. It facilitates the management of multi-file documents by defining compilation sequences, file dependencies, and output parameters within TeX-based editing environments. As a plain text legacy format, it poses minimal security risks, though it has largely been superseded by modern project management standards in current LaTeX distributions and integrated development environments.
Validation Code
How to validate .project files in Python
Python
def is_project(file_path: str) -> bool:
"""Check if file is a valid PROJECT by magic bytes."""
signature = bytes([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C])
with open(file_path, "rb") as f:
return f.read(12) == signature
How to validate .project files in Node.js
Node.js
function isPROJECT(buffer: Buffer): boolean {
const signature = Buffer.from([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C]);
return buffer.subarray(0, 12).equals(signature);
}
Go
func IsPROJECT(data []byte) bool {
signature := []byte{0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C}
if len(data) < 12 {
return false
}
return bytes.Equal(data[:12], signature)
}
API Endpoint
GET
/api/v1/project
curl https://filesignature.org/api/v1/project