{"id":17346189,"url":"https://github.com/rushiimachine/caddy-ja3","last_synced_at":"2025-04-14T20:55:52.357Z","repository":{"id":184078361,"uuid":"671200083","full_name":"rushiiMachine/caddy-ja3","owner":"rushiiMachine","description":"A caddy plugin that gets JA3 TLS fingerprints from requests.","archived":false,"fork":false,"pushed_at":"2025-01-01T19:24:36.000Z","size":97,"stargazers_count":22,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T06:14:56.206Z","etag":null,"topics":["caddy","caddy-plugin","go","ja3","tls","tls-fingerprint"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rushiiMachine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-26T19:15:25.000Z","updated_at":"2025-03-19T15:16:29.000Z","dependencies_parsed_at":"2023-07-27T01:53:18.499Z","dependency_job_id":null,"html_url":"https://github.com/rushiiMachine/caddy-ja3","commit_stats":null,"previous_names":["rushiimachine/caddy-ja3"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushiiMachine%2Fcaddy-ja3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushiiMachine%2Fcaddy-ja3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushiiMachine%2Fcaddy-ja3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushiiMachine%2Fcaddy-ja3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rushiiMachine","download_url":"https://codeload.github.com/rushiiMachine/caddy-ja3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248961140,"owners_count":21189991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caddy","caddy-plugin","go","ja3","tls","tls-fingerprint"],"created_at":"2024-10-15T16:44:47.027Z","updated_at":"2025-04-14T20:55:52.336Z","avatar_url":"https://github.com/rushiiMachine.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# caddy-ja3\n\nA caddy plugin to get JA3 fingerprints from requests as a header.\n\n## Building with xcaddy\n\n```shell\nxcaddy build \\\n  --with github.com/rushiiMachine/caddy-ja3\n```\n\n## Sample Caddyfile\n\nNote that this enforces HTTPS (TLS).\\\nYou can add a http_redirect to automatically redirect `http` -\u003e `https` like shown below.\n\nTLS `ClientHello`s do not exist on HTTP/3 connections.\nNo `ja3` header will be present on such requests.\nUnless another way is used to fingerprint HTTP/3 aka. QUIC connections, it's recommended to disable HTTP/3.\n\nThis module also disables TLS session resumption globally to always retrieve a full `ClientHello`.\nThis is done through the usage of\n[caddytls's `session_tickets/disabled`](https://caddyserver.com/docs/modules/tls#session_tickets/disabled)\nconfig option internally.\n\n```caddyfile\n{\n    # If using a different responder like reverse_proxy, change this accordingly\n    order ja3 before respond\n    ja3 {\n        # (Optional) Sort TLS extensions to counteract randomizing on modern browsers\n        # More info: https://github.com/salesforce/ja3/issues/88\n        sort_extensions\n    }\n    servers {\n        # Disable HTTP/3\n        protocols h1 h2\n\n        listener_wrappers {\n            http_redirect\n            ja3\n            tls\n        }\n    }\n}\n\nlocalhost {\n    ja3\n    # Configure your TLS however you want\n    tls internal\n    # JA3 fingerprint is added to the request as the \"JA3\" header\n    respond \"Your JA3: {header.ja3}\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frushiimachine%2Fcaddy-ja3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frushiimachine%2Fcaddy-ja3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frushiimachine%2Fcaddy-ja3/lists"}