近日将DS214play 淘汰换成 DS216+ii,终于可以docker愉快的玩耍

这里选用数据库用PostgreSql,Drone 的原话是推荐使用PostgreSql。

We strongly recommend using postgres instead of mysql. The system has been optimized for features not found in mysql.

所以,这里我们gitea同样也使用 Postgres 一个数据库搞定

阅读全文 »

dump 数据库

1
mysqldump -u[user] -p[password] [db] [filePath]

复制数据库

本地复制

1
mysqldump -u[user] -p[password] [db] | mysql -h127.0.0.1 -u[user] -p[password] [db]

本地中转 复制到远程

1
ssh [root]@[ip] "mysqldump -u[user] -p[password] [db]" | ssh -C [root]@[ip] "mysql -h127.0.0.1 -u[user] -p[password] [db]"

mysql

值得注意的是,外部主机的IP地址是172.17.0.1, 限定IP地址登陆的时候要放行这个IP

1
docker run -d --restart=always --name mariadb  -e MYSQL_ROOT_PASSWORD=123456 -v ~/xxx/mariadb:/var/lib/mysql -p 127.0.0.1:3306:3306 mariadb
阅读全文 »

ssh 升级ed25519

ECC 介绍

参考

在ed25519 68位加密的情况下,安全性可以跟RSA 544~3072的长度相当

参考

证书有两种,一种是 ECC 证书(内置公钥是 ECDSA 公钥),一种是 RSA 证书(内置 RSA 公钥)。简单来说,同等长度 ECC 比 RSA 更安全,也就是说在具有同样安全性的情况下,ECC 的密钥长度比 RSA 短得多(加密解密会更快)。但问题是 ECC 的兼容性会差一些,Android 4.x 以下和 Windows XP 不支持。只要您的设备不是非常老的老古董,强烈建议使用 ECC 证书。

** 当然重点是ed25519 更快 **

阅读全文 »

手动开启 BBR

注意以下命令需要 root 权限,非 root 用户先执行 sudo su - 切换到 root 账户

  • 运行 uname -r 看看是不是内核 >= 4.9,不是的话请先升级内核
  • 执行 lsmod | grep bbr,查看 BBR 模块是否启用,如果结果中没有 tcp_bbr 的话就先执行
    1
    2
    modprobe tcp_bbr
    echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
  • 执行下命令开启设置 TCP 使用 BBR 发包
    1
    2
    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
  • 保存生效 sysctl -p
  • 验证 BBR 是否已经启用
    1
    2
    sysctl net.ipv4.tcp_available_congestion_control
    sysctl net.ipv4.tcp_congestion_control
    如果结果都有bbr, 则证明你的内核已开启bbr

#开个新坑

Docker下安装的gogs

git hook 执行时的环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
HOSTNAME=gogs-gogs1                                                                                                                                              
TERM=xterm
USER=git
GOGS_REPO_CUSTOM_HOOKS_PATH=/data/git/gogs-repositories/user/gitRepo.git/custom_hooks
GOGS_REPO_ID=2
GIT_PUSH_OPTION_COUNT=0
PATH=/usr/libexec/git-core:/usr/libexec/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/data/git/gogs-repositories/user/gitRepo.git
GOGS_REPO_OWNER_NAME=user
GOGS_AUTH_USER_NAME=user
GOGS_REPO_NAME=gitRepo
SHLVL=4
HOME=/data/git
SSH_ORIGINAL_COMMAND=1
GOGS_AUTH_USER_ID=1
GOGS_AUTH_USER_EMAIL=xxxx@mail.com
GOGS_CUSTOM=/data/gogs
GOGS_REPO_OWNER_SALT_MD5=94d5344c25db5ceaea76fff71f44dd51
阅读全文 »

docker 运行

1
docker run -d --restart=always --name v2ray -v /path/v2ray:/etc/v2ray -p 7777:1080 v2ray/official v2ray -config=/etc/v2ray/config.json
阅读全文 »

序列类型

6种:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象

列表(list)

操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"a" + "b" # >>> ab

"ab" * 2 # >>> abab
[None] * 10 # >>> [None, None, None ... None]

"p" in "python" # 检测是否包含 return Ture or False

numbers = [1, 5, 3]
len(numbers) # 3
max(numbers) # 5
min(numbers) # 1

list("Hello") # ["H", "e", "l", "l", "o"]

numbers[1] = 20 # 赋值

del numbers[0] # 删除首个元素

# 分片操作
data[start:end:interval]
# start:起始位置(省略代表开始) end:结束位置(省略代表到结束) interval:步长(不为0,正数从左到有,负数从又到左)
numbers = [1, 2, 3, 4, 5]
numbers[1: 4] = [] # numbers 值为 [1, 5]

numbers.append(2) # numbers 值为 [1, 5, 2]

numbers.count(1) # 统计参数在数组中出现次数

numbers.extend([3, 4, 5]) # numbers 值为[1, 5, 2, 3, 4, 5]

numbers.index(3) # 查找元素位置
numbers.pop(0) # 弹出首个值(修改了原数组)
numbers.reverse() # 反转列表
numbers.sort() # 排序

元组

不可修改

1
2
3
a = (1, 2, 3)
a = (1, )
a = tuple([1, 2, 3]) # a 为 (1, 2, 3)
0%