利用acme.sh实现网站https
利用acme.sh实现网站https
acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书, 配置和管理相当方便.
1. 安装 acme.sh安装很简单, 一条命令搞定:
1curl https://get.acme.sh | sh
sh 文件将 acme.sh 安装目录在 ~/.acme.sh/ 下, 创建 一个 acme.sh=~/.acme.sh/acme.sh 的 alias, 方便你的使用, 再自动为你创建一个 job, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.
** 所有的修改都限制在安装目录中: ~/.acme.sh/, 安装不会写入其他文件**
2. 生成证书acme.sh 实现了 acme 协议支持的所有验证协议, 一般有两种方式验证: http 和 dns 验证.
2-1. http 方式.http 方式也根据使用服务不同为以下几种
2-1-1. 正常 http 验证只需要指定域名, 并指定域名所在的网站根目录. acme.sh 会全自动的生成验证文件, 并放到网站的根目录, ...
利用 Docker 运行 MongoDB
利用 Docker 运行 MongoDB
在服务器上安装MongoDB很是繁琐,而通过 Docker 运行 MongoDB很是方便,数据迁移也变得更加简单,日常的运维和使用与本地安装基本没有区别。
Docker系列文章Linux 安装 Docker使用Docker Gogs搭建git服务利用 Docker 运行 MongoDB
准备工作安装docker,参考文章Linux 安装 Docker
查找官方镜像查找Docker Hub上的 mongo 镜像
123456789101112131415161718192021222324252627sudo docker search mongoNAME DESCRIPTION STARS OFFICIAL AUTOMATEDmongo MongoDB document databases prov ...
使用Gogs Docker镜像配置git服务器
使用Gogs Docker镜像配置git服务器
公司刚成立,急需要一台自己的git服务。之前使用Gitlab,不过搭建实在太过麻烦,在网上搜到Gogs有docker镜像,正好前两天学习了Docker,决定使用Docker+Gogs搞一搞。
认识Docker简单概括:Docker本身是个虚拟机工具,Docker也是一个镜像管理工具。如果有安装虚拟机的经验的小伙伴可能会比较好理解,Docker的镜像其实就是类似于一个系统盘一样。虚拟机工具还原的是一个完整的系统,一个普通电脑运行2个虚拟系统就会卡成翔。而docker安装在linux上,它借用了linux系统内核,一些底层服务直接用调用linux内核完成,这样子的系统就可以把镜像压缩到足够小(因为只有引用层代码,没有系统底层代码)。而Docker镜像启动之后我们称之为容器,容器相应的无论大小还是内存都比传统虚拟机占优势。这样一个linux系统同时运行几十甚至几百个容器,还受Docker命令的统一管理。所以使用Docker也就必须要熟悉它的命令行工具:Docker 命令大全
如何安装查看上篇文章:Linux 安装 Docker
认识 Gogs ...
Linux 安装 Docker
Linux 安装 Docker
很早就听说了docker,以前一直把docker理解为单纯的虚拟机,最近在部署服务的时候深入了解了下docker,决定写一个系列文章作为学习记录。
debain如何安装docker一如既往的使用debain + apt-get方式安装docker,这样做安装方便,容易升级,并随时跟进最新版本,也方便版本回滚。
安装软件包让apt支持HTTPS1sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
添加docker官方GPG KEY12// $(. /etc/os-release;echo"$ID") 获取Linux发行版本curl -fsSL https://download.docker.com/linux/$(. /etc/os-release;echo"$ID")/gpg | sudo apt-key add -
指纹验证12// 这里是Debian 9.0sudo ...
谈一谈P2P和贫富差距
谈一谈P2P和贫富差距
吃一堑,长一智,今年雷了三个平台,也写下最近的感触吧。
先来谈一篇文章谈之前先聊下今天看的一篇文章《中国高中的等级分化,比大学严重多了》,这篇文章是虎嗅推荐的,从文章的开头就能知道大概思想
在县城中学,很多人高中一毕业就出去打工。在省城国际高中,有的学生从小到大没坐过地铁,不是因为穷。
整体文章无非是批判贫富差距加大,教育不平,等级分化严重。不过文章比较有意思的是不直接批判,只是举了一些学校的例子。
很多同学,高中毕业就去打工——欧安,广西桂北某县城中学
在广东小县城,小升初就是小高考——张家明,粤西某县级市第一中学
如果再选一次,我还会来这里——筱琪,安徽六安,毛坦厂中学
所有的市一中,都和我们差不多吧——曹吉利,山西某地级市一中
母校教会我们要做一个闪闪发光的人——长风,广州,广东实验中学
从作者的举例就可以看出端倪,让贫困县的中学和一线大城市的贵族学校坐对比,展示贫富差距如此之大的立场。这篇文章其实和17年那篇《北京,有2000万人在假装生活》有异曲同工之妙,看似忧国忧民,批判贫富差距。除了真正带给读者的只有读过之后的震撼,带动大家仇富的心理,还 ...
macOS 微信双开、撤回拦截
macOS 微信双开、撤回拦截
我门都知道安卓手机 root 后可以双开微信、撤回拦截微信消息这些功能,今天这些功能也被移植到 mac 上来了。
简单的介绍WeChatTweak不仅可以拦截微信消息,双开微信,还能够免手机认证登录,真是方便的一逼。
WeChatTweak亲测,macOS 10.14 Mojave系统可以正常使用。
提供技术的大神是: sunnyyoung
iOS/macOS 开发者、开源爱好者、业余逆向开发,正在学习前/后端开发,走往全栈目标的路上。
大神的反编译技术相当厉害,ios er 可以多看看他的blog 「Sunnyyoung’s Blog」项目地址:WeChatTweak-macOS还有个QQ的兄弟项目:QQTweak-macOS
安装1、通过git命令安装打开终端窗口,执行以下命令:
123git clone https://github.com/Sunnyyoung/WeChatTweak-macOS.git \ && cd WeChatTweak-macOS \ && sudo make install
结果 ...
升级到最新的macOS Mojave
升级到最新的macOS Mojave
macOS Mojave已经放出 beta 版好久了,在 v2ex 上看到好多帖子都说基本稳定,我也试着升级到了 Mac os Mojave 10.14 beta2,在这里吐槽下 Mojave。
设备:MacBook Pro (Retina, 13-inch, Early 2015)安装macOS Mojave 的公测版是6月27号放出,所有注册参与「Apple Beta 版软件计划」的用户都可以升级。升级之前 强烈建议 先做备份
先进去官网-Apple Beta 版软件计划, 点击「注册」按钮,申请账号
账号注册好之后,访问并注册您的设备
点击「下载 macOS Public Beta 版访问使用工具」按钮
打开刚刚下载的 dmg 镜像,打开其中的 pkg 文件,按照提示安装描述文件;
软件会自动打开 App Store 并切换到 macOS Mojave 的下载页面,点击下载按钮即可下载安装文件。(具体时间就看下载速度了)
下载完成重启并安装即可。(我的mac安装Mojave,系统显示时间是42分钟,实际用时1小时左右)
Mojave带来 ...
破解钉钉打卡
破解钉钉打卡
本文利用Xcode模拟定位,随时随地打卡,只适用于ios系统。
需要解密坐标这里普及一下坐标系统:目前我们经常接触是原始坐标,火星坐标,二次加密坐标。
原始坐标:手机上获取到的是原始的GPS坐标 —— WGS-84。
火星坐标:我大天朝自己加了飘逸搞的一套加密坐标,中国国测局(和GFW一样的傻屌组织)—— GCJ-02:谷歌、高德。
百度加密坐标:在火星坐标的基础上再次飘逸后的加密坐标 —— BD-09:百度。这里我们需要将 GCJ-02 和 BD-09 转换成 WGS-84网上有模拟算法,但是不能保证100%精准-eviltransform算法。
获取坐标坐标获取入口:
高德
百度
首先,根据各自的喜好,选好你想要模拟的位置,这里以高德地图望京soho原始坐标为例:
高德地图上望京soho的GCJ-02坐标:
1116.48105,39.996794
我们使用最新eviltransform.gcj2wgs方法转换出所需要的WGS-84坐标。(百度地图使用eviltransform.bd2wgs方法)
解密后的WGS-84坐标:
1116.474960890 ...
JavaScript Array 常用操作
JavaScript Array 常用操作
基本数组的常用操作,做个备份。
概要在JavaScript中,数组以 Array 为构造函数,是一个高阶的类似有序列表的数据类型。
声明语法123var arr1 = []; //建议使用[]声明数组对象;var arr2 = new Array();var arr3 = new Array(5); //new个数组对象,length是5
元素列向 Array 构造函数传递以 ”,“ 分号分割的一组数据(即元素列)时,将返回一个以这些数据为数组元素的数组对象(当元素列仅有一个数据且为数值时除外,这是接下来要说的内容)。数据的个数为元素个数,即数组长度。
数组长度向 Array 构造函数传递一个在 0 到 232-1 之间的整数,将返回一个以此为长度的数组对象。通过length属性可以访问这个值。如果传入的参数不是有效的数值,则抛出RangeError异常。如果传入的参数不是数值,则创建一个长度为1的数组,传入的参数即为数组的第一个元素。
数组索引每个元素列会有个单独的Length索引值,JavaScript 数组的索引值(index)从0开 ...
Linux下用户操作指南
Linux下用户操作指南
最近捋到腾讯云2000代金券羊毛,买了腾讯云的香港主机,安装了 Debian 系统,发现Linux用户要自己配置,就写一篇文章记录下学习的用户命令以及Debian新建用户不能sudo的问题解决方法
组操作1,创建组增加一个test组
1groupadd testGroup
2,修改组将testGroup组的重命名成testGroup2
1groupmod -n testGroup2 testGroup
3,删除组1groupdel testGroup2
4,查看组
查看当前登录用户所在的组 groups
查看所有组 cat /etc/group
有的linux系统没有/etc/group文件的,这个时候看下面的这个方法
1cat /etc/passwd |awk -F [:] '{print $4}' |sort|uniq | getent group |awk -F [:] '{print $1}'
这里用到一个命令是getent,可以通过组ID来查找组信息,如果这个命 ...