| 1234567891011121314151617181920212223242526272829 |
- -- Create tls_fingerprint_profiles table for managing TLS fingerprint templates.
- -- Each profile contains ClientHello parameters to simulate specific client TLS handshake characteristics.
- SET LOCAL lock_timeout = '5s';
- SET LOCAL statement_timeout = '10min';
- CREATE TABLE IF NOT EXISTS tls_fingerprint_profiles (
- id BIGSERIAL PRIMARY KEY,
- name VARCHAR(100) NOT NULL UNIQUE,
- description TEXT,
- enable_grease BOOLEAN NOT NULL DEFAULT false,
- cipher_suites JSONB,
- curves JSONB,
- point_formats JSONB,
- signature_algorithms JSONB,
- alpn_protocols JSONB,
- supported_versions JSONB,
- key_share_groups JSONB,
- psk_modes JSONB,
- extensions JSONB,
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
- updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
- );
- COMMENT ON TABLE tls_fingerprint_profiles IS 'TLS fingerprint templates for simulating specific client TLS handshake characteristics';
- COMMENT ON COLUMN tls_fingerprint_profiles.name IS 'Unique profile name, e.g. "macOS Node.js v24"';
- COMMENT ON COLUMN tls_fingerprint_profiles.enable_grease IS 'Whether to insert GREASE values in ClientHello extensions';
- COMMENT ON COLUMN tls_fingerprint_profiles.cipher_suites IS 'TLS cipher suite list as JSON array of uint16 (order-sensitive, affects JA3)';
- COMMENT ON COLUMN tls_fingerprint_profiles.extensions IS 'TLS extension type IDs in send order as JSON array of uint16';
|