2024.03主机相关的帖子、视频

1、讨论:原生iP是什么

2、网站使用CloudFlare SAAS 优选教程

3、【推荐】各VPS官方Telegram群组和频道

4、【不懂就问】许多人的小鸡系统为啥偏好debian11?debian12已经出来这么久了

5、mjj都是怎么知道各家上游是谁的

6、2024年3月5日Linux 一键dd脚本更新,更新Fedora 39支持,适用于大部分VPS主机和部分独立服务器

7、[教程]用vps搭建一言api接口

8、ipv6 only 套warp获得ipv4地址后的疑问

9、富婆是谁?为什么叫富婆

10、自建对象存储 MinIO - 构建高效可靠的数据存储系统

11、CMI线路指的是什么

12、原来我已经使用过这么多带线路优化的VPS主机商

13、为啥国内的服务器的带宽贵如金?

14、为什么国外VPS带宽基本都是1Gbps起步,而中国VPS基本都是1M起步呢?中国的带宽真的这么贵吗?

15、【持续更新】DD系统总结贴

16、论坛里有哪些牛b的技术大佬的博客

17、[接口分享👍] 谷歌翻译接口API,中英互翻,自动识别多国语言,已稳定两年有余

18、有没有方法把几个订阅链接合并成一个?

19、橘子公益云免费节点:https://sub.5112233.xyz/auto

20、substore相关教程

21、一行命令降低v6出站优先级

22、正向代理和反向代理

23、第一届“最美哪吒面板”大赛正式开始!

24、【“桂港专线”】【教程ipv6only】利用socat一键国内鸡转发脚本

25、/usr/bin vs /usr/local/bin on Linux

26、小白都会的dns解锁 傻瓜式教学

27、哪吒监控主题之世界地图

28、【一键脚本】Realm 转发,只要有手就行

29、VPS剩余价值计算器 V5.0

30、[InternetIncome]闲置小鸡利用方案:一个脚本装上所有挂机项目

31、[分享]一键脚本-帮小鸡安装常用软件与环境(oh-my-zsh, omz-plugins, fd, bat, lsd,等)

32、全能机器人框架 -- Koishi -- 示例搭建 Telegram 与 Discord 互通机器人

33、【分享】Gost 基础转发和内网穿透

34、还是给简单普及一下中转-入口-落地鸡这个概念

35、替换clash的测速网址

36、有关clash中的url-test地址

37、不同国家的TG功能有什么区别吗

38、一些vps界的梗图

39、【刷 WARP IP】 - 为 WARP 解锁流媒体而生

40、[脚本]防止绿云cpu占用超30%关机

41、酒神识别骗子BOT部署教程

42、测试vps或独服的各种脚本集合

43、中国移动墙中墙解决方案

44、[Windows VPS] 为什么移动宽带要做墙中墙?意义何在?

45、Linux服务器开启bbr,关闭IPv6的两条命令

46、Personal file hosting

47、阿里云抢购香港24脚本

48、纯 IPv6 LXC 容器不完全使用指北

49、reality既然可以偷别人,那么也会被偷吗

50、又一个cf优选ip监测工具,优点:三网、24小时不间断监测

51、Which free control panel is the best?

52、[Hoyoverse Network]IPV6一键优选脚本

53、Docker 搭建镜像更新提醒服务 diun

54、【超详细教程】通过油猴脚本实现在NodeSeek里添加自己喜欢的表情包,支持手机电脑端!

55、【locnode: a light federated host community based on LET and serverless discuss】how deploy it on cf

停止更新,后续每天的主机链接等内容,分享至个人论坛。

2024.02主机相关的帖子、视频

1、warp / warp-go 一键脚本 --- 祝贺顺利迁至GitLab,愿您在新的平台上获得所期望的一切!

2、cloudflare的dns服务器

3、Running GB5 benchmark test... cue elevator music 啥意思?

4、mjj祖训

一鸡一号,一鸡一邮。

5、原生ip

6、买鸡指南

7、买鸡新人忠告

8、[疑问] 草泥马 VMShell 祝你家早日倒闭

9、[教程]IP被送中的解决办法

10、电信官方CN2 DNS

11、注意Paypal付款的坑点:Paypal兑换汇率。

12、apkpure有中国公司背景,建议使用apkmirror。

13、aws ligtsail免费换ip方法:

14、家人们,如果只能留下两台小鸡,你的选择是?

15、有V6也是三网优化的鸡吗

16、vps新机一条龙配置

17、现在你们都用什么面板?

18、我买遍了具有CN2GIA优化线路VPS的国家,点亮全球!

19、【教程ipv6only】利用socat一键国内鸡转发脚本

20、请问一下大家ping,https和真连接延迟这三个到底是啥

21、ipv6大小写不敏感。

22、Jinx/Cera/Xtom/Cloudie目前市面上常见的CMI对比,杠精闭嘴

23、不懂就问:阿里云内网流量要钱吗

24、国区的PayPal与外区的PayPal有什么区别?

25、建议永久拉黑国外 vps 提供商:绿云(greencloudvps)

26、OpenVZ/LXC dd技术来啦,OpenVz/LXC一键重装系统脚本发布

27、「不懂就问」 LXC怎么dd一个纯净的系统

28、查看系统资源占用工具:top或者htop。

2024.01主机相关的帖子、视频分享

1、Any server providers in Antarctica?

2、关于油管送中

向谷歌报告油管送中问题:https://support.google.com/websearch/workflow/9308722

3、【以debian为例】IPv6 LXC安装哪咤监控agent的无脑follow教程【wap HK年付一刀适用】

4、寶塔 Linux 面版 8.0.5 開心版 - 2024年1月12日

5、闲置小鸡流量挂机 packetstream/traffmonetizer/repocket/earnfm 教程经验及收益对比

6、Windows 激活脚本

7、幻兽帕鲁服务器一键搭建脚本

8、小红卡(RedotPay) : 可以匿名使用的香港加密货币VISA信用卡

9、一般Windows在线激活密钥哪里有获取的?

10、搭建最新的VLESS Vision和VLESS Reality防止VPS端口封禁

11、用送中ip看油管有什么弊端吗

12、冲,32G 永久免费NextCloud网盘,支持webdav,可挂载到vps

13、NodeCheck (Beta) - Status Page, Server Monitor, DNS and Domain project

14、Hosting your own authoritative DNS: yay or nay?

15、Enable IPv4 Access in EUserv IPv6-only VS2-free

16、IPv6 only VPS ... setting up IPv4 connection

17、Where is that free large file hosting service?

18、How Private is Your Hosted Data, Really? Even That Encrypted Stuff...

19、LowEndLore: A Community Glossary for the Confused

2023.12主机相关的帖子、视频分享

1、搭建最新的VLESS Vision和VLESS Reality防止VPS端口封禁

2、从 V2Ray 到 Xray 的体验之旅

3、V2Ray、Trojan、XRay

4、XTLS Vision解决TLS in TLS问题

5、Get Started with Yabs

6、Command Line Corner

7、保护你的小鸡! VPS 安全探讨分享

8、聊聊LowEndTalk官网的反爬虫策略

9、Zgo硬件知识大普及——AMD EPYC 服务器CPU,什么是7002、7003、9004?

10、Cloudcone VPS DC1 vs DC2

11、[疑问] 纯ipv6小鸡一些折腾经验

12、Docker Hub 国内镜像设置方法,解决Docker镜像拉取失败

13、OneNav一为主题源码+绕过授权方法

14、给圣诞老人打个电话吧

15、远程Win VPS防爆破建议

2023.11主机相关的帖子、视频分享

1、一键删除平台监控

via

2、Best FREE CP solution for my vps

3、VPN for China visit

4、Best software: backup

5、【脚本收集】常用脚本大全

6、【科普】探究什么才是真正的高配、高质量VPS

7、如何在 Linux 中监控用户活动

8、如何在 Bash 脚本中添加注释

9、[小白入门科普] 服务器行业黑话大全 持续更新中.......

10、全自动购买绿帽子云特价机器 也可以自己改下抢其它WHMCS的机器

11、浏览器虚拟化 Linux/Windows

12、[美国VPS] 写了⼀天的教程!⽤ Clash relay 拯救被封⼩鸡!

13、了解国内到国际网络,并检测VPS线路

14、【关于高品质网络线路的一些知识】IPLC专线和IEPL线路是什么意思?IPLC和IEPL区别是什么?IPLC和IEPL专线哪个好?

15、搬瓦工和hytron提供chatgpt的dns解锁

16、chatgpt安卓苹果解锁方法

17、2023黑五如何买到好鸡鸡?看这一篇就够了

18、[玩转Docker系列] 1.如何删除 Docker 镜像和容器?

19、Common methods to benchmark a Linux VPS?

20、香港线路介绍

21、网上找来的各种脚本

22、Linux一键重装支持Debian 12,Ubuntu 22.04,史上最强

23、黑五大盘鸡购买事项

24、[教程]手把手教你安装哪吒探针

25、求alpine哪吒教程

26、Interview: Q&A with MXroute Owner Jarland Donnell on Email Delivery, the Hosting Industry and a look back

27、Linux代理 加速:apt 和 Docker 的解决方案

28、搞了个NodeBench,方便坛友发表测评文章

29、【讨论】什么样的vps测评是优质测评贴

30、中国三大电信运营商国际网络互联相关资料

31、史上最强,支持 Debian 12 raid 0 Ubuntu 24.04(测试中);512MB 内存安装 AlmaLinux/RockyLinux;CentOS 9 Fedora 39 AlpineLinux Kali Linux Windows 重装程序功能更新、bug反馈贴(长期更新)

32、一键虚拟化项【专门用于vds开vps】

33、dmit ip被墙,每15天免费更换一次ip。dmit的v6回程也是优化线路。

2023.10主机相关的帖子、视频分享

1、各大国外doh dns测试及可用性整理

2、Why do you prefer PayPal as opposed to card/ACH?

3、服务器上 speedtest 测速

4、利用VPS挂机赚钱项目汇总

5、How To Change RDP Port on a Windows VPS

6、常用的一些在线ping检测的网站

7、教程,检查自己的kvm内存有没有被超售

看内存超售的方法:

8、保护你的小鸡! VPS 安全探讨分享

9、请教下(顺利征集整理)大家,rDNS服务和25端口,VPS各商家是否支持?

10、国内到国际的各种线路(VPS国际线路大全)github版本

11、[NFD] 基于cloudflare worker的电报私聊机器人,集成骗子提醒功能

12、新手如何搭建私有订阅转换API

13、全自动购买绿帽子云特价机器 也可以自己改下抢其它WHMCS的机器

14、mjj nodeseek发帖指南

15、最好的 OpenWrt 路由器 shadowsocks 自动翻墙、科学上网教程

16、How To Configure Proxmox To Automatically Backup Your Virtual Machines Remotely (Proxmox Backup Server Tutorial)

17、is Location is really an Important One ?

2023.09主机相关的帖子、视频分享

1、GB跑分

2、使用iptables进行流量转发

3、Visual Studio Code Remote SSH 配置总结

4、日本软银VPS – 联通最佳线路选择之一

5、How to Update Debian Automatically: No Muss, No Fuss, Not At All Sus

6、What are you reading these days? (Low End news, Dijkstra, Fedora, FILE type in C, Vim, Zhuangzi)

7、How to Create and Display QR Codes From Shell Scripts

8、Using Google Authenticator for SSH and Console Connections to Your VPS

9、10 个在 Linux 终端中生成有趣的 ASCII 字符画的工具

10、[教程]Google One V P N搭建方法,实现任意设备在任意网络下畅通使用Google One V P N

11、史上最强,支持Debian 12 raid 0 Ubuntu 22.04 AlmaLinux/RockyLinux/CentOS 9 Fedora 38 AlpineLinux Kali Linux和Windows一键重装脚本功能更新,bug反馈贴(长期更新)

12、机场大全

13、Linux服务器开启bbr,关闭IPv6的两条命令

14、Linux 终端挂代理,分享两种方法

15、21 个专业 Linux 用户喜爱的实用终端快捷键

16、arm vs AArch64 vs amd64 vs x86_64 vs x86:有什么区别?

2023.08主机相关的帖子、视频分享

1、求推荐便宜的中转

2、除了NNR,还有哪些转发商家呢?常见的转发一般哪里买的?

3、v2ray大面积被封解决方案

4、【干货】教你如何获得一个南极ip

5、ASN 注册指南 - RIPE NCC 篇 [教程向]

6、GlobalVM 朝鲜 NAT VPS 测评

7、GlobalVM 朝鲜IP NAT VPS 简单测评及使用教程

8、解决Docker Hub国内无法访问方法汇总

9、检查域名有没有被墙,被污染,被反诈的几个网站

10、两个查源站IP有没有泄露的网站

11、求扩散❗❗📣普通人也能看得懂的最新河南GFW模式科普及应对方案❗❗❗

12、关于河南GFW的新模式科普以及应对方案

2023.07主机相关的帖子、视频分享

1、[OVH/Hetzner] Which one would you keep?

2、ssh 登陆服务器是用密码还是密钥?

3、服务器是普通用户登陆还是直接root用户登陆?

4、vps到期了不续费释放,会被商家窃取数据嘛?

vps到期了不续费释放,会被商家窃取数据嘛?

5、大家退出服务器用啥命令?

6、说说CF的各类证书

7、测试CPU跑分

8、有没有大佬详细科普下HK的线路

9、细数国内到国际的各种线路(VPS国际线路大全)

10、国内至国际骨干Tier1 ISPs线路整理

2023.06主机相关的帖子、视频分享

1、去程、回程的重要性和区别

2、EDU邮箱注册Azure详细步骤

3、EDU邮箱认证方式注册Azure详细步骤

4、提高安全意识, 不要使用默认端口/帐密 及 简单安全措施

5、【更新】一套稍微有点用的Cloudflare WAF规则

6、NAT小鸡食用方式

7、【总结】常见DDOS防御方案

8、【最新】免费版cloudflare如何防CC攻击?不需要动手写规则!

9、BT开心版汇总

10、debian升级脚本

11、When selecting a hosting provider, what factors are most important to you?

12、What DNS do you use ?

13、Why do people choose OpenVZ?

14、This VPS provider is actually a rapper?

15、How to test VPS?

16、sudo: command not found

17、为什么要选择美国VPS

18、What about lighttpd?

19、Google one vpn简易教程

20、网络科普:物理服务器、VPS、NAT VPS、VDS

21、nodeseek.com 你们认为是二级域名还是一级域名?

22、在外通过SSL VPN接入内部网络教程

23、建站的鸡开BBR有没有好处?

24、特殊的ip地址及其使用者

特殊的ip地址及其使用者

2023.05主机相关的帖子、视频分享

1、[不限流量] 9929线路和4837线路的比较

2、[疑问] WARP怎么在Zero Trust里设置出口为美国?

3、Difference between Openlitespeed and Litespeed

4、What are the free SSL certificate options?

5、The Great Firewall thread

6、Very weird behavior of Cloudflare Warp

7、不是 中转都死端口?

8、不懂就问系列 - (关于小白对GOST转发的意义有哪些?)

9、ddos和cc是什么原理 怎么可以攻击别人

10、云电脑怎么玩?

11、整理一些免费白嫖的VPS(欢迎补充)

12、有趣的域名玩法

curl release.zip
fuckme.dad
wode.dad

13、【讨论】小鸡如果有的选,你们是选1C2G还是2C1G

14、cera是国人商家吗

15、科学上网软件汇总指南

16、分享下自己看视频常用的网站及相关资源

17、[小白入门科普] 服务器行业黑话大全 持续更新中.......

18、Ubuntu系统内开放所有端口的命令,100%成功

19、收集了几个发帖可以用的免登录图床

20、google.com跳转解决办法

21、魔法上网一键脚本指南

2023.04主机相关的帖子、视频分享

1、Free DMCA Ignored File Hosts

2、cloudflare为啥可以提供这么多免费服务他不怕被薅倒闭嘛

3、落地鸡什么意思

4、Debate time: What is more important? Low ping OR Low Hops?

5、I want to install a virtual browser/desktop environment that is accessible in the browser / neko

6、What would happen If you put a server on the moon

7、In general, do VPS providers block port 25? Any tools to detect spam?

8、Gwhois.org gone, any alternative

9、综合速度测试脚本 | network-speed.xyz

10、Yall know some good domain registars?

11、Firewall with Docker on Ubuntu

12、Database as a service

2023.03主机相关的帖子、视频分享

1、帖子

2、视频

DNS学习笔记

1、添加一个DNS服务器

# 将DNS服务器设置为8.8.8.8,并将其添加到/etc/resolv.conf文件中
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

2、国内的DNS

注:服务器上的 resolver 尽量不要用 Cloudflare 的 DNS 1.1.1.1,会严重影响速度。建议还是使用 Google 的 8.8.8.8。via

ip相关的知识

1、获取本机ip的方法

SSH学习笔记

1、允许root账户ssh登录(不推荐)

# 以管理员身份登录到系统中,使得后续的操作能够获得更高的权限。
sudo -i
# 更改当前用户的密码
passwd
# 编辑SSH 服务的配置文件
vi /etc/ssh/sshd_config
# 允许 root 用户通过 SSH 登录系统
PermitRootLogin yes
# 许通过密码方式进行身份验证
PasswordAuthtication yes
# 重启 SSH 服务,使得上述修改生效
systemctl restart ssh

2、公私钥免密登录远程服务器

ssh登录不去写用户名,默认就是以当前用户。

ssh免密登录的流程

ssh免密登录服务器的流程:

  • 本地生成公私钥

  • 将本地生成的公钥添加到需要免密登录的服务器的authorized_keys文件夹中。

注:windows机器最好使用git bash操作。

# 使用 ssh-copy-id 命令将 SSH 公钥复制到远程服务器
ssh-copy-id -i C://Users//gujia//.ssh//id_ed25519.pub -p 22 [email protected]

注:进行更换端口操作时,一定要注意ufw是否已经放行相关端口,避免被自己到时候进不去的尴尬境地。

以下方法复制服务器上的私钥到本地的做法不推荐。

# 使用 ed25519 算法生成一个 SSH 密钥对,其中 -C 选项用于添加一个注释,方便您识别该密钥对。
ssh-keygen -t ed25519 -C "bandwagon gt server key"
# 创建 ~/.ssh/ 目录并将其权限设置为 700,以确保只有文件所有者可以读取和修改该目录。然后,创建一个空的 authorized_keys 文件,并将其权限设置为 600,以确保只有文件所有者可以读取和修改该文件。
mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
# 刚刚生成的公钥文件 id_ed25519.pub 的内容追加到 authorized_keys 文件中,从而允许使用该密钥进行 SSH 登录。
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
# 使用SFTP将生成的私钥下载到本地电脑上,私钥文件名可以重命名。
# 如我将banwagon dc3机房的cn2 gtvps的私钥下载到本地windows电脑的~/.ssh文件夹里面,
# 并重命名为bandwagon_gt,接着在config文件中添加IdentityFile字段,指定了私钥路径。
# 接着便可以不输入密码ssh连接远程那台vps了。
# 注:若修改了ssh端口号,则需要修改~/.ssh/config中的Port字段。
Host bandwagon
    HostName 104.243.18.115
    Port 23456
    User root
    IdentityFile ~/.ssh/bandwagon_gt
# 编辑SSH 服务的配置文件
vi /etc/ssh/sshd_config

#PubkeyAuthentication yes
# 启用公钥身份验证
PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
# 指定用于公钥身份验证的授权密钥文件的位置
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
# 禁用基于密码的身份验证
PasswordAuthentication no
# 重启 SSH 服务,使得上述修改生效
systemctl restart sshd
# 编辑SSH 服务的配置文件
vi /etc/ssh/sshd_config
# 修改SSH服务的端口号为2222
Port 2222
# 重启 SSH 服务,使得上述修改生效
systemctl restart sshd

3、相关资料

4、ssh不频繁断连的方法

# 修改 SSH 服务器端的配置文件
vim /etc/ssh/sshd_config
# ClientAliveInterval 30: 表示服务器每隔 30 秒向客户端发送一次心跳
ClientAliveInterval 30
# 允许连续 2 次心跳失败。如果超过这个次数,服务器将关闭连接。
ClientAliveCountMax 2
# 重启名为 sshd 的服务
systemctl restart sshd

客户端可以去相应软件中设置Keepalive Interval数值。

客户端Keepalive Interval

