# apinx **Repository Path**: bjf-fhe/apinx ## Basic Information - **Project Name**: apinx - **Description**: 一款用于API服务的网关产品,目前主要服务开发期,主要功能是自动对手机号/身份证号进行脱敏,避免数据泄露问题 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: https://rongapi.cn - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-03-30 - **Last Updated**: 2024-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一款智能加密的API网关 用于开发和测试期临时使用的安全API网关,避免频发的开发期数据泄露问题。 设计目的: * 易使用,开发人员很容易部署和对接,这样大家可以部署开发测试环境的时候就很容易能架起来,免得出现开发服务器泄露数据的问题,提供linux deb、rpm安装包、提供docker镜像 * 智能识别脱敏,对json/xml的数据接口进行智能识别,识别手机号、身份证号等加密内容,识别后对内容进行可逆加密,不是变成*,而是加密后变成其他内容,可以被解密,这样提供的内容还可以作为参数,参与编程。 * 默认安全,默认具有一定的安全性,无需配置,放开需要细化配置,从而提供安全保证 所以: * 目前版本肯定不是性能版,需要性能的还是用nginx ## 加密功能 网关将自动检测json/xml返回内容中的字段,并对判断为身份证号和手机号的内容进行加密,加密结果是 ## 使用方式 ### 配置文件应包含的内容 一个最简略的配置文件应包含最少包含以下内容 ``` crypt: key: my_default_key tweak: my_default_tweak target: url: - http://localhost:8081 openapi: append: true basic: env: development ``` #### crypt段 crypt里应包含key和tweak两个字段,这两个字段均用于加解密使用。内容为任意长度的字符串。 #### target段 target就是转发的目标服务器,设置为开发运行服务器暴露的地址和端口就可以,需要注意的是,和本地运行不同,如果在docker中使用,通常是`服务名:端口号`的形式。 target可以配置url,url中为-开头的地址,可以配置多行,但*目前暂不支持负载均衡模式,只转发至第一台服务器*。 也可配置tag,tag为字符串,表示从服务器