0%

初现

将mbp 重置后安装Xcode,调试模拟器没问题,真机debug出现process launch failed: Unspecified。各种尝试无果后(清理项目、重装Xcode、卸载app、重启手机)后检查证书发现开发者证书不被信任。

方案

后根据这篇文章 下载apple 开发者证书,后得到解决。

目前的Apple全球开发者关系认证中间证书WWDRCA(也就是我们上面下载的那个)将于2023年2月7日到期。Apple发布了新的WWDRCA,更新后的证书过期时间为2030年2月20日,新证书将用于签署2021年1月28日后为苹果开发者项目颁发的新软件签名证书。

Apple证书列表:

https://www.apple.com/certificateauthority/

一般只要下载特定中间证书就行了,如果不能确认,可以把前缀为Worldwide Developer Relations的全部下载下来,再一个个安装。直到iphone 开发证书变为可信证书。

ACME 自动申请及管理证书

安装acme.sh

执行以下命令,acme.sh 会安装到 ~/.acme.sh 目录下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
curl  https://get.acme.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 671 100 671 0 0 680 0 --:--:-- --:--:-- --:--:-- 679
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 112k 100 112k 0 0 690k 0 --:--:-- --:--:-- --:--:-- 693k
[Fri 30 Dec 01:03:32 GMT 2016] Installing from online archive.
[Fri 30 Dec 01:03:32 GMT 2016] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz
[Fri 30 Dec 01:03:33 GMT 2016] Extracting master.tar.gz
[Fri 30 Dec 01:03:33 GMT 2016] Installing to /home/user/.acme.sh
[Fri 30 Dec 01:03:33 GMT 2016] Installed to /home/user/.acme.sh/acme.sh
[Fri 30 Dec 01:03:33 GMT 2016] Installing alias to '/home/user/.profile'
[Fri 30 Dec 01:03:33 GMT 2016] OK, Close and reopen your terminal to start using acme.sh
[Fri 30 Dec 01:03:33 GMT 2016] Installing cron job
no crontab for user
no crontab for user
[Fri 30 Dec 01:03:33 GMT 2016] Good, bash is found, so change the shebang to use bash as preferred.
[Fri 30 Dec 01:03:33 GMT 2016] OK
[Fri 30 Dec 01:03:33 GMT 2016] Install success!

安装成功后执行 source ~/.bashrc 以确保脚本所设置的命令别名生效。

如果安装报错,那么可能是因为系统缺少 acme.sh 所需要的依赖项,acme.sh 的依赖项主要是 netcat(nc),我们通过以下命令来安装这些依赖项,然后重新安装一遍 acme.sh:

1
apt -y install netcat socat
Read more »

同步 + rpc

  • http

    1
    geth --datadir /mnt/eth/data --rpc --rpcaddr 0.0.0.0 --rpcport 28545 --rpcapi personal???db,eth,net,web3
  • ws

    1
    geth --datadir ./geth-data --dev --ws --ws.port 13334 --ws.api eth,net,web3,miner,personal --verbosity 3

--dev 开发模式
--allow-insecure-unlock 允许本地解锁,线上需关闭
--verbosity 3 日志等级 默认3

常用命令

1
geth attach ./geth-data/geth.ipc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
> eth.accounts // 查看账户

> eth.accounts[0] // 查看特定钱包地址

> eth.getBalance(eth.accounts[0]) // 查询eth 余额

> eth.sendTransaction({from: eth.accounts[0] , to: eth.accounts[1], value: web3.toWei(10, "ether")}) // 转账

> eth.blockNumber // 查询区块高度

> personal.newAccount("password") //创建用户

> miner.start() //开始当前用户挖矿

> miner.stop() //停止当前用户挖矿

> eth.getTransaction("txid") // 根据txID查询交易

> eth.getTransactionReceipt("txid") //根据txID 查询交易结果

> personal.unlockAccount(eth.accounts[1]) // 解锁用户

近日将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 一个数据库搞定

Read more »

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
Read more »

ssh 升级ed25519

ECC 介绍

参考

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

参考

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

当然重点是ed25519 更快

Read more »

手动开启 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