5、验证ssh能成功连接github的命令

ssh -T [email protected]

6、SSH连接到一个新主机时,显示RSA指纹

解压缩命令学习笔记

1、unzip命令

# 将名为archive.zip的压缩文件解压缩到/home/user/my_folder
unzip archive.zip -d /home/user/my_folder

2、tar命令

# 用于在 Linux 系统中解压缩一个名为 example.tar.gz 的 tar.gz 文件,并将解压后的文件放置在 /root/xxx 目录下
# -C 选项不会自动创建目标目录。如果指定的目录不存在,命令会执行失败并显示一个错误消息。
# 因此,在使用 -C 选项之前,请确保目标目录已经存在。
tar zxvf example.tar.gz -C /root/xxx
# 以example文件夹创建压缩包
tar czvf example.tar.gz /root/example

3、zip命令

# 将一个文件夹及其里面的所有文件和子文件夹压缩为一个zip文件
zip -r example.zip example/

arch学习笔记

1、 arch linux安装软件发现了一个未知信任的签名,这可能是由于密钥环不完整或缺失某个关键的签名导致的。

解决方法:

# 更新密钥环
pacman-key --refresh-keys
# 刷新主要密钥
pacman-key --populate archlinux
# 安装软件
# -S是sync的缩写
pacman -S unzip
# 当你使用pacman -S命令时,你在告诉软件包管理器从远程软件仓库同步并安装指定的软件包。这会确保你获取到最新版本的软件包。

2、在arch linux上,pacman是默认的包管理器。

# -S(sync)表示同步软件包
# -y(refresh)表示同步包数据库(相当于 apt update)
# -u(upgrade)表示将更新所有已安装的软件包到最新版本(相当于 apt upgrade)
pacman -Syu

3、遇到一些软件包签名问题,导致系统无法正常升级,解决方案:

# 同步并安装最新的 archlinux-keyring 包。archlinux-keyring 包含了 Arch Linux 的官方密钥,
# 用于验证软件包的签名。这个命令可以确保您的系统拥有最新的密钥,以便验证软件包的签名。
pacman -Sy archlinux-keyring
# 执行系统的完全升级
pacman -Syu

4、/dev/fd/63: line 1862: nslookup: command not found报错的解决方案

# 更新镜像列表和软件包数据库
sudo pacman -Syy
# 更新系统
sudo pacman -Syu
# 安装bind-tools包,里面包含了nslookup工具
sudo pacman -S bind-tools

5、archlinux安装tailscale

官方文档

centos7学习笔记

1、安装2.x的git

# 用 YUM 包管理器直接从给定的 URL 安装名为 "endpoint-repo" 的第三方软件仓库
yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
# 使用 YUM 包管理器从已配置的软件仓库(包括刚刚安装的 "endpoint-repo")中安装 Git。YUM 将在所有可用软件仓库中寻找最新版本的 Git 并安装它。如果系统中已经安装了旧版本的 Git,这个命令会更新 Git 到最新版本
yum install git

参考资料

2、EPEL是啥?

alma linux学习笔记

1、更新软件包和软件库

dnf update -y

ubuntu学习笔记

1、ubuntu系统升级

# 检查 /boot 分区的空间使用情况
df -h /boot
# 查看当前正在使用的内核版本
uname -r
# 查看所有安装的内核版本
dpkg --list | grep linux-image
# 删除旧的内核版本
sudo apt-get remove linux-image-5.4.0-139-generic
sudo apt-get remove linux-image-5.4.0-128-generic
# 删除所有已经被标记为不再需要的软件包,包括旧的 Linux 内核
sudo apt autoremove
# 清理掉系统下载的所有 .deb 包文件,以释放硬盘空间
sudo apt clean
# 重启系统
reboot

# 安装了 update-manager-core 包,这是 Ubuntu 发行版升级的核心工具
sudo apt install update-manager-core
# 更新了你的系统的包列表,然后升级了你系统中的所有包到最新版本。
sudo apt update && sudo apt dist-upgrade
# 重启系统
reboot
# 启动了 Ubuntu 的版本升级进程
sudo do-release-upgrade

# 为了防止 SSH 会话在系统升级过程中断开,Ubuntu 提供了一个备用方案:在升级过程中,将在 '1022' 端口启动一个额外的 SSH 守护进程(daemon)。
# 这意味着如果你的当前 SSH 会话断开,你可以通过连接到 '1022' 端口来重新连接到系统。

# 添加开放1022端口规则
ufw allow 1022
# 删除开放1022端口规则
ufw delete allow 1022

参考资料:

2、apt upgrade和apt dist-upgrade的区别与联系

apt upgrade和apt dist-upgrade的区别与联系

3、显示安装的软件包的所有路径

# 显示安装了名为 xxx 的软件包的所有文件的路径。这对于理解软件包的内容和文件布局非常有帮助,
# 尤其是当您需要了解特定文件(如配置文件、日志文件等)的位置时
dpkg -L xxx

debian学习笔记

1、apt update && apt upgradeapt update && apt dist-upgrade两者的区别与联系

linux相关命令1

1、输出当前系统CPU的架构(以Ubuntu系统为例)

dpkg --print-architecture

2、修改了/etc/ssh/sshd_config文件后,重启ssh服务

systemctl restart ssh

3、查看VPS为哪款系统

# 显示当前系统的内核信息
uname -a
# 显示当前系统的发行版信息
lsb_release -a
# 显示当前系统的主机名和操作系统信息
hostnamectl

4、网络相关的命令

# 显示名为eth0的网络接口的状态和统计信息。
# 具体地,选项-s表示显示接口的详细统计信息,-h用于格式化输出,link show指示要显示网络接口的状态。
ip -s -h link show eth0
# 获取公共ip地址
curl ipinfo.io

5、linux查找命令

# 从根目录开始递归搜索所有文件和目录,查找文件名包含xxx的文件,并输出文件的完整路径
find / -name "*xxx*"
# 计算 Linux 文件夹中的文件数量
ls -p | grep -v / | wc -l

6、文件相关的命令

# 使用重定向符 > 将标准输出重定向到 filename 文件中,即将一个空字符串写入到该文件中,从而清空文件的内容
> filename
# 使用 truncate 命令将 test.txt 文件的大小截断为 0,从而清空文件的内容。该命令不会删除文件,只会清空文件内容
truncate -s 0 test.txt

7、linux新建用户

# 当您使用 adduser filebrowser 命令创建新用户时,如果没有指定 --gid 选项来指定要分配给用户的初始组 ID,
# 则默认情况下会创建与用户名相同的组,并将该组 ID 分配给新用户的 GID。
adduser filebrowser
id
su - filebrowser

8、删除用户

rm -r /home/filebrowser
deluser filebrowser
id filebrowser

9、查看磁盘空间

