Package purchase

Introduction
Account related
Billing and fees
quick get start

Configuration guide

原生库SDK盾接入流程配置
last update:2023-10-25writer : 小编

SDK接入流程(原生库接入)

集成前准备

  • 开始集成前建议先对自身业务做下梳理,确认下哪些业务需要接入 SDK,明确对应的 业务端口、域名以及业务服务器 IP(注意:业务服务器 IP 必须未在公网上解析暴露过,无法通过解析获取,最好是能跟其 他的业务隔离开)。

  • 创建SDK接入实例,创建成功会得到AppID 跟 AppKey

  • 转发规则配置

    • 每条转发规则需要确认转发key(唯一表示一个转发规则),源服务器的IP/域名,端口,通信协议(tcp/udp)

      点击下载sdk:https://www.ddnn.com/assets/downloads/xshield.tar.gz

集成接入集成接入流程

调用以下几个必须的接口即可。

  • 调用 Init 接口初始化,传入参数 AppID、AppKey(两个参数必填,必须调用)。 客户端启动后尽快初始化,且初始化一次就好(app 切后台再切回需重新调用)。
  • 调用 GetTCPServerAddr 接口获取本地 TCP 代理 IP 以及端口(TCP 转发必须调用)。
  • 调用接口 GetClientIP 获取客户端真实 IP(根据业务选择是否调用,非必须)。
    • 通过 HTTP 协议中请求头 X-Forward-For 或者 TCP 中封装到业务数据回源。
  • 和本地代理建立链接,发送请求。

集成注意事项

  • 安卓、IOS、PC 端,不论 http、tcp、websocket 每次发起请求、断线重连以及 ios 在锁屏恢恢复程序 都要重新调用 GetTCPServerAddr,不可以缓存之前的返回结果。因为系统可能会关闭本地代理端口,没有重新调用接口直接建联将 建联失败,导致业务异常。
  • Android 提供armeabi-v7a,x86, x86_64,arm64-v8版的动态库,可以兼容所有安卓设备,有其 他第三方 SDK需要保持库文件一致,否则可能会导致程序崩溃。
  • 若需要封禁模拟器,请联系技术。
  • ios 我们提供了.a 文件,集成即可(iphone5之前的设备不再支持)。
  • 客户端的网络处理需更健壮,比如超时处理,断线重连。
  • SDK节点较多且会不定期变动,建议关闭源安全策略。

各平台接入示例

以下示例介绍接入SDK必须的接口,完整调用可以看完整代码示例

Android

  • 运行环境:Android 4.1 及以上系统版本 将 Android SDK引入到工程中

  • Android 接入流程接口示例

    import com.xshield.jni.ShieldService;boolean succeed = ShieldService.Init("$AppID", " $AppKey "); // 若初始化成功则返回 true
    String addr = ShieldService.GetTcpProxyAddr(“test.com”);
    connect(addr);
    • 通过上一步中的 IP 和端口建立连接,发送接收业务数据(建议放在初始化完成后执行,以免 卡住UI线程)
    • 获取安全代理的IP和端口以免卡住UI线程
    • 初始化 SDK(将获取到的 AppID 跟 AppKey 传入接口):

IOS

  • 运行环境:iOS 8.0 及以上系统版本。
  • 将 IOS SDK加到应用工程。

  • 使用 XCode 打开应用工程,将 libxshield.a 添加到工程中。

  • IOS SDK接入流程接口示例

    XShieldIOS *sdk = [[XShieldIOS alloc] init];
    [sdk init: @"$AppID " appKey: @" $AppKey "]; // 初始化成功返回 true
    #include "xshield-ios.h"
    NSString* addr = [sdk getTCPAddr:@”test.com”];
    connect(addr);
    • 通过上一步中的 IP 和端口建立连接,发送接收业务数据
    • 获取安全代理的 IP 和端口(这里以对接配置为 TCP 转发为例)
    • 初始化 SDK (将获取到的AppIDAppKey传入接口)

集成验收

  • 客户端抓包分析,源 IP 是否暴露。(需要一个可共享热点网络的电脑,安装抓包软件, 如 wireshark)。将 PC 的热点共享出来(wifi热点软件或者系统自带热点功能),手机连 热点网络,打开抓包软件,再开启软件,将所有业务测试几遍,看是否能过抓到业务源 IP。 复核有无其他域名解析到源 IP 的情况,如有建议业务隔离。
  • 获取真实 IP,业务上确认下是否正常获取到用户真实 IP,获取失败可能得到的是高防节 点 IP,可提供 IP 同技术确认。
  • 业务上线前测试,建议上线前多做测试,可灰度测试 2~3 天,再进行全局更新。


Register for WAFCND now and embark on your journey of High speed safety internet access!
Experience Now