{"id":19602746,"url":"https://github.com/fd-/okhttp-j2objc","last_synced_at":"2026-05-01T03:33:04.251Z","repository":{"id":112527162,"uuid":"149471855","full_name":"FD-/OkHttp-j2objc","owner":"FD-","description":"A fork of OkHttp modified to work with j2objc","archived":false,"fork":false,"pushed_at":"2018-09-20T14:37:14.000Z","size":312,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-11T07:14:17.029Z","etag":null,"topics":["android","http","ios","j2objc","java","okhttp","ssl"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/FD-.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":"2018-09-19T15:25:35.000Z","updated_at":"2023-10-09T11:54:59.000Z","dependencies_parsed_at":"2023-04-09T00:06:14.137Z","dependency_job_id":null,"html_url":"https://github.com/FD-/OkHttp-j2objc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FD-/OkHttp-j2objc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FD-%2FOkHttp-j2objc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FD-%2FOkHttp-j2objc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FD-%2FOkHttp-j2objc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FD-%2FOkHttp-j2objc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FD-","download_url":"https://codeload.github.com/FD-/OkHttp-j2objc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FD-%2FOkHttp-j2objc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32484352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","http","ios","j2objc","java","okhttp","ssl"],"created_at":"2024-11-11T09:26:07.793Z","updated_at":"2026-05-01T03:33:04.236Z","avatar_url":"https://github.com/FD-.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OkHttp-j2objc\nA fork of OkHttp, modified to work with j2objc so it can be run on iOS.\n\n# Contents\nThis repository contains modified versions of\n - OkHttp (3.11.0 from 2018/08/11)\n - Okio (1.14 from the 1_14 branch, it seems Okio is all-Kotlin in the master branch)\n - OkHttpUrlConnection\n \n All base code was obtained from the respective project repositories about mid-August 2018. I do _not_ intend to merge new changes into this repository.\n\n# Modifications\nMost of the modifications that were needed to get it to run are related to SSL. Luckily, it's very easy to provide a custom SSLSocketFactory to OkHttp (and I used the [one I wrote based on the Secure Transport Framework](https://github.com/FD-/SSLSocketFactory-j2objc)). Still, OkHttp depends on functionality to intervene during SSL handshakes, which my SSLSocketFactory doesn't support, so I removed it from OkHttp. In particular, as the required lower-level components are not bridged into the Java layer, I had to remove support for `HostnameVerifier`, and `CertificatePinner` (from OkHttp). \n\nAdditionally, some modifications were needed to get rid of reference cycles (which lead to memory leaks in the iOS world). \nFor easier usage, I prefixed all of OkHttp's class names with `Ok` and all of Okio's class names with `Okio`.\n\n# Functionality\nThe library should be fully functional, but I should note that I haven't run any test cases on it.\n\n# Useage\nThis repository just contains the modified Java source code, so you'll still have to setup a j2objc build on your system to use it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffd-%2Fokhttp-j2objc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffd-%2Fokhttp-j2objc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffd-%2Fokhttp-j2objc/lists"}