博文

GCP快照体积特别大

图片
今天遇到个莫名其妙的问题,GCP做出来的快照特别大。 实际使用不到2GB的VPS,做出来快照有26GB。 解决方案:创建一个全为0的超大文件,用于填满剩余空间,再删除。 参考  https://blog.csdn.net/cywosp/article/details/9674757 在命令行执行: dd if=/dev/zero of=test bs= 100M count= 200 rm -f test 黄色部分 * 绿色部分 就是生成文件的总大小,根据实际情况来计算,要把剩余空间填满。但是 黄色部分 不能超过你目前的可用内存,否则命令执行不了。 再创建快照,占用空间就比较合理了。 ========= 后记 ========= 推测GCP的快照是根据硬盘物理bit来做的,而删除文件的时候只是在文件系统里做了标识,硬盘上物理的bit并没有清零。 对比Bandwagon的快照,应该是在文件系统层面做的,删除了的文件没有算到快照里去。

GCP 拷贝到 OneDrive 属于美国流量 $0.12/GB

图片
想看一下GCP拷贝到OneDrive属于什么流量? 是China,还是APAC,还是美国。GCP对于不同区域的出站流量,收费标准不一样。 测试结果 美国流量 $0.12/GB 测试了一下传输到OneDrive的速度。用GCP 30GB HDD的实例,大约2~3MB/s,也就是说拷贝一个5GB的文件需要大约半个小时。和GCP标称的读写速度相差不多。 但是上传到GoogleDrive和从GoodleDrive下载的速度非常之快,大约30~40MB/s。 ========= 用time命令计算执行时间,就是在你本来要执行的命令前面加上time 如 time rlcone copy "gdrv:xxx/xxx/xxx.mp4 1drv:" 输出的结果类似下面这样。关心real这一项就好。 real 2m27.154s user 0m17.664s sys 0m9.472s

想让Linux系统启动时执行一些命令

之前搭了个Xfce+VNC的环境,做了个快照保存。每次要用的时候,从快照创建了实例,还要终端登进去跑一句 vncserver -geometry 800x600  建一个vnc。 我想把它自动化,启动系统的时候自动执行。 参考: https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html 在/lib/systemd/system目录,创建一个 open1vnc.service,内容如下: [Unit] Description=Open 1 vnc [Service] User=root Group=root Type=oneshot ExecStart=/usr/bin/vncserver -geometry 800x600 ExecStop=/usr/bin/vncserver -kill :1 RemainAfterExit=yes [Install] WantedBy=multi-user.target 用这条命令让它在系统启动时执行。 systemctl enable open1vnc

Caddy开HTTPS套CDN,转发给Aria2

