使用root权限跳过小米SIM卡确认
因为小米开启USB安装应用程序需要插入SIM 并且登录小米账户验证身份证。
这对于正常使用小米手机进行Android 开发来说一件非常痛苦的事情
Gitlab 是一个基于Web的开源版本控制系统和代码管理系统,在企业中作为常见的代码版本管理工具。
我自己部署一个Gitlab 在家中的服务器上, 那么如何非家庭网络中访问呢? 答案是内网穿透!
Gitlab 提供多种方便的部署方式, 具体的方法可以查阅这里,Download and install GitLab | GitLab
我自己使用Docker 进行部署,下面是我的 docker-compose.yml
文件可以参考下,
1 | # docker-compose.yml |
因我是部署在树莓派上, 使用的架构是 arm64
,但是Gitlab官方镜像中并没有arm64
.这里使用的是我自己构建的镜像.
构建镜像dockerfile 可以看这里 GitHub - gsdukbh/docker-gitlab-ee-arm64: build gitlab-ee for arm64 images
关于gitlab 部署的更多问题,可以参阅我的其他文章.
Cloudflare Tunnel
是Cloudflare 推出的内网穿透的工具,可将任意内网子域或路径映射到外网域名,实现内网服务外网访问。
利用Cloudflare Tunnel 可以完美配置网络穿透,并且无需任何费用.
使用命令行安装.
1 | sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb |
推荐使用 软件包管理器进行安装 官方 Linux 软件包 在自己的软件源中添加 pkg.cloudflare.com
这样方便后续的更新.
登录 Cloudflare Tunnel
1 |
|
输出, 点击连接通过网页登录认证.
创建一个连接通道.
1 | cloudflared tunnel create gitlab |
cloudflared 会创建一个唯一id的连接通道, 比如 6ff42ae2-765d-4adf-8112-31c55c1551ef
然后我们使用这个来连接.
配置本地连接网络.
1 | vim ~/.cloudflared/config.yml |
检查下配置是否正常.
1 |
|
运行Tunnel
1 | # 这个会直接运行在终端, 停止会让内网穿透失败 |
5. 创建一个systemd 服务来长期运行 tunnel
1 | #创建文件 |
先将自己域名添加到cloudflare, 然后在 网站-> DNS
添加DNS 记录. 选择 CNAME
然后填入
1 | ##名称 |
gitlab-ssh 域名重复上.
等待几分钟 ,这个时候就可以访问 Gitlab了
使用 cloudflare tunnel
连接ssh 有些麻烦,必须在使用的电脑上安装cloudflared
才可以使用.
安装 cloudflared
在 用户目录 .ssh/config
配置
1 | Host gitlab-ssh.yourdomain.com |
到此, Gitlab 就完全在 cloudflare
的代理后面了,
JWT(JSON Web Token)是当前最流行的跨域身份验证解决方案。
它的工作原理是:
JWT的结构很简单,就是三段信息用.连接成一个字符串:
例如:
1 | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ |
头部: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
负载: eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9
签名:TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
使用JWT的优点:
跨域身份验证:JWT可以在不同的域中传递,使用者无需再在每个域中维护一份用户信息。
易于使用:JWT可以通过URL,POST参数或者在HTTP header发送。
无状态:JWT是自包含的,无需在服务器端保存会话信息。
轻量: JWT通常使用URL safe字符集,这使其可以很轻易地通过URL,POST参数或HTTP header传输,而不会被破坏。
所以,JWT适用于跨域身份验证场景,并能简化OAUTH2.0的使用。
给你一个长度为 n下标从 0开始的字符串blocks,blocks[i]要么是’W’要么是’B’,表示第i块的颜色。字符’W’ 和’B’分别表示白色和黑色。
给你一个整数k,表示想要连续黑色块的数目。 每一次操作中,你可以选择一个白色块将它 涂成黑色块。 请你返回至少出现 一次连续 k个黑色块的 最少操作次数。
more >>在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?
more >>1 | public class TwoSum { |
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true