Appearance
Git 相操作
Git
git 相关操作
切换分支
shell
#检查分成
git branch
#切换到 main 分支
git checkout main#检查分成
git branch
#切换到 main 分支
git checkout mainGit 添加机器 ssh 密钥
shell
git config --global user.name 'dooy'
git config --global user.email 'dooy520@qq.com'
ssh-keygen -t rsa -C 'dooy520@qq.com'
cat ~/.ssh/id_rsa.pub #获取公钥git config --global user.name 'dooy'
git config --global user.email 'dooy520@qq.com'
ssh-keygen -t rsa -C 'dooy520@qq.com'
cat ~/.ssh/id_rsa.pub #获取公钥获取到公钥后,需要将公钥添加到 github 上 https://github.com/settings/keys 添加
shell
#添加后 用下面进行测试
ssh -T git@github.com#添加后 用下面进行测试
ssh -T git@github.comtoken 访问
https://github.com/settings/tokens?type=beta
git ssh 方式加速
vim ~/.ssh/config
shell
Host github.com
HostName 154.91.179.100
User git
Port 6088Host github.com
HostName 154.91.179.100
User git
Port 6088git 合并 fork
shell
git remote add upstream https://github.com/Test-2022/git-learn.git(原来项目地址)
git remote -v
# ---上面只做一次---
git fetch upstream
git checkout main
git merge upstream/maingit remote add upstream https://github.com/Test-2022/git-learn.git(原来项目地址)
git remote -v
# ---上面只做一次---
git fetch upstream
git checkout main
git merge upstream/maingit 回滚
shell
#查看历史 找到你想回滚的版本
git log
#回滚到你想回滚的版本
git reset --hard <commit-hash>
#提交仓库
git push origin main --force#查看历史 找到你想回滚的版本
git log
#回滚到你想回滚的版本
git reset --hard <commit-hash>
#提交仓库
git push origin main --forcegit 合并 PR
https://zhuanlan.zhihu.com/p/456872464?utm_id=0
docker 相关
shell
docker commit php php56fpm:me
docker commit --change='ENTRYPOINT cd /nserver && npm run sk.server ' node18 nServer:1docker commit php php56fpm:me
docker commit --change='ENTRYPOINT cd /nserver && npm run sk.server ' node18 nServer:1docker 安装
shell
#!/bin/bash
# Step 1: 更新apt包索引
sudo apt-get update
# Step 2: 安装必要的软件包
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# Step 3: 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Step 4: 设置 Docker 的稳定版本仓库
echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Step 5: 更新 apt 包索引
sudo apt-get update
# Step 6: 安装 Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# Step 7: 验证 Docker 是否安装成功
docker --version
# Step 8: 添加用户到docker组(可选)
sudo usermod -aG docker $USER
echo "Please log out and log back in to apply the changes for Docker to run without sudo."#!/bin/bash
# Step 1: 更新apt包索引
sudo apt-get update
# Step 2: 安装必要的软件包
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# Step 3: 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Step 4: 设置 Docker 的稳定版本仓库
echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Step 5: 更新 apt 包索引
sudo apt-get update
# Step 6: 安装 Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# Step 7: 验证 Docker 是否安装成功
docker --version
# Step 8: 添加用户到docker组(可选)
sudo usermod -aG docker $USER
echo "Please log out and log back in to apply the changes for Docker to run without sudo."使用 docker tag 命令为本地镜像添加新的标签
shell
#docker tag image1:latest(本地镜像)ydlhero/pigaiphp:tagname(新添加的镜像)
#docker tag php56fpm:me ydlhero/pigaiphp:5.6
docker tag elastic:2.4 ydlhero/elastic:2.4
docker push ydlhero/pigaiphp:5.6
docker tag nserver:1 ydlhero/nserver:1
docker tag engine7095:last ydlhero/engine7095:last
docker commit penly_service penly:service01
docker tag penly:service01 ydlhero/penly:service01
docker push ydlhero/penly:service01
docket ENTRYPOINT #docker tag image1:latest(本地镜像)ydlhero/pigaiphp:tagname(新添加的镜像)
#docker tag php56fpm:me ydlhero/pigaiphp:5.6
docker tag elastic:2.4 ydlhero/elastic:2.4
docker push ydlhero/pigaiphp:5.6
docker tag nserver:1 ydlhero/nserver:1
docker tag engine7095:last ydlhero/engine7095:last
docker commit penly_service penly:service01
docker tag penly:service01 ydlhero/penly:service01
docker push ydlhero/penly:service01
docket ENTRYPOINT导出 导出入镜像
shell
docker save ydlhero/pigaiphp:5.6 -o php5.6.docker.tag
docker load -i php5.6.docker.tag
## 起批改网php 容器
docker run --name php -v /data/app:/data/app -p 9000:9000 -itd ydlhero/pigaiphp:5.6 docker save ydlhero/pigaiphp:5.6 -o php5.6.docker.tag
docker load -i php5.6.docker.tag
## 起批改网php 容器
docker run --name php -v /data/app:/data/app -p 9000:9000 -itd ydlhero/pigaiphp:5.6看故障目录
docker inspect xstroke --format='{{json .Mounts}}'docker inspect xstroke --format='{{json .Mounts}}'Docker 清理
shell
docker system prune #清理缓存 会删除容器
docker image prune #进删除无用的镜像
docker volume prune #命令来清理。 #docker image prune 和docker system prune #清理缓存 会删除容器
docker image prune #进删除无用的镜像
docker volume prune #命令来清理。 #docker image prune 和删除 Docker 容器日志
shell
echo ""> /var/lib/docker/containers/<容器ID>/<容器ID>-json.logecho ""> /var/lib/docker/containers/<容器ID>/<容器ID>-json.log- 导致一个问题
docker log --tail 100 容器ID不能使用 - 启动的时候 指定下
shell
docker run \
--log-driver json-file \
--log-opt max-size=10m \ # 单个日志文件最大10MB
--log-opt max-file=3 \ # 最多保留3个旧日志文件
your_imagedocker run \
--log-driver json-file \
--log-opt max-size=10m \ # 单个日志文件最大10MB
--log-opt max-file=3 \ # 最多保留3个旧日志文件
your_imagedocker 安装 9999 sunoproxy 代理
开 9999 代理 给程序使用的
shell
git clone https://github.com/Dooy/cockroachai.git
cd cockroachai
./docker-install.sh
cd sunoproxy
./deploy.shgit clone https://github.com/Dooy/cockroachai.git
cd cockroachai
./docker-install.sh
cd sunoproxy
./deploy.shwindow 安装 ads 等环节
- 下载 文件 *.sp1
- 安装 https://zfile.down.yoga/downs/suno
shell
Set-ExecutionPolicy Bypass -Scope Process -Force
.\install.sp1
scoop install gitSet-ExecutionPolicy Bypass -Scope Process -Force
.\install.sp1
scoop install git安装 brew
shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"mysql 相关
清理 bin-log
- 清除 binlog.000010 之前的所有日志文件
sql
PURGE BINARY LOGS TO 'binlog.000010';PURGE BINARY LOGS TO 'binlog.000010';- 通过日期来清除日志
sql
PURGE BINARY LOGS BEFORE '2024-09-01 00:00:00';PURGE BINARY LOGS BEFORE '2024-09-01 00:00:00';清理 表数据
sql
TRUNCATE TABLE logsTRUNCATE TABLE logssendmail 服务器搭建记录
debian 下搭建(不行工作白干 还是得回到 centos)
shell
sudo docker pull debian:11.5
sudo docker run --name mail2 --hostname zahei.com -itd debian:11.5
sed -i "s@http://\(deb\|security\).debian.org@http://mirrors.tencent.com@g" /etc/apt/sources.list
sed -i "s@http://\(deb\|security\).debian.org@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo docker exec -it mail2 /bin/bash
apt-get install sendmail
apt-get install vim # 安装完成后 卸载apt-get autoremove vim
apt-get install dovecot-pop3d # apt-get autoremove dovecot-core
apt-get install libsasl2-2 sasl2-bin libsasl2-modules
docker commit mail2 pigaimail:2.0
sudo docker run --name mail2.1 -p 2025:25 -p 2110:110 --hostname jukuu.com -itd pigaimail:2.0
sudo docker run --name mail2.2 -p 25:25 -p 110:110 --hostname zahei.com -itd pigaimail:2.0
makemap hash /etc/mail/access.db < /etc/mail/access
# https://www.cloudbooklet.com/how-to-install-and-setup-sendmail-on-debian-10/
# smtp加证书
# http://t.zoukankan.com/feihongwuhen-p-7170991.html
# smtps 开启
# https://blog.51cto.com/zhangxifan/1194726sudo docker pull debian:11.5
sudo docker run --name mail2 --hostname zahei.com -itd debian:11.5
sed -i "s@http://\(deb\|security\).debian.org@http://mirrors.tencent.com@g" /etc/apt/sources.list
sed -i "s@http://\(deb\|security\).debian.org@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo docker exec -it mail2 /bin/bash
apt-get install sendmail
apt-get install vim # 安装完成后 卸载apt-get autoremove vim
apt-get install dovecot-pop3d # apt-get autoremove dovecot-core
apt-get install libsasl2-2 sasl2-bin libsasl2-modules
docker commit mail2 pigaimail:2.0
sudo docker run --name mail2.1 -p 2025:25 -p 2110:110 --hostname jukuu.com -itd pigaimail:2.0
sudo docker run --name mail2.2 -p 25:25 -p 110:110 --hostname zahei.com -itd pigaimail:2.0
makemap hash /etc/mail/access.db < /etc/mail/access
# https://www.cloudbooklet.com/how-to-install-and-setup-sendmail-on-debian-10/
# smtp加证书
# http://t.zoukankan.com/feihongwuhen-p-7170991.html
# smtps 开启
# https://blog.51cto.com/zhangxifan/1194726shell
docker run --name mail --hostname pigai.com -itd debian:11.5
mail from:root@localhost
rcpt to:root@zahei.com
data
hey duan, you are so
define(`SMART_HOST',`jukuu.com')dnl
define(`RELAY_MAILER', `esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnldocker run --name mail --hostname pigai.com -itd debian:11.5
mail from:root@localhost
rcpt to:root@zahei.com
data
hey duan, you are so
define(`SMART_HOST',`jukuu.com')dnl
define(`RELAY_MAILER', `esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnlcentos sendmail 搭建
shell
sudo docker pull centos:8.4.2105
sudo docker run --name cmail --hostname zahei.com -itd centos:8.4.2105
sed -i "s@http://mirror.centos.org@http://mirrors.tencent.com@g" ./CentOS-Linux-BaseOS.repo
sed -i "s@http://mirrorlist.centos.org@http://mirrors.tencent.com@g" ./CentOS-Linux-BaseOS.repo
sed -i "s@http://mirrorlist.centos.org@http://mirrors.tencent.com@g" ./CentOS-Linux-AppStream.repo
sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://deb.debian.org@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
#=====
docker pull centos:6.10
sudo docker run --name cmail610 -p3025:25 --hostname zahei.com -itd centos:6.10
sed -i "s@http://mirrorlist.centos.org@http://vault.centos.org@g" ./CentOS-Base.repo
sed -i "s@http://@https://@g" ./CentOS-Base.repo
curl https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo -o /etc/yum.repos.d/CentOS-Base.repo
docker commit cmail610 pigaimail:610
docker commit dmail610 pigaimail:610
docker tag pigaimail:610 ydlhero/pigaimail:610
sudo docker run --name dmail610 -p 4025:25 -p 4110:110 --hostname zahei.com -itd pigaimail:610
sudo docker run --name mail -p 25:25 -p 110:110 --hostname jukuu.com -itd ydlhero/pigaimail:610
define(`confCACERT_PATH', `/etc/mail/certs')
define(`confCACERT', `/etc/mail/certs/cacert.pem')
define(`confSERVER_CERT', `/etc/mail/certs/mycert.pem')
define(`confSERVER_KEY', `/etc/mail/certs/mykey.pem')
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
测试 YWxsQHphaGVpLmNvbQ== all@zahei.com
YWxsQGp1a3V1LmNvbQ== all@jukuu.com
cGlnYWkyMDIy sudo docker pull centos:8.4.2105
sudo docker run --name cmail --hostname zahei.com -itd centos:8.4.2105
sed -i "s@http://mirror.centos.org@http://mirrors.tencent.com@g" ./CentOS-Linux-BaseOS.repo
sed -i "s@http://mirrorlist.centos.org@http://mirrors.tencent.com@g" ./CentOS-Linux-BaseOS.repo
sed -i "s@http://mirrorlist.centos.org@http://mirrors.tencent.com@g" ./CentOS-Linux-AppStream.repo
sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://deb.debian.org@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
#=====
docker pull centos:6.10
sudo docker run --name cmail610 -p3025:25 --hostname zahei.com -itd centos:6.10
sed -i "s@http://mirrorlist.centos.org@http://vault.centos.org@g" ./CentOS-Base.repo
sed -i "s@http://@https://@g" ./CentOS-Base.repo
curl https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo -o /etc/yum.repos.d/CentOS-Base.repo
docker commit cmail610 pigaimail:610
docker commit dmail610 pigaimail:610
docker tag pigaimail:610 ydlhero/pigaimail:610
sudo docker run --name dmail610 -p 4025:25 -p 4110:110 --hostname zahei.com -itd pigaimail:610
sudo docker run --name mail -p 25:25 -p 110:110 --hostname jukuu.com -itd ydlhero/pigaimail:610
define(`confCACERT_PATH', `/etc/mail/certs')
define(`confCACERT', `/etc/mail/certs/cacert.pem')
define(`confSERVER_CERT', `/etc/mail/certs/mycert.pem')
define(`confSERVER_KEY', `/etc/mail/certs/mykey.pem')
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
测试 YWxsQHphaGVpLmNvbQ== all@zahei.com
YWxsQGp1a3V1LmNvbQ== all@jukuu.com
cGlnYWkyMDIyvscode 保存自动对齐设置
要在 VSCode 中配置 Prettier 以便在保存时自动格式化 JavaScript 文件,可以按照以下步骤进行设置:
安装 Prettier 插件:
- 确保你已经安装了 Prettier 插件。如果没有,去扩展市场搜索并安装 "Prettier - Code formatter"。
配置 VSCode 设置:
- 打开 VSCode 的设置(可以通过按
Ctrl + ,或Cmd + ,)。 - 搜索
editor.formatOnSave并勾选它。这会在每次保存文件时自动格式化代码。
- 打开 VSCode 的设置(可以通过按
设置默认格式化器:
- 在设置中搜索
default formatter。 - 找到
Editor: Default Formatter选项,并选择esbenp.prettier-vscode。
- 在设置中搜索
检查 Prettier 配置:
- 确保项目中有
.prettierrc或prettier.config.js等配置文件,以指定格式化规则。 - 如果没有,可以创建一个简单的
.prettierrc文件,例如:json{ "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5" }{ "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5" }
- 确保项目中有
工作区设置:
- 如果只想在特定项目中启用,打开项目文件夹,然后在
.vscode文件夹中创建或编辑settings.json,添加:json{ "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" }{ "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" }
- 如果只想在特定项目中启用,打开项目文件夹,然后在
检查文件类型:
- 确保 Prettier 支持你正在编辑的文件类型。默认情况下,Prettier 支持 JavaScript、TypeScript、JSON 等。
完成这些设置后,保存 JavaScript 文件时,Prettier 应该会自动格式化代码。
优秀软件
- 介绍算软件基本都是付费软件
- surge 强大的抓包软件 https://nssurge.com/
- adspower 指纹浏览器 常规工作
其他
v2ray 安装
bash <(wget -qO- -o- https://git.io/v2ray.sh)
截断新思路
- 注入到网页内
- 重写覆盖 XMLHttpRequest.prototype.send 和 fetch
- 适合搞到插件里面
js
const origFetch = window.fetch;
window.fetch = async (...args) => {
const [resource, config] = args;
let requestUrl;
if (typeof resource === "string") {
// 如果resource是字符串,直接使用它作为URL
requestUrl = resource;
} else if (resource instanceof Request) {
// 如果resource是Request对象,获取它的url属性
requestUrl = resource.url;
}
//console.log("url:", requestUrl, config);
if (config.method != "POST" || !requestUrl.includes("/overview/home/asr")) {
return origFetch(...args);
}
if (config && config.body instanceof FormData) {
const entries = {};
for (const [k, v] of config.body.entries()) {
if (v instanceof File) {
entries[k] = {
name: v.name,
size: v.size,
type: v.type,
};
// 如果要拿内容,可以 FileReader 或 v.arrayBuffer()
} else {
entries[k] = v;
}
}
config.body = JSON.stringify(entries);
config.headers["Content-Type"] = "application/json";
//console.log("Intercepted formData", entries);
}
//这个地方判断是否需要提交
return origFetch(...args);
};const origFetch = window.fetch;
window.fetch = async (...args) => {
const [resource, config] = args;
let requestUrl;
if (typeof resource === "string") {
// 如果resource是字符串,直接使用它作为URL
requestUrl = resource;
} else if (resource instanceof Request) {
// 如果resource是Request对象,获取它的url属性
requestUrl = resource.url;
}
//console.log("url:", requestUrl, config);
if (config.method != "POST" || !requestUrl.includes("/overview/home/asr")) {
return origFetch(...args);
}
if (config && config.body instanceof FormData) {
const entries = {};
for (const [k, v] of config.body.entries()) {
if (v instanceof File) {
entries[k] = {
name: v.name,
size: v.size,
type: v.type,
};
// 如果要拿内容,可以 FileReader 或 v.arrayBuffer()
} else {
entries[k] = v;
}
}
config.body = JSON.stringify(entries);
config.headers["Content-Type"] = "application/json";
//console.log("Intercepted formData", entries);
}
//这个地方判断是否需要提交
return origFetch(...args);
};主站恢复流程
- 恢复流程 重启 大部分时间是 mq 导致的
shell
docker start mq php74 redis
cd /data/app/my-deploy/api
sudo docker-compose down
sudo ./ai.sh
sudo /usr/local/openresty/nginx/sbin/nginx docker start mq php74 redis
cd /data/app/my-deploy/api
sudo docker-compose down
sudo ./ai.sh
sudo /usr/local/openresty/nginx/sbin/nginx
HIGO