跳至主要内容

博文

解决BT下载被ISP发警告信的问题

 最近刚刚换了光纤,网络刚刚切换过去不到1个小时,运营商就发警告邮件说被发现出现下载侵权文件的行为。 整理一下思路,这样只能使用代理来下载的,使用代理下载有2种方式。 方式1: 购买vpn服务,qbittorrent服务器连入vpn服务。               该方式优点:简单快捷,无需特定设置。               该方式缺点:对于udp的支持可能比较差,流量和速度会受限。 方式2: 购买vps服务器,在vps上部署 qbittorrent服务来下载。               该方式优点:价格便宜,网络速度快,流量大,完全支持udp协议。               该方式缺点:设置繁琐,需要解决存储问题以及文件下载回本地nas。 为了性能和省钱,最终选择了方式2,只是没想到在北美这边也要自己假设代理服务器。 接下来就开始部署服务,这边找了一个很便宜的vps服务商,然后安装debian 13系统。 Step 1,安装docker服务。 Step 2,安装Tailscale,能够访问家里的nas。 Step 3,配置Samba服务,挂载nas的下载目录。 Step 4,配置docker 让qbittorrent能够起来。 Step 5,用docker运行一个Cloudflare的tunnel服务,解决证书和安全问题。 这样的好处是下载完成后不需要把文件从vps上拉到nas,因为downloads的目录已经在nas上了。而且vps的存储价格很贵的,如果增加一个几百GB的存储,那价格得大几十美金一个月了。
最新博文

为阿里云ecs创建自定义快照脚本

阿里云的ecs自动快照功能只支持最长一周的间隔,而有些生产环境不太需要如此频繁的备份。 因此写了一个每月备份一次的脚本来解决这个问题 一共分五个步骤,分别是创建执行快照的账号,分配账号权限,安装阿里云cli,创建脚本,编辑计划任务。 一.创建账号。 为降低安全风险,这里新创建一个账号用于执行生成快照的脚本。 在创造账号时,只勾选api访问。 记录下创建完成后的token信息。 二.分配账号权限。 创建一个自定义的访问权限策略。 {     "Statement": [         {             "Effect": "Allow",             "Action": "ecs:*Snapshot*",             "Resource": "*"         }     ],     "Version": "1" } 然后将这个策略套给新创建的账号,同时赋予这个账号ecs的只读权限。 三.安装阿里云cli客户端,这里就不做赘述,直接看阿里云的文档就好。 https://help.aliyun.com/document_detail/139508.html?spm=a2c4g.139508.0.0.3c18337a5eCaya 四.创建脚本。 aliyun configure set \   --profile bkadminprofile \   --mode AK \   --region cn-shanghai \   --access-key-id ************************ \   --access-key-secret ********************** 先获取ecs的实例id   aliyun ecs DescribeInstances --RegionId cn-shanghai --output c...

利用Nextcloud搭建私有云盘

