大神,内容如下:

#!/bin/sh

# define variables

eval `dbus export aria2`

source /koolshare/scripts/base.sh

export PERP_BASE=/koolshare/perp

#old_token=$(cat /koolshare/aria2/aria2.conf|grep rpc-secret|cut -d "=" -f2)

check_ddnsto=`dbus get aria2_ddnsto`

if [ "${check_ddnsto}"x = "true"x ]; then

ddnsto_route_id=`/koolshare/bin/ddnsto -w | awk '{print $2}'`

token=`echo $(dbus get ddnsto_token)-${ddnsto_route_id}`

else

token=${aria2_rpc_secret}

fi

ddns=$(nvram get ddns_hostname_x)

usb_disk1=`/bin/mount | grep -E 'mnt' | sed -n 1p | cut -d" " -f3`

usb_disk2=`/bin/mount | grep -E 'mnt' | sed -n 2p | cut -d" " -f3`

dbus set aria2_warning=""

echo ""

echo "#############################################################"

printf "%0s%50s%10s\n" "#" "Aria2c Auto config Script for ASUS固件 ARM" "#"

printf "%0s%37s%23s\n" "#" "Website: http://koolshare.cn" "#"

printf "%0s%46s%14s\n" "#" "Author: sadoneli " "#"

echo "#############################################################"

echo ""

# start aria2c

creat_conf(){

cat > /koolshare/aria2/aria2.conf <

`dbus list aria2 | grep -vw aria2_enable | grep -vw aria2_ddnsto | grep -vw aria2_binary| grep -vw aria2_binary_custom | grep -vw aria2_check | grep -vw aria2_check_time | grep -vw aria2_sleep | grep -vw aria2_update_enable| grep -vw aria2_update_sel | grep -vw aria2_version | grep -vw aria2_cpulimit_enable | grep -vw aria2_cpulimit_value| grep -vw aria2_version_web | grep -vw aria2_warning | grep -vw aria2_custom | grep -vw aria2_install_status|grep -vw aria2_restart |grep -vw aria2_dir| sed 's/aria2_//g' | sed 's/_/-/g'`

`dbus list aria2|grep -w aria2_dir|sed 's/aria2_//g'`

EOF

cat >> /koolshare/aria2/aria2.conf <

`dbus list aria2|grep -w aria2_custom|sed 's/aria2_custom=//g'|sed 's/,/\n/g'`

EOF

list=`wget -qO- https://raw.githubusercontent.co ... rackers_best_ip.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`

cat >> /koolshare/aria2/aria2.conf <

bt-stop-timeout=7200

max-overall-upload-limit=20M

bt-request-peer-speed-limit=1024M

bt-remove-unselected-file=true

dht-file-path=/mnt/sda1/Aria/dht.dat

dht-file-path6=/mnt/sda1/Aria/dht6.dat

log=/mnt/sda1/Aria/aria2.log

log-level=error

on-download-error=/jffs/scripts/aria2DownloadError.sh

on-download-complete=/jffs/scripts/aria2DownloadComplete.sh

bt-tracker=$list

EOF

# if [ "$aria2_enable_rpc" = "false" ];then

# sed -i '/rpc/d' /koolshare/aria2/aria2.conf

# fi

}

start_aria2(){

#/koolshare/aria2/aria2c --conf-path=/koolshare/aria2/aria2.conf -D >/dev/null 2>&1 &

perpctl A aria2

}

# generate token

generate_token(){

sed -i "s/rpc-secret=.*/rpc-secret=$token/g" "/koolshare/aria2/aria2.conf"

dbus set aria2_rpc_secret="$token"

}

# open firewall port

