Top Menu

docker构建镜像加入变量和代理

需求

有些docker镜像依赖第三方库,希望可以在第三方库更新的时候不用重新改dockerfile

国内的机器经常因为连不上源导致构建失败,希望构建的时候可以使用代理

实现

希望可以在第三方库更新的时候不用重新改dockerfile

在dockerfile使用变量trans_version,这里使用了-操作符,表示当trans_version不存在时使用-后的版本

FROM debian:stable-slim ARG trans_version ENV FRP_VERSION=${trans_version:-0.42.0} ARG TARGETOS ARG TARGETARCH ENV OS_ARCH=${TARGETOS}_${TARGETARCH} RUN apt-get update \ && apt-get install curl -y \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /var/cache/* RUN curl -fsSL "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_${OS_ARCH}.tar.gz" | tar -xzf - frp_${FRP_VERSION}_${OS_ARCH}/frps frp_${FRP_VERSION}_${OS_ARCH}/frpc --strip-components 1 \ && mv frpc /usr/local/bin/frpc \ && mv frps /usr/local/bin/frps CMD ["frps"]

Continue Reading 0

自有镜像更新 minirplus/v2raya:1.5.9.1698.1-xray-1.5.10

minirplus/v2raya是一个自有镜像,提供基于Docker的本地HTTP/SOCKS代理客户端解决方案,Web管理界面,支持V2RAY/SS/SSR/TROJAN/HTTP/PingTunnel协议,支持订阅更新,自有镜像使用v2raya官方镜像作为基底,额外增加了xray配方,支持VLESS协议。

阶段性版本更新

  • minirplus/v2raya:1.5.8.1-xray-1.5.8 ——》minirplus/v2raya:1.5.9.1698.1-xray-1.5.10

更新内容

  • v2raya:mzz2017/v2raya:1.5.8.1 ——》mzz2017/v2raya:1.5.9.1698.1
  • xray:teddysun/xray:1.5.8 ——》teddysun/xray:1.5.10

更新已有容器

假如容器名称为v2raya,使用minirplus/v2raya镜像构建

docker rm -f v2raya && docker run -d --restart unless-stopped -p 2022:2022 -v /root/v2raya:/etc/v2raya -e V2RAYA_ADDRESS="0.0.0.0:2022" -e V2RAYA_V2RAY_BIN="/usr/bin/xray" --name v2raya minirplus/v2raya:1.5.9.1698.1-xray-1.5.10 && docker logs -f v2raya

Continue Reading 0

接入OwnID生物识别认证

OwnID是一个第三方生物识别认证服务,通过设备的指纹或人脸识别进行登录认证,代替传统的密码认证。

登录认证流程如下

  1. 在登录页输入邮箱生成登录二维码
  2. 使用iPhone扫描二维码并浏览器打开OwnID网站
  3. 调用iPhone的生物识别功能通过认证生成ownid
  4. 通过邮箱获取应用保存的ownid数据,对比两个ownid
    • 如果ownid数据为空(新用户)
      1. 进行邮箱验证
      2. 更新应用保存的ownid
      3. 完成认证
    • 如果扫码手机ownid与原保存的ownid不符(换了手机)
      1. 进行邮箱验证
      2. 更新应用保存的ownid
      3. 完成认证
    • 如果扫码手机ownid与原保存的ownid一致
      1. 完成认证

注册流程如下

  1. 在登录页输入邮箱生成登录二维码
  2. 使用iPhone扫描二维码并浏览器打开OwnID网站
  3. 调用iPhone的生物识别功能通过认证生成ownid
  4. 通过邮箱获取应用保存的ownid数据,应用返回无该用户
  5. 生成随机密码填入密码区域(OwnID流程中断)
  6. 进行正常用户名密码的注册流程

OwnID有一个问题就是注册时不需要验证邮箱,但是下次登录再次使用OwnID时就需要验证邮箱

Laravel接入流程

OwnID有一个处理从getSessionByLoginId接口获取token的事件,在这个事件里可以把users表里的remember_token存到cookies里,这样当登录跳转的时候,就可以在Controllers里通过cookies里保存的remember_token来认证用户权限

下面是一个简单的示例,通过token鉴权,拿到userID后,可以直接通过Auth::loginUsingId认证用户,最后再刷新下session。

... use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; ... $user = DB::table('users') ->where('remember_token', $data['token']) ->first(); if (isset($user)) { Auth::loginUsingId($user->id, true); $request->session()->regenerate(); } ...

Continue Reading 0

Powered by WordPress. Designed by WooThemes