# 这个命令的意思是以人类可读的格式显示磁盘分区的空间使用情况,同时包括每个分区的文件系统类型。这对于了解磁盘空间使用情况和文件系统类型非常有帮助。
df -Th
# 以人类可读的格式汇总显示系统根目录下所有一级文件和目录的磁盘使用情况。
du -sh /*

10、查看当前目录下的文件大小

# 查看当前目录下的文件大小
# -l选项表示以长列表格式显示文件信息
# -h选项表示以人类可读的格式显示文件的大小
ls -lh
# 按降序排序显示当前目录下的文件大小
ls -lhS
# 按升序排序显示当前目录下的文件大小
ls -lhSr

linux相关命令2

1、清除swap缓存

# 关闭swap
swapoff -a
# 打开swap
swapon -a

2、更新软件包元数据,并将已安装的软件包升级到最新版本

apt update && apt upgrade -y

yum update -y

dnf update -y

3、提供了关于当前登录到系统的用户的信息

who

4、使用 && 符号表示只有当第一个命令成功执行后,才会执行第二个命令。

5、

# 重载systemd本身的配置
systemctl daemon-reload
# 重置 systemd 记录的所有失败服务状态
systemctl reset-failed

6、清空文件内容

> filename
# 将文件大小缩小至0字节。
truncate -s 0 filename

7、列出使用或监听该端口的所有进程的详细信息,包括进程ID、进程所有者、使用的协议等

lsof -i:端口号

8、bash的反向搜索

bash的反向搜索

9、linux中的user=root和user=noboday的区别

linux中的user=root和user=noboday的区别

10、systemctl查看服务状态,加.service和不加.service的区别

systemctl查看服务状态,加.service和不加.service的区别

1、linux中的w命令

w

2、pty和tts的区别

3、在终端进行export和在配置文件中添加export的区别

4、

# 查看Linux发行版的一些具体信息
lsb_release -a

5、linux中的^符号可以纠正错误。

via:https://selfh.st/newsletter/2023-09-29/

6、who命令

# 会列出所有当前登录到系统的用户,以及其他一些关于他们会话的信息
who

7、seq命令

# 生成从1开始到10结束的连续整数序列
seq 1 10
# 等宽输出,即在输出的每个数字前面添加必要的零,使所有数字具有相同的宽度
seq -w 1 10
# 生成的整数序列,从1开始,每次增加2,直到达到或不超过10为止。
seq 1 2 10

8、nl命令

在每一行前加上行号,显示文件的内容
nl test.txt

9、pwd的英文全称

print working directory。

10、linux目录、路径的注意点

  • linux系统对大小写敏感,因此Downloads和downloads会被识别为不同的目录。

  • cd命令只接收一个参数。

  • cd -命令会被带回到前一个目录,当在两个相隔较远的地方切换时非常方便,可以避免再次输入长路径。

  • 特殊目录符号

符号描述
.当前目录
..上级目录
~主目录
-前一个目录

1、用户相关的命令

# 创建新用户
adduser <username>

# 将用户添加到sudo组中
usermod -aG sudo <username>

# 删除名为ubuntu的用户,同时删除其主目录
userdel -r ubuntu

# 检查是否成功删除ubuntu用户
grep ubuntu /etc/passwd

# 使用 gpasswd 命令从 sudo 组中移除 jiakai 用户
sudo gpasswd -d jiakai sudo 

# 或者

# 使用 deluser 命令从 sudo 组中移除 jiakai 用户
sudo deluser jiakai sudo

2、排错技巧

# 运行 my_program 程序
# 将标准错误(stderr, 文件描述符 2)重定向到标准输出(stdout, 文件描述符 1)
# 使用管道符将混合了标准输出和标准错误的输出传递给 'less' 命令,以便逐页查看
./my_program 2>&1 | less

3、POSIX和POSIX Shell是什么?

4、nohup搭配&符号,实现关闭终端,任务继续执行

5、canonical和ubuntu之间的关系是什么?

6、ps的相关命令学习

# ps aux
# a: 显示所有进程(包括其他用户的进程)
# u: 以用户为中心的格式显示进程详情
# x: 显示没有控制终端的进程(例如后台进程)
ps aux 

# ps -lA
# l: 长格式显示,这会显示更多的进程详情
# A: 显示系统上的所有进程
ps -lA

# ps -l
# l: 同上,长格式显示
# 只显示当前用户在当前终端下运行的进程的详细信息
ps -l

7、pstree命令

# pstree
# 用树状图显示进程结构
# 默认情况下,它会列出当前系统上的所有进程的树状结构
# 它提供了一个直观的方式来查看进程之间的父子关系
pstree

8、kill命令的信号机制

信号值名称描述
1SIGHUP挂起进程
2SIGINT中断进程(例如,大多数终端中使用Ctrl+C
3SIGQUIT退出进程并生成核心转储
9SIGKILL强制终止进程(不可被进程捕获、阻塞或忽略)
15SIGTERM请求进程终止,但进程可以捕获此信号并进行清理后再退出
17SIGSTOP停止(暂停)进程,不可捕获、阻塞或忽略
18SIGCONT如果进程已停止,使其继续运行
19SIGTSTP停止进程,可以被进程捕获、阻塞或忽略(例如,Ctrl+Z
信号值用法示例
1kill -HUP [进程ID]kill -HUP 12345
2kill -INT [进程ID]kill -INT 12345kill -2 12345
3kill -QUIT [进程ID]kill -QUIT 12345
9kill -KILL [进程ID]kill -KILL 12345kill -9 12345
15kill -TERM [进程ID]kill -TERM 12345kill -15 12345
17kill -STOP [进程ID]kill -STOP 12345
18kill -CONT [进程ID]kill -CONT 12345
19kill -TSTP [进程ID]kill -TSTP 12345

killall命令用于根据进程的名称来发送信号,而不是进程ID。这在需要终止所有同名的进程时特别有用。以下是killall搭配上述信号的用法及示例:

信号值用法示例
1killall -HUP [进程名]killall -HUP nginx
2killall -INT [进程名]killall -INT nginx
3killall -QUIT [进程名]killall -QUIT nginx
9killall -KILL [进程名]killall -KILL nginx
15killall -TERM [进程名]killall -TERM nginx
17killall -STOP [进程名]killall -STOP nginx
18killall -CONT [进程名]killall -CONT nginx
19killall -TSTP [进程名]killall -TSTP nginx

9、时间的相关命令

# 用于显示或设置系统的日期和时间
date
# 以自 Unix 纪元以来的秒数显示当前时间。Unix 纪元是计算中常用的时间参考,设置为 1970 年 1 月 1 日 00:00:00 协调世界时 (UTC)
date +%s
# 使用 date 命令显示当前时间30分钟前的时间
date -d '30 min ago'
# 用于测量某个程序运行的时间,它通常以 real, user, 和 sys 三个指标来显示时间,分别代表总运行时间、用户态消耗的CPU时间和内核态消耗的CPU时间
time 程序
# 用于显示重要的日期和事件
# 显示当天和接下来几天的重要事件,比如历史上的重大事件、名人的生日或逝世纪念日等
calendar

10、vps内核相关的命令

# 列出所有已安装的linux-image包,通常这些是系统内核的包
dpkg --list | grep linux-image

# 显示当前正在运行的内核版本
# -r中的r是release的缩写
uname -r

1、显示系统中所有进程的详细信息,包括它们的进程ID、拥有者、CPU和内存使用率,以及启动这些进程的命令

ps axo pid,user:32,%cpu,%mem,cmd

2、查看linux文件系统磁盘空间的使用情况

# 查看 Linux 文件系统磁盘空间的使用情况
df -h
# df 命令用于显示磁盘空间的使用情况。
# -h 参数表示以人类可读的格式(如 MB、GB)显示信息。

# 查看特定目录的磁盘使用情况
du -sh /path/to/directory
# du 命令用于估计文件和目录占用的磁盘空间。
# -s 参数表示汇总给定目录的大小。
# -h 参数使输出更易读,显示为 KB、MB 或 GB。

# 查看每个文件系统的 inode 使用情况
df -i
# -i 参数用于显示 inode 的使用情况而不是块的使用情况。
# inode 存储了文件系统的元数据,如文件所有者、权限等,而不是文件内容。

# 使用 ncdu 查看磁盘使用情况
# 注意:ncdu 需要先安装
ncdu /path/to/directory
# ncdu(NCurses Disk Usage)是一个基于文本的用户界面工具,用于分析和查看磁盘使用情况。
# 它可以提供关于文件和目录大小的详细和交互式视图。

关于ncdu的介绍

3、查看linux系统内存的使用情况

# 显示当前系统的内存使用情况,包括总内存、已用内存、空闲内存、缓存/缓冲内存等。
# -h 参数意味着以易读的格式显示(如 MB、GB)。
free -h

# 实时显示系统的运行进程及其资源占用情况,包括CPU和内存使用率。
# 还可以查看系统运行时间、当前登录用户数量、系统负载等信息。
top

# 类似于 top 命令,但提供了一个更友好和可交互的界面。
# 显示进程和系统资源的使用情况,支持用户进行交互操作,如排序、杀死进程等。
htop

# 显示系统的内存、交换、IO、中断和CPU活动的统计信息。
# -s 参数提供了累计的统计数据,而不是实时更新的数据。
vmstat -s

4、查看文件系统格式

df -Th
# df 命令用于显示磁盘空间的使用情况。
# -T 参数用于显示每个文件系统的类型。
# -h 参数表示以人类可读的格式(如 MB、GB)显示信息。

# 列出系统中所有已挂载文件系统的类型,包括它们的总空间、已用空间、可用空间、使用百分比以及挂载点。

lsblk -f
# lsblk 命令用于列出所有可用的块设备的信息。
# -f 参数用于显示文件系统相关的信息。

# 显示每个块设备的名称、文件系统类型、挂载点、文件系统的标签(LABEL)和UUID等信息。这对于识别和管理磁盘分区特别有用。

5、查看当前目录(文件、文件夹)的磁盘占用情况

# 使用 ncdu 查看当前目录的磁盘占用情况
ncdu .
# ncdu 命令用于以交互方式显示当前目录及其子目录的磁盘使用情况。
# 它提供了一个基于文本的用户界面,可以方便地浏览和管理文件和目录。

# 使用 ls 命令以人类可读的格式列出当前目录下的所有文件和文件夹
ls -lh
# ls 命令用于列出目录内容。
# -l 参数表示以长格式显示信息,包括文件大小、修改日期等。
# -h 参数使得文件大小以易于阅读的格式(如 KB、MB)显示。

# 使用 du 命令显示当前目录下每个文件和子目录的总大小
du -sh *
# du 命令用于显示文件和目录占用的磁盘空间。
# -s 参数表示汇总给定目录的大小。
# -h 参数使输出更易读,显示为 KB、MB 或 GB。
# * 表示当前目录下的所有文件和子目录。

6、检测NAT vps邻居的数量

# 显示 IPv4 的邻居对象(通常是网络上其他设备),然后使用管道符 '|' 将结果传递给 wc 命令
# 'wc -l' 计算输入中的行数,这里它会计算 'ip -4 neigh' 命令输出的行数
ip -4 neigh | wc -l

# 整个命令的作用是:列出并计数当前设备在 IPv4 网络上识别的邻居设备(如其他计算机或网络设备)。
# 这个命令在网络诊断和监控中非常有用,尤其是当您需要了解有多少设备与您的系统在同一局域网内直接交互时。

7、进程id范围

8、检查vps的使用统计信息

# vnstat
# 这个命令会显示所有检测到的网络接口的默认网络流量统计信息。
# 如果有多个接口,它会包括它们所有的统计数据。
# 它会显示数据库最后更新的时间、接口监控开始以来的数据接收和发送情况,
# 以及当月和当天的数据统计和预估。
vnstat

# vnstat -i ens3 -m
# -i ens3: 指定 vnstat 命令仅显示 ens3 网络接口的流量数据。
# -m: 指示 vnstat 以月为单位显示流量统计信息,
# 所以命令只会显示关于 ens3 网络接口的每月数据使用情况,不会显示日统计数据。
vnstat -i ens3 -m

9、查看cpu的详细信息

cat /proc/cpuinfo

10、刷新文件内容

> file.txt

1、

# 用于查找文件大小超过100MB的文件。
# 这里的-size选项是用来指定查找特定大小的文件。+100M表示查找大于100MB的文件。
# 如果要查找小于100MB的文件,可以使用-100M。
# 这个命令会在当前目录及其子目录下查找所有符合条件的文件。
# 这个命令很实用,特别是在需要清理大文件或者查找特定大小文件的时候
find -size +100M

2、

# 用于显示当前目录下各个子目录的磁盘使用情况
# du:这是“disk usage”的缩写,用于计算文件或目录的磁盘使用量。
# -h:这个选项表示“human-readable”,它会以易读的格式(如KB、MB、GB)显示文件大小,而不是以字节为单位。
# --max-depth=1:这个选项限制了du命令的输出深度。1表示只显示当前目录下一级子目录的磁盘使用量,而不会深入到更下层的目录。
# 这个命令非常有用,尤其是当您想要快速了解某个目录下哪些子目录占用了较多的磁盘空间时
du -h --max-depth=1

3、

# 创建一个名为'test-abc'的新目录
mkdir test-abc 
# 切换到刚刚创建的目录。'!$'是一个特殊的shell变量,代表上一个命令的最后一个参数,这里就是'test-abc'
cd !$          

4、

# 显示系统最后一次启动的时间
who -b          

5、

# 使用'echo'命令输出'hello world'
echo hello world

# 使用'echo "!!"'命令将上一个命令的文本(不是执行结果)重定向输出到'test.txt'文件中
echo "!!" > test.txt

# 查看'test.txt'文件的内容
cat test.txt 

6、

# 使用'mkdir -p'命令创建一个包含子目录的目录结构
# -p(--parents)
# 这里创建了'test'目录,以及其子目录'123'
mkdir -p test/123

7、

# 使用'nl'命令对'test.txt'文件中的每一行添加行号
# nl 命令的英文全称是 "number lines"。
# 这个命令的主要功能是在文件内容的输出中为每一行添加行号,
# 通常用于查看或编辑文本文件时更清楚地识别各行内容。
nl test.txt

8、

# 使用'cat'命令显示'test.txt'文件的内容
cat test.txt

# 使用'tac'命令以倒序方式显示'test.txt'文件的内容
tac test.txt

9、

# 尝试使用'cd'命令切换到名为'qwet'的目录,但该目录不存在
cd qwet

# 使用'^t^r'命令快速替换上一条命令中的't'为'r',并执行新命令
# 这里将'cd qwet'替换为'cd qwer'并执行
cd qwer

10、

# 使用'vim'编辑器打开'.bashrc'文件进行编辑
vim .bashrc

# 在'.bashrc'文件中添加'export HISTCONTROL=ignorespace'命令
# 这条命令设置shell,使得以空格开头的命令不被记录在历史中
export HISTCONTROL=ignorespace

# 应用刚刚对'.bashrc'文件所做的更改
source .bashrc

11、

# 使用'apt update'命令更新软件包的索引列表
apt update

# 使用'sudo !!'命令以超级用户权限执行上一条命令,即'apt update'
sudo !!

1、生成随机6个字母

tr -dc 'a-zA-Z' </dev/urandom | head -c 6

2、查看服务器的cpu

3、linux实时查看日志

# 使用 tail 命令实时查看 access.log 文件的最新内容
tail -f access.log

# 使用 multitail 命令实时查看 access.log 文件的最新内容
# multitail 提供了更多功能和更友好的用户界面
multitail access.log
# 水平分割屏幕,查看多个文件
multitail access.log error.log
# 垂直分割屏幕,查看多个文件
multitail -s 2 access.log error.log
  • multitail搜索快捷键:/
  • multitail退出快捷键:q

滚动查看文件技巧:

4、清理linux屏幕的快捷键

mac:control+L

5、命令行回到行首快捷键:ctrl+a

6、命令行回到行尾的快捷键:ctrl+e

7、将windows换行符转为unix换行符

8、linux发行版结束支持的意思

当一个操作系统版本宣布结束支持(End of Life, EOL),这意味着这个版本将不再接收任何更新,包括安全补丁和功能更新。对于企业和开发者来说,这意味着使用该版本的系统将面临安全风险和技术落后。

9、更新linux内核

# 使用 wget 命令从 Debian 安全仓库下载特定版本的 Linux 内核包
wget https://security.debian.org/debian-security/pool/main/l/linux-signed-amd64/linux-image-6.1.0-17-amd64_6.1.69-1_amd64.deb

# 使用 dpkg 命令安装刚才下载的 Linux 内核包
dpkg -i linux-image-6.1.0-17-amd64_6.1.69-1_amd64.deb

# 更新 grub,以确保新内核在引导时被列出
update-grub

# 重启系统,使新内核生效
reboot

# 使用 uname -a 命令检查当前运行的内核版本
uname -a

10、

# 以长格式显示/usr/bin这个目录本身的详细信息,而不是列出该目录下的文件。
ls -ld /usr/bin/

1、

# 重启 Docker 服务,并且 time 将报告这个过程花费了多少时间。
time systemctl restart docker

2、linux上,同一目录下的文件和文件夹无法同名。

3、

# 显示当前操作系统的识别信息,包括名称、版本号等详细信息
cat /etc/os-release

4、

# 检测虚拟化环境
systemd-detect-virt

5、

# 在Unix和类Unix系统上显示系统运行时间、用户登录数以及系统负载的工具
uptime

6、watch命令

# 使用 watch 命令来定期执行 date 命令,每2秒刷新一次(默认间隔)
watch date

# 使用 watch 命令,并通过 -n 选项指定刷新间隔为5秒来定期执行 date 命令
watch -n 5 date

# 使用 watch 命令,并通过 -d 选项来高亮显示自上次刷新以来 date 命令输出的变化
watch -d date

# 使用 watch 命令,并通过 -g 选项来在 date 命令输出发生变化时退出
# 注意: 由于 date 命令的输出总是在变化,使用 -g 选项可能会导致 watch 命令立即退出
watch -g date

7、fold命令

# 使用 `cat example.txt` 命令来显示名为 example.txt 的文件内容。
# 此命令会读取文件,并将其内容输出到标准输出设备(通常是屏幕),让您可以一次性查看文件的全部内容。
cat example.txt

# 使用 `fold example.txt` 命令将输入文件的行折叠(或换行),以便它们适应指定的宽度。
# 默认情况下,如果没有指定宽度,`fold` 会在 80 个字符处进行折叠。这意味着如果 example.txt 
# 中的任何行长度超过 80 个字符,它会被拆分成多行,每行长度不超过 80 个字符。
fold example.txt

# 使用 `fold -w75 -s example.txt` 命令通过 `-w75` 选项指定宽度为 75 个字符,
# 并通过 `-s` 选项指示 `fold` 在可能的情况下在空格处分割行。这样可以确保在单词边界处进行换行,
# 使得文本更易于阅读,尤其是对于包含散文或其他自然语言内容的文本。
fold -w75 -s example.txt

8、查看系统架构的命令

# 查看当前操作系统的机器硬件名称(例如,x86_64、i686)
uname -m

# 显示当前系统的架构名称
arch

# 显示详细的CPU架构信息,包括型号、核心数等
lscpu

9、

# 安装cpu-checker包,以便使用kvm-ok命令检查CPU对KVM的支持
apt install cpu-checker

# 执行kvm-ok命令,检查当前系统的CPU是否支持KVM虚拟化技术
kvm-ok

10、

# 列出所有的服务及其当前状态
service --status-all

1、查看文件系统类型

lsblk -f

linux网络知识命令学习笔记

1、dig命令

# 使用 dig 命令查询 google.com 的 DNS 记录
# 当运行 dig google.com 时,该命令将查询 google.com 域名的 DNS 记录,包括其 A 记录(IPv4 地址)、AAAA 记录(IPv6 地址)、MX 记录(邮件服务器)等。
# 这些 DNS 记录提供了将域名解析为与之关联的 IP 地址的信息,从而使得互联网上的设备能够找到并访问这个网站。
dig google.com

# 使用 'dig' 命令查询 'gujiakai.top' 域名的名称服务器(NS)记录
# '+short' 选项用于仅显示查询结果的简短信息,不包括额外的详细信息

dig +short NS gujiakai.top

# 这个命令的作用是:
# 查询 'gujiakai.top' 这个域名的 NS 记录,
# 即查询该域名的名称服务器信息。
# 这些服务器负责告诉其他部分的互联网如何找到 'gujiakai.top' 域名。

2、检测端口的占用情况

# 在端口443上找到的所有正在监听的TCP和UDP连接
netstat -tuln | grep 443
# 在端口443上找到的所有正在监听的TCP和UDP连接
ss -tuln | grep 443

# 注:与netstat相比,ss提供了更快、更详细的信息。

3、iperf3的介绍

客户度端

iperf3 -c ip地址 -P 10 -R -p 5201
# iperf3     :启动iperf3工具
# -c ip地址  :以客户端模式运行,连接到指定的IP地址上的服务器
# -P 10      :并行执行10个测试流
# -R         :进行反向测试,即数据从服务器流向客户端
# -p 5201    :指定服务器监听的端口号为5201

iperf3 -c ip地址
# iperf3     :启动iperf3工具
# -c ip地址  :以客户端模式运行,连接到指定的IP地址上的服务器

服务端

iperf3 -s
# iperf3     :启动iperf3工具
# -s         :以服务器模式运行,监听来自客户端的连接请求

4、iperf3的输出解释

5、

# 安装 net-tools 软件包。这个包包含了一系列用于网络管理和诊断的重要工具
apt install net-tools
# 显示当前系统上所有监听的网络连接
netstat -lntpu

6、

# 'ip' 是 IP 命令的简写,它是 iproute2 包中的一个程序,用于显示和操作路由、设备、策略路由和隧道等。
# 'a' 是 'addr'(地址)的简写,用于显示和管理IP地址。
# 's' 是 'show' 的简写,表示显示信息。
# 综合起来,'ip a s' 命令用于显示系统上所有网络接口的IP地址信息。
# 这个命令提供了每个网络接口的详细信息,包括IP地址、子网掩码、广播地址等。
# 它是 'ifconfig' 命令的现代替代品,提供了更多的功能和更详细的信息。
ip a s

7、ipv6中的/128子网和/64子网

swap分区学习笔记

1、swap分区的介绍

swap分区的介绍

2、调整swap分区的大小

# 显示系统内存使用情况
free -h
# 关闭swap分区
sudo swapoff -a
# 创建一个新的目录,用于存放新的 swap 文件
sudo mkdir /swap_new
# 创建一个新的 1GB 大小的 swap 文件
sudo dd if=/dev/zero of=/swap_new/swapfile bs=1M count=1024
# 设置文件的权限,以确保只有 root 用户可以访问
sudo chmod 600 /swap_new/swapfile
# 将新创建的文件设置为 swap 分区
sudo mkswap /swap_new/swapfile
# 启用新的 swap 分区
sudo swapon /swap_new/swapfile
# 编辑文件系统表
vim /etc/fstab
# swap 分区设置
# /swap_new/swapfile 是新创建的 swap 文件路径
# none 表示不需要挂载到具体目录
# swap 表示文件系统类型为 swap
# sw 表示启用 swap
# 0 0 表示不需要对该分区进行 dump 备份,也不需要 fsck 文件系统检查
/swap_new/swapfile none swap sw 0 0
# 重启服务器
reboot
# 删除旧的 swap 文件
rm -rf swap

创建1GB的交换的方法:

# 创建一个大小为1GB的文件,用于作为交换空间
fallocate -l 1G /mnt/1gib.swap
# 设置文件权限,只有拥有者可以读写
chmod 600 /mnt/1gib.swap
# 设置文件为交换空间
mkswap /mnt/1gib.swap
# 激活交换空间
swapon /mnt/1gib.swap
# 显示内存和交换空间的使用情况,验证交换空间是否成功激活
free -h

3、swap分区大小的抉择

swap分区大小的选择

4、一键增加swap分区大小为1G

dd if=/dev/zero of=/var/swapfile bs=1M count=1024 \ 
&& chmod 0600 /var/swapfile \ 
&& mkswap /var/swapfile \ 
&& swapon /var/swapfile \ 
&& echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

命令解释

5、zfs文件系统不推荐创建swap分区。

# 显示磁盘空间的使用情况
df -T

6、查看swap的相关信息

# free -m 命令用于显示系统中的可用和已用内存,其中 -m 标志表示以兆字节为单位显示输出。
free -m

# free -h 命令同样用于显示系统中的可用和已用内存,但 -h 标志表示以“人类可读”的方式显示输出,即使用最合适的单位(KB、MB、GB)显示每个值。
free -h

# swapon --show 命令用于显示交换空间的摘要。
swapon --show

7、

swapon -s
# 这个命令用于显示所有已启用的交换空间的状态。输出结果包含以下几列:

# Filename                                Type            Size    Used    Priority
# /dev/zram0                              partition       262140  0       -2

# Filename: 交换空间的设备名或文件名。
# /dev/zram0 - 这表示交换空间是一个 zram 设备。

# Type: 交换空间的类型。
# partition - 这表明这是一个分区类型的交换空间。对于 zram,通常显示为 'partition'。

# Size: 交换空间的总大小,单位是千字节(KB)。
# 262140 - 表示 zram 设备的大小为 262140KB,约等于 256MB。

# Used: 当前已使用的交换空间大小,单位是千字节(KB)。
# 0 - 表示目前没有使用这个 zram 交换空间。

# Priority: 交换空间的优先级。
# -2 - 这是这个交换空间的优先级。数值越大,优先级越高。此处显示为 -2,表明其优先级较低。

shell脚本学习笔记

1、.sh脚本的第一行的#! /bin/sh啥意思?

.sh脚本的第一行的#! /bin/sh啥意思?

2、shebang是什么?

shebang是什么?

常见问题1

1、设置时区

# 设置系统时区为"Asia/Shanghai"
timedatectl set-timezone Asia/Shanghai
# 设置系统时区为"America/Los_Angeles"
timedatectl set-timezone America/Los_Angeles

# 安装tzdata包来修改系统时区设置
apt install tzdata
# 设置系统时区
dpkg-reconfigure tzdata

# 编辑文件
vi /etc/timezone
# 更新系统时区设置
dpkg-reconfigure -f noninteractive tzdata

2、apt和apt-get区别与联系

apt和apt-get区别与联系

3、curl -fsSL相关参数的解析

curl -fsSL相关参数的解析

4、/etc/ssh/sshd_config文件和/etc/ssh/sshd_config.d文件的区别

image-20230219201903025

5、为什么apache要采用符号链接?

apache采用符号链接的原因

6、a2ensite是什么?

a2ensite

7、为什么服务器不应该贸然更新软件?

  • 更新软件需要付出代价。
  • 更新后的软件并不一定稳定、安全。

8、systemctl reload和restart区别

systemctl reload和restart区别

即systemctl reload和systemctl start区别为

  • restart=stop+start
  • reload=remain running+re-read configuration files

常见问题2

1、debian报错-bash: sudo: command not found

# 解决方案
apt install sudo

2、linux中的/usr/bin文件夹和/usr/local/bin文件夹的区别与联系

linux中的/usr/bin文件夹和/usr/local/bin文件夹的区别与联系

3、获取机器硬件架构信息

# -m选项代表machine(机器)
uname -m

4、source和.之间的联系

source和.之间的联系

linux安全学习笔记

1、修改ssh登录的默认端口22

# 使用nano文本编辑器打开SSH守护进程(sshd)的配置文件
nano /etc/ssh/sshd_config

修改Port字段

# 重启系统服务
systemctl restart ssh

注:修改完后记得在防火墙中放行相应端口。

更多设置请见Project X的官方文档中的【第 4 章】安全防护篇

openwrt系统学习笔记

1、软路由上科学上网插件

  • passwall

  • shadowsocksR plus+

  • openclash

其中openclash要想启动成功,需要首先使用passwall或者shadowsocksR plus+,开启科学上网,这样子才能获取到clash内核、meta内核等文件的github最新版本信息,以下载并上传到对应的文件夹中。 【注:主要是raw.githubusercontent.com这个域名被gfw屏蔽了,这导致openclash要想获取版本更新信息必须进入科学上网状态,而电犀牛的openclash安装完后,clash的内核均不存在】

2、常用命令

# 从软件包仓库更新软件包的信息
opkg update
# 列出所有可用的软件包
opkg list
# 列出所有已安装的软件包
opkg list-installed
# 安装指定的软件包
opkg install [package_name]
# 删除指定的软件包
opkg remove [package_name]
# 升级指定的软件包。如果不提供软件包名称,它将尝试升级所有已安装的软件包
opkg upgrade [package_name]
# 列出所有已安装且可升级的软件包
opkg list-upgradable
# 一次性更新和升级OpenWrt系统中所有可升级的软件包【不建议尝试】
# 软件包的插件要适配你的固件,不是什么都最新才好
# 如我的电犀牛家的软路由r68s,执行了以下命令后,后台密码被更改了,导致我进入不了
# openwrt系统,我只能选择重置。
opkg update && opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade

关于opkg的介绍

opkg介绍

3、电犀牛r68s使用说明:https://4v2d5g7peo.k.topthink.com/@94216wlrgb/yi%E3%80%81renshidianxiniuruanluyou.html

4、电犀牛r68s刷同样的固件,原本的应用数据不会丢失。

5、主路由模式和旁路由模式

主路由模式和旁路由模式

  • 电犀牛r68s的主路由模式

电犀牛r68s的主路由模式

6、openwrt下好用的软件

  • luci-app-fileassistant(文件助手)

  • luci-app-ssr-plus(ShadowSocksR Plus+)

  • luci-app-passwall(Passwall)

  • luci-app-openclash(OpenClash)

7、openwrt中的luci是啥?

openwrt中的luci

树莓派学习笔记01

官方外壳版

  • 硅胶防潮剂

  • USB读卡器

  • tf卡

补充:

什么是sd卡?

为啥tf卡被称为microsd卡?

  • 散热片(两铝一铜)

官方教程演示

我贴的散热片:

  • hdmi线

  • 树莓派4B(8G,单独主板)

下图展示的是装在官方外壳上的主板图。

  • 树莓派的官方外壳

  • 淘宝订单完整清单

树莓派4 Model B中的4 Model B是什么意思?

  • 树莓派充电头

致谢

感谢GPT-4V带我初步入门Raspberry。有了它的帮助,节约了我初步入门所需花费的时间。

更改语言为en_US

# 使用 nano 编辑器打开 locale 的配置文件
sudo nano /etc/default/locale

# 这些行设置了系统的语言环境为英语(美国),并使用 UTF-8 字符编码
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8

# 重新配置已安装的语言包
sudo dpkg-reconfigure locales

# 再次使用 nano 编辑器打开 locale 生成配置文件
sudo nano /etc/locale.gen

# 生成指定的 locale 数据
sudo locale-gen en_US.UTF-8

# 更新系统环境变量来反映语言设置的更改
sudo update-locale LANG=en_US.UTF-8

# 重启系统以应用更改
sudo reboot

蓝牙没声音的解决方案

youtube上一个视频—FIX: Bluetooth Audio on a Raspberry Pi的解决方案如下:

# 更新系统包列表
sudo apt update

# 完全升级所有安装的包到最新版本
sudo apt full-upgrade

# 立即重启系统
sudo reboot now

# 再次更新系统包列表
sudo apt update

# 升级操作系统到最新的发行版
sudo apt -y dist-upgrade

# 再次重启系统
sudo reboot now

# 完全卸载pulseaudio相关的所有包
sudo apt -y purge "pulseaudio*"

# 再次重启系统
sudo reboot now

# 安装bluealsa和pulseaudio
sudo apt-get install bluealsa pulseaudio

# 再次重启系统
sudo reboot now

# 检查蓝牙服务的状态,检查SAP插件是否失败
sudo systemctl status bluetooth.service

# 如果需要的话,编辑蓝牙服务的配置文件来移除SAP插件
sudo nano /lib/systemd/system/bluetooth.service

# 编辑配置文件,在bluetoothd的启动命令中添加--noplugin=sap参数
# Ctrl + O 然后 Ctrl + X 是保存更改然后退出编辑器的快捷键
# 保存更改后立即重启系统
sudo reboot now

# 安装PulseAudio的蓝牙模块
sudo apt-get install pulseaudio-module-bluetooth

# 最后再次重启系统
sudo reboot now

我尝试后,添加蓝牙设备,要么失败,让我去audio menu里面连接,要么连接成功后,耳机的音量无法控制。

我在上述一通操作后。按照GPT4-V的指示,安装了图形化的音量控制工具—pavucontrol

# 安装pavucontrol
sudo apt install pavucontrol
# 启动pavucontrol
pavucontrol

在这个图形化界面里面可以轻松调节蓝牙耳机的音量。最终的效果如下图所示。

注意事项

  • 连接耳机后,没一会就断开连接,可能是因为蓝牙和Wifi 2.4GHz信号之间相互干扰,可以将Wifi设置为5GHz的信号解决。

配置工具

# 打开树莓派的配置工具
raspi-config

树莓派网络设置

# 新建wpa_supplicant.conf

# 文件中输入如下内容
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="jiakai-phone"
    psk="67899876a"
    key_mgmt=WPA-PSK
    priority=3
}

network={
    ssid="Xiaomi_CBB9"
    psk="123456228"
    key_mgmt=WPA-PSK
    priority=2
}

network={
    ssid="jiakai-surface-hotspot"
    psk="GjK111611"
    key_mgmt=WPA-PSK
    priority=1
}

树莓派tailscale设置

tailscale服务开机自启

# `systemctl` 是一个用于控制systemd系统和服务管理器的命令行工具
# `enable` 命令用于启用某个服务,使其在系统启动时自动启动
# `--now` 选项同时启动服务并在之后的启动中使其可用
# `tailscaled` 是 Tailscale 服务的守护进程,Tailscale 是一个基于 WireGuard 的网络服务
systemctl enable --now tailscaled # 启动并设置tailscaled服务随系统启动自动运行

树莓派安装miniconda

# 安装构建工具
apt install build-essential

# 下载Miniconda安装脚本
curl "https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-armv7l.sh" -o "Miniconda.sh"

# 执行安装脚本
bash ./Miniconda.sh

# 刷新bash环境
source .bashrc

# 使用vim编辑.condarc文件
vim .condarc

# 配置代理服务器
proxy_servers:
  http: http://127.0.0.1:7890
  https: http://127.0.0.1:7890

# 更新conda
conda update conda

# 激活conda环境
source activate

安装firefox浏览器

# 安装 Firefox ESR 浏览器
apt install firefox-esr
# 配置系统默认的 web 浏览器
update-alternatives --config x-www-browser

命令

# 检查树莓派的EEPROM固件是否为最新
rpi-eeprom-update
# 获取树莓派的温度
vcgencmd measure_temp

树莓派安装clash-meta

# 使用 wget 从 GitHub 下载适用于 Linux ARM64 的 Clash.Meta 二进制文件。
wget https://mirror.ghproxy.com/https://github.com/MetaCubeX/Clash.Meta/releases/download/v1.16.0/clash.meta-linux-arm64-cgo-v1.16.0.gz

# 创建名为 'clash' 的目录,解压下载的文件,重命名该文件,并使之成为可执行文件。
mkdir clash && gunzip clash.meta-linux-arm64-cgo-v1.16.0.gz && mv clash.meta-linux-arm64-cgo-v1.16.0 clash/clash-meta && chmod +x clash/clash-meta

# 切换到 'clash' 目录。
cd clash 

# 使用 curl 从 GitHub 下载 MaxMind GeoIP 数据库并命名为 Country.mmdb。
curl -fsSL https://mirror.ghproxy.com/https://github.com/Dreamacro/maxmind-geoip/releases/download/20231012/Country.mmdb -o Country.mmdb

# 克隆 Yacd-meta 用户界面的仓库。
git clone -b gh-pages https://mirror.ghproxy.com/https://github.com/MetaCubeX/Yacd-meta.git ui

# 使用 curl 从提供的订阅链接地址下载配置文件并命名为 config.yaml。
curl -fsSL clash订阅链接地址 -o config.yaml

# 使用 vim 编辑 config.yaml 文件,添加局域网访问权限、外部用户界面路径和访问密钥。
vim config.yaml
# 在文件中添加以下内容
allow-lan: true
external-ui: /opt/clash/ui
secret: passwd

# 创建并编辑 clash-meta 的 systemd 服务文件。
vim /etc/systemd/system/clash-meta.service

# 添加服务文件内容,定义服务的描述、启动依赖、类型、用户、启动命令和重启策略。
[Unit]
Description=Meta Kernal, Another Clash Kernel.
After=network.target

[Service]
Type=simple
User=root
ExecStart=/root/clash/clash-meta -d /root/clash/
Restart=on-failure

[Install]

# 启动 clash-meta 服务。
systemctl start clash-meta

# 查看 clash-meta 服务的状态。
systemctl status clash-meta

# 设置环境变量,配置 HTTP 和 HTTPS 代理。
export http_proxy="127.0.0.1:7890"
export https_proxy="127.0.0.1:7890"

# 使用 curl 测试代理设置是否生效。
curl google.com
curl ipinfo.io/json

树莓派外接移动固态硬盘

插到树莓派的usb接口,就有识别。挂载待补充。

树莓派烧录

使用官方的raspberry pi imager工具进行烧录,记得在烧录之前配置一下ssh和网络。

如果没有出现设置按钮,可以使用ctrl+shift+x调出设置页面。

树莓派bookworm系统vnc连接

树莓派bookworm连接网络

在Raspberry Pi OS 12 'Bookworm'中,网络设置,特别是Wi-Fi的配置方式,已经从之前的 wpa_supplicant 方式转变为使用 nmcli (NetworkManager命令行接口)。

# 获取所有Wi-Fi SSID列表
nmcli d wifi list
# 连接到特定Wi-Fi网络
nmcli d wifi connect "ssid_here" password "password_here" ifname wlan1

1、ALL_PROXY和http_proxy,https_proxy的区别与联系

2、apt设置代理

vi /etc/apt/apt.conf.d/proxy.conf

Acquire::http::Proxy "http://127.0.0.1:7890/";
Acquire::https::Proxy "http://127.0.0.1:7890/";

Acquire::http::Proxy "http://127.0.0.1:10809/";
Acquire::https::Proxy "http://127.0.0.1:10809/";

3、linux中使用export命令和使用set命令设置环境变量的区别

zram学习笔记

1、设置zram

# 加载zram内核模块
modprobe zram
# 创建zram设备
# 建议将zram设备设置为物理内存的一半大小
zramctl --find --size 256M
# 格式化为交换区
mkswap /dev/zram0
# 启用交换
swapon /dev/zram0
# 设置启动自动配置zram
vim /etc/fstab
/dev/zram0 none swap defaults 0 0
# 查看zram设备的状态
zramctl

2、zramctl命令的解释

3、zram大小的考量

4、zram的原理

5、使用zram vs 使用硬盘创建swap

6、是否能同时用zram和硬盘开辟的swap?

apline linux学习笔记

1、alpine linux的简单介绍

2、apk包管理器的使用

# 更新 apk 的软件源,确保能获取到最新的软件包信息
apk update

# 安装 vim 编辑器
apk add vim

# 搜索与 vim 相关的软件包
apk search vim

# 查看关于 vim 软件包的详细信息
apk info vim

# 删除安装的 vim 软件包
apk del vim

# 安装最新版本的curl,--no-cache告诉apk不要在本地缓存包的索引文件
apk add --no-cache curl

1、pkg的简介和简单使用

# 更新 pkg 本身及其仓库数据
pkg update && pkg upgrade

# 安装 curl,这是一个用于传输数据的命令行工具,支持多种协议,如 HTTP、FTP 等
pkg install curl

# 安装 bash,这是一个广泛使用的命令行解释器
pkg install bash

# 安装 wget,这是一个从网络上自动下载文件的工具,支持 HTTP、HTTPS 和 FTP
pkg install wget

硬盘学习笔记

# 使用 rclone copy 命令从一个位置复制文件到另一个位置。
# 这里复制的是用户主目录下的文件到 Google Drive 的 'simplex-method' 文件夹。
# 并且,此命令只会复制扩展名为 .mp4 的视频文件。

rclone copy ~/ gdrive:simplex-method --include "*.mp4"

1、systemd在linux系统中的历史渊源

2、为什么有些用户会讨厌systemd

参考资料

sed学习笔记

1、简单介绍

2、常用命令

## 替换文本但不修改原文件
sed 's/World/sed/' example.txt

## 直接在原文件中替换文本
sed -i 's/World/sed/' example.txt

## 在原文件中替换文本,并创建一个包含原始内容的备份文件
sed -i.bak 's/sed/World/' example.txt

## 显示但不删除第3行的内容
sed '3d' example.txt

## 删除原文件中的第3行
sed -i '3d' example.txt

## 只打印第1行内容
sed -n '1p' example.txt

## 在第1行后面添加新行“New line”
sed -i '1a New line' example.txt

宝塔面板学习笔记

相关资料

忠告:尽量别用bt.cn宝塔面板,可视化界面操作确实方便,但对于学习linux知识不利,此外bt.cn宝塔面板强制绑定手机号,锁定你的机器,暗中监视的行为令人作呕。 要用选择宝塔面板国际版aapanel

1、宝塔面板lamp命令

# 启动apache
/etc/init.d/httpd start
# 停止apache
/etc/init.d/httpd stop
# 重启apache
/etc/init.d/httpd restart
# 重载apache
/etc/init.d/httpd reload

2、.htaccess是啥文件

.htaccess是啥文件

3、宝塔面板实用的功能—文件分享

文件分享功能

4、国内机器安装海外版aapanel设置代理加速

可参考阿里云服务器学习笔记中的设置代理和wget下载走代理的方式章节。

5、宝塔面板添加fancyindex模块

# 克隆 ngx-fancyindex 模块的仓库
git clone https://gh-hk.gujiakai.top/https://github.com/aperezdc/ngx-fancyindex

# 将克隆的 ngx-fancyindex 目录复制到 Nginx 的源代码目录下
cp -R ./ngx-fancyindex /www/server/nginx/src

# 进入 Nginx 的源代码目录
cd /www/server/nginx/src

# 输出当前 Nginx 的配置参数,用于检查和确认当前配置
nginx -V

# 停止 Nginx 服务
/etc/init.d/nginx stop

# 安装 LuaJIT,这是 ngx_lua 模块需要的
apt-get install luajit

# 安装 LuaJIT 开发库,包含头文件和链接库
apt-get install libluajit-5.1-dev

# 查找 LuaJIT 库文件的位置
dpkg -L libluajit-5.1-dev | grep so$

# 查找 LuaJIT 头文件的位置
dpkg -L libluajit-5.1-dev | grep /include/

# 查找 luajit 可执行文件的位置
which luajit

# 设置环境变量,指向 LuaJIT 库
export LUAJIT_LIB=/usr/lib/x86_64-linux-gnu/

# 设置环境变量,指向 LuaJIT 头文件
export LUAJIT_INC=/usr/include/luajit-2.1

# 配置 Nginx,包括所有模块和选项
./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --with-openssl=/www/server/nginx/src/openssl --with-pcre=/www/server/nginx/src/pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --add-module=/www/server/nginx/src/ngx_http_substitutions_filter_module-master --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/www/server/nginx/src/ngx-fancyindex # 添加您的新模块

# 编译 Nginx
make

# 安装 Nginx
make install

# 启动 Nginx 服务
/etc/init.d/nginx start

# 检查 Nginx 服务的状态
/etc/init.d/nginx status

6、宝塔面板开心版

#宝塔面板7.7原版第三方存档
纯原版1:curl -sSO https://raw.githubusercontent.com/zhucaidan/btpanel-v7.7.0/main/install/install_panel.sh && bash install_panel.sh
纯原版2:wget -O install.sh http://f.cccyun.cc/bt/install_6.0.sh && bash install.sh
升级(降级)到7.7命令: curl http://f.cccyun.cc/bt/update6.sh|bash

<!--宝塔7.7原版一键开心脚本-->
curl -sSO https://raw.githubusercontent.com/ztkink/bthappy/main/one_key_happy.sh && bash one_key_happy.sh

<!--手动解锁宝塔所有付费插件为永不过期-->
文件路径:www/server/panel/data/plugin.json
搜索字符串:"endtime": -1 全部替换为 "endtime": 999999999999
<!--手动阻止解锁插件后自动修复为免费版-->
chattr +i /www/server/panel/data/plugin.json

开心版资料

建议使用的开心版来自bt.sy。宝塔 Linux 面版 8.0.4 开心版 - 2023年11月20日

# Centos安装命令(默认安装是 7.9.10 直接在线升级 8.0.4):
yum install -y wget && wget -O install.sh http://io.bt.sy/install/install_6.0.sh && sh install.sh

# 试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中
curl -sSO http://io.bt.sy/install/install_panel.sh && bash install_panel.sh

# Ubuntu Deepin安装命令:
wget -O install.sh http://io.bt.sy/install/install-ubuntu_6.0.sh && sudo bash install.sh

# Debian安装命令:
wget -O install.sh http://io.bt.sy/install/install-ubuntu_6.0.sh && bash install.sh

# Fedora安装命令:
wget -O install.sh http://io.bt.sy/install/install_6.0.sh && bash install.sh

# Linux面板 8.0.4 升级企业版命令 1(所有官方版 / 开心版 包括低版本 都可以执行这个升级到 8.0.4 开心版):
curl https://io.bt.sy/install/update_panel.sh|bash

# 讲解:升级企业版命令 1  与  升级企业版命令 2 二选一 都可以升级最新版!

# Linux面板 8.0.4 升级企业版命令 2(所有官方版 / 开心版 包括低版本 都可以执行这个升级到 8.0.4 开心版):
curl http://io.bt.sy/install/update6.sh|bash

7、宝塔面板手动开启ipv6监控

# 开启宝塔面板ipv6监控,重启宝塔面板
echo '::' > /www/server/panel/data/ipv6.pl && /etc/init.d/bt restart

8、宝塔面板7.6删除手机号

rm -rf  /www/server/panel/data/bind.pl
sed -i "s|bind_user == 'True'|bind_user == 'XXXX'|" /www/server/panel/BTPanel/static/js/index.js

Firewalld学习笔记

Firewalld 是一个基于 D-Bus 的动态防火墙管理器,旨在提供一个易于使用的防火墙前端,以便管理规则和网络连接。相比于 Ubuntu 中的 ufw,Firewalld 功能更为丰富,并支持更多的网络配置选项和规则控制。【摘自chatgpt】

以下命令基于Rocky Linux。

# 安装firewalld
dnf install firewalld
# 启动firewalld服务
systemctl start firewalld
# 允许firewalld开机自启
systemctl enable firewalld
# 重启/重新加载firewalld服务
systemctl restart/reload firewalld
# 重新加载firewall-cmd服务
firewall-cmd --reload
# 查看firewall服务状态
systemctl status firewalld
# 列出防火墙中所有已经打开的端口
firewall-cmd --list-ports
# 查看public区域的规则
firewall-cmd --list-all --zone=public

1、firewalld区域

firewalld区域

firewalld默认区域就是public。添加/删除防火墙规则,默认会被应用到public区域,如果想添加/删除public区域的规则,则不需要指定--zone=public参数。

2、firewalld开放和关闭端口(如果添加/删除防火墙规则,要应用到其他区域,则应加上--zone=xxx参数。

# 添加端口号为 80 的 TCP 协议规则到防火墙配置中,并永久生效。
firewall-cmd --add-port=80/tcp --permanent
# 添加端口号为 443 的 TCP 协议规则到防火墙配置中,并永久生效。
firewall-cmd --add-port=443/tcp --permanent
# 添加端口号为 22 的 TCP 协议规则到防火墙配置中,并永久生效。
firewall-cmd --add-port=22/tcp --permanent

# 注:添加了端口号记得重载重新加载防火墙配置
firewall-cmd --reload

# 从防火墙配置中删除端口号为 80 的 TCP 协议规则,并永久生效。
firewall-cmd --remove-port=80/tcp --permanent
# 从防火墙配置中删除端口号为 443 的 TCP 协议规则,并永久生效。
firewall-cmd --remove-port=443/tcp --permanent
# 从防火墙配置中删除端口号为 22 的 TCP 协议规则,并永久生效。
firewall-cmd --remove-port=22/tcp --permanent

fish shell学习笔记

1、debian安装fish shell

# 更新软件包列表
apt update 
# 安装fish shell
apt install fish
# 启动fish shell
fish
# 将当前用户的默认shell更改为Fish shell
chsh -s /usr/bin/fish

2、在fish shell中启用acme脚本

# 编辑fish shell的配置文件
vi ~/.config/fish/config.fish
# 将acme脚本中环境变量添加到fish shell的环境变量中
source ~/.acme.sh/acme.sh.env
# 重启fish shell以使更改生效
exec fish

lnmp学习笔记

lnmp搭建wordpress

# 添加一个新的虚拟主机
lnmp vhost add
# 切换到网站根目录
cd /home/wwwroot/www.lobdigest.com/
# 下载最新的 WordPress 压缩包
wget https://wordpress.org/latest.zip
# 解压 WordPress 压缩包
unzip latest.zip
# 移动 WordPress 目录下的所有文件到网站根目录
mv wordpress/* .
# 删除 WordPress 压缩包和目录
rm -rf latest.zip wordpress/
# 将网站根目录的所有文件的所有者设置为 www 用户,并将权限设置为 www 组可读写执行
chown www:www -R /home/wwwroot/www.lobdigest.com

mdbook安装

1、linux

# 下载mdbook的安装包并解压,创建一个名为mdbook的文件夹,并将文件提取到mdbook的目录中
wget https://github.com/rust-lang/mdBook/releases/download/v0.4.28/mdbook-v0.4.28-x86_64-unknown-linux-gnu.tar.gz && mkdir mdbook && tar -zxvf *.gz -C mdbook && rm -rf *.gz

2、将mdbook指令添加到环境变量

# 编辑bash shell配置文件
vi ~/.bashrc
# 将mdbook添加到系统环境变量PATH中
export PATH="$PATH:/root/mdbook"

3、mdbook.exe 在windows server2022上运行报错VCRUNTIME140.dll is Missing Error的解决方案

How to Fix VCRUNTIME140.dll is Missing Error on Windows 10

neofetch学习笔记

1、neofetch

apt install neofetch
neofetch

# 显示另一个发行版的logo
neofetch --ascii_distro windows10
neofetch --ascii_distro debian
neofetch --ascii_distro kali
neofetch --ascii_distro centos
# 显示较小的发行版logo
# 注:如果发行版没有小图标,则它会显示大图标,打错字会显示linux企鹅图标
neofetch --ascii_distro debian_small
neofetch --ascii_distro centos_small
neofetch --ascii_distro abc
# 只显示图标而不显示系统信息
neofetch -L

参考资料:

nushell学习笔记

1、ubuntu安装nushell

# 下载nushell压缩包
wget https://github.com/nushell/nushell/releases/download/0.77.1/nu-0.77.1-x86_64-unknown-linux-gnu.tar.gz
# 解压缩下载的压缩包
tar zxvf nu-0.77.1-x86_64-unknown-linux-gnu.tar.gz
# 进入nushell文件夹
cd nu-0.77.1-x86_64-unknown-linux-gnu
# 启动nushell
./nu

vim学习笔记1

1、修复vim编辑器的方向键会插入A、B、C、D,backspace删不掉字符的问题

# 编辑vim的配置文件
vi .vimrc
# 不使用Vi的兼容模式,而是使用Vim的默认模式。
set nocompatible
# 可以使用Backspace键删除缩进、行尾和行首的字符。
set backspace=indent,eol,start

2、vim xxx和vi xxx有啥区别?

vim xxx与vi xxx的区别

有些时候,命令vi xxx可能是命令vim xxx的别名或软链接,这意味着他们都会启动vim编辑器;有些时候,两者之间存在差别,命令vi xxx会启动vi编辑器,命令vim xxx会启动vim编辑器。

判断两者是否相同的方法:which viwhich vim结果显示的可执行文件的路径相同,则为前一种情况;反之,则两条命令不相同。建议使用vim xxx命令来避免困惑。

3、将本行的内容复制到下一行

yy
p

4、光标移动到文件的最后一行

G

5、在当前光标所在行的下方新开一行

o

6、删除文件所有内容

gg
dG

7、vim强制修改保存只读文件

:wq!

8、vim编辑器编辑器搜索

命令模式,输入/+搜索的词或短语,按下enter,切换到下一项:n,谢欢到上一项:N/shift+n。

9、vim编辑器回到第一行的快捷键

10、vim编辑器显示行号

# 命令模式下输入一下内容
:set number

vim学习笔记2

1、vim编辑器中的剪切、粘贴操作

fnm学习笔记

1、下载

# 从 GitHub 上下载指定版本(v1.33.1)的 fnm-linux.zip 文件
wget https://github.com/Schniz/fnm/releases/download/v1.33.1/fnm-linux.zip
# 将下载的 fnm-linux.zip 文件解压缩到 /root/fnm 目录下
unzip fnm-linux.zip -d /root/fnm
# 切换到/root/fnm目录
cd fnm
# 为fnm文件添加可执行权限
chmod +x fnm

# 使用 vi 编辑器打开 fish 配置文件
vi ~/.config/fish/config.fish
# 将 /root/fnm 路径添加到 fish 用户路径变量中,这样可以在任何地方执行 fnm 命令
set -U fish_user_paths "/root/fnm" $fish_user_paths
# 重新启动 fish shell,以便更新后的配置生效
exec fish

# 使用 vi 编辑器打开 fnm 的 fish 配置文件
vi ~/.config/fish/conf.d/fnm.fish
# 将 fnm env --use-on-cd 命令的输出传递给 source 命令。fnm env --use-on-cd 命令会生成一个脚本,该脚本在当前工作目录发生变化时自动切换 Node.js 版本。
# source 命令用于在当前 shell 会话中执行该脚本,从而使得自动切换 Node.js 版本的功能生效。
fnm env --use-on-cd | source
# 重新启动 fish shell,以便更新后的配置生效
exec fish

mosh学习笔记

curl学习笔记

1、-i参数

# 返回请求的响应头部(HTTP headers)和主体部分(网页内容)
curl -i google.com
# 只返回请求的主体部分(网页内容)
curl google.com

2、curl 下载文件

curl -fsSL xxx -o xxx
curl -L xxx -o xxx

命令解释

3、-I参数

# 只返回了HTTP头部信息
curl -I google.com

curl -icurl -I的区别与联系

4、查看curl的版本

curl --version

5、以详细模式访问网站,显示请求响应信息

curl -v "https://word.new"

6、wget和curl常见的下载文件方式

# 使用 wget 下载文件
wget -qO- 文件链接
# 选项说明:
# -q: 静默模式,不输出任何日志信息
# -O-: 将下载的内容输出到标准输出

# 使用 curl 下载文件
curl -fsSL 文件链接
# 选项说明:
# -f: 在 HTTP 请求失败时直接退出
# -s: 静默模式,不输出任何东西
# -S: 当使用 -s 时,如果出错则输出错误信息
# -L: 自动跟随重定向

cloudflare tunnel学习笔记

1、windows上使用cloudflare tunnal的命令

# 显示当前安装的 cloudflared 客户端版本信息。
cloudflared --version
# 登录到您的 Cloudflare 帐户并获取 API 密钥,以便 cloudflared 客户端可以与您的 Cloudflare 帐户进行交互。
cloudflared tunnel login
# 创建一个名为 <NAME> 的新 Cloudflare 隧道
cloudflared tunnel create <NAME>
# 列出您的 Cloudflare 帐户中的所有隧道
cloudflared tunnel list
# 创建一个名为 demo 的新 Cloudflare 隧道
cloudflared tunnel create demo
# 删除名为 demo 的 Cloudflare 隧道
cloudflared tunnel delete demo
# 为名为 demo 的隧道分配一个自定义域名 demo.njxzc27.eu.org
cloudflared tunnel route dns demo demo.njxzc27.eu.org
# 为名为 demo 的隧道分配一个自定义域名 njxzc27.eu.org
cloudflared tunnel route dns demo njxzc27.eu.org
# 使用 HTTP/2 协议启动名为 demo 的 Cloudflare 隧道
cloudflared tunnel run --protocol http2 demo
# 显示有关名为 demo 的 Cloudflare 隧道的详细信息
cloudflared tunnel info demo

参考资料:

visudo学习笔记

1、关于visudo的介绍

关于visudo的介绍

tailscale学习笔记

1、tailscale彻底卸载

# 关闭Tailscale服务
tailscale down
# 从基于Debian的发行版(如Ubuntu)中卸载Tailscale
sudo apt-get remove tailscale
# 从基于Fedora的发行版中卸载Tailscale
sudo dnf remove tailscale
# 从基于Arch的发行版(如Manjaro)中卸载Tailscale
sudo pacman -Rns tailscale
# 在整个文件系统中搜索名为“tailscale”的文件或目录,并将其删除。这个命令将彻底删除所有与Tailscale相关的文件。
find / -name "*tailscale*" -exec rm -rf {} \;
# 重启系统,使更改生效
reboot
# 将DNS解析服务器设置为Google的公共DNS服务器(8.8.8.8),然后将该更改写入/etc/resolv.conf文件。/dev/null表示不显示输出。
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
# 在系统中卸载 tailscale-archive-keyring 软件包,并在执行过程中自动确认所有提示
apt remove tailscale-archive-keyring -y

gost学习笔记

1、gost启用端口转发

# 运行gost程序,在本地服务器上的端口9528上监听TCP连接,并将这些连接转发到IP地址为198.13.51.159、端口为80的远程服务器。
# 这样,您可以使用本地服务器作为一个TCP代理,将流量转发到指定的远程服务器。
./gost -L tcp://:9528/198.13.51.159:80

yunohost学习笔记

1、linux系统安装教程

# 从YunoHost官方网站下载安装脚本,并通过bash执行该脚本,以安装YunoHost服务器。
curl https://install.yunohost.org | bash

安装完成后就可以使用ip地址访问,一共我记得做了两步操作:

  • 绑定域名(可以在cloudflare中添加一条A记录,指向这个ip地址)

  • 设置管理员的账号密码

接着就可以通过域名来访问yunohost了。

2、yunohost使用Let's Encrypt证书

yunohost一开始使用的是自签证书,因此浏览器访问时,会提示存在风险。

解决办法是登录管理员后台,

登录管理员后台

点击Domains

点击Domains

点击域名,安装Let's Encrypt证书并使用。稍等片刻,再次使用域名访问yunohost,域名前就会多了一把小锁。

安装Let's Encrypt证书

2、丰富的应用

丰富的应用

yunohost中包含了很多丰富的应用,值得我们去探索。

3、遇到的报错

以下是我遇到的第一个错误,在后台管理界面点击系统更新时,提示有签名无法被确认。

You should look for help on the forum or the chat to fix the situation, or report the bug on the bugtracker.
The following information might be useful for the person helping you:
Error: "500"

Action: "PUT" /yunohost/api/update/all

Error message:
Unable to update the cache of APT (Debian's package manager). Here is a dump of the sources.list lines, which might help identify problematic lines:
sources.list:deb http://ftp.debian.org/debian bullseye main contrib
sources.list:deb http://ftp.debian.org/debian bullseye-updates main contrib
sources.list:deb http://security.debian.org bullseye-security main contrib
sources.list.d/yunohost.list:deb [signed-by=/usr/share/keyrings/yunohost-archive-keyring.gpg] http://forge.yunohost.org/debian/ bullseye stable
sources.list.d/extra_php_version.list:deb https://packages.sury.org/php/ bullseye main

While processing the action the server said:

Fetching available upgrades for system packages...
W: GPG error: https://packages.sury.org/php bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
E: The repository 'https://packages.sury.org/php bullseye InRelease' is not signed.

解决对策(源自new bing):

# 使用wget下载来自sury.org的PHP存储库的GPG公钥,并将其保存到/etc/apt/trusted.gpg.d/php.gpg。
# 这使得系统可以信任该PHP存储库,并允许从中安装软件包。
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

建议先解决这个报错,不然装软件时,会提示签名问题。

补充:

4、我安装的应用

  • Grav,一款CMS工具,yunhost官方文档就用的这款

  • Excalidraw,一款白板工具

  • Hugiin,一款爬虫工具

  • 待补充

! 注:yunohost安装程序卡住了,不要紧,反正我装Excalidraw和Hugiin时均卡住了,当我刷新一下后,发现都已经装完了。

5、命令

# 使用这条命令来查看YunoHost中所有服务的状态
yunohost service status
# 使用这条命令来重载nginx服务,使得新的配置更改生效
yunohost service reload nginx

6、yunohost更新证书

yunohost官方文档写明,证书会每隔三个月自动更新,但在easyvm的机器上证书并没有按时更新。

# 更新所有的域名的证书
# yunohost domain cert-install --no-checks
# yunohost domain cert-renew --no-checks
yunohost domain cert renew
yunohost domain cert renew --no-checks

7、yunohost的迁移操作

hping3学习笔记

apt install -y hping3
hping3 -2 p 53 -d 1400 --flood -V ip_addr

命令解释

hping3 -S -p 80 -d 1400 --flood -V ip_addr

命令解释

kasmweb学习笔记

1、安装

cd /tmp
curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.1.421524.tar.gz
tar -xf kasm_release_1.13.1.421524.tar.gz
sudo bash kasm_release/install.sh -L 8443

设置反向代理教程:Reverse Proxy

注:设置反向代理后,必须要更新zone配置。

google one学习笔记

其余更多关于google one vpn的讨论可以见Yummy’s Community论坛。

突然觉得手头上的搬瓦工不香了。CN2 GIA和美国windows vps+google one vpn+中转相比,我个人更倾向于后者。

1、软路由环境下,安卓手机可以连接google one,其余的windows、mac、ios均不行的解决方案

解决方案

如使用软路由中的passwall插件,开启udp转发443即可实现所有客户端均能连上google one。

网友分享方法

使用软路由中的openclash插件,连接google one的教程

openclash连接google one教程图1

openclash连接google one教程图2

注:passwall插件连接更方便,openclash连接失败的可能性较大。

2、windows服务器搭建节点,连接google one vpn,还是显示服务器的ip的解决方案

改vps的网络适配器跃点。将google one vpn的网络优先级调高点。

3、google vpn 保姆教程

google vpn 保姆教程

Google One vpn搭建ss/socks5节点 | Build Socks5 Proxy by gost·

更多关于google one的精品教程见youtuber-一抹斜阳

4、google one vpn搭配tun模式的使用教程

5、永不失联的google one vpn

a.下载autoit:https://www.autoitscript.com/autoit3/files/archive/autoit/autoit-v3.3.16.0.zip

b.新建simulate_click.bat

@echo off
set LOG_FILE=log.txt

:loop
:: 判断网卡是否存在
ipconfig | findstr /C:"Google One" > nul
if %errorlevel% equ 0 (
    echo network is exist > nul
) else (
    echo 当前时间:%date% %time% :: vpn is disabled >> %LOG_FILE%
    AutoIt3_x64.exe click.au3
)
echo execute task now
:: 等待20秒
ping 127.0.0.1 -n 21 > nul
goto loop

c.新建click.au3

; 1. 选中某个窗口 2.点击打开按钮
WinActivate("VPN by Google One")
ControlClick("VPN by Google One", "", "", "left", 1, 339, 270)

d.双击simulate_click.bat脚本

e.断开连接:会话转移到后台,不会锁定屏幕,使得autoit执行。

tscon ((quser $env:_TFSLab | select -Skip 1) -split '\s+')[2] /dest:console

6、安卓连接google one vpn

7、google one vpn只支持win2016以上习题,不支持win2012。

8、

nano编辑器学习笔记

1、nano搜索模式的快捷键:ctrl+w

2、nano保存退出的快捷键:ctrl+o+回车或者ctrl+x+回车

3、nano编辑器中显示行号

4、nano编辑器清除一整行的快捷键:ctrl+k

5、crontab的nano编辑器切换为vim编辑器

echo "export EDITOR=vim" >> ~/.bashrc
source .bashrc

google学习笔记

1、定期检查google活动设备和位置

2、避免谷歌送中

3、vps的ip被谷歌标记为送中的优劣

好处:

  • youtube没广告

坏处:

  • youtube music无法使用

可能导致的原因:

  • vps坏邻居将ip上报给谷歌修正为中国。

暂时解决办法:通过链式代理解决。

4、查看谷歌送中与否的新途径:https://policies.google.com/terms

cron表达式学习笔记

1、敏感期,x-ui面板关机,风声过了,x-ui面板开机

# 编辑crontab文件
crontab -e
0 12 3 6 * x-ui stop
0 12 5 6 * x-ui start
# 列出crontab文件中的所有任务
crontab -l

ip学习笔记

1、目前已知的含有朝鲜/南极洲节点的服务

  • TAG机场(朝鲜、南极洲节点)

  • HMA VPN(朝鲜节点)

  • windscribe VPN(南极洲节点)

  • FacMata机场(朝鲜、南极洲节点)

  • GlobalVM(朝鲜、南极洲v6 nat)

  • misakaf(朝鲜、南极洲v6 nat)

xray学习笔记

以下记录国外vps搭建xray服务。

1、安装

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
# 查看xray版本
xray -version

# xray的配置文件目录:/usr/local/etc/xray/config.json

# 生成uuid
xray uuid

2、vmess+ws

xray的服务端、客户端、中转机器配置文件见github 私密gist。

1、mtr的介绍

mtr是一种诊断工具,它结合了traceroute和ping命令的功能。它在追踪到目标的路由的同时,测量从源到路由中的每个跳转的往返时间 (RTT)。

2、命令

# 使用mtr命令追踪到目标IP地址的路由,同时显示DNS解析后的主机名
mtr ip_address

# 使用mtr命令以数字形式(不进行DNS解析)追踪到目标IP地址的路由
# '-rn'选项确保所有信息都是以数字形式展现,而不会尝试解析主机名
mtr -rn ip_address

中转的解决方案

  • 咸蛋中转面板

  • 极光中转面板

  • gost

  • realm

1、htop的介绍

zip命令学习笔记

1、将文件夹及文件夹中的所有内容,打成一个zip压缩包

zip -r example.zip exmaple/

1、nginx proxy manager反代的docker服务,不暴露端口的做法。

将docker服务与nginx proxy manager放置在同一个docker网络上。

  • 去除ports设置

  • 添加类似下图的配置

networks:
    - npm_default

networks:
    npm_default:
      external: true

或者

networks:
    - hedgedoc_db_network

networks:
    - npm_default
    - hedgedoc_db_network

networks:
  npm_default:
    external: true
  hedgedoc_db_network:
    driver: bridge
  • 去到nginx proxy manager的反代设置页面,hostname/ip设置为docker服务,端口设置为docker服务的端口。

2、docker中的端口概念

iptables学习笔记

# iptables放行tcp端口
iptables -A INPUT -p tcp --dport 46782 -j ACCEPT
# iptables放行udp端口
iptables -A INPUT -p udp --dport 46782 -j ACCEPT

1、journalctl的介绍

2、查看日志

# 查看 sing-box 服务的最新日志
journalctl -u sing-box -o cat -e
# 选项说明:
# -u (--unit): 指定服务名,这里是 sing-box
# -o cat (--output cat): 以简化格式输出,不显示额外的元数据
# -e (--pager-end): 自动跳转到日志末尾

# 实时跟踪 sing-box 服务的日志
journalctl -u sing-box -o cat -f
# 选项说明:
# -u (--unit): 指定服务名,这里是 sing-box
# -o cat (--output cat): 以简化格式输出,不显示额外的元数据
# -f (--follow): 实时显示日志更新

# 实时显示名为 xxx 的服务单元的最新日志条目。这对于监控特定服务的实时运行状态非常有用
journalctl -u xxx -f 

1、scp的介绍

2、scp的使用

# yunohost的迁移操作
# 使用 SCP 命令从一个服务器复制文件到另一个服务器
# -P ssh_port:指定 SSH 连接使用的端口号
# root@[旧机器的ipv6地址]:指定旧机器的用户(这里是 root)和 IPv6 地址
# 注意:IPv6 地址需要用中括号括起来
# /home/yunohost.backup/archives/20231206-041247.tar.gz:指定旧机器上要复制的文件的路径
# /home/yunohost.backup/archives/:指定新机器上文件复制到的目标路径

scp -P ssh_port root@[旧机器的ipv6地址]:/home/yunohost.backup/archives/20231206-041247.tar.gz /home/yunohost.backup/archives/

# 使用 scp 命令递归复制远程服务器上的 /root/rustdesk 目录到本地的 /root/rustdesk 目录
# 远程服务器的 IP 地址是 106.52.252.218,使用的端口是 2222
scp -r -P 2222 [email protected]:/root/rustdesk /root/rustdesk

1、snapd简介

2、snapd安装命令行查看markdown文件的工具—mdless

# 安装 snapd
sudo apt install snapd

# 通过 Snapd 安装 mdless
sudo snap install mdless

# 使用 mdless 查看 Markdown 文件
mdless xxx.md

参考资料

1、安装过程较为简单,配置网络有些困难,暂时使用一键虚拟化项目来开小鸡。

rysnc学习笔记

1、简单介绍

rsync是一种非常强大的文件同步和传输工具,它被广泛用于备份和镜像文件及目录。rsync最大的特点是它只传输文件的差异部分,这使得同步过程非常高效。此外,rsync还支持数据压缩和加密传输,大大提高了数据传输的速度和安全性。

2、rsync命令基本用法

3、VPS A推送内容到VPS B

4、VPS A从VPS B上拉取内容

5、rsync断点传输

# 使用rsync命令将本地的/opt/file_share/目录同步到远程服务器的/opt目录
# -a, --archive               归档模式,等于-rlptgoD (没有 -H),保留文件属性
# -v, --verbose               详细模式输出
# -z, --compress              在传输时压缩数据
# -P                          等于--partial --progress,显示传输进度,允许部分文件传输
# /opt/file_share/            本地目录路径,要同步的源目录
# root@ip_address:/opt        目标目录路径,格式为 用户名@服务器IP地址:目标目录
rsync -avzP /opt/file_share/ root@ip_address:/opt

6、rsync中的公钥认证机制

v2raya学习笔记

1、debian通过软件源安装

# 添加公钥
wget -qO - https://apt.v2raya.org/key/public-key.asc | sudo tee /etc/apt/keyrings/v2raya.asc
# 添加v2raya软件源
echo "deb [signed-by=/etc/apt/keyrings/v2raya.asc] https://apt.v2raya.org/ v2raya main" | sudo tee /etc/apt/sources.list.d/v2raya.list
sudo apt update
# 安装v2raya
sudo apt install v2raya xray
# 设置v2raya开机自启,并立即启动
systemctl enable --now v2raya

screen学习笔记

1、screen会话环境变量的加载机制

2、常用命令

# 启动一个带有名称的screen会话
screen -S screen_name

# 分离会话快捷键:按下Ctrl+A然后D
# 注意:这不是命令行命令,而是在screen会话中使用的键盘操作

# 列出所有的screen会话
screen -ls

# 重新连接到一个screen会话
screen -r <会话ID>

# 正确退出screen会话的方法是在会话内部输入exit命令或通过关闭所有窗口
# 如果需要强制关闭某个screen会话,可以使用以下命令:
screen -X -S <会话名或ID> quit

有关vps有趣的项目

1、分布式 ping 检测计划

# 下载并运行ping0文件
wget -N -q --no-check-certificate https://ping0.cc/data/ping0 -o /dev/null && chmod +x ping0 && nohup ./ping0 jiakai >/dev/null 2>&1 &
# 查找ping0的进程
pgrep -fl ping0
# 或者
ps aux | grep -i ping0 | grep -v grep

命令解释:

命令解释

2、suicide linux

3、global ping计划

4、向假冒网站发起攻击

吃灰的小鸡鸡需要锻炼身体

  • 假冒的vscode站点

MJJ向假冒的VSCode网站发起攻击

vscode Have you started charging? #163798

[瓜] 69.7 - 20 = 39.7 元即可购买 Vscode 代码编辑器官方中文版

  • 假冒的telegram站点
# 下载名为 webBenchmark_linux_x64 的文件
# 赋予可执行权限
# 在后台运行名为 webBenchmark_linux_x64 的可执行文件
# 设置并发下载的线程数为 32
# 注:webBenchmark 主要用于评估服务器带宽和性能,而不是实际下载和保存文件。
# 它通过发起多个并发请求来测试服务器在负载下的表现,以便了解服务器的网络性能和容量。
# 基准测试工具通常会生成大量请求,以模拟多个客户端同时访问服务器的情况。
# 在这个过程中,它们并不会将下载的文件保存到本地磁盘,因为这并不是它们的主要目标。
wget https://github.com/maintell/webBenchmark/releases/download/0.5/webBenchmark_linux_x64 && chmod +x webBenchmark_linux_x64 && nohup ./webBenchmark_linux_x64 -c 32 -s https://mbhapp.oss-cn-hongkong.aliyuncs.com/Telegram.apk &
# ps -ef列出当前运行的所有进程及其详细信息。
# grep webBenchmark_linux_x64 从 ps -ef 的输出中筛选与 webBenchmark_linux_x64 相关的行。
# grep -v grep排除包含 grep 关键字的行,以避免误杀 grep webBenchmark_linux_x64 这个搜索进程本身。
# 使用 awk 命令提取每行中的第二列(即 PID)。
# 使用 kill -9 命令立即终止找到的进程。-9 选项表示强制终止进程,而不是等待它们自然结束。
# $(...) 是一个命令替换,它允许您将一个命令的输出作为另一个命令的参数。
kill -9 $(ps -ef | grep webBenchmark_linux_x64| grep -v grep | awk '{print $2}')

5、免费的unix shell项目

sdf

6、闲置vps出售流量的项目—traffmonetizer

# docker pull traffmonetizer/cli:latest
docker pull traffmonetizer/cli_v2:latest
# docker run -d --name tm traffmonetizer/cli start accept --token aIMhNjq+DjIPZdOYCZ/Jjrt2US1uD/uvQhQjEeom0Ig=
docker run -d --name tm traffmonetizer/cli_v2 start accept --token aIMhNjq+DjIPZdOYCZ/Jjrt2US1uD/uvQhQjEeom0Ig=
docker rm -f container_id && docker rmi traffmonetizer/cli

注:谨慎选择自己主力服务器来挂机!网上对于这个项目的评论褒贬不一。Is traffmonetizer.com legit?

另外一个类似的项目—repocket

# 从Docker Hub拉取最新版的repocket镜像
docker pull repocket/repocket:latest

# 使用vim编辑器创建并编辑环境变量文件rp.env
vim rp.env

# 在rp.env文件中写入repocket使用的环境变量
# 设置repocket账户的邮箱地址
[email protected]
# 设置repocket账户的API密钥
RP_API_KEY=45b050b1-edba-4a77-b35b-ec1a88c5d9a3

# 运行repocket容器,使用刚才创建的环境变量文件,并设置为开机自启
docker run --env-file rp.env -d --restart=always repocket/repocket

类似的项目还有:earn.fm、packetstream。

四个出售流量项目均以集成进shell脚本。

一键部署流量项目:curl https://raw.githubusercontent.com/real-jiakai/linux-scripts/main/sell-my-traffic.sh | bash

对我而言,凡是非科学的机器都运行一下,利用用不完的流量赚美刀或者加密货币,来支付我的openai月费。

7、免费vps项目

cloudsigma

8、Cockpit项目

Cockpit Project

9、一个能让你进行快速简便网络扫描与DOS攻击的命令菜单

vps备份

1、搬瓦工数据迁移

2、使用rclone备份vps重要文件至cloudflare r2

# 安装rclone
sudo -v ; curl https://rclone.org/install.sh | sudo bash
# 配置rclone,可参考cloudflare和rclone的官方文档
rclone config

相关资料

3、定时备份脚本

mkdir -p scripts && vim scripts/backup_script.sh

#! /bin/bash

备份脚本内容

cd scripts && chmod +x backup_script.sh

crontab -e

0 0 * * * /root/scripts/backup_script.sh

4、greencloud vn备份

# 备份mdbook文件
rclone copy /var/www/html/vps.gujiakai.top/src greencloud:vps.gujiakai.top
rclone copy /var/www/html/js.gujiakai.top/src greencloud:js.gujiakai.top
rclone copy /var/www/html/next.gujiakai.top/src greencloud:next.gujiakai.top
rclone copy /var/www/html/tg.gujiakai.top/src greencloud:tg.gujiakai.top
rclone copy /var/www/html/git.gujiakai.top/src greencloud:git.gujiakai.top
rclone copy /var/www/html/iis.gujiakai.top/src greencloud:iis.gujiakai.top
rclone copy /var/www/html/node.gujiakai.top/src greencloud:node.gujiakai.top
rclone copy /var/www/html/tj.gujiakai.top/src greencloud:tj.gujiakai.top
rclone copy /var/www/html/docker.gujiakai.top/src greencloud:docker.gujiakai.top
# 备份docker容器相关的文件
rclone copy /root/als greencloud:docker/als/
rclone copy /root/memos greencloud:docker/memos/
rclone copy /root/neko greencloud:docker/neko/
rclone copy /root/watchtower greencloud:docker/watchtower/
rclone copy /root/wordpress greencloud:docker/wordpress/
rclone copy /root/dashy greencloud:docker/dashy/
rclone copy /root/dozzle greencloud:docker/dozzle/
# 备份caddy
rclone copy /etc/caddy/ greencloud:caddy/
# 备份脚本
rclone copy /root/scripts greencloud:scripts

5、bandwagon gt备份

# 备份trojan-go
rclone copy /root/trojan-go bandwagongt:trojan-go/
# 备份docker容器相关的文件
rclone copy /root/freshrss bandwagongt:docker/freshrss/
rclone copy /root/rsshub bandwagongt:docker/rsshub/
rclone copy /root/sub_web bandwagongt:docker/sub_web/
rclone copy /root/umami  bandwagongt:docker/umami/
rclone copy /root/vaultwarden  bandwagongt:docker/vaultwarden/
rclone copy /root/alist  bandwagongt:docker/alist/
rclone copy /root/kutt bandwagongt:docker/kutt/
rclone copy /root/watchtower bandwagongt:docker/watchtower/
# 备份awesomerss
rclone copy /root/awesomerss  bandwagongt:awesomerss/
# 备份caddy
rclone copy /etc/caddy/ bandwagongt:caddy/
# 备份共享文件
rclone copy /opt/file_share bandwagongt:file_share/
# 备份脚本
rclone copy /root/scripts bandwagongt:scripts

6、cloudcone备份

# 备份caddy
rclone copy /etc/caddy/ cloudcone:caddy/
# 备份docker
rclone copy /root/MyUrls cloudcone:docker/MyUrls/
rclone co py /root/portainer cloudcone:docker/portainer/
rclone copy /root/bing cloudcone:docker/bing/
rclone copy /root/firefox cloudcone:docker/firefox/
# 备份music
rclone copy /opt/music cloudcone:music/
# 备份脚本
rclone copy /root/scripts cloudcone:scripts

7、signaltransmitter备份

# 备份yunohost
rclone copy /home/yunohost.backup signaltransmitter:yunohost.backup/

8、tototel hk cmi备份

# 备份docker
rclone copy /root/als tototel-hk-cmi:docker/als/
rclone copy /root/azure-openai-proxy tototel-hk-cmi:docker/azure-openai-proxy/
rclone copy /root/speedtest-x tototel-hk-cmi:docker/speedtest-x/
# 备份nginx
rclone copy /etc/nginx tototel-hk-cmi:nginx/

9、lightsail备份

# 备份docker
rclone copy /root/uptime_kuma lightsail:docker/uptime_kuma/
rclone copy /root/pandora lightsail:docker/pandora/
rclone copy /root/rssbridge lightsail:docker/rssbridge/
# 备份nginx
rclone copy /etc/nginx lightsail:nginx/
# 备份脚本
rclone copy /root/scripts lightsail:scripts

10、bandwagon gia备份

# 备份docker
rclone copy /root/smokeping bandwagongia:docker/smokeping/
# 备份脚本
rclone copy /root/scripts bandwagongia:scripts
# 备份nginx
rclone copy /etc/nginx bandwagongia:nginx

11、greencloud us备份

# 备份caddy
rclone copy /etc/caddy greencloudus:caddy
# 备份脚本
rclone copy /root/scripts greencloudus:scripts
# 备份docker
rclone copy /root/webtop greencloudus:docker/webtop

12、racknerd备份

# 备份caddy
rclone copy /etc/caddy racknerd:caddy
# 备份脚本
rclone copy /root/scripts racknerd:scripts
# 备份docker
rclone copy /root/rsshub racknerd:docker/rsshub
rclone copy /root/zipline racknerd:docker/zipline

13、justhost备份

# 备份docker
rclone copy /root/ghost justhost:docker/ghost
# 备份caddy
rclone copy /etc/caddy justhost:caddy
# 备份scripts
rclone copy /root/scripts justhost:scripts

14、easyvm备份

# 备份yunohost
rclone copy /home/yunohost.backup easyvm:yunohost.backup/

15、hosthatch备份

# 备份docker
rclone copy /root/uptime_kuma hosthatch:docker/uptime_kuma
# 备份caddy
rclone copy /etc/caddy hosthatch:caddy
# 备份scripts
rclone copy /root/scripts hosthatch:scripts

16、rclone拷贝vps上的视频到google drive


rclone copy ~/ gdrive:simplex-method --include "*.mp4"

搬瓦工学习笔记

1、bandwagon 443端口被GFW封禁的解决方案

bandwagon 443端口被禁的情形

bandwagon 443端口被GFW封禁的解决方案

解决方案:

  • 直接关机,等待ip从GFW的黑名单中释放,每个礼拜开机看一次。

  • 工单付费更换ip。

2、瓦工提供的DNS可解锁chatgpt。

# 瓦工内网NS解析,仅搬瓦工机器可用。
echo -e "nameserver 172.31.255.2" > /etc/resolv.conf

3、搬瓦工gt和gia线路的区别

简单来说,CN2 GIA 是中国电信的高端线路,CN2 GT 是中国电信的中端线路,这两个线路都是中国电信的,和中国联通、中国移动无关。

只有去程走59.43线路,那就是CN2 GT线路;往返都走59.43线路,就是CN2 GIA

4、搬瓦工gia和gia-e线路的区别

线路一样,唯一的区别就是带宽。

5、jms香港是不解gpt的。瓦工vps的香港是可以解的。

GFW学习笔记

1、检测服务器ip是否被墙

感谢bandwagon提供以下检测服务:

  • 检测ip有没有被墙:https://ping.pe

  • 检测端口有没有被墙:https://tcp.ping.pe

2、开启bbr加速

# 尝试加载名为 "tcp_bbr" 的内核模块
modprobe tcp_bbr
# 检查 "tcp_bbr" 模块是否已经成功加载
lsmod | grep "bbr"
# 查看当前TCP拥塞控制算法
sysctl net.ipv4.tcp_congestion_control
# 查看当前默认队列调度算法
sysctl net.core.default_qdisc
# 将新的默认队列调度算法设置为 "fq"
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
# 将新的TCP拥塞控制算法设置为 "bbr"
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 立即应用新的系统控制参数
sysctl -p
# 确认bbr是否正确开启
lsmod | grep bbr
# 确认fq算法是否正确开启
lsmod | grep fq

3、住宅ip与机房ip

住宅ip:宽带网络运营商提供的ip

机房ip:云服务厂商、数据中心提供的ip

不良林大哥讲解的ip类型分类

ip类型分类

工具:

注:isp:住宅ip;hosting或business:机房ip

4、域名管理列表(分流用)

5、使用中转的好处

使用中转的好处

6、两级代理和链式代理的区别与联系

两级代理和链式代理的区别与联系

7、我国海底光缆和国际出口之间的关系

我国海底光缆和国际出口之间的关系

8、clash中的fakeip和redircthost的区别

clash中的fakeip和redircthost的区别

9、clash for windows中的tap和tun模式

clash for windows中的tap和tun模式

更多关于cfw的信息可见cfw官网文档

10、基于tls的vps大面积被封分析以及处理

被封的vps大多为使用流量较高的vps,以及搬瓦工这类被GFW关注的网段的vps。

解决方法:使用CDN服务。换端口治标不治本,可能会导致ip被封。

建议:自己搭建的节点尽量不要分享给太多的朋友,以免流量过大被盯上,到时封了端口只能再换一个端口。 虽然更换端口很简单,但是次数多了就怕封ip。换ip需要钱。

11、关闭浏览器的quic,提升google,youtube的访问速度

12、SS节点的搭建

绿云(越南胡志明市)测评

使用yabs脚本测试结果:

root@GreenCloud:~# curl -sL yabs.sh | bash
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2023-02-27                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun 05 Mar 2023 06:46:20 PM CST

Basic System Information:
---------------------------------
Uptime     : 3 days, 1 hours, 49 minutes
Processor  : Intel(R) Xeon(R) CPU E5-2696 v4 @ 2.20GHz
CPU cores  : 2 @ 2199.996 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 3.8 GiB
Swap       : 2.0 GiB
Disk       : 32.4 GiB
Distro     : Debian GNU/Linux 11 (bullseye)
Kernel     : 5.10.0-21-amd64
VM Type    : KVM

Basic Network Information:
---------------------------------
Protocol   : IPv6
ISP        : GREENCLOUD
ASN        : AS149132 GREENCLOUD LIMITED LIABILITY COMPANY
Host       : Greencloud Limited Liability Company
Location   : Hai BàTrưng, Hanoi (HN)
Country    : Vietnam

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 90.10 MB/s   (22.5k) | 812.92 MB/s  (12.7k)
Write      | 90.34 MB/s   (22.5k) | 817.20 MB/s  (12.7k)
Total      | 180.44 MB/s  (45.1k) | 1.63 GB/s    (25.4k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 1.18 GB/s     (2.3k) | 1.38 GB/s     (1.3k)
Write      | 1.24 GB/s     (2.4k) | 1.48 GB/s     (1.4k)
Total      | 2.43 GB/s     (4.7k) | 2.87 GB/s     (2.8k)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping           
-----           | -----                     | ----            | ----            | ----           
Clouvider       | London, UK (10G)          | 687 Mbits/sec   | 699 Mbits/sec   |                
Scaleway        | Paris, FR (10G)           | 831 Mbits/sec   | 496 Mbits/sec   | 233 ms         
NovoServe       | North Holland, NL (40G)   | 562 Mbits/sec   | 632 Mbits/sec   | 253 ms         
Uztelecom       | Tashkent, UZ (10G)        | busy            | 517 Mbits/sec   | 254 ms         
Clouvider       | NYC, NY, US (10G)         | 579 Mbits/sec   | 575 Mbits/sec   | 262 ms         
Clouvider       | Dallas, TX, US (10G)      | busy            | 758 Mbits/sec   | 241 ms         
Clouvider       | Los Angeles, CA, US (10G) | 780 Mbits/sec   | busy            |                

iperf3 Network Speed Tests (IPv6):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping           
-----           | -----                     | ----            | ----            | ----           
Clouvider       | London, UK (10G)          | busy            | 565 Mbits/sec   | 248 ms         
Scaleway        | Paris, FR (10G)           | busy            | 741 Mbits/sec   | 211 ms         
NovoServe       | North Holland, NL (40G)   | 587 Mbits/sec   | 616 Mbits/sec   | 253 ms         
Uztelecom       | Tashkent, UZ (10G)        | busy            | 659 Mbits/sec   | 262 ms         
Clouvider       | NYC, NY, US (10G)         | busy            | 631 Mbits/sec   | 262 ms         
Clouvider       | Dallas, TX, US (10G)      | 674 Mbits/sec   | 729 Mbits/sec   | 241 ms         
Clouvider       | Los Angeles, CA, US (10G) | 802 Mbits/sec   | 847 Mbits/sec   | 210 ms         

Geekbench 6 Benchmark Test:
---------------------------------
Test            | Value                         
                |                               
Single Core     | 821                           
Multi Core      | 1478                          
Full Test       | https://browser.geekbench.com/v6/cpu/417484

YABS completed in 18 min 26 sec

lightsail学习笔记

swap分区的介绍

swap分区的介绍

1、创建swap分区

# 查看当前系统中已经启用的swap分区
swapon --show

# 该命令用于创建一个大小为 1GB 的 Swap 文件,并将其命名为 /swapfile
fallocate -l 1G /swapfile
# 或者
# 该命令用于创建一个大小为 2GB 的 Swap 文件,并将其命名为 /swapfile
fallocate -l 2G /swapfile

# 该命令用于修改 /swapfile 文件的权限,使其只能被 root 用户读写
chmod 600 /swapfile
# 该命令用于将 /swapfile 文件格式化为 Swap 分区。
mkswap /swapfile
# 该命令用于启用 /swapfile 文件作为 Swap 分区。
swapon /swapfile

# 该命令用于打开 /etc/fstab 文件进行编辑,将 /swapfile 文件添加到系统启动时自动挂载的列表中
vi /etc/fstab 
/swapfile   none    swap    sw    0   0
# 或者
/swapfile   none    swap    defaults 0 0

# 该命令用于查看当前系统的 swappiness 值,这个值表示系统在物理内存不足时使用 Swap 分区的程度
cat /proc/sys/vm/swappiness
# 该命令用于查看当前系统的 vfs_cache_pressure 值,这个值表示系统在释放内存时,如何对缓存进行清理
cat /proc/sys/vm/vfs_cache_pressure

# 该命令用于动态地修改系统的 swappiness 值,将其设置为 10,表示系统尽可能地少地使用 Swap 分区
sysctl vm.swappiness=10
# 该命令用于动态地修改系统的 vfs_cache_pressure 值,将其设置为 50,表示系统会尽可能多地保留缓存数据
sysctl vm.vfs_cache_pressure=50

# 该命令用于打开 /etc/sysctl.conf 文件进行编辑,
# 将 swappiness 和 vfs_cache_pressure 两个参数的值设置为需要的值,以使修改后的值在系统重启后仍然生效
vi /etc/sysctl.conf
vm.swappiness=10
vfs_cache_pressure=50

looking glass学习笔记

1、什么是looking glass

Looking glass

自建looking glass工具:ALS - Another Looking-glass Server

2、各家vps厂商提供的looking glass工具

  • 搬瓦工

搬瓦工机房介绍:搬瓦工DC2/DC3/DC4/DC6/DC8/DC9/香港/日本

教程中介绍的各大机房,演示站点中含有looking glass工具。

VPS测试脚本

-一个简单的 bash 脚本,用于使用 fio、 iper3和 Geekbench 评估 Linux 服务器性能。

相关文章介绍:yabs.sh:Linux VPS 测评脚本/一键测试硬盘速度/网络带宽/CPU 跑分等

VPS测速

注:VPS 去程、回程要综合多方面因素考虑,不能仅仅从线路或跳数来评判。

1、去程

使用IPIP的traceroute工具。

去程traceroute

2、回程

使用IPIP的traceroute linux工具。

# 下载traceroute linux工具
wget https://cdn.ipip.net/17mon/besttrace4linux.zip && unzip *.zip -d besttraceroute && rm -rf besttrace4linux.zip
# 如果上面官方的cdn下载不了,可以采用我的cdn源。
wget https://ftp.gujiakai.top/besttrace4linux.zip && unzip *.zip -d besttraceroute && rm -rf besttrace4linux.zip

# 进入besttraceroute文件夹
cd besttraceroute 
# 将当前目录下的 besttrace 文件添加可执行权限,使其可以被执行
chmod +x ./besttrace
# 检测数据包从服务器到目标主机的路径和延迟
./besttrace 你本地的ip地址 -g cn

为啥traceroute追踪路由时的RTT一般会显示3个数值?

chatgpt解释

为啥用traceroute测试路由时,后期的RTT会不增反减?

chatgpt解释

3、我所持有的的vps回程评测


3.1、绿云越南胡志明市

  • 中国江苏南京移动

绿云越南胡志明市—>中国江苏南京移动

  • 中国江苏南京电信

绿云越南胡志明市—>中国江苏南京电信


3.2、justhost俄罗斯莫斯科

  • 中国江苏南京移动

justhost莫斯科—>中国江苏南京移动

  • 中国江苏南京电信

justhost莫斯科—>中国江苏南京电信


3.3、lightsail美国俄勒冈州波特兰

  • 中国江苏南京移动

lightsail美国俄勒冈州波特兰—>中国江苏南京移动

  • 中国江苏南京电信

lightsail美国俄勒冈州波特兰—>中国江苏南京电信图一

lightsail美国俄勒冈州波特兰—>中国江苏南京电信图二


3.4、搬瓦工 CN2 GT美国加州洛杉矶

  • 中国江苏南京移动

搬瓦工美国加州洛杉矶—>中国江苏南京移动

  • 中国江苏南京电信

搬瓦工美国加州洛杉矶—>中国江苏南京电信

补充资料


3.5、cloudcone美国加州洛杉矶

  • 中国江苏南京移动

cloudcone美国加州洛杉矶—>中国江苏南京移动

  • 中国江苏南京电信

cloudcone美国加州洛杉矶—>中国江苏南京电信


3.6、racknerd美国华盛顿州西雅图

  • 中国江苏南京移动

racknerd美国华盛顿州西雅图—>中国江苏南京移动图一

racknerd美国华盛顿州西雅图—>中国江苏南京移动图二

  • 中国江苏南京电信


3.7、Racknerd美国加州圣何塞

  • 中国江苏南京移动

Racknerd美国加州圣何塞—>中国江苏南京移动

  • 中国江苏南京电信

Racknerd美国加州圣何塞—>中国江苏南京电信


3.8、tnahosting美国伊利诺伊州芝加哥

  • 中国江苏南京移动

tnahosting美国伊利诺伊州芝加哥—>中国江苏南京移动图一

tnahosting美国伊利诺伊州芝加哥—>中国江苏南京移动图二

  • 中国江苏南京电信

tnahosting美国伊利诺伊州芝加哥—>中国江苏南京电信


3.9、signaltransmitter德国黑森州法兰克福

  • 中国江苏南京移动

signaltransmitter德国黑森州法兰克福—>中国江苏南京移动

  • 中国江苏南京电信

signaltransmitter德国黑森州法兰克福—>中国江苏南京电信

3.10、aws ec2美国加州北部

  • 中国江苏南京移动

aws ec2加州北部—>中国江苏南京移动图一

aws ec2加州北部—>中国江苏南京移动图二

  • 中国江苏南京电信

aws ec2加州北部—>中国江苏南京电信

3.11、搬瓦工CN2 GIA美国加州洛杉矶

  • 中国江苏南京移动

搬瓦工CN2 GIA加州洛杉矶—>中国江苏南京移动

  • 中国江苏南京电信

搬瓦工CN2 GIA加州洛杉矶—>中国江苏南京电信

3.12、DMIT美国加州圣何塞

  • 中国江苏南京移动

DMIT美国加州圣何塞—>中国江苏南京移动

  • 中国江苏南京电信

DMIT美国加州圣何塞—>中国江苏南京电信

虚拟化技术

1、KVM技术和Openvz技术维基百科解释

kvm and openvz

2、PVM和KVM

PVM和KVM

VPS选购

1、推荐

  • lowendstock

  • 科学上网,优先考虑搬瓦工CN2 GIA美西套餐以及aws lightsail新加坡/日本/首尔

  • windows server我目前使用的是interserver厂商提供的,个人目前使用体验不错。

  • mac os vps不建议购买,价格非常贵。

2、信息源

2、我的打算

  • 搬瓦工CN2 GIA

  • AWS Lightsail东京

  • 斯巴达vps

  • 绿云vps

  • interserver vps

3、值得关注的帖子

4、关于vps推销商的aff码行为

5、言论

一个账号一个鸡 | One chicken per account
付款只能用批批 | PayPal payments only
超过伍刀别买鸡 | Don't buy if above five dollars
判定停权就争议 | Dispute if account restricted
白**半年免费鸡 | free chicken for half year
删号删鸡不扎心 | No worries if account or chicken deleted
不买黄牛溢价鸡 | Don't buy overpriced chicken from scalpers
无脑直冲是傻逼 | Stupid people buy without thinking

预判商家vps超售学习笔记

1、top命令

top
top - 15:38:50 up 3 days, 16:52,  2 users,  load average: 0.09, 0.34, 0.30
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  3.0 sy,  0.0 ni, 90.7 id,  0.0 wa,  0.3 hi,  2.0 si,  3.3 st
MiB Mem :    466.8 total,    122.2 free,    148.1 used,    196.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    305.9 avail Mem 

数据分析:

top 是一个实时显示 Linux 系统中各个进程的动态信息的实用工具。它可以展示系统的基本信息,如运行时间、已登录用户数量、系统平均负载等,以及当前系统中各个进程的状态,如进程ID、用户、CPU使用率、内存占用等。通过这些信息,你可以了解系统的整体状况以及每个进程的运行情况。

这里是你给出的 top 命令输出的参数解析:

15:38:50:当前系统时间(小时:分钟:秒) up 3 days, 16:52:系统已运行时间,这里是3天16小时52分钟 2 users:当前有2个已登录用户 load average: 0.09, 0.34, 0.30:系统平均负载(1分钟、5分钟、15分钟) Tasks:进程总数统计 131 total:共有131个进程 1 running:1个正在运行的进程 130 sleeping:130个休眠状态的进程 0 stopped:0个已停止的进程 0 zombie:0个僵尸进程 %Cpu(s):CPU使用率统计 0.7 us:用户进程占用CPU的百分比 3.0 sy:系统进程占用CPU的百分比 0.0 ni:优先级调整过的进程占用CPU的百分比 90.7 id:CPU空闲时间百分比 0.0 wa:等待I/O操作的CPU时间百分比 0.3 hi:硬中断占用CPU的百分比 2.0 si:软中断占用CPU的百分比 3.3 st:虚拟机中占用的CPU时间百分比(steal time) MiB Mem:内存使用情况 466.8 total:总共有466.8 MiB内存 122.2 free:122.2 MiB空闲内存 148.1 used:148.1 MiB已使用内存 196.4 buff/cache:196.4 MiB用于缓存和缓冲区的内存 MiB Swap:交换分区使用情况 0.0 total:总共有0.0 MiB交换分区 0.0 free:0.0 MiB空闲交换分区 0.0 used:0.0 MiB已使用交换分区 305.9 avail Mem:可用内存为305.9 MiB 通过 top 命令,你可以实时监控系统性能和进程状态,对于发现系统性能瓶颈、查找资源占用过高的进程等任务非常有帮助。

重点关注id和wa。如果 %id 很低, 那么说明CPU的工作负载很大并且没有多少计算负载能力剩余。 如果 %wa 很高,则说明CPU 处于等待计算的状态。

2、iostat命令

# 安装sysstat软件包
pacman -S sysstat or apt install sysstat or yum install sysstat
# 显示 CPU 使用率以及其他与 CPU 相关的统计信息
iostat -c

iostat -c 的选项解释如下:

-c:这个选项表示仅显示 CPU 统计信息,而不显示与磁盘活动相关的信息。iostat 命令默认显示磁盘活动信息,但是使用 -c 选项后,只显示 CPU 统计信息。

输出解释如下:

%user:用户模式下的 CPU 使用率
%nice:用于运行 niced(优先级较低的)进程的 CPU 使用率
%system:系统模式下的 CPU 使用率
%iowait:CPU 等待 I/O 完成的时间百分比
%steal:在虚拟化环境中,其他虚拟机占用的 CPU 时间百分比
%idle:CPU 空闲时间百分比

iostat -c命令解释

更多关于超售相关的内容:

2、理解top指令中的平均负载

vps界常用网络用语总结

1、剑皇:刷一些违法站点,以产生高额账单。

2、mjj:

喜欢买鸡(vps)买完折腾,折腾完吃灰再买新鸡再折腾吃灰,乐此不疲的一群人就是mjj

mjj的解释

3、oneman

指的是一个人经营的idc(Internet Data Cneter)服务商。

4、一键dd什么意思?

dd是linux中的一个命令,用于创建和复制磁盘映像。

一键dd指的是一键脚本重装系统。

5、什么是堡垒机?

堡垒机是一个审计设备,所谓审计,就是记录日志的意思。它审计和记录的就是IT运维人员对服务器、网络设备等IT资产的运维操作,即运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。

6、绑定是什么意思?

帮顶的谐音。

7、插眼

意为:持续关注中。

8、SLA

服务等级协议(SLA,Service Level Agreement)是一种外包和技术供应商合同,其中概述供应商承诺向客户提供的服务等级。该协议概述了正常运行时间、交付时间、响应时间和解决时间等指标。SLA 还详细说明了未满足要求时的操作过程,例如提供额外支持或定价折扣。SLA 通常是在客户和服务提供商之间达成协议,但同一公司内的不同业务部门也可以相互签订 SLA。

9、vps厂商割接是什么?

vps厂商割接通知

chatgpt对于割接的解释

10、挂火车头是什么?

在windows机器上,挂火车采集器。

火车采集器是目前使用人数更多的互联网数据抓取、处理、分析,挖掘软件。

vps线路学习笔记

1、辨别线路的方法

# 安装mtr网络诊断工具
apt install mtr或者pacman -S mtr
# 生成一个包含AS号和IP地址(无主机名)的报告,其中包含了从源到目标的网络路径信息和延迟数据。
mtr -rzn 目标ip地址

# 看进入国内的第一跳/第二跳ip是否为对应线路的AS号。

mtr -rzn参数的解释

参考资料

warp学习笔记

1、warp好处

warp好处

2、warp三类账号的特点与区别

warp三类账号的特点与区别

注:warp的teams已更名为Zero Trust。都是团队账户的意思。

3、warp socks5代理,搭配x-ui面板。实现访问chatgpt和new bing走代理

Sorry, looks like your network settings are preventing access to this feature—new bing网络问题的解决对策

注:由于opeenai服务不对香港开放,因此香港的vps套了warp也无济于事,仍为国家地区不受支持。

4、开启warp非全局warp端口,v2ray采用warp端口,访问chatgpt,依旧失败的解决方案。

dmit的vps开启了warp端口,warp端口获取到的ipv4地址是cloudflare的,而ipv6地址,依旧是dmit的ipv6地址。 解决方案:禁用本机的ipv6地址。

# 禁用vps的ipv6地址
echo -e "net.ipv6.conf.all.disable_ipv6=1\nnet.ipv6.conf.default.disable_ipv6=1\nnet.ipv6.conf.lo.disable_ipv6=1" >> /etc/sysctl.conf
# 重载内核参数设置
sysctl -p

windows学习笔记

1、windows开启bbr加速

Windows最新版开启BBR,让你上传下载都跑满!

2、windows remote desktop使用代理

windows远程桌面使用代理教程

via: Netch怎么加速远程桌面3389??

其余参考资料:

3、ssh连接windows server

vscode使用remote explorer连接远程服务器,会在用户目录文件夹下创建一个名为.vscode-server的文件夹。

.vscode-server文件夹是用来存放VSCode Server的后端服务,它可以让VSCode远程体验成为可能。

4、廉价windows vps选购指南

5、dns相关命令

# 刷新DNS缓存
ipconfig /flushdns
# 查看DNS缓存内容
ipconfig /displaydns

6、更改windows server的密码

net user administrator NEWPASS

另解:在server manager中更改administrator的密码

7、windows server如何分盘

8、windows创建软链接

mklink E:\tools\nginx-1.24.0\conf\sites-enabled\dedipath-us.fucgcfpwck.top.conf E:\tools\nginx-1.24.0\conf\sites-available\dedipath-us.fucgcfpwck.top.conf

9、windows关机

shutdown /s -t 0

10、重置windows sever许可证状态

slmgr -rearm

chatgpt解释

11、远程桌面传输文件

12、windows常用的快捷键

win+r:打开运行对话窗口
service.msc:打开windows系统服务的管理控制台

13、将.exe文件设置为开机自启

14、nexttrace在windows下使用放行icmp入站

# 向Windows防火墙添加一个新规则,该规则允许所有的入站 ICMPv4(Internet Control Message Protocol version 4)的流量
netsh advfirewall firewall add rule name="All ICMP v4" dir=in action=allow protocol=icmpv4:any,any
# 向Windows防火墙添加一个新规则,该规则允许所有的入站 ICMPv6(Internet Control Message Protocol version 6)的流量
netsh advfirewall firewall add rule name="All ICMP v6" dir=in action=allow protocol=icmpv6:any,any

15、windows上弹出u盘的方法

windows上弹出u盘的方法

16、windows powershell永久设置科学上网

将以下内容配置到C:\Users\gujia\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1中。

$env:http_proxy="http://127.0.0.1:7890"
$env:https_proxy="http://127.0.0.1:7890"

17、windows cmd设置科学上网【仅在本次终端生效】

set http_proxy=127.0.0.1:7890
set https_proxy=127.0.0.1:7890

18、windows git bash设置科学上网

  • 临时设置科学上网
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
  • 永久设置科学上网

将以下内容配置到C:\Users\gujia.bashrc

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

19、windows上的vscode remote ssh设置代理连接

给~/.ssh/config文件中的每一个配置项设置代理

ProxyCommand C:\Program Files (x86)\Nmap\ncat.exe --proxy-type http --proxy 127.0.0.1:7890 %h %p

chatgpt解释

1、dd windows 脚本

# 下载dd工具
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
# dd windows
bash InstallNET.sh -dd "https://dl.lamp.sh/vhd/en-us_win2022.xz"

# 用户名:Administrator
# 密码:Teddysun.com
wget -qO- 1keydd.com/inst.sh | bash -s - -t https://oss.sunpma.com/Windows/Win10_2021LTSC_64_Administrator_nat.ee.gz


# 重装为win10   
# 用户名:Administrator
# 密码:nat.ee

2、激活windows报错的解决方案

vps配置选择

配置越高越好,如果是纯科学的vps,可以选择低配,以求得更优质的线路。

1、NVMe存储、SSD存储、HDD存储的区别

阿里云服务器学习笔记

1、卸载阿里云盾(安骑士)

wget http://update.aegis.aliyun.com/download/uninstall.sh && chmod +x uninstall.sh && bash uninstall.sh
wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh && chmod +x quartz_uninstall.sh && bash quartz_uninstall.sh

删除残留

pkill aliyun-service
rm -fr /etc/init.d/agentwatch /usr/sbin/aliyun-service
rm -rf /usr/local/aegis*

屏蔽云盾IP

iptables -I INPUT -s 140.205.201.0/28 -j DROP
iptables -I INPUT -s 140.205.201.16/29 -j DROP
iptables -I INPUT -s 140.205.201.32/28 -j DROP
iptables -I INPUT -s 140.205.225.192/29 -j DROP
iptables -I INPUT -s 140.205.225.200/30 -j DROP
iptables -I INPUT -s 140.205.225.184/29 -j DROP
iptables -I INPUT -s 140.205.225.183/32 -j DROP
iptables -I INPUT -s 140.205.225.206/32 -j DROP
iptables -I INPUT -s 140.205.225.205/32 -j DROP
iptables -I INPUT -s 140.205.225.195/32 -j DROP
iptables -I INPUT -s 140.205.225.204/32 -j DROP

检查阿里云盾是否卸载干净

ps -aux | grep -E 'aliyun|AliYunDun' | grep -v grep

[疑问] 如何强制卸载阿里云盾(安骑士)监控及屏蔽云盾IP

如何完全卸载阿里云盾

2、国内vps设置代理

# 国外vps下载v2ray内核压缩包
curl -fsSL https://ghproxy.com/https://github.com/v2fly/v2ray-core/releases/download/v5.7.0/v2ray-linux-64.zip -o v2ray.zip
# 解压文件,并指定解压的目录
unzip v2ray.zip -d v2ray

v2rayN软件导出节点配置信息,存为config.json,并且上传到服务器上的v2ray文件夹,替换掉原本默认的config.json。

# 测试v2ray
./v2ray test
# 在后台启动v2ray程序并使其在退出终端后仍然运行
nohup /root/v2ray/v2ray run > /dev/null 2>&1 &
# 查找与v2ray相关的所有正在运行的进程
ps -ef | grep v2ray
# 使用socks5代理访问google,测试能否科学上网
curl --socks5 127.0.0.1:10808 https://www.google.com

或者将v2ray设置为系统服务

# 使用 nano 编辑器打开并编辑位于 /etc/systemd/system/ 目录下的 v2ray.service 文件
nano /etc/systemd/system/v2ray.service

[Unit]
Description=V2Ray Service
Documentation=https://www.v2fly.org/
After=network.target nss-lookup.target

[Service]
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/root/v2ray/v2ray run
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 重新加载 systemd 的配置文件
sudo systemctl daemon-reload
# 启动名为 "v2ray" 的 systemd 服务
sudo systemctl start v2ray
# 使 "v2ray" 服务在系统启动时自动运行
sudo systemctl enable v2ray
  • 永久生效型:
# 使用 vim 文本编辑器打开当前用户的 bash 配置文件
vim ~/.bashrc
# 定义 HTTP 代理服务器的地址
export http_proxy=socks5://127.0.0.1:10808
# ​重新加载当前用户的 .bashrc 文件
source ~/.bashrc
  • 仅在当前终端生效:
# 注:只能设置一种代理socks5或者http代理
# 设置socks5代理
export http_proxy=socks5://localhost:10808
export https_proxy=socks5://localhost:10808
# 设置http代理
export http_proxy="http://localhost:10809"
export https_proxy="http://localhost:10809"
# 使得代理失效
unset http_proxy
unset https_proxy

3、wget下载走代理的方式

# 编辑wget 命令的用户配置文件
vim ~/.wgetrc
# 告诉 wget 默认使用代理服务器。如果没有这个设置,即使你指定了 http_proxy 或 https_proxy,wget 也不会使用代理服务器
use_proxy=yes
# 设置了 wget 对于 HTTP 请求的默认代理服务器地址和端口
http_proxy=127.0.0.1:10809
# 设置了 wget 对于 HTTPS 请求的默认代理服务器地址和端口
https_proxy=127.0.0.1:10809

4、国内服务器搭建xray

# 国外vps下载v2ray内核压缩包
curl -fsSL https://gh-hk.gujiakai.top/https://github.com/XTLS/Xray-core/releases/download/v1.8.6/Xray-linux-64.zip -o xray.zip
# 解压文件,并指定解压的目录
unzip xray.zip -d xray
# 删除xray压缩包
rm -rf xray.zip
# 进入xray目录
cd xray 
# 编辑配置文件,并将客户端到处的xray的配置粘贴进去
vim config.json
# 编辑xray的系统服务文件
vim /etc/systemd/system/xray.service

[Unit]
Description=Xray Service
Documentation=https://xtls.github.io/
After=network.target nss-lookup.target

[Service]
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/root/xray/xray run
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 重新加载内核
systemctl daemon-reload
# 设置xray开机自启,并且立即启动xray
systemctl enable --now xray
# 编辑bash配置文件
vim .bashrc
# 设置http代理
export http_proxy="http://localhost:10809"
export https_proxy="http://localhost:10809"
# 或者设置全局代理
export ALL_PROXY=socks5://127.0.0.1:10808
# 使bash配置生效
source .bashrc

腾讯云服务器学习笔记

1、卸载监控

# 运行 Stargate 的卸载脚本
/usr/local/qcloud/stargate/admin/uninstall.sh 
# 运行 YunJing 的卸载脚本
/usr/local/qcloud/YunJing/uninst.sh 
# 运行 Barad 的卸载脚本
/usr/local/qcloud/monitor/barad/admin/uninstall.sh
# 使用 systemctl 停止 tat_agent 服务
systemctl stop tat_agent 
# 使用 systemctl 禁用 tat_agent 服务,这样它不会在下次启动时自动运行
systemctl disable tat_agent 
# 删除 tat_agent 的 systemd 服务文件
rm -f /etc/systemd/system/tat_agent.service 
# 使用 ps 和 grep 命令查找所有名为 'agent' 的进程
ps -A | grep agent 
# 删除 /usr/local/qcloud 目录及其子目录和文件
rm -rf /usr/local/qcloud 

2、腾讯云windows卸载监控

除了官方文档中提及到的还需要停止tat_agent服务,以及卸载腾讯云鼎。最后删除qcloud文件夹即可。

3、腾讯云卸载监控补充资料

4、腾讯云国内vps设置xray

# 下载xray压缩包
curl -fsSL https://ghproxy.com/https://github.com/XTLS/Xray-core/releases/download/v1.8.4/Xray-linux-64.zip -o xray.zip
# 解压缩
unzip xray.zip -d xray

其余见github 私有gist。

5、腾讯云设置clash

# 使用 wget 下载 clash 的 Linux amd64 版本 v1.18.0 压缩文件
# clash删库,下面链接已失效
# wget https://ghproxy.com/https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.18.0.gz
# 使用wget下载clash meta内核
wget https://gh-hk.gujiakai.top/https://github.com/MetaCubeX/mihomo/releases/download/v1.17.0/mihomo-linux-amd64-v1.17.0.gz

# 使用 gunzip 解压下载的 gz 文件
# gunzip clash-linux-amd64-v1.18.0.gz
gunzip mihomo-linux-amd64-v1.17.0.gz 

# 修改名字
mv mihomo-linux-amd64-v1.17.0 clash-meta

# 使用 mv 将解压后的 clash 文件移动到 /usr/local/bin/ 目录并重命名为 clash
# mv clash-linux-amd64-v1.18.0 /usr/local/bin/clash
# 将clash-meta移动到/usr/local/bin文件夹
mv clash-meta /usr/local/bin/

# 切换到 /usr/local/bin 目录
cd /usr/local/bin

# 使用 chmod 为 clash 文件添加执行权限
# chmod +x clash
# 使用 chmod 为 clash-meta 文件添加执行权限
chmod +x clash-meta

# 切换到 opt 目录
cd /opt

# 创建一个名为 clash 的文件夹
mkdir clash

# 切换到新创建的 clash 文件夹
cd clash

# 下载 Country.mmdb 文件,用于地理位置识别
wget https://gh-hk.gujiakai.top/https://github.com/Dreamacro/maxmind-geoip/releases/download/20231012/Country.mmdb

# 克隆 clash-dashboard 的用户界面
# git clone -b gh-pages https://gh-hk.gujiakai.top/https://github.com/Dreamacro/clash-dashboard ui
# 克隆私房菜机场到yacd面板
# git clone -b gh-pages https://github.com/kogekiplay/Yacd-meta ui
git clone -b gh-pages https://gh-hk.gujiakai.top/https://github.com/kogekiplay/Yacd-meta ui
# 克隆clash-meta官方的yacd面板
# git clone -b gh-pages https://gh-hk.gujiakai.top/https://github.com/MetaCubeX/Yacd-meta.git ui

# 或者下载gh-pages分支的zip压缩包,接着解压缩即可。
wget https://gh-hk.gujiakai.top/https://github.com/MetaCubeX/Yacd-meta/archive/gh-pages.zip
wget https://gh-hk.gujiakai.top/https://github.com/Dreamacro/clash-dashboard/archive/gh-pages.zip


# 使用 wget 下载并重命名 clash 配置文件
wget clash订阅链接 -O config.yaml

# 使用 vim 编辑 config.yaml 文件,添加相关配置
vim config.yaml

# allow-lan: true
# 添加以下内容
external-controller: :9090
external-ui: /opt/clash/ui
secret: passwd

# 使用 vim 创建并编辑 /etc/systemd/system/clash.service,用于设置 clash 服务
# vim /etc/systemd/system/clash.service
# 添加以下内容
# [Unit]
# Description=Clash daemon, A rule-based proxy in Go.
# After=network.target

# [Service]
# Type=simple
# User=root
# ExecStart=/usr/local/bin/clash -d /opt/clash/
# Restart=on-failure

# [Install]

# 使用 vim 创建并编辑 /etc/systemd/system/clash.service,用于设置 clash 服务
vim /etc/systemd/system/clash.service

# clash-meta的系统服务
[Unit]
Description=Clash Meta daemon, A rule-based proxy in Go.
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/clash-meta -d /opt/clash/
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 重启内核
systemctl daemon-reload

# 设置clash开机自启并且立即启动clash
systemctl enable --now clash

# 启动 clash 服务
systemctl start clash

# 查看 clash 服务状态
systemctl status clash

# 设置环境变量,配置 HTTP 和 HTTPS 代理
export http_proxy="127.0.0.1:7890"
export https_proxy="127.0.0.1:7890"

export http_proxy="127.0.0.1:7890"
export https_proxy="127.0.0.1:7890"

# 设置系统代理为 SOCKS5,代理地址为本地的 127.0.0.1,端口为 7891
# 用于设置环境变量 ALL_PROXY,使得所有支持此变量的程序都会通过指定的 SOCKS5 代理进行网络连接
export ALL_PROXY=socks5://127.0.0.1:7891

# 使用 curl 测试代理设置
curl google.com
curl ipinfo.io/json

6、切换腾讯云的软件源

vim /etc/apt/source.list
vim /etc/apt/sources.list

# 注释掉腾讯云的软件源,更换为linux发行版官方的软件源。
# 国内的机器更新软件包列表之前,需挂上代理,否则更新速度缓慢。

7、轻量应用服务器 vs CVM服务器

8、虚拟主机 vs VPS vs 云服务器

Azure学习笔记

1、允许root登录,修改密码

详情见SSH学习笔记

2、azure学生100美元余额查询入口

https://www.microsoftazuresponsorships.com/Balance

3、azure流量100g和15g/month

4、创建虚拟机时将ip更改为动态ip

注:创建新的虚拟机默认静态IP且不可变更为动态IP。

5、给动态ip的服务器设置dns名称

6、azure学生100刀使用详情

https://www.microsoftazuresponsorships.com/Usage

7、微软学生订阅提供的每月带宽用量是15GB?

8、azure学生每月免费流量到底是15GB还是100GB存疑

参考资料

注:azure学生包中的windows开启需要耐心,建议只挂一个google one vpn。

9、azure数据中心:https://azure.microsoft.com/en-us/explore/global-infrastructure/geographies/#overview

10、azure搭建google one vpn,小内存windows:

  • 1、下载并安装thorium浏览器:https://github.com/Alex313031/Thorium-Win/releases/download/M119.0.6045.214/thorium_mini_installer.exe

  • 2、打开thorium浏览器,并将其设置为默认浏览器

  • 3、打开google one vpn网址:one.google.com

  • 4、使用订阅了google one的账号登陆,下载并安装google one vpn

  • 5、开启google one vpn

  • 6、下载xray-windows:https://github.com/XTLS/Xray-core/releases/download/v1.8.7/Xray-windows-64.zip

  • 7、解压缩,接着在xray文件夹中新建config.json配置文件。接着运行wxray.exe。

  • 8、打开windows防火墙,放行xray配置文件中的相应端口。

  • 9、在azure控制台放行windows的相应端口

  • 10、使用autoit实现永不失连的google one vpn

检查内存超售的方法

1、一键脚本

curl https://raw.githubusercontent.com/uselibrary/memoryCheck/main/memoryCheck.sh | bash

2、进程被杀死前可以测出当时最大的内存占用

# 安装 wget 工具,用于从网络下载文件
yum install wget -y

# 安装开发工具组,包括编译器、链接器等
yum groupinstall "Development Tools" -y

# 使用 wget 下载 memtester.cpp 源代码文件
wget https://raw.githubusercontent.com/FunctionClub/Memtester/master/memtester.cpp

# 使用 gcc 编译 memtester.cpp,链接标准 C++ 库
gcc -l stdc++ memtester.cpp

# 执行编译后的程序(默认输出为 a.out)
./a.out

acme脚本学习笔记

1、acme脚本的安装

# 安装acme脚本
curl https://get.acme.sh | sh -s [email protected]
# 重新加载环境变量
source ~/.bashrc
# 建立软链接
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh

注意:安装完acme脚本后,需重新加载环境变量,不然会报错:acme.sh: command not found

2、acme脚本的基本使用

# 切换ca机构
acme.sh --set-default-ca --server letsencrypt
acme.sh --set-default-ca --server zerossl
# nginx模式申请证书
acme.sh --issue -d xxx.example.com --nginx /usr/local/nginx/conf/nginx.conf
# dns模式申请证书(以cloudflare为例)
# 具体配置见https://github.com/acmesh-official/acme.sh/wiki/dnsapi
acme.sh  --issue --dns dns_cf -d xxx.example.com
# 安装证书
acme.sh --install-cert -d xxx.example.com \
--key-file       /etc/nginx/ssl/xxx.example.com.key.pem  \
--fullchain-file /etc/nginx/ssl/xxx.example.com.cert.pem \
--reloadcmd     "service nginx force-reload"

3、其余命令

# 查看已安装证书信息
acme.sh --info -d example.com
# 开启acme脚本自动升级
acme.sh --upgrade --auto-upgrade
# acme脚本卸载
acme.sh --uninstall
rm -rf ~/.acme.sh/
# acme脚本移除证书
acme.sh --remove -d xxx.example.com --ecc
rm -rf /root/.acme.sh/xxx.example.com_ecc

4、申请用于测试或开发环境中的证书

# --staging 或 --test: 使用 Staging Environment 的服务器进行测试。
# 这样获取的证书不被公认为有效,主要用于测试和开发。
acme.sh --issue --dns dns_cf --staging -d test.example.com

更多关于--staging和--test参数的解释

关于--staging和--test参数的解释

注:测试证书不需要删除,它会自动被正式证书覆盖。

apache2学习笔记

# apt安装apache2
apt install apache2

在基于debian的linux发行版中,apache http服务器的默认安装目录是/etc/apache2。这个目录包含了apache服务器的配置文件和相关资源。

.
├── apache2.conf(apache的主要配置文件,包含了全局的apache配置选项和指令)
├── conf-available(包含了可用的apache配置文件模板)
├── conf-enabled(包含了启用的配置文件的符号链接)
├── envvars(包含了apache的环境变量)
├── magic(包含了apache的魔术文件,用来识别文件的类型和编码)
├── mods-available(包含了apache的可用模块)
├── mods-enabled(包含了启用的模块的符号链接)
├── ports.conf(指定了apache监听的端口和协议)
├── sites-available(包含了可用的apache网站配置文件模板)
└── sites-enabled(包含了启用的网站配置文件的符号链接)

1、配置http

# 启用代理模块和反向代理模块
a2enmod proxy
a2enmod proxy_http

cd /etc/apache2/sites-available
vi xxx.example.com.conf

# 配置反向代理
<VirtualHost *:80>
    ServerName xxx.example.com
    ProxyPass / http://127.0.0.1:xxx/
    ProxyPassReverse / http://127.0.0.1:xxx/
</VirtualHost>

# 启用站点的配置文件
a2ensite xxx.example.com.conf
# 重新加载apache2
systemctl reload apache2

2、https设置

参考certbot

3、httpd和apache2的关系

httpd和apache2的关系

nginx学习笔记

# apt安装nginx
apt install nginx

在基于debian的linux发行版中,nginx服务器的默认安装目录是/etc/nginx。这个目录包含了apache服务器的配置文件和相关资源。

.
├── conf.d(用于存放虚拟主机配置文件)
├── fastcgi.conf(FastCGI配置文件)
├── fastcgi_params(FastCGI参数配置文件)
├── koi-utf(用于字符编码转换)
├── koi-win(用于字符编码转换)
├── mime.types(定义了MIME类型及其对应的文件扩展名)
├── modules-available(存放nginx可用的模块)
├── modules-enabled(存放启用的nginx模块链接)
├── nginx.conf(nginx主配置文件)
├── proxy_params(用于定义反向代理服务器的参数配置)
├── scgi_params(用于定义SCGI服务器的参数配置)
├── sites-available(存放可用的虚拟主机配置文件)
├── sites-enabled(存放启用的虚拟主机配置文件链接)
├── snippets(可重用的nginx配置文件片段)
├── ssl(自己新建,存放SSL证书和秘钥文件)
├── uwsgi_params(用于定义uWSGI服务器的参数配置)
└── win-utf(用于字符编码转换,一般不需要修改)

1、配置http

# 在sites-available文件夹下新建xxx.example.com.conf
server {
    listen 80;
    # listen 443 ssl;

    server_name rssbridge1.gujiakai.top;
    # ssl_certificate /etc/nginx/ssl/rssbridge1.gujiakai.top.cert.pem;
    # ssl_certificate_key /etc/nginx/ssl/rssbridge1.gujiakai.top.key.pem;

    location / {
        proxy_pass http://127.0.0.1:3001;
    }
}

ln -s /etc/nginx/sites-available/xxx.example.com.conf /etc/nginx/sites-enabled/
# 记得在主配置文件nginx.conf中包含sites-enabled文件夹下的内容。
# 在http块中添加一条:include /etc/nginx/sites-enabled/*;

2、申请SSL证书

acme.sh --issue -d xxx.example.com --nginx

# 安装证书
acme.sh --install-cert -d xxx.example.com \
--key-file       /usr/local/nginx/ssl/private/xxx.example.com.key.pem  \
--fullchain-file /usr/local/nginx/ssl/certs/xxx.example.com.cert.pem \
--reloadcmd     "service nginx force-reload"
# 安装证书
acme.sh --install-cert -d uptime.gujiakai.top \
--key-file       /etc/nginx/ssl/uptime.gujiakai.top.key.pem  \
--fullchain-file /etc/nginx/ssl/uptime.gujiakai.top.cert.pem \
--reloadcmd     "service nginx force-reload"

3、彻底卸载nginx

# 停止nginx服务
syetemctl stop nginx
# 禁用nginx服务,使其不会在开机时自启
systemctl disable nginx
# 移除nginx服务文件
rm /etc.systemd/system/nginx.service
# 重新加载系统管理守护程序配置文件
systemctl daemon-reload
# 完全删除nginx,并删除其所有配置和数据文件
apt purge nginx
# 重置所有已经失败的系统单元(如服务、套接字、挂载点等)的状态,以便它们可以重新尝试启动。
systemctl reset-failed

4、典型的nginx配置反向代理模板

server {
    listen 80;
    server_name xxx.example.com;

    return 301 https://$host$request_uri;
}


server {
    listen 443 ssl;
    server_name xxx.example.com;
    
    ssl_certificate /etc/nginx/ssl/xxx.example.com.cert.pem;
    ssl_certificate_key /etc/nginx/ssl/xxx.example.com.key.pem;

    location / {
        proxy_pass http://127.0.0.1:3001;
    }
}
server {
    listen 80;
    server_name example.com;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/example.com.cert.pem;
    ssl_certificate_key /etc/nginx/ssl/example.com.key.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        # 留客户端请求中的 "Host" 头。
        proxy_set_header Host $http_host;
        # 保留客户端的真实 IP 地址
        proxy_set_header X-Real-IP $remote_addr;
        # 保留请求经过的代理服务器及其客户端 IP 地址。
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 保留客户端请求使用的协议(HTTP 或 HTTPS)。
        proxy_set_header X-Forwarded-Proto $scheme;
        # 保留用于支持协议升级的 "Upgrade" 头(例如从 HTTP/1.1 切换到 WebSocket)。
        proxy_set_header Upgrade $http_upgrade;
        # 设置代理请求的 HTTP 版本为 1.1,以支持一些特定功能,如分块传输编码和协议升级。
        proxy_http_version 1.1;
    }
}

5、centos7安装nginx步骤

# 安装 EPEL 仓库
yum install epel-release
# 使用 EPEL 仓库安装 Nginx 并在安装过程中自动确认(-y 参数)
dnf install nginx -y
# 启用 Nginx 服务,使其在系统启动时自动运行
systemctl enable nginx
# 启动 Nginx 服务
systemctl start nginx

注:在 CentOS 7 中,默认的仓库里并没有包含 Nginx。要安装 Nginx,你需要先启用 EPEL(Extra Packages for Enterprise Linux)仓库,这是一个由 Fedora 项目提供的为 RHEL 和 CentOS 提供额外软件包的仓库。

6、angie web服务器是nginx的分支

基本操作同nginx

cd /etc/angie/http.d

vim alist.conf

server {
    listen 80;
    server_name alist.gujiakai.cn;

    location / {
        proxy_pass http://127.0.0.1:5244;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}


systemctl reload angie

curl https://get.acme.sh | sh -s email="[email protected]"

source ~/.bashrc

vim ~/.bashrc

export Ali_Key="<key>"
export Ali_Secret="<secret>"

source ~/.bashrc

acme.sh  --issue --dns dns_ali -d alist.gujiakai.cn

mkdir -p /etc/ssl/angie

chmod 700 /etc/ssl/angie

acme.sh --install-cert -d alist.gujiakai.cn \
--key-file       /etc/ssl/angie/alist.gujiakai.cn.key.pem  \
--fullchain-file /etc/ssl/angie/alist.gujiakai.cn.cert.pem \
--reloadcmd     "service angie force-reload"

vim /etc/angie/http.d/alist.conf

# 重定向HTTP到HTTPS
server {
    listen 80;
    server_name alist.gujiakai.cn;
    return 301 https://$host$request_uri;
}

# HTTPS服务器配置
server {
    listen 443 ssl;
    server_name alist.gujiakai.cn;

    ssl_certificate /etc/ssl/angie/alist.gujiakai.cn.cert.pem;
    ssl_certificate_key /etc/ssl/angie/alist.gujiakai.cn.key.pem;

    # 强化SSL设置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:5244;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

systemctl reload angie

7、angie安装console light

apt install angie-console-light

vim /etc/angie/http.d/angie-console.conf

lighttpd学习笔记

1、安装

# 更新软件包列表
apt update
# 安装lighttpd
apt install lighttpd
# 启动lighttpd
systemctl start lighttpd
# 停止lighttpd
systemctl stop lighttpd
# 使得lighttpd开机自启
systemctl enable lighttpd
# 查看lighttd状态
systemctl status lighttpd
# 修改 /var/www/html 目录下的文件所有者和所属组为 www-data,通常在 Lighttpd 下,网站的文件所有者和所属组都会设置为 www-data
chown -R www-data:www-data /var/www/html
# 修改 /var/www/html 目录下的文件和文件夹权限,使其对所有用户可读可执行,对所有用户组可读可执行,但只有所有者可写
chmod -R 755 /var/www/html
# 进入 /var/www/html 目录
cd /var/www/html
# 创建index.html
echo "Welcome to Lighttpd" | sudo tee /var/www/html/index.html

2、http设置

# 新建配置文件
vi /etc/lighttpd/conf-available/docker.gujiakai.top.conf

# 添加以下内容
$HTTP["url"] =~ "^/book($|/)" {
    server.document-root = "/var/www/html/docker.gujiakai.top/book/"
}

# 创建软链接,将配置文件启用
ln -s /etc/lighttpd/conf-available/docker.gujiakai.top.conf /etc/lighttpd/conf-enabled/
# 重启lighttpd服务
systemctl restart lighttpd

3、https设置

# 安装acme脚本
curl https://get.acme.sh | sh -s [email protected]
# 重新加载配置文件
source .bashrc
# 编辑配置文件
vi .bashrc
# 导入cloudflare相关配置
export CF_Token="xxxxxx"
export CF_Account_ID="xxxxxx"
export CF_Zone_ID="xxxxxx"
# dns模式申请ssl证书
acme.sh --issue --dns dns_cf -d docker.gujiakai.top
# 创建目录用于存放证书和密钥
mkdir /etc/lighttpd/ssl
# 安装证书和密钥,并且配置lighttpd自动重新加载
acme.sh --install-cert -d docker.gujiakai.top \
--key-file       /etc/lighttpd/ssl/docker.gujiakai.top.key.pem  \
--fullchain-file /etc/lighttpd/ssl/docker.gujiakai.top.cert.pem \
--reloadcmd     "service lighttpd force-reload"
# 编辑lighttpd配置文件
vi /etc/lighttpd/conf-available/docker.gujiakai.top.conf
# 配置重定向http到https,以及ssl配置
$HTTP["host"] == "docker.gujiakai.top" {
    # Redirect HTTP to HTTPS
    $HTTP["scheme"] == "http" {
        url.redirect = (".*" => "https://%0$0")
    }

    # SSL configuration
    $SERVER["socket"] == ":443" {
        ssl.engine = "enable"
        ssl.pemfile = "/etc/lighttpd/ssl/docker.gujiakai.top.cert.pem"
        ssl.privkey = "/etc/lighttpd/ssl/docker.gujiakai.top.key.pem"
        ssl.honor-cipher-order = "enable"
        ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
    }

    server.document-root = "/var/www/html/docker.gujiakai.top/book/"
}
# 重启lightttpd
systemctl restart lighttpd

4、反向代理

# 切换目录
cd /etc/lighttpd/conf-available
# 编辑配置文件
vi chat.njxzc.top.conf
# 配置文件内容,启用反向代理
$HTTP["host"] == "chat.njxzc.top" {
    proxy.server = (
        "" => (
            "chat-backend" => (
                "host" => "127.0.0.1",
                "port" => 3000
            )
        )
    )
}
# 创建软链接
ln -s /etc/lighttpd/conf-available/chat.njxzc.top.conf /etc/lighttpd/conf-enabled/chat.njxzc.top.conf
# 编辑主配置文件
vi /etc/lighttpd/lighttpd.conf
# 启用mod_proxy模块,以支持反向代理功能
server.modules += ("mod_proxy")
# 重启lighttpd服务
systemctl restart lighttpd
# cloudflare配置
export CF_Token="xxxxxx"
export CF_Account_ID="xxxxxx"
# dns模式申请ssl证书
acme.sh --issue --dns dns_cf -d chat.njxzc.top
# 安装证书,并配置lighttpd重新加载命令
acme.sh --install-cert -d chat.njxzc.top \
--key-file       /etc/lighttpd/ssl/chat.njxzc.top.key.pem  \
--fullchain-file /etc/lighttpd/ssl/chat.njxzc.top.cert.pem \
--reloadcmd     "service lighttpd force-reload"
# 重启lighttpd服务
sudo systemctl restart lighttpd

tomcat学习笔记

1、安装

# 搜索APT存储库中与“tomcat”相关的软件包。这将帮助您找到可用的Tomcat版本
apt search tomcat
# 安装Tomcat 9和Tomcat 9管理员软件包。这将自动安装和配置Tomcat 9及其所需的依赖项
apt install tomcat9 tomcat9-admin
# 列出所有监听的TCP套接字。在安装并启动Tomcat后,使用此命令可以验证Tomcat是否正在侦听预期的端口(默认情况下是8080)
ss -ltn

caddy学习笔记

1、caddy实现www域名重定向至主域名

www.example.com {
    redir https://example.com{uri}
}

2、caddy身份验证

www.example.com {
    basicauth {
        admin $2a$14$Q9XX7lXFuxzJNS07SHy67uYIbFMgilEKuTz/4fNvMCy3ERqdm0di.
    }
}

Caddy 配置不接受明文密码;在将它们放入配置之前,您必须对它们进行哈希处理。 caddy hash-password 命令可以帮助解决这个问题。