open_port(){

echo open firewall port $aria2_rpc_listen_port and 8088

iptables -I INPUT -p tcp --dport $aria2_rpc_listen_port -j ACCEPT >/dev/null 2>&1

iptables -I INPUT -p tcp --dport 8088 -j ACCEPT >/dev/null 2>&1

iptables -I INPUT -p tcp --dport 6881:6889 -j ACCEPT >/dev/null 2>&1

iptables -I INPUT -p tcp --dport 51413 -j ACCEPT >/dev/null 2>&1

iptables -I INPUT -p tcp --dport 52413 -j ACCEPT >/dev/null 2>&1

iptables -I INPUT -p udp --dport 52413 -j ACCEPT >/dev/null 2>&1

echo done

}

# close firewall port

close_port(){

echo close firewall port $aria2_rpc_listen_port and 8088

iptables -D INPUT -p tcp --dport $aria2_rpc_listen_port -j ACCEPT >/dev/null 2>&1

iptables -D INPUT -p tcp --dport 8088 -j ACCEPT >/dev/null 2>&1

iptables -D INPUT -p tcp --dport 6881:6889 -j ACCEPT >/dev/null 2>&1

iptables -D INPUT -p tcp --dport 51413 -j ACCEPT >/dev/null 2>&1

iptables -D INPUT -p tcp --dport 52413 -j ACCEPT >/dev/null 2>&1

iptables -D INPUT -p udp --dport 52413 -j ACCEPT >/dev/null 2>&1

echo done

}

# kill aria2

kill_aria2(){

perpctl X aria2

killall aria2c >/dev/null 2>&1

}

del_process_check(){

cru d aria2_guard >/dev/null 2>&1

}

add_cpulimit(){

if [ "$aria2_cpulimit_enable" = "true" ];then

limit=`expr $aria2_cpulimit_value \* 2`

cpulimit -e aria2c -l $limit  >/dev/null 2>&1 &

fi

}

load_default(){

del_version_check

kill_aria2

close_port

dbus set tmp_aria2_version=`dbus get aria2_version`

dbus set tmp_aria2_version_web=`dbus get aria2_version_web`

for r in `dbus list aria2|cut -d"=" -f 1`

do

dbus remove $r

done

dbus set aria2_enable=0

dbus set aria2_install_status=1

dbus set aria2_version=`dbus get tmp_aria2_version`

dbus set aria2_version_web=`dbus get tmp_aria2_version_web`

dbus remove tmp_aria2_version

}

# ============================================

case $ACTION in

start)

if [ "$aria2_enable" == "1" ];then

creat_conf

generate_token

start_aria2

open_port

add_cpulimit

dbus set __event__onnatstart_shellinlinux=/koolshare/aria2/aria2_run.sh

fi

;;

stop | kill )

kill_aria2

killall cpulimit

close_port

dbus remove aria2_custom

dbus remove __event__onnatstart_shellinlinux

;;

restart)

del_process_check

killall cpulimit

kill_aria2

close_port

sleep 1

creat_conf

generate_token

start_aria2

open_port

add_cpulimit

dbus remove __event__onnatstart_shellinlinux

sleep 1

dbus set __event__onnatstart_shellinlinux=/koolshare/aria2/aria2_run.sh

;;

default)

load_default

;;

*)

close_port

open_port

;;

esac

