MY HAOSE BLOG!!!

Aria2+Caddy+AriaNG 搭建个人BT下载器

环境

本文教程使用Vultr VPS
镜像: debian8 × 64

开始

首先非常感谢逗比根据地提供的脚本,有了逗比的脚本能够让小白也能很快的完成这一操作,也更加简化了本次的教程。

安装Aria2

更新系统

apt-get updateapt-get install unzip

一键脚本

wget -N --no-check-certificate https://softs.fun/Bash/aria2.sh && chmod +x aria2.sh && bash aria2.sh 
# 如果上面这个脚本无法下载,尝试使用备用下载:wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh

手动安装Aria2

# CentOS系统:yum update
yum -y groupinstall "Development Tools"
 # Debian/Ubuntu系统:apt-get update
apt-get install build-essential -y

自动获取版本:

aria2_new_ver=$(wget -qO- "https://github.com/q3aql/aria2-static-builds/tags"| grep "/q3aql/aria2-static-builds/releases/tag/"| head -n 1| awk -F "/tag/v" '{print $2}'| sed 's/\">//') && echo -e "${aria2_new_ver}"

手动获取版本

访问 Github项目查看版本号,例如 1.33.1,然后我们执行如下代码后即可继续下面的 [下载安装] 步骤了。

aria2_new_ver="1.33.1"

uname -m查看系统版本

# 显示 x86_64 的64位系统运行下面这两行 命令下载Aria2压缩包(不要选错,不要重复运行32位的下载代码)。wget -N --no-check-certificate "https://github.com/q3aql/aria2-static-builds/releases/download/v${aria2_new_ver}/aria2-${aria2_new_ver}-linux-gnu-64bit-build1.tar.bz2"Aria2_Name="aria2-${aria2_new_ver}-linux-gnu-64bit-build1"
 # 显示 386/i368/686/i686 这四个之一的32位系统运行下面这两行 命令下载Aria2压缩包(不要选错,不要重复运行64位的下载代码)。wget -N --no-check-certificate "https://github.com/q3aql/aria2-static-builds/releases/download/v${aria2_new_ver}/aria2-${aria2_new_ver}-linux-gnu-32bit-build1.tar.bz2"Aria2_Name="aria2-${aria2_new_ver}-linux-gnu-32bit-build1"# 解压压缩包tar jxvf "${Aria2_Name}.tar.bz2"
 # 为了方便好记,我们重命名一下解压后的目录mv "${Aria2_Name}" "aria2"
 # 进入解压后的目录cd "aria2/"
 # 运行这个命令才算开始安装Aria2自身。make install 
# 上面的安装代码瞬间就完成了,然后我们赋予一下Aria2的运行权限就好了。chmod +x aria2c

配置文件

# 我们需要在 当前用户(ROOT)目录新建一个 存放配置文件的文件夹。mkdir "/root/.aria2"
 # 下载 Aria2 的配置文件。wget --no-check-certificate -O "/root/.aria2/aria2.conf" "https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/other/Aria2/aria2.conf"
 # 下载 Aria2 的DHT文件(下载BT的话,DHT会很影响速度的,因为Aria2默认安装没有DHT文件,然后会在每次下载BT的时候收集 DHT信息来新建DHT文件,这会导致一开始使用 Aria2 下载BT速度很慢,下载一个现成的DHT文件能缓解这个情况,当然根据不同资源、不同热度,速度肯定有影响)wget --no-check-certificate -O "/root/.aria2/dht.dat" "https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/other/Aria2/dht.dat"
 # 最后新建一个空的文件,用于存放下载任务,这样重启Aria2也不会丢失任务了。echo '' > /root/.aria2/aria2.session

配置文件:/root/.aria2/aria2.conf (配置文件包含中文注释,但是一些系统可能不支持显示中文)

默认密匙:doub.io(如果你是从镜像域名doub.bid进来的,这个密匙会被镜像替换为 .bid ,自己改成 .io 即可)

下载目录:/usr/local/caddy/www/aria2/Download

运行

nohup aria2c -c "/root/.aria2/aria2.conf" > "/root/.aria2/aria2.log" 2>&1 &

停止

kill -9 $(ps -ef |grep "aria2c" |grep -v "grep" |awk '{print $2}')

查看日志

# 如果你要监听日志输出(持续查看日志当前输出的内容),那么用这个命令:tail -f "/root/.aria2/aria2.log"
 # 如果你要查看所有日志或者以前的日志内容,那么用这个命令:cat "/root/.aria2/aria2.log"

安装Caddy

