春有百花秋有月
夏有凉风冬有雪推送(git push)操作在向 GitHub 发送数据时遇到了问题
您遇到的 Git 错误日志表明,推送(git push)操作在向 GitHub 发送数据时遇到了问题。具体错误信息如下:
error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
这些错误通常与以下几个原因相关:
这部分显示了您提交的文件大小(54.45 MB)。Git 默认推送限制较小的文件,如果您上传的文件太大,可能会导致超时或断开连接。
解决办法:
• 您可以通过调整 Git 的 http.postBuffer 设置来增加上传限制。运行以下命令来增加缓冲区大小:
git config --global http.postBuffer 524288000
这将把上传缓冲区的大小设置为 500MB。
解决办法:
• 如果您的文件太大,您可能需要使用 Git LFS(Git Large File Storage)来管理大文件。您可以按照 GitHub 官方文档 设置 Git LFS 来解决这个问题。
网络问题:
• 有时网络中断或不稳定也会导致上传过程中断。您可以尝试重新提交或者在网络更稳定的环境下再试一次。
分支名称问题:
• 您的命令是 git push -u master master,看起来像是想将本地的 master 分支推送到远程的 master 分支,但 master 分支在 GitHub 上可能已经更名为 main。
使用jVectorMap工具为typecho增加足迹功能
本文部署后的足迹地图如下:
https://313390.xyz/index.php/51.html
github参考地址:
https://github.com/HelloWuJiaYi/jVectorMap-Footprint
注意事项:
# Map info
location /map {
index index.html;
#try_files $uri $uri/ =404;
add_header X-Frame-Options "ALLOWALL";
}
<!--more-->
-
2.修改index.html,可根据注释修改使用中国地图或者世界地图,然后增加自已的足迹点,足迹坐标可参考:
https://jingweidu.bmcx.com/3.新建独立页面,引入如下代码:
!!! <iframe style="max-width: 100%" frameborder="no" border="0" marginwidth="0" marginheight="0" width="100%" height="600px" src="https://313390.xyz/map/index.html"> </iframe> !!! -
4.收工,访问新建的独立页面即可。
阅读剩余部分 →
调整Mac book中Launchpad启动台的行、列数量
具体办法:
打开终端,复制并执行以下4行命令:
defaults write com.apple.dock springboard-columns -int 12
defaults write com.apple.dock springboard-rows -int 8
defaults write com.apple.dock ResetLaunchPad -bool TRUE
killall Dock
说明:
以上每行的含义:
1、调整每一列显示图标数量,9表示每一列显示9个,数字部分可根据个人喜好进行设置。
2、调整多少行显示图标数量,这里我用的是6,数字部分你也可以改成8或其他
3、重置Launchpad
4、重启Dock
恢复默认设置的方法,在终端Terminal中执行以下4行命令(全部复制):
阅读剩余部分 →控制typecho首页不显示全文,只显示摘要的方法
虽然在Typecho的文章撰写里面可以使用
<!--more-->
来控制首页显示文章的内容,但有时候码完字后忘记添加了又需要进去编辑添加。为了能达到一劳永逸的效果,以下将采用修改Typecho模版来实现全局控制文章显示的内容:
阅读剩余部分 →为typecho文中代码增加一键复制功能
Update header.php,add codecopy,eg:
vi /var/www/typecho/usr/themes/single/header.php
在header之前增加如下js脚本:
<script>
// 在代码块右上角添加复制按钮
document.addEventListener('DOMContentLoaded', initCodeCopyButton);
function initCodeCopyButton() {
function initCSS(callback) {
const css = `
.btn-code-copy {
position: absolute;
line-height: .6em;
top: .2em;
right: .2em;
color: rgb(87, 87, 87);
}
.btn-code-copy:hover {
color: rgb(145, 145, 145);
cursor: pointer;
}
`;
const styleId = btoa('btn-code-copy').replace(/[=+\/]/g, '');
const head = document.getElementsByTagName('head')[0];
if (!head.querySelector('#' + styleId)) {
const style = document.createElement('style');
style.id = styleId;
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
}
callback();
};
function copyTextContent(source) {
let result = false;
const target = document.createElement('pre');
target.style.opacity = '0';
target.textContent = source.textContent;
document.body.appendChild(target);
try {
const range = document.createRange();
range.selectNode(target);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
document.execCommand('copy');
window.getSelection().removeAllRanges();
result = true;
} catch (e) { console.log('copy failed.'); }
document.body.removeChild(target);
return result;
};
function initButton(pre) {
const code = pre.querySelector('code');
if (code) {
const preParent = pre.parentElement;
const newPreParent = document.createElement('div');
newPreParent.style = 'position: relative';
preParent.insertBefore(newPreParent, pre);
const copyBtn = document.createElement('div');
copyBtn.innerHTML = 'copy';
copyBtn.className = 'btn-code-copy';
copyBtn.addEventListener('click', () => {
copyBtn.innerHTML = copyTextContent(code) ? 'success' : 'failure';
setTimeout(() => copyBtn.innerHTML = 'copy', 250);
});
newPreParent.appendChild(copyBtn);
newPreParent.appendChild(pre);
}
};
const pres = document.querySelectorAll('pre');
if (pres.length !== 0) {
initCSS(() => pres.forEach(pre => initButton(pre)));
}
};
</script> 阅读剩余部分 →
acme网站证书更新
/root/.acme.sh/acme.sh --upgrade
/root/.acme.sh/acme.sh --renew-all
如果你的服务器有多个网站的SSL证书,而你只想更新其中一个网站的SSL证书,可以使用“-d 域名”参数,例如
/root/.acme.sh/acme.sh --renew -d domain
二、自动更新
-
1.编写自动更新脚本,将更新后的证书替换nginx中使用的证书
#!/bin/bash # 定义变量 ACME_HOME="/root/.acme.sh" CERT_TARGET_DIR="/etc/nginx/ssl" NGINX_SERVICE="nginx" # 停 Nginx echo "Stoping Nginx service..." systemctl stop "${NGINX_SERVICE}" # 更新所有证书 echo "Updating all certificates..." "${ACME_HOME}/acme.sh" --cron --home "${ACME_HOME}" if [ $? -eq 0 ]; then echo "Certificates updated successfully. Processing each domain..." # 遍历所有域名目录 for domain_dir in "${ACME_HOME}"/*_ecc; do if [ -d "${domain_dir}" ]; then # 获取域名 domain_name=$(basename "${domain_dir}" | sed 's/_ecc$//') # 检查证书和密钥是否存在 cert_file="${domain_dir}/fullchain.cer" key_file="${domain_dir}/${domain_name}.key" if [ -f "${cert_file}" ] && [ -f "${key_file}" ]; then # 确保目标目录存在 target_dir="${CERT_TARGET_DIR}/${domain_name}" mkdir -p "${target_dir}" # 拷贝证书和密钥 cp "${cert_file}" "${target_dir}/fullchain.cer" cp "${key_file}" "${target_dir}/${domain_name}.key" echo "Certificates for ${domain_name} copied to ${target_dir}." else echo "Certificate or key file missing for ${domain_name}. Skipping." fi fi done # 重启 Nginx echo "Restarting Nginx service..." systemctl restart "${NGINX_SERVICE}" if [ $? -eq 0 ]; then echo "Nginx restarted successfully. Certificates are now active." else echo "Failed to restart Nginx. Please check the configuration." fi else echo "Failed to update certificates. Check acme.sh logs for details." fi -
2.手动执行测试
阅读剩余部分 →
修改系统配置和v2ray配置支持fast-open和udp-relay
查看系统是否支持fast-open
sysctl net.ipv4.tcp_fastopen
备份配置文件
cp /etc/sysctl.conf /etc/sysctl.conf.bak
vi /etc/sysctl.conf
新增支持fastopen conf
net.ipv4.tcp_fastopen = 3
应用设置
sysctl -p
2.修改v2ray支持fastopen
vi /etc/v2ray/config.json
修改进站支持udp
{
"port": ****,
"protocol": "dokodemo-door",
"settings": {
"address": "0.0.0.0", // 捕获所有地址的 UDP 流量
"port": 0, // 捕获所有端口的 UDP 流量
"network": "udp", // 指定网络类型为 UDP
"timeout": 0, // 超时时间,0 表示不超时
"followRedirect": true // 允许重定向
}
}
修改出站支持fastopen
阅读剩余部分 →debian&ubuntu info
1.修改nginx欢迎页,一般默认路径为/usr/share/nginx/html/index.html
by:onedrive/myser/index.html
2.通过nginx代理静态文件,使用python上传文件:
by:onedrive/myser/upload_service.py
3.v2ray info
by:onedrive/myser/v2ray/*
阅读剩余部分 →mac下mysql8.0重置root密码
1.进入安全模式
cd /usr/local/mysql/bin
sudo su
./mysqld_safe --skip-grant-tables &
**2.
再次启动一个新的终端(之前那个放着不动)**
mysql
use mysql
UPDATE user SET authentication_string='' where user='root';
flush privileges;
3.设置新密码
mysql -uroot -p
use mysql
alter user 'root'@'localhost' identified by '你期望的新密码';
flush privileges;
4.新密码测试
mysql -uroot -p
5.重启 MySQL 服务
阅读剩余部分 →Oracle cloud申请与R探长抢实例---后续
脚本一直抢不到,在tg群中得知,需要等待放水,昨天账号升级成功,收到oracle官方邮件后,脚本自动抢机成功
上周升级账号失败,这周重试,唯一区别就是本周使用chrome的无痕模式升的级,其它一切不变,卡使用的是申请时候的实体卡,这周升级一次成功提交申请,上午申请下午4点左右收到官方升级成功的邮件通知。
mark一下。
阅读剩余部分 →