cru使用教程_Aria2使用教程进阶版相关推荐

  1. Bootstrap 入门级教程/知识总结/速成/进阶版/全面详细【含代码】

    bootstrap框架 下载bootstrap: 在项目中使用bootstrap: Bootstrap3.0(基于jQuery) 1.表单 2.按钮. 10.网格系统 10.1 10.2偏移列 10. ...

  2. ES系统封装教程 高级进阶版 提供Wind7,xp系统下载 (by 星空武哥)

     重新改了一下,由于一些地址链接有问题,现在所有下载软件都已经没问题了. 欢迎访问我的博客http://blog.csdn.net/lsyz0021 ES系统封装教程 高级进阶版,提供我自己封装的Wi ...

  3. 2020-11-29-hexo博客搭建使用教程-进阶版

    title: hexo博客搭建使用教程(进阶版) description: hexo博客搭建使用教程(进阶版) tags: hexo 博客 前端 categories: hexo top: true ...

  4. MPLS *** 高级教程(张洋讲解演示版)

    MPLS *** 高级教程(张洋讲解演示版) 课程目标: ü        LDP的实施和特性 ü        PE-CE路由协议以的实施,以及它们在MPLS ***中的特性: ü        如 ...

  5. serv-u 自定义html,Serv-U架设教程_Serv-U使用教程图文版

    Serv-U是一款很好用的FTP服务器软件,本文就给大家详细介绍一下<Serv-U架设教>,希望对广大新手有用. Serv-U架设教程_Serv-U使用教程图文版: 1.到文末下载 Ser ...

  6. java2实用教程第5版第九章_java2实用教程(例子代码)第4版第九章.doc

    java2实用教程(例子代码)第4版第九章 java2实用教程(例子代码)第4版第九章 例9_3 Lt4_3.java public clss Lt4_3 { public static void m ...

  7. [Qt教程] 第49篇 进阶(九) 多媒体应用简介

    [Qt教程] 第49篇 进阶(九) 多媒体应用简介 楼主  发表于 2013-10-7 09:50:36 | 查看: 267| 回复: 2 多媒体应用简介 版权声明 该文章原创于作者yafeilinu ...

  8. [Qt教程] 第48篇 进阶(八) 3D绘图简介

    [Qt教程] 第48篇 进阶(八) 3D绘图简介 楼主  发表于 2013-10-7 09:44:37 | 查看: 184| 回复: 0 3D绘图简介 版权声明 该文章原创于作者yafeilinux, ...

  9. [Qt教程] 第47篇 进阶(七) 定制Qt帮助系统

    [Qt教程] 第47篇 进阶(七) 定制Qt帮助系统 楼主  发表于 2013-10-7 09:32:39 | 查看: 93| 回复: 0 定制Qt帮助系统 版权声明 该文章原创于Qter开源社区(w ...

最新文章

  1. 11道Python最基本的面试题
  2. 配置druid内置的log实现
  3. include *.h 和 declare class *; 的区别?
  4. 关于向MySQL插入一条新纪录的问题
  5. Python hasattr() getattr() setattr() 函数使用
  6. 人类心理学中几乎没有人知道的东西是什么?
  7. 聚类算法应用场景实例十则
  8. [数论-欧拉函数的应用]NEFU 1115
  9. DotNetCore中异步编程的实用演练
  10. 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(下)...
  11. 再学 GDI+[65]: 路径画刷(5) - SetGammaCorrection
  12. android adb进入recovery模式,adb 进入 recovery adb 进入 bootloader
  13. 述职答辩提问环节一般可以问些什么_答辩时老师一般会提问哪些?
  14. 指纹识别传感器市场仍将持续上涨
  15. Ubuntu20.04安装fcitx中文输入法(五笔拼音)
  16. 美团智能支付稳定性测试实战
  17. 小学五年级计算机课评课,小学数学五年级下册公开课《分数的意义》听课心得体会评课稿...
  18. 【Windows】清除指定文件类型的默认打开方式
  19. 任天堂服务器维护2021,《怪物猎人:崛起》太火爆 任天堂服务器紧急维护
  20. undefined相关

热门文章

  1. 关于计算机专业的求职信英语作文,计算机类英文求职信写作范文
  2. STM32定时器---正交编码器模式详解
  3. NLP学习——信息抽取
  4. 使用itextpdf完成PDF模板类制作、使用
  5. Java 朴素贝叶斯分类器、SVM(5行代码)实现乳腺癌分类
  6. G盘显示拒绝访问要如何办啊
  7. thinkcmf自动采集文章主动推送给搜索引擎自动安装
  8. Zabbix-2.2.2 监控工具如何通过jmx监控 tomcat
  9. 什么是BPM (转)
  10. android 8.1wifi,android 8.1 wifi连上后,Setting APP界面提示不能连接互联网