wget -N --no-check-certificate https://softs.fun/Bash/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager 
# 如果上面这个脚本无法下载,尝试使用备用下载:wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

配置caddy

编辑caddy配置 vi /

http://你的域名 {
  root /usr/local/caddy/www/aria2
  timeouts none
  gzip
  browse
}

安装AriaNG

 新建Aria2下载文件夹 并进入文件夹 #mkdir /usr/local/caddy/www/aria2/Download && cd /usr/local/caddy/www/aria2 
# 下载并解压 AriaNg 文件,这段代码会自动检测并下载最新版本 #Ver=$(curl -m 10 -s "https://github.com/mayswind/AriaNg/releases/latest"|sed -r 's/.*tag\/(.+)\">redirected.*/\1/')# 如果上面自动检测最新版本的代码返回空白或者错误,那么请访问 https://github.com/mayswind/AriaNg/releases/latest 来查看最新版本号。# 例如手动获取的版本号是 0.3.0,那么手动执行命令: Ver="0.3.0" ,然后继续下面步骤即可。
 wget -N --no-check-certificate "https://github.com/mayswind/AriaNg/releases/download/${Ver}/aria-ng-${Ver}.zip" && unzip aria-ng-${Ver}.zip && rm -rf aria-ng-${Ver}.zip 
# 赋予虚拟主机文件夹权限 #chmod -R 755 /usr/local/caddy/www/aria2

上面代码都执行完后,就可以启动 Caddy了。

/etc/init.d/caddy start

最后

访问你的域名你就可以进入AiraNG的管理界面了 http://你的域名
而你下载的文件会在 http://你的域名/Download  文件管理的默认账户跟密码都为admin

aira2的配置文件在 /root/.aria2/aria2.conf

如果你想要你的AriaNG加上密码(因为默认是没有密码的)
那么你需要在你的caddy配置添加上这行

basicauth / user passwd

其中user是用户名 passwd是密码



0分/0个投票

TOP


浏览: 196    评论: 0
unison+inotify-tools触发式双向自动同步

双向实时数据同步部署

 

首先添加服务器ssh信任,即免秘钥登陆

Web1:192.168.10.36

Web2:192.168.10.37

分别在web1和web2上执行以下命令

mkdir ~/.ssh
chmod 700 ~/.ssh
生成RSA密钥
ssh-keygen -t rsa 
(然后连续三次回车)

添加密钥到授权密钥文件中

cd ~/.ssh
ssh "-p 22" 192.168.10.36 cat /root/.ssh/id_rsa.pub >> authorized_keys  #小写p
ssh "-p 22" 192.168.10.37 cat /root/.ssh/id_rsa.pub >> authorized_keys
scp  -P 22 authorized_keys 192.168.10.37:/root/.ssh/  #大写P

chmod 600 /root/.ssh/authorized_keys
在服务器server2上操作
chmod 600 /root/.ssh/authorized_keys

 

需要提供软件列表:(版本必须一致)

inotify-tools-3.14.tar.gz

ocaml-3.12.1.tar.gz

unison-2.40.63.tar.gz

下载地址:

wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

wget http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12.1.tar.gz

wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.40.63.tar.gz(不可用)

 

两台服务器都要执行以下命令:

yum install ctags-etags

 

tar xzvf inotify-tools-3.14.tar.gz

cd inotify-tools-3.14

 ./configure

Make

make install  

 

tar -zxvf ocaml-3.12.1.tar.gz

cd ocaml-3.12.1

./configure

make world opt

make install

 

 

tar -xzvf unison-2.40.63.tar.gz

cd unison-2.40.63

make UISTYLE=text

make install

执行make install时提示以下错误:

mv /root/bin//unison /tmp/unison-24397

mv: 无法获取"/root/bin//unison" 的文件状态(stat): 没有那个文件或目录

make: [doinstall] 错误 1 (忽略)

cp unison /root/bin/

cp: 无法创建普通文件"/root/bin/": 是一个目录

make: *** [doinstall] 错误 1

 

因为unison默认是将unison文件拷贝到/root/bin目录,但Linux默认没有该目录,所以我们需要将生成的可执行文件unison复制到系统PATH目录。

所以需要我们手动执行以下命令:

cp unison /usr/local/bin

 

测试同步情况:

unison -batch /home/web1/ ssh://192.168.10.37//home/wen2/

 

在web1设备上新建脚本,并且后台运行:

 Vi unison.sh

------------------------------------以下是脚本内容-------------------------------------------

#/bin/bash

ip2="192.168.10.36"

src2="/home/web1/"

dst2="/home/web2/"

/usr/local/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line; do

