{"id":13337986,"url":"https://github.com/mnickw/CycleTLS-dotnet","last_synced_at":"2025-03-11T08:32:10.987Z","repository":{"id":62470234,"uuid":"559303901","full_name":"mnickw/CycleTLS-dotnet","owner":"mnickw","description":".NET client for https://github.com/Danny-Dasilva/CycleTLS to spoof TLS/JA3 fingerprints","archived":false,"fork":false,"pushed_at":"2023-02-06T13:47:43.000Z","size":41,"stargazers_count":26,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-23T20:11:36.402Z","etag":null,"topics":["ja3","tls","tls-fingerprint"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mnickw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-29T17:38:19.000Z","updated_at":"2024-08-17T03:50:05.000Z","dependencies_parsed_at":"2024-10-23T19:28:09.332Z","dependency_job_id":"d194856b-cfe3-4948-93cc-544c4c5eb7ee","html_url":"https://github.com/mnickw/CycleTLS-dotnet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnickw%2FCycleTLS-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnickw%2FCycleTLS-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnickw%2FCycleTLS-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnickw%2FCycleTLS-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnickw","download_url":"https://codeload.github.com/mnickw/CycleTLS-dotnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243000842,"owners_count":20219752,"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":["ja3","tls","tls-fingerprint"],"created_at":"2024-07-29T19:15:16.749Z","updated_at":"2025-03-11T08:32:10.725Z","avatar_url":"https://github.com/mnickw.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Project is under development\n\n# CycleTLS-dotnet\n.NET client for https://github.com/Danny-Dasilva/CycleTLS to spoof TLS/JA3 fingerprints.\n\n.netstandard2.0 supported\n\n# Installation\nAfter some time I'll release nuget package.\n\nRight now you need `npm install cycletls` in any directory and copy `dist` from `node_modules/cycletls` to directory with your solution.\n\n# Usage\nPotential problem: you need to kill `index` or `index.exe` manually if your Visual Studio created this as not child process. This problem will be solved soon.\n\n```cs\nusing CycleTLS;\nusing Microsoft.Extensions.Logging;\n\nvar logger = LoggerFactory.Create(b =\u003e b.AddConsole()).CreateLogger\u003cCycleTLSClient\u003e();\n\nCycleTLSClient client = new CycleTLSClient(logger);\n\nclient.InitializeServerAndClient();\n\n// To find your ja3 you can use https://kawayiyi.com/tls or https://tls.peet.ws/\n// Lib uses default Ja3 = \"771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-51-57-47-53-10,0-23-65281-10-11-35-16-5-51-43-13-45-28-21,29-23-24-25-256-257,0\"\n// Lib uses default UserAgent = \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36\"\n\n//client.DefaultRequestOptions.Ja3 = \"\";\n//client.DefaultRequestOptions.UserAgent = \"\";\n\n// You can use httpbin.org service for your tests. It just echos your requests.\n\ntry\n{\n    CycleTLSRequestOptions options = new CycleTLSRequestOptions()\n    {\n        Url = \"https://httpbin.org/cookies\",\n        Method = HttpMethod.Get.Method,\n        Cookies = new List\u003cSystem.Net.Cookie\u003e()\n        {\n            new System.Net.Cookie(\"cookiename\", \"cookievalue\")\n        }\n        //Body = \"\"\n        //Proxy = \"http://USERNAME:PASSWORD@IP:PORT\",\n        //Headers = new Dictionary\u003cstring, string\u003e() { { \"authorization\", authToken } }\n    };\n    CycleTLSResponse response = await client.SendAsync(options);\n    Console.WriteLine(response.Body);\n\n    // Or just:\n    Console.WriteLine((await client.SendAsync(HttpMethod.Get, \"https://kawayiyi.com/tls\")).Body);\n}\ncatch (Exception e)\n{\n    Console.WriteLine(\"Request Failed: \" + e.Message);\n    throw;\n}\n```\n\nOptions class:\n```cs\npublic class CycleTLSRequestOptions\n{\n    public string Url { get; set; };\n    public string Method { get; set; };\n    public Dictionary\u003cstring, string\u003e Headers { get; set; };\n    public string Body { get; set; };\n    public string Ja3 { get; set; };\n    public string UserAgent { get; set; };\n    public string Proxy { get; set; };\n    public List\u003cCookie\u003e Cookies { get; set; };\n    public int? Timeout { get; set; };\n    public bool? DisableRedirect { get; set; };\n    public List\u003cstring\u003e HeaderOrder { get; set; };\n    public bool? OrderAsProvided { get; set; };\n}\n```\n\nResponse class:\n```cs\nublic class CycleTLSResponse\n{\n    public string RequestID { get; set; }\n    public int Status { get; set; }\n    public string Body { get; set; }\n    public Dictionary\u003cstring, string\u003e Headers { get; set; }\n}\n```\n\n# Contribution and help\nOpen pr or issue. Chat me in telegram @mnickw\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnickw%2FCycleTLS-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnickw%2FCycleTLS-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnickw%2FCycleTLS-dotnet/lists"}