图片
-update- Caddy 现在是v2了,配置文件的语法有些变化。请见: https 或 wss 链接 CDN 后面的 aria2 用自定义path躲避扫描探测 -以下是Caddy v1的做法 之前 让Aria2支持HTTPS ,要搞证书什么的一大套操作,还要改端口才能走CDN。 在Telegram上,看到一张ngix转发流量给Aria2的图。于是想到,可以用Caddy来处理HTTPS的部分,再转发给Aria2的时候就不用Websocket了 VPS上放一个AriaNG的index.html,再把/jsonrpc的流量以HTTP转发给Aria2。 Caddyfile写这样: 域名.com {     tls 1234567890@gmail.com     gzip     root /usr/local/caddy/www/file/     proxy /jsonrpc http://127.0.0.1:6800 } 效果就是原来的http://IP地址:6800和https://域名:443都可以使用。CDN也是可以开的。 给Aria2开CDN的好处是,如果你是一台VPS同时做了梯子和Aria2的离线下载,万一VPS的IP被封了,还可以通过域名访问Aria2离线下载。

Caddy用service启动时报错read-only

图片
今天又遇到 以前碰到过 的一个奇怪的问题:Caddy跑起来效果很奇怪。 我在Filemanager里面指定了.db文件,Caddy的status报错说文件为read-only。 我不指定.db文件让Filemanager自动生成,Caddy能跑起来了,但是用Filemanager去管理Aria2的下载目录/usr/local/caddy/www/aria2/download/ 总是报错,就像下面这样 同样的命令(下图标记部分)在cmdline执行,一点问题也没有。Filemanager功能一切正常。 查了各种文件的属性,用chmod chown chgrp改来改去,还是不解决问题。 最终在Telegram上面, Newlearner 大佬指了一条路   https://caddy.community/t/problem-with-filemanager-plugin-and-systemd/3900/5 ,看过之后,再结合其它资料  https://www.cnblogs.com/goldd/articles/5756942.html 解决方案如下: 1. 如果想粗暴一点解决问题,或者还想用Filemanager管理更多目录的话,在/lib/systemd/system/caddy.service里面把 ProtectSystem 设置为off ; Make /usr, /boot, /etc and possibly some more folders read-only. ProtectSystem=off 2. 我的Filemanager只是用来管理Aria2下载的文件,所以我选择修改 ReadWriteDirectories ,添加一些目录(空格分隔)红色部分是我添加的。 ; … except /etc/ssl/caddy, because we want Letsencrypt-certificates there. ;   This merely retains r/w access rights, it does not add any new. Must still be writable on the host! ReadWriteDirectories=/etc/ssl/caddy /u

修改hosts 解决 DNS 污染的问题

图片
用 DNS over HTTPS 或者 DNSCrypt是比较稳定的做法,但是速度太慢。确实,本身走的就不是一条最快的路。 偶尔遇到DNS污染的话,还可以通过修改Hosts的办法解决。真实的DNS解析,可以用 dns.google.com 查询。 以doubimirror.cf举例 在dns.google.com查询doubimirror.cf,以最后一次为准,得到的是  104.28.25.245 以管理员身份运行记事本 如果没有显示这个选项,你需要点击一下下拉按钮 用菜单打开 C:\Windows\System32\drivers\etc\hosts 文件 *注:以管理员身份运行的程序都不支持拖放,你以管理员身份运行notepad++/ UE也是一样的。只能通过菜单打开。 在hosts文件末尾添加 104.28.24.245  doubimirror.cf   (IP地址和域名之间加多少个半角/英文空格随便你) 保存hosts文件,然后去刷新浏览器吧!

脚本修改Caddyfile,显示Aria2的rpc密钥

之前搭了一个GCP的VM环境,做好了快照。有需要的时候,新建一个VM实例下载,用完了就删除VM实例。 这样每次建好快照以后,都要去修改Caddyfile里的IP地址。 写了个小脚本来修改Caddyfile的IP地址,再显示一下Aria2的rpc密码,方便填写到AriaNG页面上去。 #!/usr/bin/env bash caddyfile="/etc/caddy/Caddyfile" aria2_conf="/root/.aria2/aria2.conf" read -p "输入VPS的IP地址:" vps_ip if [[ ! -e ${caddyfile} ]]; then echo -e "Caddy 配置文件不存在 !" && exit 1 fi sed -i '1 c '${vps_ip}':80 {' ${caddyfile} service caddy restart if [[ ! -e ${aria2_conf} ]]; then echo -e "Aria2 配置文件不存在 !" && exit 1 else conf_text=$(cat ${aria2_conf}|grep -v '#') aria2_passwd=$(echo -e "${conf_text}"|grep "rpc-secret="|awk -F "=" '{print $NF}') fi echo "Aria2的rpc密码: ${aria2_passwd}" 其中 sed -i ' 1 c xxxxxx ' ${caddyfile} 的意思就是把第 1 行 改写 为 xxxxxx Caddyfile可以写成这样 localhost:80 {        #第一行写什么不重要,反正会被init.sh脚本修改掉     gzip     root /usr/local/caddy/www/fi

The Hot3 in Last 30 Days