0%

Git 功能强大, 有时候我们会涉及到需要修改已经提交的记录, 可以分为两种情况:

一种是修改上次提交的代码, 这个很简单, 使用 git commit --amend 就可以了.

另一种种情况是需要修改之前某个提交而非上次的提交, 这个稍微复杂一点:

阅读全文 »

问题

今天在构建一个 OpenVPN Access ServerDocker 镜像, 由于 Dockerfile 中需要执行下面两个命令:

1
2
yum -y install https://as-repository.openvpn.net/as-repo-centos7.rpm
yum -y install openvpn-as

但这个 *.openvpn.net 的域名早已经被和谐了, 正常情况在我大天朝根本访问不了, 必须你懂得.

阅读全文 »

WireGuard 的核心是一个称为Cryptokey Routing的概念,它的工作原理是将公钥与隧道内允许的隧道 IP 地址列表相关联。每个网络接口都有一个私钥和一个对等点列表。每个对等点都有一个公钥。公钥短而简单,供对等方用来相互验证。它们可以通过任何带外方法传递以在配置文件中使用,类似于如何将其 SSH 公钥发送给朋友以访问 shell 服务器。

阅读全文 »

1、查看当前内核版本

1
2
3
4
$ uname -a
Linux Server 3.10.0-1160.25.1.el7.x86_64 #1 SMP Wed Apr 28 21:49:45 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
阅读全文 »

问题描述

CI 在编译项目时报错如下:

1
2
3
4
5
10:09:17 + ./gradlew --refresh-dependencies assembleRelease test --parallel --no-daemon
10:09:17 /tmp/hudson9094001854298651528.sh: line 11: ./gradlew: Permission denied
10:09:17 Build step 'Execute shell' marked build as failure
10:09:17 Archiving artifacts
10:09:17 Finished: FAILURE

原因分析

目测是由于CI环境中这个 gradlew 脚本没有权限导致的. 并且尝试发现即便在本地使用 chmod 给这个文件加上运行权限, 也没法提交这个 "变化", Git 根本检测不到这个动作.

解决办法

解决问题的关键是让 Git 把脚本权限一起 commit 并且 push 到服务器. 经过翻阅相关文档发现可以使用命令让 Git 知道某个文件需要更新权限, 如下:

1
git update-index --chmod=+x gradlew

命令需要在 git add 之后使用; 也可以在 git commit 之后使用, 但此时需要将权限修改的动作一并提交(可以使用 git commit --amend 修改已经已经提交的代码)再推送到服务器. 注意 gradlew 是仓库中脚本路径, 请根据实际情况调整.

引用

https://stackoverflow.com/questions/58282791/why-when-i-use-github-actions-ci-for-a-gradle-project-i-face-gradlew-permiss

后记: 由于 2.9.x 以上版本由于使用了 Python3 编写, 生成的库文件格式已变化, 本补丁无法处理, 本补丁目前最高支持 2.8.8 版本! 现已支持2.10.x版本~!

前言

本人家里使用了运行了一台服务器, 为了方便远程管理, 最近在 Docker 中用 OpenVPN Access Server 跑了一个 OpenVPN 服务器, 但是想试试这个东西的最大负载, 怎奈免费版本的 OpenVPN Access Server 只允许两个连接, 本着孜孜不倦的精神为了能够深入研究一下于是上网冲浪一番.
在网上博览群文之后发现流行的爆破补丁都是针对 2.5.0 版本的, 直接拿来用肯定是不行的, 经过分析发现 OpenVPN Access Server 的作者对盗版这个事情并不是很在意, 从 2.5.02.10.x, 对于授权这款的代码基本是没改过的, 所以在结合网络上面其他人的博文搞了一番并且成功了之后, 特别在这里记录一下.

截止到我写这篇文字的时候最新的版本已经是 2.10.x, 但是由于我家里的机器用 Docker 部署 2.8.7 的时候会跑不起来所以用的 2.8.0, 我这也是采用的最新版 2.10.x.

跑不起来的原因是: https://github.com/linuxserver/docker-openvpn-as/issues/108

我更新这个文章的时候已经是自己构建 Docker 镜像, 架梯子下载的, 不会出现下载不下来的情况了!

阅读全文 »

最近在做一个 Flutter 2.0 for Web 的项目, 在项目打开第一次运行的时候, 总是要等很久才能看到效果.
经过一番研究发现是 Flutter 使用的一个渲染引擎 Canvaskit 下载太慢导致的.

阅读全文 »