{"id":20333349,"url":"https://github.com/bepinex/il2cpp.tlsadapter","last_synced_at":"2025-10-05T01:57:55.483Z","repository":{"id":100822779,"uuid":"324197762","full_name":"BepInEx/Il2Cpp.TlsAdapter","owner":"BepInEx","description":null,"archived":false,"fork":false,"pushed_at":"2020-12-28T20:33:50.000Z","size":1565,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T07:48:57.702Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BepInEx.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-24T16:39:13.000Z","updated_at":"2022-11-22T12:50:53.000Z","dependencies_parsed_at":"2023-06-10T06:45:43.646Z","dependency_job_id":null,"html_url":"https://github.com/BepInEx/Il2Cpp.TlsAdapter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FIl2Cpp.TlsAdapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FIl2Cpp.TlsAdapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FIl2Cpp.TlsAdapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FIl2Cpp.TlsAdapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BepInEx","download_url":"https://codeload.github.com/BepInEx/Il2Cpp.TlsAdapter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241852146,"owners_count":20030969,"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":[],"created_at":"2024-11-14T20:30:56.574Z","updated_at":"2025-10-05T01:57:50.439Z","avatar_url":"https://github.com/BepInEx.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Il2Cpp TLS Providers for Mono 6.12\n\nImplements common Mono TLS providers for modding Unity games which use Il2Cpp runtime.  \nThis allows to use HTTPS the same way you'd do it in a normal Unity game using Mono runtime.\n\nCurrently, this repo implements the following TLS providers:\n\n* UnityTls -- official Unity TLS provider adapted from [unity-mono repository](https://github.com/Unity-Technologies/mono/tree/24ce88f8a387f93884225c5b31ac42655a9df344/mcs/class/System/Mono.UnityTls)\n* LegacyTls -- port of old mono SSL 1.0-3.0 and TLS 1.0 providers to new Mobile TLS API\n\nAll TLS providers were updated for use with Mono 6.12.\n\n## How to use\n\n### If you use BepInEx\nYou don't have to do anything: this adapter is automatically included and initialized by BepInEx core.  \nYou can use normal HTTP/HTTPS API like you are used to.\n\n### If you don't use BepInEx\nIf you don't write BepInEx plugins, you have to bootstrap this adapter yourself.  \nTo do this:\n\n1. Download latest version of the bootstrapper from releases.\n2. Download latest version of [HarmonyX](https://github.com/BepInEx/HarmonyX) from releases.\n3. In your main code, reference `Il2Cpp.TlsAdapter.dll` and include the following line **before using any HTTP/HTTPS requests**:\n    ```csharp\n    using Il2Cpp.TlsAdapter;\n    Il2CppTlsAdapter.Initialize();\n    ```\n   This will initialize the adapter and automatically pick the best available TLS provider.\n4. *Optional:* To enable UnityTLS, you need to provide pointer to the UnityTLS native interface with:\n   ```csharp\n   Il2CppTlsAdapter.Options.UnityTlsInterface = /* Obtain and assign the interface pointer */:\n   ```\n   If no interface is specified, LegacyTls is used instead.\n\n**WIP** The tool is not ready yet: for example UnityTls is not configurable and `Initialze` doesn't do much interesting at the moment.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbepinex%2Fil2cpp.tlsadapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbepinex%2Fil2cpp.tlsadapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbepinex%2Fil2cpp.tlsadapter/lists"}