/usr/local/bin/unison -batch $src2 ssh://$ip2/$dst2

echo -n "$line " >> /var/log/inotify.log

echo `date | cut -d " " -f1-4` >> /var/log/inotify.log

done

------------------------------------以上是脚本内容-------------------------------------------

 

在web2设备新建脚本,并且后台运行

 Vi unison.sh

------------------------------------以下是脚本内容-------------------------------------------

#/bin/bash

ip2="192.168.10.37"

src2="/home/web2/"

dst2="/home/web1/"

/usr/local/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line; do

/usr/local/bin/unison -batch $src2 ssh://$ip2/$dst2

echo -n "$line " >> /var/log/inotify.log

echo `date | cut -d " " -f1-4` >> /var/log/inotify.log

done

------------------------------------以上是脚本内容-------------------------------------------

 

分别在两台设备上运行脚本,测试是否能够同步。



0分/0个投票

TOP


浏览: 104    评论: 0
NextCloud的Docker安装配置

1. 安装 Docker 与 Compose

一贯的风格首先安装 Docker:

curl -sSL https://get.docker.com/ | sh

然后安装 Compose:

curl -L https://github.com/docker/compose/releases/download/1.10.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

这样我们的基本工具就搞定了。

1.1. 配置 Docker 镜像源

接下来我们会拉取几个镜像,默认的镜像仓库在海外,速度不理想,所以我们使用国内的镜像源,这里以中科大的为例:
首先编辑文件 /etc/docker/daemon.json,在该配置文件中加入下面内容(没有该文件的话建一个):

{  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

保存之后最好重启一下 Docker 服务,这样就可以使用国内镜像源拉取镜像了。

1.2. 部署 NextCloud

首先为Nextcloud建立一个独立的容器网络:

docker network create nextcloud

接下来新建一个文件夹,名字随便,这里演示为cloud,然后在文件夹里面新建一个文件,文件名为Caddyfile,文件内容如下:

example.com {
  proxy / 233.233.233.233:2333 {
      proxy_header Host {host}
      proxy_header X-Real-IP {remote}
      proxy_header X-Forwarded-Proto {scheme}
  }  log /var/log/caddy.log
  gzip
}

因为使用Caddy部署应用不需要花费诸位太多时间去配置Web服务器环境,所以我这里使用Caddy,实际上如果你喜欢Nginx,自己修改下面的配置就好了。Caddy适合不想写配置或者懒得动手申请SSL的读者。

接下来再新建一个文件,名为docker-compose.yml,文件的内容如下:

version: '2'
services:
  db:
    container_name: cloud_db
    image: mysql
    volumes:
      - "./data/cloud/mysql:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 这里填写你的密码
      MYSQL_DATABASE: nextcloud
  app:
    container_name: cloud_app
    depends_on:
      - db
    image: nextcloud
    volumes:
      - ./data/cloud/config:/var/www/html/config
      - ./data/cloud/data:/var/www/html/data
      - ./data/cloud/apps:/var/www/html/apps
    links:
      - db
    ports:
      - "2333:80"
    restart: always
  cron:
    container_name: cloud_cron
    image: nextcloud
    links:
      - db
    volumes_from:
      - app
    user: www-data
    entrypoint: |
      bash -c 'bash -s <<EOF
      trap "break;exit" SIGHUP SIGINT SIGTERM
      while /bin/true; do
        /usr/local/bin/php /var/www/html/cron.php
        sleep 900
      done
      EOF'
    restart: always
  web:
    container_name: cloud_web
    image: abiosoft/caddy
    volumes:
      - ./Caddyfile:/etc/Caddyfile
      - ~/.caddy:/root/.caddy
    ports:
      - 80:80
      - 443:443
    restart: always
networks:
    default:
     external:
      name: nextcloud

保存文件之后,一句话启动它~~

docker-compose up -d

上面文件内容只有那个密码是需要你改的,其他不变即可。
稍微去喝杯茶,一会回来你就可以看到Nextcloud部署成功了。





0分/0个投票

TOP


浏览: 169    评论: 0
«   2024年6月   »
12
3456789
10111213141516
17181920212223
24252627282930
TOP 搜索
TOP 控制面板
您好,欢迎到访网站!
  [查看权限]
TOP 网站分类
TOP 热门评分
TOP 最高评分
TOP 最新评分
TOP 你好,朋友
真是美好的一天!
TOP 站点信息
  • 文章总数:5538
  • 页面总数:3
  • 分类总数:4
  • 标签总数:6
  • 评论总数:36
  • 浏览总数:8187975
返回顶部
haose888
返回顶部