{"id":20244306,"url":"https://github.com/protonmail/go-srp","last_synced_at":"2025-04-12T19:46:33.304Z","repository":{"id":40407696,"uuid":"218166085","full_name":"ProtonMail/go-srp","owner":"ProtonMail","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-21T12:13:56.000Z","size":51214,"stargazers_count":40,"open_issues_count":1,"forks_count":11,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-04T00:07:10.734Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProtonMail.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-28T23:45:07.000Z","updated_at":"2025-02-28T19:46:00.000Z","dependencies_parsed_at":"2025-02-28T00:12:23.972Z","dependency_job_id":"a19ecfd0-17bc-4fca-87f8-20013cf193f7","html_url":"https://github.com/ProtonMail/go-srp","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProtonMail%2Fgo-srp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProtonMail%2Fgo-srp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProtonMail%2Fgo-srp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProtonMail%2Fgo-srp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProtonMail","download_url":"https://codeload.github.com/ProtonMail/go-srp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625497,"owners_count":21135513,"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-14T09:14:17.273Z","updated_at":"2025-04-12T19:46:33.278Z","avatar_url":"https://github.com/ProtonMail.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-srp\n\n## Introduction\n\nGolang implementation of the [SRP protocol](https://datatracker.ietf.org/doc/html/rfc5054), used for authentication of ProtonMail users.\n\n## License\n\nCopyright (c) 2019 Proton Technologies AG\n\nPlease see [LICENSE](LICENSE.txt) file for the license.\n\n## Doc \n\n- [Technical blog post](https://protonmail.com/blog/encrypted_email_authentication/)\n- [RFC 5054](https://datatracker.ietf.org/doc/html/rfc5054)\n\n## .NET Wrapper\n\nThe `windows` folder contains the wrapper for .net.\n\n## Build for mobile apps\n\nSetup Go Mobile and build/bind the source code:\n\nGo Mobile repo: https://github.com/golang/mobile\n\nGo Mobile wiki: https://github.com/golang/go/wiki/Mobile\n\n1. Install Go: `brew install go`\n2. Install Gomobile: `go get -u golang.org/x/mobile/cmd/gomobile`\n3. Install Gobind: `go install golang.org/x/mobile/cmd/gobind`\n4. Install Android SDK and NDK using Android Studio\n5. Set env: `export ANDROID_HOME=\"/AndroidSDK\"` (path to your SDK)\n6. Init gomobile: `gomobile init -ndk /AndroidSDK/ndk-bundle/` (path to your NDK)\n7. Copy Go module dependencies to the vendor directory: `go mod vendor`\n8. Build examples:\n   `gomobile build -target=android  #or ios`\n\n   Bind examples:\n   `gomobile bind -target ios -o frameworks/name.framework`\n   `gomobile bind -target android`\n\n   The bind will create framework for iOS and jar\u0026aar files for Android (x86_64 and ARM).\n\n#### Other notes\n\nIf you wish to use `build.sh`, you may need to modify the paths in it.\n\n```go\ngo mod vendor\n```\n\n```bash\n./build.sh\n```\n\n## Dependencies\n\n[github.com/ProtonMail/bcrypt (fork of github.com/jameskeane/bcrypt)](https://github.com/ProtonMail/bcrypt)\n\n[golang.org/x/mobile](https://golang.org/x/mobile)\n\n[github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto)\n\n[github.com/cronokirby/saferith](https://github.com/cronokirby/saferith)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotonmail%2Fgo-srp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotonmail%2Fgo-srp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotonmail%2Fgo-srp/lists"}