{"id":18733324,"url":"https://github.com/bioforestchain/dweb_browser_libs","last_synced_at":"2026-02-25T18:07:52.331Z","repository":{"id":203280781,"uuid":"709228971","full_name":"BioforestChain/dweb_browser_libs","owner":"BioforestChain","description":"dweb_browser static library reference.","archived":false,"fork":false,"pushed_at":"2024-10-20T08:50:28.000Z","size":821507,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-07T15:08:49.751Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","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/BioforestChain.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":"2023-10-24T09:39:28.000Z","updated_at":"2024-10-23T09:54:48.000Z","dependencies_parsed_at":"2024-10-17T21:35:16.706Z","dependency_job_id":null,"html_url":"https://github.com/BioforestChain/dweb_browser_libs","commit_stats":null,"previous_names":["bioforestchain/dweb_browser_libs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fdweb_browser_libs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fdweb_browser_libs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fdweb_browser_libs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fdweb_browser_libs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BioforestChain","download_url":"https://codeload.github.com/BioforestChain/dweb_browser_libs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231645617,"owners_count":18405173,"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-07T15:09:22.204Z","updated_at":"2025-10-05T18:55:02.992Z","avatar_url":"https://github.com/BioforestChain.png","language":"Kotlin","readme":"# Dweb Browser 跨平台库\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n`Dweb Browser` 跨平台静态库集合，提供多平台原生功能的 `Rust` 实现与 `Kotlin Multiplatform` 绑定。\n\n## 项目概述\n\n本项目提供了一系列跨平台的 `Rust` 实现库，通过 [uniffi](https://mozilla.github.io/uniffi-rs/latest/) 技术将原生功能暴露给 `Kotlin Multiplatform` 使用。主要特点：\n\n- 跨平台支持：Android、iOS、macOS、Windows 等\n- 高性能：核心功能使用 Rust 实现\n- 安全性：利用 Rust 的内存安全特性\n- 易集成：提供标准化的 Kotlin 绑定接口\n\n## 可用模块\n\n| 模块名称 | 功能描述 | Android | iOS | macOS | Windows | Linux |\n|---------|---------|:-------:|:---:|:-----:|:-------:|:-----:|\n| [biometrics](./rust_library/biometrics) | 生物识别认证 | ❌ | ❌ | ✅ | ✅ | ❌ |\n| [hardware_info](./rust_library/hardware_info) | 设备硬件信息 | ❌ | ❌ | ❌ | ✅ | ❌ |\n| [keychainstore](./rust_library/keychainstore) | 安全密钥存储 | ❌ | ✅ | ✅ | ✅ | ❌ |\n| [mix_compression](./rust_library/mix_compression) | 数据压缩 | ✅ | ✅ | ✅ | ✅ | ❌ |\n| [multipart](./rust_library/multipart) | http请求解析multipart | ✅ | ✅ | ✅ | ✅ | ❌ |\n| [resvg_render](./rust_library/resvg_render) | svg渲染 | ✅ | ✅ | ✅ | ✅ | ❌ |\n| [reverse_proxy](./rust_library/reverse_proxy) | 反向代理 | ✅ | ✅ | ❌ | ❌ | ❌ |\n| [ziplib](./rust_library/ziplib) | 解压缩 | ✅ | ✅ | ✅ | ✅ | ❌ |\n| ... | ... | ... | ... | ... | ... | ... |\n\n## 添加 Rust Target\n\n```shell\n# android\nrustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android\n\n# ios\nrustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim\n\n# macos\nrustup target add aarch64-apple-darwin x86_64-apple-darwin\n\n# windows on windows\nrustup target add x86_64-pc-windows-msvc aarch64-pc-windows-msvc\n# [install winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)\nwinget install Microsoft.VisualStudio.BuildTools\n\n# windows on macos/linux\nrustup target add x86_64-pc-windows-gnu aarch64-pc-windows-gnullvm\n\n```\n\n### Install toolchains on MacOS\n\n1. 下载并解压 https://github.com/mstorsjo/llvm-mingw/releases/download/20240619/llvm-mingw-20240619-ucrt-macos-universal.tar.xz\n1. 到 `~/.cargo/config.toml` 中修改\n\n   ```toml\n   [target.x86_64-pc-windows-gnu]\n   linker = \"x86_64-w64-mingw32-gcc\"\n\n   [target.aarch64-pc-windows-gnullvm]\n   linker = \"PATH_TO_LLVM_MINGW_UCRT_MACOS_UNIVERSAL/bin/aarch64-w64-mingw32-clang\"\n   ```\n\n## Publish Maven\n\n### 发布到本地\n1. 生成gpg文件\n2. 取出 private key\n```bash\ngpg --keyring secring.gpg --export-secret-keys \u003e ~/.gnupg/secring.gpg\n```\n3. 需要在`local.properties`文件中配置:\n```\n# 发布到 maven 配置\n#####################\n# gpg生成的keyId为后8位\nsigning.keyId=\n# gpg文件路径secring.gpg路径\nsigning.secretKeyRingFile=\n# gpg设置的密码\nsigning.password=\n\n# ossrh http://s01.oss.sonatype.org/ 中的token的username和password\nossrhUsername=\nossrhPassword=\n####################\n\n# 发布到 GitHub Package 配置\n####################\n# github 用户名\ngithubPackagesUsername=\n# github token Personal access tokens (classic)，需要权限 write packages\n# see: https://github.com/settings/tokens\ngithubPackagesPassword=\n####################\n```\n\n4. 到 `rust_library` 目录下运行：\n```bash\n./gradlew publishToMavenLocal\n```\n\n发布后会在本地的`~/.m2` 生成包。项目使用在`setting.gradle.kts` 设置 `mavenLocal()`就能快速调试。\n```kts\ndependencyResolutionManagement {\n   repositories {\n      ...other MavenArtifactRepositories\n      mavenLocal()\n   }\n}\n```\n\n### 发布到正式环境\n\u003e 使用mac电脑进行发布，否则会缺失 iOS 和 mac 的包\n```bash\n# 发布到 maven\n./gradlew publish\n\n# 发布到 GitHub Packages\n./gradlew publish -PTarget=github\n```\n\n## 资料\n\n- [Kotlin Multiplatform 文档](https://kotlinlang.org/docs/multiplatform.html)\n- [uniffi 文档](https://mozilla.github.io/uniffi-rs/latest/)\n- [gobley 文档](https://gobley.dev/)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbioforestchain%2Fdweb_browser_libs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbioforestchain%2Fdweb_browser_libs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbioforestchain%2Fdweb_browser_libs/lists"}