cru使用教程_Aria2使用教程进阶版
大神,内容如下:
#!/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使用教程进阶版相关推荐
- Bootstrap 入门级教程/知识总结/速成/进阶版/全面详细【含代码】
bootstrap框架 下载bootstrap: 在项目中使用bootstrap: Bootstrap3.0(基于jQuery) 1.表单 2.按钮. 10.网格系统 10.1 10.2偏移列 10. ...
- ES系统封装教程 高级进阶版 提供Wind7,xp系统下载 (by 星空武哥)
重新改了一下,由于一些地址链接有问题,现在所有下载软件都已经没问题了. 欢迎访问我的博客http://blog.csdn.net/lsyz0021 ES系统封装教程 高级进阶版,提供我自己封装的Wi ...
- 2020-11-29-hexo博客搭建使用教程-进阶版
title: hexo博客搭建使用教程(进阶版) description: hexo博客搭建使用教程(进阶版) tags: hexo 博客 前端 categories: hexo top: true ...
- MPLS *** 高级教程(张洋讲解演示版)
MPLS *** 高级教程(张洋讲解演示版) 课程目标: ü LDP的实施和特性 ü PE-CE路由协议以的实施,以及它们在MPLS ***中的特性: ü 如 ...
- serv-u 自定义html,Serv-U架设教程_Serv-U使用教程图文版
Serv-U是一款很好用的FTP服务器软件,本文就给大家详细介绍一下<Serv-U架设教>,希望对广大新手有用. Serv-U架设教程_Serv-U使用教程图文版: 1.到文末下载 Ser ...
- java2实用教程第5版第九章_java2实用教程(例子代码)第4版第九章.doc
java2实用教程(例子代码)第4版第九章 java2实用教程(例子代码)第4版第九章 例9_3 Lt4_3.java public clss Lt4_3 { public static void m ...
- [Qt教程] 第49篇 进阶(九) 多媒体应用简介
[Qt教程] 第49篇 进阶(九) 多媒体应用简介 楼主 发表于 2013-10-7 09:50:36 | 查看: 267| 回复: 2 多媒体应用简介 版权声明 该文章原创于作者yafeilinu ...
- [Qt教程] 第48篇 进阶(八) 3D绘图简介
[Qt教程] 第48篇 进阶(八) 3D绘图简介 楼主 发表于 2013-10-7 09:44:37 | 查看: 184| 回复: 0 3D绘图简介 版权声明 该文章原创于作者yafeilinux, ...
- [Qt教程] 第47篇 进阶(七) 定制Qt帮助系统
[Qt教程] 第47篇 进阶(七) 定制Qt帮助系统 楼主 发表于 2013-10-7 09:32:39 | 查看: 93| 回复: 0 定制Qt帮助系统 版权声明 该文章原创于Qter开源社区(w ...
最新文章
- 11道Python最基本的面试题
- 配置druid内置的log实现
- include *.h 和 declare class *; 的区别?
- 关于向MySQL插入一条新纪录的问题
- Python hasattr() getattr() setattr() 函数使用
- 人类心理学中几乎没有人知道的东西是什么?
- 聚类算法应用场景实例十则
- [数论-欧拉函数的应用]NEFU 1115
- DotNetCore中异步编程的实用演练
- 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(下)...
- 再学 GDI+[65]: 路径画刷(5) - SetGammaCorrection
- android adb进入recovery模式,adb 进入 recovery adb 进入 bootloader
- 述职答辩提问环节一般可以问些什么_答辩时老师一般会提问哪些?
- 指纹识别传感器市场仍将持续上涨
- Ubuntu20.04安装fcitx中文输入法(五笔拼音)
- 美团智能支付稳定性测试实战
- 小学五年级计算机课评课,小学数学五年级下册公开课《分数的意义》听课心得体会评课稿...
- 【Windows】清除指定文件类型的默认打开方式
- 任天堂服务器维护2021,《怪物猎人:崛起》太火爆 任天堂服务器紧急维护
- undefined相关
热门文章
- 关于计算机专业的求职信英语作文,计算机类英文求职信写作范文
- STM32定时器---正交编码器模式详解
- NLP学习——信息抽取
- 使用itextpdf完成PDF模板类制作、使用
- Java 朴素贝叶斯分类器、SVM(5行代码)实现乳腺癌分类
- G盘显示拒绝访问要如何办啊
- thinkcmf自动采集文章主动推送给搜索引擎自动安装
- Zabbix-2.2.2 监控工具如何通过jmx监控 tomcat
- 什么是BPM (转)
- android 8.1wifi,android 8.1 wifi连上后,Setting APP界面提示不能连接互联网