最近有同学的手机丢了,幸运的是手机最后有找回来。 大部分人手机里有非常多的照片,手机丢了可以买新的,照片丢了就再也找不回来了。因此数据的备份显得非常重要。 因为家里有NAS做raid 1,并且定期做异地备份,数据的安全性还是蛮高的。就有搭建私有云盘的想法。 上网搜索了一下,发现nextcloud是用得比较多的。此次就选用nextcloud来搭建我们的私有云盘。 首先在家里的服务器上新建一台vm,这里选用debian 11,装系统的过程就不讲了。 安装完成后,利用nfs挂载nas的存储 新建挂载目录 mkdir /mnt/nextcloud 编辑/etc/fstab,加入如下一行 192.168.x.x:/volume1/NextCloud /mnt/nextcloud nfs defaults 0 0 这里ip地址和nas存储路径用自己的配置替代 然后sudo mount -a测试一下 接下来开始安装依赖件 安装mariadb sudo apt update sudo apt -y install mariadb-server mariadb-client 配置数据库 sudo mysql_secure_installation  sudo mysql -u root -p 输入配置的密码以登录 配置nextcloud的数据库和用户 CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '密码'; CREATE DATABASE nextcloud; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; FLUSH PRIVILEGES; QUIT 安装php和apache2 sudo apt -y install php php-{cli,xml,zip,curl,gd,cgi,mysql,mbstring} sudo apt -y install apache2 libapache2-mod-php 修改php配置 sudo vim /etc/php/*/apache2/php.ini date.timezone = Asia/Shanghai memory_lim...

利用zabbix监控域名到期日期

 公司因为业务原因,注册了各种域名,大约有50多个吧。 因为域名后缀不同,分别注册在不同的域名服务商。 注册的时间和时长也各不相同,为避免出现域名过期而忘记续费,想出用zabbix来监控域名还剩多少天到期,以提醒续费。 比较好的域名信息查询工具是whois命令,whois + 要查询的域名就能得到相关信息。 因为.com、.cn还有.tw的域名信息都是不一样的,我不会写代码能力有限,所以分成三个脚本来分别处理。 切换到zabbix默认的外部检查脚本目录下 cd /usr/lib/zabbix/externalscripts/ 新增com域名监控脚本 sudo nano domaincheck-com.sh 填入如下内容 #!/bin/bash DOMAINS=$1 current_epoch=`date '+%s'` expiry_date=`whois $1 | egrep -i "Expiration Date:|Expires on"| head -1 | awk '{print $NF}'` expiry_epoch=`date --date="$expiry_date" '+%s'` epoch_diff=`expr $expiry_epoch - $current_epoch` echo `expr $epoch_diff / 86400` 然后赋予可执行权限 sudo chmod +x domaincheck-com.sh 测试一下是否可以获取剩余天数 ./domaincheck-com.sh baidu.com 如正常这里会返回域名到期天数 然后新增一个模板,在监控项中填写键值:domaincheck-com.sh["{HOST.CONN}"] 类型:外部检查 信息类型:浮点数 单位:days 更新间隔:12h 然后根据需求填写相应的报警触发机制 另外两个模板制作方法类似,这里就不做复述了。 这里附上.cn和.tw获取域名剩余天数的脚本 CN域名的脚本domaincheck-cn.sh内容: #!/bin/bash DOMAINS=$1 current_epoch=`date '+%s'` expiry_date=`whois ...

搭建Heimdall主页,方便管理内网服务器

现在越来越多的服务器都有web界面管理或是提供相关服务,为提高管理便利性,搭建Heimdall标签页来提高效率。 Heimdall是一个轻量化的标签服务,https://github.com/linuxserver/Heimdall,官方推荐使用docker-compose运行。 在pve上新建一个ubuntu的容器,然后安装docker-compose,容器安装这里不做描述,直接到环境部署。 先卸载旧版本docker apt-get remove docker docker-engine docker.io containerd runc 添加相关源 apt-get update 安装依赖件 apt-get install ca-certificates curl gnupg lsb-release 添加key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null 安装docker apt-get update apt-get install docker-ce docker-ce-cli containerd.io 安装完成验证一下,pull一个hello-world的镜像 docker run hello-world 下载Docker Compose文件 curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /us...

安装部署JumpServer

 最近遭遇一起云主机因安全防护措施不到位被安装挖矿程序的情况。 为提高云主机的安全性和考虑搭建一台跳板机来访问云主机以提高安全性。 目前主流且还在维护的JumpServer是比较好的解决方案,搭建一台JumpServer做测试。 这里使用ubuntu 20.04 lts作为OS。 安装操作系统后先修改软件仓库为国内163源。 sudo cp /etc/apt/sources.list    /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list 注释掉原来的内容 添加网易源 #网易源 deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse 执行更新 sudo apt-g...

解决WSUS服务器内存过高的问题

 最近公司某一台WSUS服务器出现内存过高报警,下班后将这台机器重启了。结果第二天又出现内存不足的情况。看样子不是偶发状况,必须处理才行。 登录机器发现sqlserver.exe和w3wp.exe这两个进程占用大量内存。 sqlserver.exe是数据库程序,这台机器使用内置wid数据库,没有使用sqlserver,无法使用sqlserver management客户端连接进行设定,只能使用微软发布的sqlcmd工具设置。 sqlcmd使用sqlodbc接口访问内置数据库,还需要安装sqlodbc驱动,而该驱动依赖Visual C++ 2017运行库,下载这三个文件VC_redist.x64.exe、msodbcsql.msi和MsSqlCmdLnUtils.msi。然后依序安装即可。 安装完成后,开启一个cmd窗口,输入如下命令连接内置数据库 sqlcmd -E -S \\.\pipe\Microsoft##WID\tsql\query 登录成功后会出现提示符1> 然后输入如下命令显示高级选项 exec sp_configure 'show advanced option', '1'; reconfigure; exec sp_configure; go 然后会显示内置数据库的设定 输入如下命令将内置数据库内存占用调整为4G,这个可以根据各自的服务器来调整。 exec sp_configure 'max server memory', 4096; reconfigure with override; go 执行成功会会有提示,完成后输入quit退出。 这时候在资源管理器里已经能看到sqlserver.exe的内存占用下降到4G。 接下来设置iis服务的内存上限,以解决w3wp.exe的内存占用过大的问题。 打开Internet Infomation Services (IIS) Manager 在服务中点开Application Pools中右键WsusPool,在弹出菜单中点击Advanced Settings。 在Recyling类别中找到Private Memory Limit (KB),设置一个内存上限值,这里单位是KB,大家自己用计算机算一下,我这里给到4G,就是4*1024*1024=419430...