├── Dockerfile ├── LICENSE ├── README.md ├── README.old.md ├── ccaa ├── ccaa.sh ├── ccaa_dir ├── AriaNg │ ├── LICENSE │ ├── css │ │ ├── aria-ng-70e1362684.min.css │ │ ├── bootstrap-3.4.1.min.css │ │ └── plugins-ccac6fc3fc.min.css │ ├── dindex.html │ ├── favicon.ico │ ├── favicon.png │ ├── fonts │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── index.html │ ├── index.manifest │ ├── js │ │ ├── angular-packages-1.6.10.min.js │ │ ├── aria-ng-da5356c403.min.js │ │ ├── bootstrap-3.4.1.min.js │ │ ├── echarts-common-3.8.5.min.js │ │ ├── jquery-3.3.1.min.js │ │ ├── moment-with-locales-2.24.0.min.js │ │ └── plugins-cc1df97b8f.min.js │ ├── langs │ │ ├── zh_Hans.txt │ │ └── zh_Hant.txt │ ├── robots.txt │ ├── tileicon.png │ └── touchicon.png ├── aria2.conf ├── aria2.session ├── config.json ├── index.html ├── services │ ├── aria2.service │ ├── ccaa_web.service │ └── filebrowser.service ├── upbt.sh └── version.txt ├── ccaa_web ├── ccaa_web.go ├── dccaa ├── docker-ccaa.sh └── uninstall.sh /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.11.6 2 | 3 | WORKDIR /root 4 | RUN wget https://raw.githubusercontent.com/helloxz/ccaa/master/docker-ccaa.sh && sh docker-ccaa.sh install 5 | VOLUME /data/ccaaDown 6 | EXPOSE 6080 6081 6800 51413 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Mr.zou 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 此项目不再维护,推荐使用[Zdir](https://www.zdir.pro/zh/)替代! 2 | -------------------------------------------------------------------------------- /README.old.md: -------------------------------------------------------------------------------- 1 | # CCAA 2 | 3 | 原为`CentOS + Caddy + AriaNg + Aria2`,故命名为CCAA,不过现在不仅仅支持CentOS,主流的Debian、Ubuntu也已经支持,自2.0版本已移除Caddy,改用Golang写了一个简单的webserver来运行AriaNg 4 | 5 | - Aria2 提供离线下载 6 | - ccaa_web支撑AriaNg运行 7 | - AriaNg为Aria2 提供WEB界面 8 | - Filemanager提供文件管理 9 | 10 | ### 主要功能 11 | 12 | * 支持HTTP/HTTPS/FTP/BT/磁力链接等离线下载,断点续传等 13 | * 文件管理、视频在线播放 14 | * 完善的帮助文档 15 | 16 | ### 环境要求 17 | 18 | * 支持的操作系统:CentOS 7-8、Debian 8-10、Ubuntu 16-18 19 | * 操作系统要求64位 20 | 21 | **虽然以上系统经过了基本测试,但不排除可能存着某些特殊情况无法安装,如有问题,请在Github Issues反馈** 22 | 23 | ### 安装CCAA 24 | 25 | 一键安装脚本(使用root用户): 26 | ```bash 27 | #海外 28 | bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/ccaa/master/ccaa.sh) 29 | #国内 30 | bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/ccaa/master/ccaa.sh) cdn 31 | ``` 32 | 如果出现`-bash: curl: command not found`错误,说明`curl`命令没安装,请输入下面的命令先安装`curl`,再回过头来执行上面的命令再来一次。 33 | 34 | ```bash 35 | #Debian or Ubuntu 36 | apt-get -y install curl 37 | #CentOS 38 | yum -y install curl 39 | ``` 40 | 41 | ### Docker安装 42 | ```bash 43 | docker run --name="ccaa" -d -p 6080:6080 -p 6081:6081 -p 6800:6800 -p 51413:51413 \ 44 | -v /data/ccaaDown:/data/ccaaDown \ 45 | -e PASS="xiaoz.me" \ 46 | helloz/ccaa \ 47 | sh -c "dccaa pass && dccaa start" 48 | ``` 49 | 50 | * 第一个`/data/ccaaDown`为本地目录,CCAA下载后的内容会保存在此目录,请根据自身情况设置 51 | * `xiaoz.me`为Aria2密钥,运行的时候请修改为自己的密码 52 | * 文件管理默认用户名为`ccaa`,密码为`admin`,登录后可在后台修改 53 | 54 | 55 | ### 常用命令 56 | 57 | * ccaa:进入CCAA操作界面 58 | * ccaa status:查看CCAA运行状态 59 | * ccaa stop:停止CCAA 60 | * ccaa start:启动CCAA 61 | * ccaa restart:重启CCAA 62 | * ccaa -v:查看CCAA版本(2.0开始支持) 63 | 64 | ### 部分截图 65 | 66 | ![](https://imgurl.org/upload/1810/e8bf5842058b46c5.png) 67 | 68 | ![](https://imgurl.org/upload/1810/1180fb03eb3117ce.png) 69 | 70 | ### 联系我 71 | 72 | * Blog: [https://www.xiaoz.me/](https://www.xiaoz.me/) 73 | * QQ: 337003006 74 | * 技术交流群: 147687134 75 | 76 | ### 请我喝一杯咖啡 77 | 78 | ![](https://imgurl.org/upload/1712/cb349aa4a1b95997.png) 79 | -------------------------------------------------------------------------------- /ccaa: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ##### CCAA管理脚本 ##### 3 | ##### Author:xiaoz.me ##### 4 | ##### Update:2020-02-27 ##### 5 | 6 | #导入环境变量 7 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin 8 | export PATH 9 | 10 | aria2pid=$(pgrep 'aria2c') 11 | ccaa_web_pid=$(pgrep 'ccaa_web') 12 | filebrowser_pid=$(pgrep 'filebrowser') 13 | 14 | #如果变量不存在 15 | if [ ! $1 ] 16 | then 17 | bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/ccaa/master/ccaa.sh) 18 | exit 19 | fi 20 | 21 | case $1 in 22 | 'start') 23 | nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & 24 | nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 & 25 | nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & 26 | exit 27 | ;; 28 | 'stop') 29 | kill -9 ${aria2pid} 30 | kill -9 ${ccaa_web_pid} 31 | kill -9 ${filebrowser_pid} 32 | ;; 33 | 'restart') 34 | kill -9 ${aria2pid} 35 | kill -9 ${ccaa_web_pid} 36 | kill -9 ${filebrowser_pid} 37 | nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & 38 | nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 & 39 | nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & 40 | exit; 41 | ;; 42 | 'status') 43 | if [ "$aria2pid" == "" ] 44 | then 45 | echo "Not running!" 46 | else 47 | echo '-----------------------------------------------' 48 | echo "Aria2 is running,pid is ${aria2pid}." 49 | echo "AriaNg is running,pid is ${ccaa_web_pid}." 50 | echo "Filebrowser is running,pid is ${filebrowser_pid}." 51 | echo '-----------------------------------------------' 52 | fi 53 | ;; 54 | '-v') 55 | cat /etc/ccaa/version.txt && echo '' 56 | ;; 57 | *) 58 | echo '参数错误!' 59 | exit 60 | ;; 61 | esac -------------------------------------------------------------------------------- /ccaa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ##### 一键安装File Browser + Aria2 + AriaNg ##### 3 | ##### 作者:xiaoz.me ##### 4 | ##### 更新时间:2020-02-27 ##### 5 | 6 | #导入环境变量 7 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin 8 | export PATH 9 | 10 | #CDN域名设置 11 | if [ $1 = 'cdn' ] 12 | then 13 | aria2_url='http://soft.xiaoz.top/linux/aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2' 14 | filebrowser_url='http://soft.xiaoz.top/linux/linux-amd64-filebrowser.tar.gz' 15 | master_url='https://github.com/helloxz/ccaa/archive/master.zip' 16 | ccaa_web_url='http://soft.xiaoz.top/linux/ccaa_web.tar.gz' 17 | else 18 | aria2_url='https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2' 19 | filebrowser_url='https://github.com/filebrowser/filebrowser/releases/download/v2.0.16/linux-amd64-filebrowser.tar.gz' 20 | master_url='https://github.com/helloxz/ccaa/archive/master.zip' 21 | ccaa_web_url='http://soft.xiaoz.org/linux/ccaa_web.tar.gz' 22 | fi 23 | 24 | #安装前的检查 25 | function check(){ 26 | echo '-------------------------------------------------------------' 27 | if [ -e "/etc/ccaa" ] 28 | then 29 | echo 'CCAA已经安装,若需要重新安装,请先卸载再安装!' 30 | echo '-------------------------------------------------------------' 31 | exit 32 | else 33 | echo '检测通过,即将开始安装。' 34 | echo '-------------------------------------------------------------' 35 | fi 36 | } 37 | 38 | #安装之前的准备 39 | function setout(){ 40 | if [ -e "/usr/bin/yum" ] 41 | then 42 | yum -y install curl gcc make bzip2 gzip wget unzip tar 43 | else 44 | #更新软件,否则可能make命令无法安装 45 | sudo apt-get update 46 | sudo apt-get install -y curl make bzip2 gzip wget unzip sudo 47 | fi 48 | #创建临时目录 49 | cd 50 | mkdir ./ccaa_tmp 51 | #创建用户和用户组 52 | groupadd ccaa 53 | useradd -M -g ccaa ccaa -s /sbin/nologin 54 | } 55 | #安装Aria2 56 | function install_aria2(){ 57 | #进入临时目录 58 | cd ./ccaa_tmp 59 | #yum -y update 60 | #安装aria2静态编译版本,来源于https://github.com/q3aql/aria2-static-builds/ 61 | wget -c ${aria2_url} 62 | tar jxvf aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2 63 | cd aria2-1.35.0-linux-gnu-64bit-build1 64 | make install 65 | cd 66 | } 67 | 68 | #安装File Browser文件管理器 69 | function install_file_browser(){ 70 | cd ./ccaa_tmp 71 | #下载File Browser 72 | wget ${filebrowser_url} 73 | #解压 74 | tar -zxvf linux-amd64-filebrowser.tar.gz 75 | #移动位置 76 | mv filebrowser /usr/sbin 77 | cd 78 | } 79 | #处理配置文件 80 | function dealconf(){ 81 | cd ./ccaa_tmp 82 | #下载CCAA项目 83 | wget ${master_url} 84 | #解压 85 | unzip master.zip 86 | #复制CCAA核心目录 87 | mv ccaa-master/ccaa_dir /etc/ccaa 88 | #创建aria2日志文件 89 | touch /var/log/aria2.log 90 | #upbt增加执行权限 91 | chmod +x /etc/ccaa/upbt.sh 92 | chmod +x ccaa-master/ccaa 93 | cp ccaa-master/ccaa /usr/sbin 94 | cd 95 | } 96 | #自动放行端口 97 | function chk_firewall(){ 98 | if [ -e "/etc/sysconfig/iptables" ] 99 | then 100 | iptables -I INPUT -p tcp --dport 6080 -j ACCEPT 101 | iptables -I INPUT -p tcp --dport 6081 -j ACCEPT 102 | iptables -I INPUT -p tcp --dport 6800 -j ACCEPT 103 | iptables -I INPUT -p tcp --dport 6998 -j ACCEPT 104 | iptables -I INPUT -p tcp --dport 51413 -j ACCEPT 105 | service iptables save 106 | service iptables restart 107 | elif [ -e "/etc/firewalld/zones/public.xml" ] 108 | then 109 | firewall-cmd --zone=public --add-port=6080/tcp --permanent 110 | firewall-cmd --zone=public --add-port=6081/tcp --permanent 111 | firewall-cmd --zone=public --add-port=6800/tcp --permanent 112 | firewall-cmd --zone=public --add-port=6998/tcp --permanent 113 | firewall-cmd --zone=public --add-port=51413/tcp --permanent 114 | firewall-cmd --reload 115 | elif [ -e "/etc/ufw/before.rules" ] 116 | then 117 | sudo ufw allow 6080/tcp 118 | sudo ufw allow 6081/tcp 119 | sudo ufw allow 6800/tcp 120 | sudo ufw allow 6998/tcp 121 | sudo ufw allow 51413/tcp 122 | fi 123 | } 124 | #删除端口 125 | function del_post() { 126 | if [ -e "/etc/sysconfig/iptables" ] 127 | then 128 | sed -i '/^.*6080.*/'d /etc/sysconfig/iptables 129 | sed -i '/^.*6081.*/'d /etc/sysconfig/iptables 130 | sed -i '/^.*6800.*/'d /etc/sysconfig/iptables 131 | sed -i '/^.*6998.*/'d /etc/sysconfig/iptables 132 | sed -i '/^.*51413.*/'d /etc/sysconfig/iptables 133 | service iptables save 134 | service iptables restart 135 | elif [ -e "/etc/firewalld/zones/public.xml" ] 136 | then 137 | firewall-cmd --zone=public --remove-port=6080/tcp --permanent 138 | firewall-cmd --zone=public --remove-port=6081/tcp --permanent 139 | firewall-cmd --zone=public --remove-port=6800/tcp --permanent 140 | firewall-cmd --zone=public --remove-port=6998/tcp --permanent 141 | firewall-cmd --zone=public --remove-port=51413/tcp --permanent 142 | firewall-cmd --reload 143 | elif [ -e "/etc/ufw/before.rules" ] 144 | then 145 | sudo ufw delete 6080/tcp 146 | sudo ufw delete 6081/tcp 147 | sudo ufw delete 6800/tcp 148 | sudo ufw delete 6998/tcp 149 | sudo ufw delete 51413/tcp 150 | fi 151 | } 152 | #添加服务 153 | function add_service() { 154 | if [ -d "/etc/systemd/system" ] 155 | then 156 | cp /etc/ccaa/services/* /etc/systemd/system 157 | systemctl daemon-reload 158 | fi 159 | } 160 | #设置账号密码 161 | function setting(){ 162 | cd 163 | cd ./ccaa_tmp 164 | echo '-------------------------------------------------------------' 165 | read -p "设置下载路径(请填写绝对地址,默认/data/ccaaDown):" downpath 166 | read -p "Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):" secret 167 | #如果Aria2密钥为空 168 | while [ -z "${secret}" ] 169 | do 170 | read -p "Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):" secret 171 | done 172 | 173 | #如果下载路径为空,设置默认下载路径 174 | if [ -z "${downpath}" ] 175 | then 176 | downpath='/data/ccaaDown' 177 | fi 178 | 179 | #获取ip 180 | osip=$(curl ipv4.ip.sb) 181 | 182 | #执行替换操作 183 | mkdir -p ${downpath} 184 | sed -i "s%dir=%dir=${downpath}%g" /etc/ccaa/aria2.conf 185 | sed -i "s/rpc-secret=/rpc-secret=${secret}/g" /etc/ccaa/aria2.conf 186 | #替换filebrowser读取路径 187 | sed -i "s%ccaaDown%${downpath}%g" /etc/ccaa/config.json 188 | #替换AriaNg服务器链接 189 | sed -i "s/server_ip/${osip}/g" /etc/ccaa/AriaNg/index.html 190 | 191 | #更新tracker 192 | bash /etc/ccaa/upbt.sh 193 | 194 | #安装AriaNg 195 | wget ${ccaa_web_url} 196 | tar -zxvf ccaa_web.tar.gz 197 | cp ccaa_web /usr/sbin/ 198 | chmod +x /usr/sbin/ccaa_web 199 | 200 | #启动服务 201 | nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & 202 | #nohup caddy -conf="/etc/ccaa/caddy.conf" > /etc/ccaa/caddy.log 2>&1 & 203 | nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 & 204 | #运行filebrowser 205 | nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & 206 | 207 | #重置权限 208 | chown -R ccaa:ccaa /etc/ccaa/ 209 | chown -R ccaa:ccaa ${downpath} 210 | 211 | #注册服务 212 | add_service 213 | 214 | echo '-------------------------------------------------------------' 215 | echo "大功告成,请访问: http://${osip}:6080/" 216 | echo 'File Browser 用户名:ccaa' 217 | echo 'File Browser 密码:admin' 218 | echo 'Aria2 RPC 密钥:' ${secret} 219 | echo '帮助文档: https://dwz.ovh/ccaa (必看)' 220 | echo '-------------------------------------------------------------' 221 | } 222 | #清理工作 223 | function cleanup(){ 224 | cd 225 | rm -rf ccaa_tmp 226 | #rm -rf *.conf 227 | #rm -rf init 228 | } 229 | 230 | #卸载 231 | function uninstall(){ 232 | wget -O ccaa-uninstall.sh https://raw.githubusercontent.com/helloxz/ccaa/master/uninstall.sh 233 | bash ccaa-uninstall.sh 234 | } 235 | 236 | #选择安装方式 237 | echo "------------------------------------------------" 238 | echo "Linux + File Browser + Aria2 + AriaNg一键安装脚本(CCAA)" 239 | echo "1) 安装CCAA" 240 | echo "2) 卸载CCAA" 241 | echo "3) 更新bt-tracker" 242 | echo "q) 退出!" 243 | read -p ":" istype 244 | case $istype in 245 | 1) 246 | check 247 | setout 248 | chk_firewall 249 | install_aria2 && \ 250 | install_file_browser && \ 251 | dealconf && \ 252 | setting && \ 253 | cleanup 254 | ;; 255 | 2) 256 | uninstall 257 | ;; 258 | 3) 259 | bash /etc/ccaa/upbt.sh 260 | ;; 261 | q) 262 | exit 263 | ;; 264 | *) echo '参数错误!' 265 | esac 266 | -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-2020 MaysWind (i@mayswind.net) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/css/aria-ng-70e1362684.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * AriaNg 3 | * https://github.com/mayswind/AriaNg 4 | */body,html{margin:0;padding:0}body{-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}td{vertical-align:middle!important}.blur{-webkit-filter:blur(5px);-moz-filter:blur(5px);-ms-filter:blur(5px);filter:blur(5px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius=5,MakeShadow=false)}.disable-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:9999;cursor:not-allowed}.main-header .logo{overflow:visible}.main-header .logo .dropdown-menu{z-index:2000}.main-header .navbar .nav>li{display:inline-block}.main-header .navbar .nav>li>a{padding-left:10px;padding-right:10px}.main-header .navbar .nav>li.disabled>a{pointer-events:none!important}.main-header .navbar .navbar-nav{margin-left:5px}.main-header .navbar .navbar-searchbar{padding-top:8px;padding-right:20px;float:right}.main-header .logo .logo-mini{font-size:14px!important}.main-header .logo .logo-lg{cursor:pointer}.main-header .rpcselect-dropdown{max-height:200px;overflow-x:hidden}.main-sidebar{z-index:1010}.content-wrapper{min-height:calc(100vh - 48px)}.content-wrapper,.right-side{background-color:#fff}.content-wrapper>.content-body{overflow-y:scroll}.main-footer>.navbar{margin-bottom:0;min-height:inherit}.main-footer>.navbar>.navbar-toolbar>.nav{float:left;margin:0}.main-footer>.navbar>.navbar-toolbar>.nav>li{display:inline-block;float:left}.main-footer>.navbar>.navbar-toolbar>.nav>li>a{padding:0 10px}.main-footer>.navbar>.navbar-toolbar>.nav>li:first-child>a{padding-left:0}.dropdown-menu.right-align{left:inherit;right:0}.default-cursor{cursor:default!important}.pointer-cursor{cursor:pointer!important}.text-cursor{cursor:text!important}.allow-word-break{word-wrap:break-word;word-break:break-all}.auto-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:absolute;border:1px solid #eee;background-color:#fff}.main-footer>.navbar>.navbar-toolbar>.nav>li>a{padding-left:8px;padding-right:8px}}.toolbar{cursor:pointer}.toolbar:active{-webkit-box-shadow:inset 0 2px 6px rgba(0,0,0,.125);box-shadow:inset 0 2px 6px rgba(0,0,0,.125)}.dropdown-menu small{color:#999}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-menu>li.dropdown-submenu:hover{background-color:#e1e3e9}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;border-radius:6px 0 6px 6px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#c4d2db;min-height:28px}::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-thumb:hover{background-color:#d4dfe7}@media (max-width:767px){::-webkit-scrollbar{width:6px}}.fade-in.ng-enter{-webkit-transition:all .3s linear;transition:all .3s linear;opacity:0}.fade-in.ng-enter.ng-enter-active{opacity:1}.btn-group+.btn{margin-left:4px}.progress-bar{-webkit-transition:initial!important;transition:initial!important}.input-group-addon-compact{padding:0 4px}.nav-tabs-custom .nav-tabs>li>a{display:inline-block}.nav-tabs-custom .nav-tabs>li>a.nav-tab-close{padding-left:0;margin-left:-12px}.nav-tabs-custom .nav-tabs>li.nav-tab-title-rpcname>a{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}@media (max-width:991px){.nav-tabs-custom .nav-tabs>li.nav-tab-title-rpcname>a{max-width:150px}}@media (max-width:767px){.nav-tabs-custom .nav-tabs>li.nav-tab-title-rpcname>a{max-width:120px}}.input-group.input-group-multiple>.input-group-addon{border-left:0;border-right:0}.input-group.input-group-multiple>.input-group-addon-container:first-child,.input-group.input-group-multiple>.input-group-addon:first-child{border-left:1px solid #d2d6de}.input-group .input-group-addon-container{width:1%;display:table-cell}.fa-half{font-size:.5em}.fa-1_1x{font-size:1.1em}.fa-rotate-45{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-filter:none;filter:none}.fa-right-bottom{right:0;bottom:-6px}.fa-order-asc,.fa-order-desc,.fa-right-bottom{position:relative}.fa-order-asc{bottom:-2px}.fa-order-desc{bottom:2px}.checkbox.checkbox-hide{padding-left:0}.checkbox.checkbox-hide>input,.checkbox.checkbox-hide>input+label:after,.checkbox.checkbox-hide>input+label:before{display:none!important}.checkbox.checkbox-hide>label{padding-left:0}.checkbox-compact{margin-top:2px;margin-bottom:2px}.checkbox-inline{display:inline-block}.icon-dir-expand+.checkbox{margin-left:6px}input-dropdown[input-class-name=form-control]>.input-dropdown{width:100%}.input-dropdown ul{border:1px solid #888}.input-dropdown ul>li.active{background-color:#e1e3e9}.input-dropdown ul>li{padding:2px 14px}.gu-mirror{cursor:grabbing;cursor:-webkit-grabbing}.global-status{cursor:pointer}.global-status>.realtime-speed{padding:0 15px}.global-status>.realtime-speed:first-child{padding-left:5px}.global-status>.realtime-speed:last-child{padding-right:5px}.global-status span.realtime-speed>i{padding-right:2px}.task-table{margin-left:15px;margin-right:15px}.task-table .task-table-title{font-size:12px;padding-top:4px;padding-bottom:4px}.task-table .task-table-title a{color:#000;cursor:pointer}.task-table>.task-table-body.draggable{cursor:move;cursor:grab;cursor:-webkit-grab}.task-table>.task-table-body>div.row{padding-top:8px;padding-bottom:8px;border-top:1px solid #ddd}.task-table>div.row:first-child{border-top:inherit}@media (max-width:767px){.task-table>.task-table-title{display:none!important}.task-table>.task-table-body>div.row:first-child{border-top:inherit}}.task-table .task-name{font-size:14px;display:block}.task-table .peer-name-wrapper{display:inline-block;width:100%}.task-table .task-files,.task-table .task-size{font-size:12px;display:block}.task-table .progress{margin-bottom:0}.task-table .task-last-time,.task-table .task-last-time+.task-download-speed,.task-table .task-seeders{color:#888;font-size:12px}.task-table .task-last-time+.task-download-speed,.task-table .task-seeders{margin-top:1px}.task-table .task-last-time+.task-download-speed{padding-left:20px}.task-table .task-download-speed,.task-table .task-peer-download-speed{font-size:12px}.task-table .checkbox,.task-table .radio{margin-top:0;margin-bottom:0}.task-table .progress{position:relative}.task-table .progress span{position:absolute;display:block;width:100%}.task-table .progress span.progress-lower{color:#000}@media (max-width:767px){.task-table .task-peer-download-speed{float:right}}.task-table .task-right-arrow{visibility:hidden;position:absolute;right:14px;margin-top:-12px}.task-table .row:hover .task-right-arrow,.task-table .row[data-selected=true] .task-right-arrow{visibility:visible}.task-table .task-right-arrow i{color:#c8c8c8;font-size:60px}.task-table .task-right-arrow i:hover{color:#d8d8d8}.settings-table{margin-left:15px;margin-right:15px}.settings-table .settings-table-title{font-size:12px;padding-top:4px;padding-bottom:4px}.settings-table .settings-table-title a{color:#000}.settings-table>div.row{padding-top:8px;padding-bottom:8px;border-top:1px solid #ddd}.settings-table>div.row:first-child{border-top:inherit}.settings-table+.settings-table>div.row:first-child{border-top:1px solid #ddd}.settings-table .input-group-addon{background-color:#eee}.settings-table .asterisk{color:red}.settings-table .description,.settings-table .description-inline{color:#888;font-size:12px;font-weight:400;font-style:normal}.settings-table .description{display:block}.settings-table .description-inline{display:inline-block}.settings-table em{color:#888;font-size:12px;font-weight:400}.settings-table .setting-value .form-group{margin-bottom:0}.settings-table .setting-value .form-group .form-control-icon{color:#3c8dbc}.settings-table .setting-value .form-group select.form-control+.form-control-icon>.form-control-feedback{right:10px}.settings-table .setting-value .input-group .form-group .form-control:focus{z-index:inherit}.settings-table .setting-value .input-group .form-control-rpcport{min-width:70px}.settings-table .setting-value .input-group .form-control-rpcinterface{min-width:100px}@media (max-width:991px){.settings-table .setting-value .input-group .form-control-rpcinterface,.settings-table .setting-value .input-group .form-control-rpcport{min-width:60px}}.settings-table .tip{font-size:12px;padding:4px 8px}.settings-table .multi-line{display:block}@media (max-width:767px){.settings-table .setting-key{font-weight:700}.settings-table .description{display:inline-block}}@media (min-width:768px){.settings-table .setting-key-without-desc{padding-top:6px}}.new-task-table{margin-left:15px;margin-right:15px}.new-task-table>div.row{padding-top:8px;padding-bottom:8px}.new-task-table>div.row:first-child{border-top:inherit}.new-task-table .new-task-toollink>a{margin-right:20px}@media (max-width:767px){.new-task-table .new-task-toollink>a{display:block}}.settings-table .new-task-filter-title{padding-top:6px}.piece-bar-wrapper{height:20px}.piece-bar{width:100%}.piece-map{padding-left:6px;padding-right:2px;line-height:11px}.piece-legends{text-align:center;margin-top:4px;margin-bottom:4px}.piece-legend{display:inline-block;margin-right:4px}.piece-legend>.piece,.piece-map .piece{width:10px;height:10px;background-color:#eef2f4;border:1px solid #dee2e5;display:inline-block;margin-right:1px}.piece-legend>.piece.piece-completed,.piece-map .piece.piece-completed{background-color:#b8dd69;border-color:#b8dd69}.piece-legend>.piece{margin-right:4px}.chart-popover{max-width:320px}.chart-popover .popover-content{padding:0}.chart-pop-wrapper{padding-left:4px;padding-right:4px;overflow-x:hidden}.chart-pop{display:table}.chart-pop .loading{width:100%;height:100%;display:table-cell;text-align:center;vertical-align:middle}.global-status-chart{width:312px;height:200px}.task-status-chart-wrapper{overflow-x:hidden}@-webkit-keyframes three-quarters{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes three-quarters{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.btn-spinner{font-family:sans-serif;font-weight:100}.btn-spinner:not(:required){-webkit-animation:three-quarters 1.25s infinite linear;animation:three-quarters 1.25s infinite linear;border:3px solid #8c8c8c;border-right-color:transparent;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;vertical-align:middle;overflow:hidden;text-indent:-9999px;width:18px;height:18px}.btn-danger .btn-spinner:not(:required),.btn-primary .btn-spinner:not(:required){border:3px solid #efefef;border-right-color:transparent}.btn-spinner:not(:required){margin-left:-22px;opacity:0;-webkit-transition:margin .4s ease-out,opacity .2s ease-out;transition:margin .4s ease-out,opacity .2s ease-out}.is-loading .btn-spinner{-webkit-transition:margin .2s ease-in,opacity .4s ease-in;transition:margin .2s ease-in,opacity .4s ease-in;margin-left:5px;opacity:1}.skin-aria-ng{overflow-y:hidden}.skin-aria-ng,.skin-aria-ng .h1,.skin-aria-ng .h2,.skin-aria-ng .h3,.skin-aria-ng .h4,.skin-aria-ng .h5,.skin-aria-ng .h6,.skin-aria-ng .main-header .logo,.skin-aria-ng .popover,.skin-aria-ng .sweet-alert,.skin-aria-ng .tooltip,.skin-aria-ng h1,.skin-aria-ng h2,.skin-aria-ng h3,.skin-aria-ng h4,.skin-aria-ng h5,.skin-aria-ng h6{font-family:Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}.skin-aria-ng .main-header .navbar{background-color:#f6f6f6;border-bottom:1px solid #ddd}.skin-aria-ng .main-header .navbar .nav>li>a{color:#707070;font-size:16px}.skin-aria-ng .main-header .navbar .nav .open>a,.skin-aria-ng .main-header .navbar .nav .open>a:focus,.skin-aria-ng .main-header .navbar .nav .open>a:hover,.skin-aria-ng .main-header .navbar .nav>.active>a,.skin-aria-ng .main-header .navbar .nav>li>a:active,.skin-aria-ng .main-header .navbar .nav>li>a:focus,.skin-aria-ng .main-header .navbar .nav>li>a:hover{color:#0080ff}.skin-aria-ng .main-header .navbar .nav>li.disabled>a{color:#ccc!important}.skin-aria-ng .main-header .navbar .nav>li.divider{padding:10px 0;margin-left:4px;margin-right:4px;border-right:1px solid #ccc;position:relative;top:15px}.skin-aria-ng .main-header .navbar .navbar-searchbar .form-control-icon{color:#999}@media (max-width:767px){.skin-aria-ng .main-header .navbar{padding-left:20px}.skin-aria-ng .main-header .navbar .navbar-nav{margin-left:-10px}.skin-aria-ng .main-header .navbar .nav>li.divider{margin-left:0;margin-right:0;top:5px}}.skin-aria-ng .main-header .logo{background-color:#3c4852;color:#fff;border-bottom:1px solid #59636b}.skin-aria-ng .main-header .logo .logo-lg:hover{color:#ccc}.skin-aria-ng .main-header .logo .logo-lg .logo-lg-title{margin-right:6px}.skin-aria-ng .main-header .logo .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.skin-aria-ng .main-header .logo .dropdown-menu>li.active>a{color:#777;background-color:#fff}.skin-aria-ng .main-header .logo .dropdown-menu>li.active:hover>a{color:#333;background-color:#e1e3e9}.skin-aria-ng .content-header{background:transparent}.skin-aria-ng .left-side,.skin-aria-ng .main-sidebar,.skin-aria-ng .wrapper{background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.header{color:#707070;background-color:#2e343c;padding-top:3px;padding-bottom:3px}.skin-aria-ng .sidebar-menu>li>a{border-left:3px solid transparent;padding-top:9px;padding-bottom:9px}.skin-aria-ng .sidebar-menu>li:hover>a{color:#dfdfdf;background-color:#313a42}.skin-aria-ng .sidebar-menu>li.active>a{color:#5399e8;background-color:#252c30}.skin-aria-ng .sidebar-menu>li.treeview:hover>a{color:#a2b5b9;background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.treeview.active:hover>a,.skin-aria-ng .sidebar-menu>li.treeview.active>a{color:#5399e8;background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.treeview>a:hover{color:#dfdfdf;background-color:#313a42}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu{margin:0;padding:0;background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu>li>a{color:#8aa4af;padding:6px 5px 6px 41px}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu>li>a:hover{color:#dfdfdf;background-color:#313a42}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu>li.active>a{color:#5399e8;background-color:#252c30}.skin-aria-ng .sidebar-menu i.fa{font-size:18px;margin-right:2px}.skin-aria-ng .sidebar a{color:#a2b5b9}.skin-aria-ng .sidebar a:hover{text-decoration:none}@media (max-width:767px){.skin-aria-ng .main-sidebar{margin-top:5px}}.right-side,.skin-aria-ng .content-wrapper{background-color:#fff}.skin-aria-ng .content-wrapper .form-control[type=text]{padding-left:14px}@media screen and (max-width:767px){.skin-aria-ng .content-wrapper .content{margin-top:5px}}.skin-aria-ng .main-footer{font-size:12px}.skin-aria-ng .main-footer>.navbar{border:0}.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li.divider{padding-top:16px;margin-left:4px;margin-right:4px;border-right:1px solid #ccc;position:relative;top:0}.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a{color:#707070;line-height:17px}.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li.open>a,.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a:active,.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a:focus,.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a:hover{color:#0080ff;background:none}.skin-aria-ng .global-status{margin-right:10px;color:inherit}.skin-aria-ng .global-status:hover{border:1px solid #ccc;margin-right:9px;margin-top:-1px}.skin-aria-ng .progress-bar-primary{background-color:#208fe5}.skin-aria-ng .progress-bar-warning{background-color:#f39c12}.skin-aria-ng .icon-primary{color:#3c8dbc}.skin-aria-ng .icon-download{color:#3a89e9}.skin-aria-ng .icon-upload{color:#74a329}.skin-aria-ng .icon-seeder{margin-left:4px;color:#74a329}.skin-aria-ng .icon-error{margin-left:4px;color:#dd4b39}.skin-aria-ng .icon-expand{color:#5399e8}.skin-aria-ng .icon-dir-expand{color:#999}.skin-aria-ng .nav-tabs-custom{-webkit-box-shadow:none;box-shadow:none;margin-bottom:0}.skin-aria-ng .nav-tabs-custom>.nav-tabs{border-bottom:1px dotted #ddd}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li{border-top:0;margin-top:1px;margin-right:2px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.active{border-bottom:2px solid #208fe5}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.slim>a{padding-left:5px;padding-right:5px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.slim.active{margin-bottom:-1px;border-bottom:inherit}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.divider{padding:10px 0;margin-left:4px;margin-right:4px;margin-top:11px;border-right:1px solid #ccc}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.nav-toolbar{margin-left:15px;margin-right:5px}@media (max-width:767px){.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.nav-toolbar{float:right}}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.nav-toolbar>.btn-group{margin-right:4px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a{color:#aaa;border:0}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.active>a,.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a:active,.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a:hover{color:#208fe5}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a.nav-tab-close:hover{color:#dd4b39!important;margin-left:-14px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a.nav-tab-close:hover>.fa-times:before{content:"\f057";font-size:1.1em}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>div.btn-group{padding-top:5px;padding-bottom:5px}.skin-aria-ng .tooltip.tooltip-error.in,.skin-aria-ng .tooltip.tooltip-success.in,.skin-aria-ng .tooltip.tooltip-warning.in{filter:alpha(opacity=95);opacity:.95}.skin-aria-ng .tooltip.tooltip-success.top-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.top-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.top .tooltip-arrow{border-top-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.top-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.top-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.top .tooltip-arrow{border-top-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.top-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.top-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.top .tooltip-arrow{border-top-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success.left .tooltip-arrow{border-left-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.left .tooltip-arrow{border-left-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.left .tooltip-arrow{border-left-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success.right .tooltip-arrow{border-right-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.right .tooltip-arrow{border-right-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.right .tooltip-arrow{border-right-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success.bottom-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.bottom-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.bottom .tooltip-arrow{border-bottom-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.bottom-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.bottom-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.bottom .tooltip-arrow{border-bottom-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.bottom-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.bottom-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.bottom .tooltip-arrow{border-bottom-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success .tooltip-inner{background-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning .tooltip-inner{background-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error .tooltip-inner{background-color:#dd4b39}.skin-aria-ng .input-group .form-group.has-success+.input-group-addon{border-color:#00a65a;background-color:#00a65a;color:#fff}.skin-aria-ng .input-group .form-group.has-warning+.input-group-addon{border-color:#f39c12;background-color:#f39c12;color:#fff}.skin-aria-ng .input-group .form-group.has-error+.input-group-addon{border-color:#dd4b39;background-color:#dd4b39;color:#fff}.skin-aria-ng input:-moz-placeholder,.skin-aria-ng input:-ms-input-placeholder,.skin-aria-ng input::-moz-placeholder,.skin-aria-ng input::-webkit-input-placeholder{color:#999}.skin-aria-ng select.placeholder{color:#999}.skin-aria-ng .checkbox-primary input[type=checkbox]:checked+label:before,.skin-aria-ng .checkbox-primary input[type=checkbox]:indeterminate+label:before,.skin-aria-ng .checkbox-primary input[type=radio]:checked+label:before,.skin-aria-ng .checkbox-primary input[type=radio]:indeterminate+label:before{background-color:#208fe5;border-color:#208fe5}.skin-aria-ng .task-table{background-color:#fff}.skin-aria-ng .task-table>.task-table-body>div.row:nth-of-type(odd){background-color:#f9f9f9}.skin-aria-ng .task-table>.task-table-body>div.row:hover{background-color:#f5f5f5}.skin-aria-ng .task-table .peer-client{color:#888;font-size:12px}.skin-aria-ng .settings-table{background-color:#fff}.skin-aria-ng .settings-table.striped>div.row:nth-of-type(odd){background-color:#f9f9f9}.skin-aria-ng .settings-table.striped>div.row.no-background{background-color:inherit}.skin-aria-ng .settings-table.hoverable>div.row:hover{background-color:#f5f5f5}.skin-aria-ng .settings-table.hoverable>div.row.no-hover:hover{background-color:inherit}.skin-aria-ng .settings-table.hoverable>div.row:nth-of-type(odd).no-hover:hover{background-color:#f9f9f9}.skin-aria-ng .new-task-table{background-color:#fff} -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/dindex.html: -------------------------------------------------------------------------------- 1 | AriaNg
8 | 14 | -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/favicon.ico -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/favicon.png -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/index.html: -------------------------------------------------------------------------------- 1 | AriaNg
-------------------------------------------------------------------------------- /ccaa_dir/AriaNg/index.manifest: -------------------------------------------------------------------------------- 1 | CACHE MANIFEST 2 | 3 | CACHE: 4 | css/aria-ng-70e1362684.min.css 5 | css/bootstrap-3.4.1.min.css 6 | css/plugins-ccac6fc3fc.min.css 7 | js/angular-packages-1.6.10.min.js 8 | js/aria-ng-da5356c403.min.js 9 | js/bootstrap-3.4.1.min.js 10 | js/echarts-common-3.8.5.min.js 11 | js/jquery-3.3.1.min.js 12 | js/moment-with-locales-2.24.0.min.js 13 | js/plugins-cc1df97b8f.min.js 14 | fonts/fontawesome-webfont.woff2 15 | index.html 16 | 17 | NETWORK: 18 | * 19 | 20 | SETTINGS: 21 | prefer-online 22 | 23 | # hash: fa5a7f64f538edccc1eecff90ab96dffcbfa73bf7317501f6f3d3023e3a96b2b -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/js/bootstrap-3.4.1.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.4.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2019 Twitter, Inc. 4 | * Licensed under the MIT license 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(idocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-dc.width?"left":"left"==s&&l.left-ha.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;ha.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e=n[t]&&(n[t+1]===undefined||e .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n= 2). 如果 SIZE 为 15M, 由于 2*15M > 20MB, 因此 aria2 不会分割文件并使用 1 个源进行下载. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 可以设置的值为: 1M-1024M. 373 | netrc-path.name=.netrc 文件路径 374 | netrc-path.description= 375 | no-netrc.name=禁用 netrc 376 | no-netrc.description= 377 | no-proxy.name=不使用代理服务器列表 378 | out.name=文件名 379 | out.description=下载文件的文件名. 其总是相对于 --dir 选项中设置的路径. 当使用 --force-sequential 参数时此选项无效. 380 | no-proxy.description=设置不使用代理服务器的主机名, 域名, 包含或不包含子网掩码的网络地址, 多个使用逗号分隔. 381 | proxy-method.name=代理服务器请求方法 382 | proxy-method.description=设置用来请求代理服务器的方法. 方法可设置为 GET 或 TUNNEL. HTTPS 下载将忽略此选项并总是使用 TUNNEL. 383 | remote-time.name=获取服务器文件时间 384 | remote-time.description=从 HTTP/FTP 服务获取远程文件的时间戳, 如果可用将设置到本地文件 385 | reuse-uri.name=URI 复用 386 | reuse-uri.description=当所有给定的 URI 地址都已使用, 继续使用已经使用过的 URI 地址. 387 | retry-wait.name=重试等待时间 388 | retry-wait.description=设置重试间隔时间(秒). 当此选项的值大于 0 时, aria2 在 HTTP 服务器返回 503 响应时将会重试. 389 | server-stat-of.name=服务器状态保存文件 390 | server-stat-of.description=指定用来保存服务器状态的文件名. 您可以使用 --server-stat-if 参数读取保存的数据. 391 | server-stat-timeout.name=服务器状态超时 392 | server-stat-timeout.description=指定服务器状态的过期时间 (单位为秒). 393 | split.name=单任务连接数 394 | split.description=下载时使用 N 个连接. 如果提供超过 N 个 URI 地址, 则使用前 N 个地址, 剩余的地址将作为备用. 如果提供的 URI 地址不足 N 个, 这些地址多次使用以保证同时建立 N 个连接. 同一服务器的连接数会被 --max-connection-per-server 选项限制. 395 | stream-piece-selector.name=分片选择算法 396 | stream-piece-selector.description=指定 HTTP/FTP 下载使用的分片选择算法. 分片表示的是并行下载时固定长度的分隔段. 如果设置为"默认", aria2 将会按减少建立连接数选择分片. 由于建立连接操作的成本较高, 因此这是合理的默认行为. 如果设置为"顺序", aria2 将选择索引最小的分片. 索引为 0 时表示为文件的第一个分片. 这将有助于视频的边下边播. --enable-http-pipelining 选项有助于减少重连接的开销. 请注意, aria2 依赖于 --min-split-size 选项, 所以有必要对 --min-split-size 选项设置一个合理的值. 如果设置为"随机", aria2 将随机选择一个分片. 就像"顺序"一样, 依赖于 --min-split-size 选项. 如果设置为"几何", aria2 会先选择索引最小的分片, 然后会为之前选择的分片保留指数增长的空间. 这将减少建立连接的次数, 同时文件开始部分将会先行下载. 这也有助于视频的边下边播. 397 | timeout.name=超时时间 398 | timeout.description= 399 | uri-selector.name=URI 选择算法 400 | uri-selector.description=指定 URI 选择的算法. 可选的值包括 "按顺序", "反馈" 和 "自适应". 如果设置为"按顺序", URI 将按列表中出现的顺序使用. 如果设置为"反馈", aria2 将根据之前的下载速度选择 URI 列表中下载速度最快的服务器. 同时也将有效跳过无效镜像. 之前统计的下载速度将作为服务器状态文件的一部分, 参见 --server-stat-of 和 --server-stat-if 选项. 如果设置为"自适应", 将从最好的镜像和保留的连接里选择一项. 补充说明, 其返回的镜像没有被测试过, 同时如果每个镜像都已经被测试过时, 返回的镜像还会被重新测试. 否则, 其将不会选择其他镜像. 例如"反馈", 其使用服务器状态文件. 401 | check-certificate.name=检查证书 402 | check-certificate.description= 403 | http-accept-gzip.name=支持 GZip 404 | http-accept-gzip.description=如果远程服务器的响应头中包含 Content-Encoding: gzip 或 Content-Encoding: deflate , 将发送包含 Accept: deflate, gzip 的请求头并解压缩响应. 405 | http-auth-challenge.name=认证质询 406 | http-auth-challenge.description=仅当服务器需要时才发送 HTTP 认证请求头. 如果设置为"否", 每次都会发送认证请求头. 例外: 如果用户名和密码包含在 URI 中, 将忽略此选项并且每次都会发送认证请求头. 407 | http-no-cache.name=禁用缓存 408 | http-no-cache.description=发送的请求头中将包含 Cache-Control: no-cache 和 Pragma: no-cache header 以避免内容被缓存. 如果设置为"否", 上述请求头将不会发送, 同时您也可以使用 --header 选项将 Cache-Control 请求头添加进去. 409 | http-user.name=HTTP 默认用户名 410 | http-user.description= 411 | http-passwd.name=HTTP 默认密码 412 | http-passwd.description= 413 | http-proxy.name=HTTP 代理服务器 414 | http-proxy.description= 415 | http-proxy-user.name=HTTP 代理服务器用户名 416 | http-proxy-user.description= 417 | http-proxy-passwd.name=HTTP 代理服务器密码 418 | http-proxy-passwd.description= 419 | https-proxy.name=HTTPS 代理服务器 420 | https-proxy.description= 421 | https-proxy-user.name=HTTPS 代理服务器用户名 422 | https-proxy-user.description= 423 | https-proxy-passwd.name=HTTPS 代理服务器密码 424 | https-proxy-passwd.description= 425 | referer.name=请求来源 426 | referer.description=设置 HTTP 请求来源 (Referer). 此选项将影响所有 HTTP/HTTPS 下载. 如果设置为 *, 请求来源将设置为下载链接. 此选项可以配合 --parameterized-uri 选项使用. 427 | enable-http-keep-alive.name=启用持久连接 428 | enable-http-keep-alive.description=启用 HTTP/1.1 持久连接. 429 | enable-http-pipelining.name=启用 HTTP 管线化 430 | enable-http-pipelining.description=启用 HTTP/1.1 管线化. 431 | header.name=自定义请求头 432 | header.description=增加 HTTP 请求头内容. 每行放置一项, 每项包含 "请求头名: 请求头值". 433 | save-cookies.name=Cookies 保存路径 434 | save-cookies.description=以 Mozilla/Firefox(1.x/2.x)/Netscape 格式将 Cookies 保存到文件中. 如果文件已经存在, 将被覆盖. 会话过期的 Cookies 也将会保存, 其过期时间将会设置为 0. 435 | use-head.name=启用 HEAD 方法 436 | use-head.description=第一次请求 HTTP 服务器时使用 HEAD 方法. 437 | user-agent.name=自定义 User Agent 438 | user-agent.description= 439 | ftp-user.name=FTP 默认用户名 440 | ftp-user.description= 441 | ftp-passwd.name=FTP 默认密码 442 | ftp-passwd.description=如果 URI 中包含用户名单不包含密码, aria2 首先会从 .netrc 文件中获取密码. 如果在 .netrc 文件中找到密码, 则使用该密码. 否则, 使用此选项设置的密码. 443 | ftp-pasv.name=被动模式 444 | ftp-pasv.description=在 FTP 中使用被动模式. 如果设置为"否", 则使用主动模式. 此选项不适用于 SFTP 传输. 445 | ftp-proxy.name=FTP 代理服务器 446 | ftp-proxy.description= 447 | ftp-proxy-user.name=FTP 代理服务器用户名 448 | ftp-proxy-user.description= 449 | ftp-proxy-passwd.name=FTP 代理服务器密码 450 | ftp-proxy-passwd.description= 451 | ftp-type.name=传输类型 452 | ftp-type.description= 453 | ftp-reuse-connection.name=连接复用 454 | ftp-reuse-connection.description= 455 | ssh-host-key-md.name=SSH 公钥校验和 456 | ssh-host-key-md.description=设置 SSH 主机公钥的校验和. TYPE 为哈希类型. 支持的哈希类型为 sha-1 和 md5. DIGEST 是十六进制摘要. 例如: sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3. 此选项可以在使用 SFTP 时用来验证服务器的公钥. 如果此选项不设置, 即保留默认, 不会进行任何验证。 457 | bt-detach-seed-only.name=分离仅做种任务 458 | bt-detach-seed-only.description=统计当前活动下载任务(参见 -j 选项) 时排除仅做种的任务. 这意味着, 如果参数设置为 -j3, 此选项打开并且当前有 3 个正在活动的任务, 并且其中有 1 个进入做种模式, 那么其会从正在下载的数量中排除(即数量会变为 2), 在队列中等待的下一个任务将会开始执行. 但要知道, 在 RPC 方法中, 做种的任务仍然被认为是活动的下载任务. 459 | bt-enable-hook-after-hash-check.name=启用哈希检查完成事件 460 | bt-enable-hook-after-hash-check.description=允许 BT 下载哈希检查(参见 -V 选项) 完成后调用命令. 默认情况下, 当哈希检查成功后, 通过 --on-bt-download-complete 设置的命令将会被执行. 如果要禁用此行为, 请设置为"否". 461 | bt-enable-lpd.name=启用本地节点发现 (LPD) 462 | bt-enable-lpd.description= 463 | bt-exclude-tracker.name=BT 排除服务器地址 464 | bt-exclude-tracker.description=逗号分隔的 BT 排除服务器地址. 您可以使用 * 匹配所有地址, 因此将排除所有服务器地址. 当在 shell 命令行使用 * 时, 需要使用转义符或引号. 465 | bt-external-ip.name=外部 IP 地址 466 | bt-external-ip.description=指定用在 BitTorrent 下载和 DHT 中的外部 IP 地址. 它可能被发送到 BitTorrent 服务器. 对于 DHT, 此选项将会报告本地节点正在下载特定的种子. 这对于在私有网络中使用 DHT 非常关键. 虽然这个方法叫外部, 但其可以接受各种类型的 IP 地址. 467 | bt-force-encryption.name=强制加密 468 | bt-force-encryption.description=BT 消息中的内容需要使用 arc4 加密. 此选项是设置 --bt-require-crypto --bt-min-crypto-level=arc4 这两个选项的快捷方式. 此选项不会修改上述两个选项的内容. 如果设置为"是", 将拒绝以前的 BT 握手, 并仅使用模糊握手及加密消息. 469 | bt-hash-check-seed.name=做种前检查文件哈希 470 | bt-hash-check-seed.description=如果设置为"是", 当使用 --check-integrity 选项完成哈希检查及文件完成后才继续做种. 如果您希望仅当文件损坏或未完成时检查文件, 请设置为"否". 此选项仅对 BT 下载有效 471 | bt-load-saved-metadata.name=加载已保存的元数据文件 472 | bt-load-saved-metadata.description=当使用磁链下载时, 在从 DHT 获取种子元数据之前, 首先尝试加载使用 --bt-save-metadata 选项保存的文件. 如果文件加载成功, 则不会从 DHT 下载元数据. 473 | bt-max-open-files.name=最多打开文件数 474 | bt-max-open-files.description=设置 BT/Metalink 下载全局打开的最大文件数. 475 | bt-max-peers.name=最大连接节点数 476 | bt-max-peers.description=设置每个 BT 下载的最大连接节点数. 0 表示不限制. 477 | bt-metadata-only.name=仅下载种子文件 478 | bt-metadata-only.description=仅下载种子文件. 种子文件中描述的文件将不会下载. 此选项仅对磁链生效. 479 | bt-min-crypto-level.name=最低加密级别 480 | bt-min-crypto-level.description=设置加密方法的最小级别. 如果节点提供多种加密方法, aria2 将选择满足给定级别的最低级别. 481 | bt-prioritize-piece.name=优先下载 482 | bt-prioritize-piece.description=尝试先下载每个文件开头或结尾的分片. 此选项有助于预览文件. 参数可以包括两个关键词: head 和 tail. 如果包含两个关键词, 需要使用逗号分隔. 每个关键词可以包含一个参数, SIZE. 例如, 如果指定 head=SIZE, 每个文件的最前 SIZE 数据将会获得更高的优先级. tail=SIZE 表示每个文件的最后 SIZE 数据. SIZE 可以包含 K 或 M (1K = 1024, 1M = 1024K). 483 | bt-remove-unselected-file.name=删除未选择的文件 484 | bt-remove-unselected-file.description=当 BT 任务完成后删除未选择的文件. 要选择需要下载的文件, 请使用 --select-file 选项. 如果没有选择, 则所有文件都默认为需要下载. 此选项会从磁盘上直接删除文件, 请谨慎使用此选项. 485 | bt-require-crypto.name=需要加密 486 | bt-require-crypto.description=如果设置为"是", aria 将不会接受以前的 BitTorrent 握手协议(\19BitTorrent 协议)并建立连接. 因此 aria2 总是模糊握手. 487 | bt-request-peer-speed-limit.name=期望下载速度 488 | bt-request-peer-speed-limit.description=如果一个 BT 下载的整体下载速度低于此选项设置的值, aria2 会临时提高连接数以提高下载速度. 在某些情况下, 设置期望下载速度可以提高您的下载速度. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 489 | bt-save-metadata.name=保存种子文件 490 | bt-save-metadata.description=保存种子文件为 ".torrent" 文件. 此选项仅对磁链生效. 文件名为十六进制编码后的哈希值及 ".torrent"后缀. 保存的目录与下载文件的目录相同. 如果相同的文件已存在, 种子文件将不会保存. 491 | bt-seed-unverified.name=不检查已经下载的文件 492 | bt-seed-unverified.description=不检查之前下载文件中每个分片的哈希值. 493 | bt-stop-timeout.name=无速度时自动停止时间 494 | bt-stop-timeout.description=当 BT 任务下载速度持续为 0, 达到此选项设置的时间后停止下载. 如果设置为 0, 此功能将禁用. 495 | bt-tracker.name=BT 服务器地址 496 | bt-tracker.description=逗号分隔的 BT 服务器地址. 这些地址不受 --bt-exclude-tracker 选项的影响, 因为这些地址在 --bt-exclude-tracker 选项排除掉其他地址之后才会添加. 497 | bt-tracker-connect-timeout.name=BT 服务器连接超时时间 498 | bt-tracker-connect-timeout.description=设置 BT 服务器的连接超时时间 (秒). 当连接建立后, 此选项不再生效, 请使用 --bt-tracker-timeout 选项. 499 | bt-tracker-interval.name=BT 服务器连接间隔时间 500 | bt-tracker-interval.description=设置请求 BT 服务器的间隔时间 (秒). 此选项将完全覆盖服务器返回的最小间隔时间和间隔时间, aria2 仅使用此选项的值.如果设置为 0, aria2 将根据服务器的响应情况和下载进程决定时间间隔. 501 | bt-tracker-timeout.name=BT 服务器超时时间 502 | bt-tracker-timeout.description= 503 | dht-file-path.name=DHT (IPv4) 文件 504 | dht-file-path.description=修改 IPv4 DHT 路由表文件路径. 505 | dht-file-path6.name=DHT (IPv6) 文件 506 | dht-file-path6.description=修改 IPv6 DHT 路由表文件路径. 507 | dht-listen-port.name=DHT 监听端口 508 | dht-listen-port.description=设置 DHT (IPv4, IPv6) 和 UDP 服务器使用的 UCP 端口. 多个端口可以使用逗号 "," 分隔, 例如: 6881,6885. 您还可以使用短横线 "-" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999. 509 | dht-message-timeout.name=DHT 消息超时时间 510 | dht-message-timeout.description= 511 | enable-dht.name=启用 DHT (IPv4) 512 | enable-dht.description=启用 IPv4 DHT 功能. 此选项同时会启用 UDP 服务器支持. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用 DHT. 513 | enable-dht6.name=启用 DHT (IPv6) 514 | enable-dht6.description=启用 IPv6 DHT 功能. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用 DHT. 使用 --dht-listen-port 选项设置监听的端口. 515 | enable-peer-exchange.name=启用节点交换 516 | enable-peer-exchange.description=启用节点交换扩展. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用此功能. 517 | follow-torrent.name=下载种子中的文件 518 | follow-torrent.description=如果设置为"是"或"仅内存", 当后缀为 .torrent 或内容类型为 application/x-bittorrent 的文件下载完成时, aria2 将按种子文件读取并下载该文件中提到的文件. 如果设置为"仅内存", 该种子文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为"否", 则 .torrent 文件会下载到磁盘中, 但不会按种子文件读取并且其中的文件不会进行下载. 519 | listen-port.name=监听端口 520 | listen-port.description=设置 BT 下载的 TCP 端口. 多个端口可以使用逗号 "," 分隔, 例如: 6881,6885. 您还可以使用短横线 "-" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999. 521 | max-overall-upload-limit.name=全局最大上传速度 522 | max-overall-upload-limit.description=设置全局最大上传速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 523 | max-upload-limit.name=最大上传速度 524 | max-upload-limit.description=设置每个任务的最大上传速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 525 | peer-id-prefix.name=节点 ID 前缀 526 | peer-id-prefix.description=指定节点 ID 的前缀. BT 中节点 ID 长度为 20 字节. 如果超过 20 字节, 将仅使用前 20 字节. 如果少于 20 字节, 将在其后不足随机的数据保证为 20 字节. 527 | peer-agent.name=Peer Agent 528 | peer-agent.description=指定 BT 扩展握手期间用于节点客户端版本的字符串. 529 | seed-ratio.name=最小分享率 530 | seed-ratio.description=指定分享率. 当分享率达到此选项设置的值时会完成做种. 强烈建议您将此选项设置为大于等于 1.0. 如果您想不限制分享比率, 可以设置为 0.0. 如果同时设置了 --seed-time 选项, 当任意一个条件满足时将停止做种. 531 | seed-time.name=最小做种时间 532 | seed-time.description=以 (小数形式的) 分钟指定做种时间. 此选项设置为 0 时, 将在 BT 任务下载完成后不进行做种. 533 | follow-metalink.name=下载 Metalink 中的文件 534 | follow-metalink.description=如果设置为"是"或"仅内存", 当后缀为 .meta4 或 .metalink 或内容类型为 application/metalink4+xml 或 application/metalink+xml 的文件下载完成时, aria2 将按 Metalink 文件读取并下载该文件中提到的文件. 如果设置为"仅内存", 该 Metalink 文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为"否", 则 .metalink 文件会下载到磁盘中, 但不会按 Metalink 文件读取并且其中的文件不会进行下载. 535 | metalink-base-uri.name=基础 URI 536 | metalink-base-uri.description=指定基础 URI 以便解析本地磁盘中存储的 Metalink 文件里 metalink:url 和 metalink:metaurl 中的相对 URI 地址. 如果 URI 表示的为目录, 最后需要以 / 结尾. 537 | metalink-language.name=语言 538 | metalink-language.description= 539 | metalink-location.name=首选服务器位置 540 | metalink-location.description=首选服务器所在的位置. 可以使用逗号分隔的列表, 例如: jp,us. 541 | metalink-os.name=操作系统 542 | metalink-os.description=下载文件的操作系统. 543 | metalink-version.name=版本号 544 | metalink-version.description=下载文件的版本号. 545 | metalink-preferred-protocol.name=首选使用协议 546 | metalink-preferred-protocol.description=指定首选使用的协议. 可以设置为 http, https, ftp 或"无". 设置为"无"时禁用此选项. 547 | metalink-enable-unique-protocol.name=仅使用唯一协议 548 | metalink-enable-unique-protocol.description=如果一个 Metalink 文件可用多种协议, 并且此选项设置为"是", aria2 将只会使用其中一种. 使用 --metalink-preferred-protocol 参数指定首选的协议. 549 | enable-rpc.name=启用 JSON-RPC/XML-RPC 服务器 550 | enable-rpc.description= 551 | pause-metadata.name=种子文件下载完后暂停 552 | pause-metadata.description=当种子文件下载完成后暂停后续的下载. 在 aria2 中有 3 种种子文件的下载类型: (1) 下载 .torrent 文件. (2) 通过磁链下载的种子文件. (3) 下载 Metalink 文件. 这些种子文件下载完后会根据文件内容继续进行下载. 此选项会暂停这些后续的下载. 此选项仅当 --enable-rpc 选项启用时生效. 553 | rpc-allow-origin-all.name=接受所有远程请求 554 | rpc-allow-origin-all.description=在 RPC 响应头增加 Access-Control-Allow-Origin 字段, 值为 * . 555 | rpc-listen-all.name=在所有网卡上监听 556 | rpc-listen-all.description=在所有网络适配器上监听 JSON-RPC/XML-RPC 的请求, 如果设置为"否", 仅监听本地网络的请求. 557 | rpc-listen-port.name=监听端口 558 | rpc-listen-port.description= 559 | rpc-max-request-size.name=最大请求大小 560 | rpc-max-request-size.description=设置 JSON-RPC/XML-RPC 最大的请求大小. 如果 aria2 检测到请求超过设定的字节数, 会直接取消连接. 561 | rpc-save-upload-metadata.name=保存上传的种子文件 562 | rpc-save-upload-metadata.description=在 dir 选项设置的目录中保存上传的种子文件或 Metalink 文件. 文件名包括 SHA-1 哈希后的元数据和扩展名两部分. 对于种子文件, 扩展名为 '.torrent'. 对于 Metalink 为 '.meta4'. 如果此选项设置为"否", 通过 aria2.addTorrent() 或 aria2.addMetalink() 方法添加的下载将无法通过 --save-session 选项保存. 563 | rpc-secure.name=启用 SSL/TLS 564 | rpc-secure.description=RPC 将通过 SSL/TLS 加密传输. RPC 客户端需要使用 https 协议连接服务器. 对于 WebSocket 客户端, 使用 wss 协议. 使用 --rpc-certificate 和 --rpc-private-key 选项设置服务器的证书和私钥. 565 | allow-overwrite.name=允许覆盖 566 | allow-overwrite.description=如果相应的控制文件不存在时从头重新下载文件. 参见 --auto-file-renaming 选项. 567 | allow-piece-length-change.name=允许分片大小变化 568 | allow-piece-length-change.description=如果设置为"否", 当分片长度与控制文件中的不同时, aria2 将会中止下载. 如果设置为"是", 您可以继续, 但部分下载进度将会丢失. 569 | always-resume.name=始终断点续传 570 | always-resume.description=始终断点续传. 如果设置为"是", aria2 始终尝试断点续传, 如果无法恢复, 则中止下载. 如果设置为"否", 对于不支持断点续传的 URI 或 aria2 遇到 N 个不支持断点续传的 URI (N 为 --max-resume-failure-tries 选项设置的值), aria2 会从头下载文件. 参见 --max-resume-failure-tries 参数. 571 | async-dns.name=异步 DNS 572 | async-dns.description= 573 | auto-file-renaming.name=文件自动重命名 574 | auto-file-renaming.description=重新命名已经存在的文件. 此选项仅对 HTTP(S)/FTP 下载有效. 新的文件名后会在文件名后、扩展名 (如果有) 前追加句点和数字(1..9999). 575 | auto-save-interval.name=自动保存间隔 576 | auto-save-interval.description=每隔设置的秒数自动保存控制文件(*.aria2). 如果设置为 0, 下载期间控制文件不会自动保存. 不论设置的值为多少, aria2 会在任务结束时保存控制文件. 可以设置的值为 0 到 600. 577 | conditional-get.name=条件下载 578 | conditional-get.description=仅当本地文件比远程文件旧时才进行下载. 此功能仅适用于 HTTP(S) 下载. 如果在 Metalink 中文件大小已经被指定则功能无法生效. 同时此功能还将忽略 Content-Disposition 响应头. 如果存在控制文件, 此选项将被忽略. 此功能通过 If-Modified-Since 请求头获取较新的文件. 当获取到本地文件的修改时间时, 此功能将使用用户提供的文件名 (参见 --out 选项), 如果没有指定 --out 选项则使用 URI 中的文件名. 为了覆盖已经存在的文件, 需要使用 --allow-overwrite 参数. 579 | conf-path.name=配置文件路径 580 | conf-path.description= 581 | console-log-level.name=控制台日志级别 582 | console-log-level.description= 583 | content-disposition-default-utf8.name=使用 UTF-8 处理 Content-Disposition 584 | content-disposition-default-utf8.description=处理 "Content-Disposition" 头中的字符串时使用 UTF-8 字符集来代替 ISO-8859-1, 例如, 文件名参数, 但不是扩展版本的文件名. 585 | daemon.name=启用后台进程 586 | daemon.description= 587 | deferred-input.name=延迟加载 588 | deferred-input.description=如果设置为"是", aria2 在启动时不会读取 --input-file 选项设置的文件中的所有 URI 地址, 而是会在之后需要时按需读取. 如果输入文件中包含大量要下载的 URI, 此选项可以减少内存的使用. 如果设置为"否", aria2 会在启动时读取所有的 URI. 当 -save-session 使用时将会禁用 --deferred-input 选项. 589 | disable-ipv6.name=禁用 IPv6 590 | disable-ipv6.description= 591 | disk-cache.name=磁盘缓存 592 | disk-cache.description=启用磁盘缓存. 如果设置为 0, 将禁用磁盘缓存. 此功能将下载的数据缓存在内存中, 最多占用此选项设置的字节数. 缓存存储由 aria2 实例创建并对所有下载共享. 由于数据以较大的单位写入并按文件的偏移重新排序, 所以磁盘缓存的一个优点是减少磁盘的 I/O. 如果调用哈希检查时并且数据缓存在内存中时, 将不需要从磁盘中读取. 大小可以包含 K 或 M (1K = 1024, 1M = 1024K). 593 | download-result.name=下载结果 594 | download-result.description=此选项将修改下载结果的格式. 如果设置为"默认", 将打印 GID, 状态, 平均下载速度和路径/URI. 如果涉及多个文件, 仅打印第一个请求文件的路径/URI, 其余的将被忽略. 如果设置为"完整", 将打印 GID, 状态, 平均下载速度, 下载进度和路径/URI. 其中, 下载进度和路径/URI 将会每个文件打印一行. 如果设置为"隐藏", 下载结果将会隐藏. 595 | dscp.name=DSCP 596 | dscp.description=为 QoS 设置 BT 上行 IP 包的 DSCP 值. 此参数仅设置 IP 包中 TOS 字段的 DSCP 位, 而不是整个字段. 如果您从 /usr/include/netinet/ip.h 得到的值, 需要除以 4 (否则值将不正确, 例如您的 CS1 类将会转为 CS4). 如果您从 RFC, 网络供应商的文档, 维基百科或其他来源采取常用的值, 可以直接使用. 597 | rlimit-nofile.name=最多打开的文件描述符 598 | rlimit-nofile.description=设置打开的文件描述符的软限制 (soft limit). 此选项仅当满足如下条件时开放: a. 系统支持它 (posix). b. 限制没有超过硬限制 (hard limit). c. 指定的限制比当前的软限制高. 这相当于设置 ulimit, 除了其不能降低限制. 此选项仅当系统支持 rlimit API 时有效. 599 | enable-color.name=终端输出使用颜色 600 | enable-color.description= 601 | enable-mmap.name=启用 MMap 602 | enable-mmap.description=内存中存放映射文件. 当文件空间没有预先分配至, 此选项无效. 参见 --file-allocation. 603 | event-poll.name=事件轮询方法 604 | event-poll.description=设置事件轮询的方法. 可选的值包括 epoll, kqueue, port, poll 和 select. 对于 epoll, kqueue, port 和 poll, 只有系统支持时才可用. 最新的 Linux 支持 epoll. 各种 *BSD 系统包括 Mac OS X 支持 kqueue. Open Solaris 支持 port. 默认值根据您使用的操作系统不同而不同. 605 | file-allocation.name=文件分配方法 606 | file-allocation.description=指定文件分配方法. "无" 不会预先分配文件空间. "prealloc"会在下载开始前预先分配空间. 这将会根据文件的大小需要一定的时间. 如果您使用的是较新的文件系统, 例如 ext4 (带扩展支持), btrfs, xfs 或 NTFS (仅 MinGW 构建), "falloc" 是最好的选择. 其几乎可以瞬间分配大(数 GiB)文件. 不要在旧的文件系统, 例如 ext3 和 FAT32 上使用 falloc, 因为与 prealloc 花费的时间相同, 并且其会阻塞 aria2 知道分配完成. 当您的系统不支持 posix_fallocate(3) 函数时, falloc 可能无法使用. "trunc" 使用 ftruncate(2) 系统调用或平台特定的实现将文件截取到特定的长度. 在多文件的 BitTorrent 下载中, 若某文件与其相邻的文件共享相同的分片时, 则相邻的文件也会被分配. 607 | force-save.name=强制保存 608 | force-save.description=即使任务完成或删除时使用 --save-session 选项时也保存该任务. 此选项在这种情况下还会保存控制文件. 此选项可以保存被认为已经完成但正在做种的 BT 任务. 609 | save-not-found.name=保存未找到的文件 610 | save-not-found.description=当使用 --save-session 选项时, 即使当任务中的文件不存在时也保存该下载任务. 此选项同时会将这种情况保存到控制文件中. 611 | hash-check-only.name=仅哈希检查 612 | hash-check-only.description=如果设置为"是", 哈希检查完使用 --check-integrity 选项, 根据是否下载完成决定是否终止下载. 613 | human-readable.name=控制台可读输出 614 | human-readable.description=在控制台输出可读格式的大小和速度 (例如, 1.2Ki, 3.4Mi). 615 | keep-unfinished-download-result.name=保留未完成的任务 616 | keep-unfinished-download-result.description=保留所有未完成的下载结果, 即使超过了 --max-download-result 选项设置的数量. 这将有助于在会话文件中保存所有的未完成的下载 (参考 --save-session 选项). 需要注意的是, 未完成任务的数量没有上限. 如果不希望这样, 请关闭此选项. 617 | max-download-result.name=最多下载结果 618 | max-download-result.description=设置内存中存储最多的下载结果数量. 下载结果包括已完成/错误/已删除的下载. 下载结果存储在一个先进先出的队列中, 因此其可以存储最多指定的下载结果的数量. 当队列已满且有新的下载结果创建时, 最老的下载结果将从队列的最前部移除, 新的将放在最后. 此选项设置较大的值后如果经过几千次的下载将导致较高的内存消耗. 设置为 0 表示不存储下载结果. 注意, 未完成的下载将始终保存在内存中, 不考虑该选项的设置. 参考 --keep-unfinished-download-result 选项. 619 | max-mmap-limit.name=MMap 最大限制 620 | max-mmap-limit.description=设置启用 MMap (参见 --enable-mmap 选项) 最大的文件大小. 文件大小由一个下载任务中所有文件大小的和决定. 例如, 如果一个下载包含 5 个文件, 那么文件大小就是这些文件的总大小. 如果文件大小超过此选项设置的大小时, MMap 将会禁用. 621 | max-resume-failure-tries.name=最大断点续传尝试次数 622 | max-resume-failure-tries.description=当 --always-resume 选项设置为"否"时, 如果 aria2 检测到有 N 个 URI 不支持断点续传时, 将从头开始下载文件. 如果 N 设置为 0, 当所有 URI 都不支持断点续传时才会从头下载文件. 参见 --always-resume 选项. 623 | min-tls-version.name=最低 TLS 版本 624 | min-tls-version.description=指定启用的最低 SSL/TLS 版本. 625 | log-level.name=日志级别 626 | log-level.description= 627 | optimize-concurrent-downloads.name=优化并发下载 628 | optimize-concurrent-downloads.description=根据可用带宽优化并发下载的数量. aria2 使用之前统计的下载速度通过规则 N = A + B Log10 (速度单位为 Mbps) 得到并发下载的数量. 其中系数 A 和 B 可以在参数中以冒号分隔自定义. 默认值 (A=5, B=25) 可以在 1Mbps 网络上使用通常 5 个并发下载, 在 100Mbps 网络上为 50 个. 并发下载的数量保持在 --max-concurrent-downloads 参数定义的最大之下. 629 | piece-length.name=文件分片大小 630 | piece-length.description=设置 HTTP/FTP 下载的分配大小. aria2 根据这个边界分割文件. 所有的分割都是这个长度的倍数. 此选项不适用于 BitTorrent 下载. 如果 Metalink 文件中包含分片哈希的结果此选项也不适用. 631 | show-console-readout.name=显示控制台输出 632 | show-console-readout.description= 633 | summary-interval.name=下载摘要输出间隔 634 | summary-interval.description=设置下载进度摘要的输出间隔(秒). 设置为 0 禁止输出. 635 | max-overall-download-limit.name=全局最大下载速度 636 | max-overall-download-limit.description=设置全局最大下载速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 637 | max-download-limit.name=最大下载速度 638 | max-download-limit.description=设置每个任务的最大下载速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 639 | no-conf.name=禁用配置文件 640 | no-conf.description= 641 | no-file-allocation-limit.name=文件分配限制 642 | no-file-allocation-limit.description=不对比此参数设置大小小的分配文件. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 643 | parameterized-uri.name=启用参数化 URI 支持 644 | parameterized-uri.description=启用参数化 URI 支持. 您可以指定部分的集合: http://{sv1,sv2,sv3}/foo.iso. 同时您也可以使用步进计数器指定数字化的序列: http://host/image[000-100:2].img. 步进计数器可以省略. 如果所有 URI 地址不指向同样的文件, 例如上述第二个示例, 需要使用 -Z 选项. 645 | quiet.name=禁用控制台输出 646 | quiet.description= 647 | realtime-chunk-checksum.name=实时数据块验证 648 | realtime-chunk-checksum.description=如果提供了数据块的校验和, 将在下载过程中通过校验和验证数据块. 649 | remove-control-file.name=删除控制文件 650 | remove-control-file.description=在下载前删除控制文件. 使用 --allow-overwrite=true 选项时, 总是从头开始下载文件. 此选项将有助于使用不支持断点续传代理服务器的用户. 651 | save-session.name=状态保存文件 652 | save-session.description=当退出时保存错误及未完成的任务到指定的文件中. 您可以在重启 aria2 时使用 --input-file 选项重新加载. 如果您希望输出的内容使用 GZip 压缩, 您可以在文件名后增加 .gz 扩展名. 请注意, 通过 aria2.addTorrent() 和 aria2.addMetalink() RPC 方法添加的下载, 其元数据没有保存到文件的将不会保存. 通过 aria2.remove() 和 aria2.forceRemove() 删除的下载将不会保存. 653 | save-session-interval.name=保存状态间隔 654 | save-session-interval.description=每隔此选项设置的时间(秒)后会保存错误或未完成的任务到 --save-session 选项指定的文件中. 如果设置为 0, 仅当 aria2 退出时才会保存. 655 | socket-recv-buffer-size.name=Socket 接收缓冲区大小 656 | socket-recv-buffer-size.description=设置 Socket 接收缓冲区最大的字节数. 指定为 0 时将禁用此选项. 当使用 SO_RCVBUF 选项调用 setsockopt() 时此选项的值将设置到 Socket 的文件描述符中. 657 | stop.name=自动关闭时间 658 | stop.description=在此选项设置的时间(秒)后关闭应用. 如果设置为 0, 此功能将禁用. 659 | truncate-console-readout.name=缩短控制台输出内容 660 | truncate-console-readout.description=缩短控制台输出的内容在一行中. 661 | -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/langs/zh_Hant.txt: -------------------------------------------------------------------------------- 1 | [global] 2 | AriaNg Version=AriaNg 版本 3 | Operation Result=操作結果 4 | Operation Succeeded=操作成功 5 | is connected=已連線 6 | Error=錯誤 7 | OK=確定 8 | Confirm=確認 9 | Cancel=取消 10 | Close=關閉 11 | True=是 12 | False=否 13 | Connecting=連線中 14 | Connected=已連線 15 | Disconnected=未連線 16 | Global=全域 17 | New=新增 18 | Start=開始工作 19 | Pause=暫停工作 20 | Retry=重試 21 | Retry Selected Tasks=重試選中工作 22 | Delete=刪除工作 23 | Select All=全部選中 24 | Select None=全部不選 25 | Select Invert=反向選擇 26 | Select All Failed Tasks=全選失敗工作 27 | Select All Completed Tasks=全選已完成工作 28 | Display Order=顯示順序 29 | Copy Download Url=複製下載連結 30 | Copy Magnet Link=複製磁力連結 31 | Help=說明 32 | Search=搜尋 33 | Default=預設 34 | Expand=展開 35 | Collapse=摺疊 36 | Expand All=全部展開 37 | Collapse All=全部摺疊 38 | Open=打開 39 | Save=儲存 40 | Import=匯入 41 | Remove Task=刪除工作 42 | Clear Stopped Tasks=清除已結束工作 43 | Click to view task detail=點選檢視工作詳情 44 | By File Name=依檔名 45 | By File Size=依檔案大小 46 | By Progress=依進度 47 | By Selected Status=依選中狀態 48 | By Remaining=依剩餘時間 49 | By Download Speed=依下載速度 50 | By Upload Speed=依上傳速度 51 | By Peer Address=依節點位址 52 | By Client Name=依客戶端名 53 | Filters=篩選器 54 | Download=下載 55 | Upload=上傳 56 | Downloading=正在下載 57 | Pending Verification=等待驗證 58 | Verifying=正在驗證 59 | Seeding=正在做種 60 | Waiting=正在等待 61 | Paused=已暫停 62 | Completed=已完成 63 | Error Occurred=發生錯誤 64 | Removed=已刪除 65 | Finished / Stopped=已完成 / 已停止 66 | Uncompleted=未完成 67 | Click to pin=點選固定 68 | Settings=系統設定 69 | AriaNg Settings=AriaNg 設定 70 | Aria2 Settings=Aria2 設定 71 | Basic Settings=基本設定 72 | HTTP/FTP/SFTP Settings=HTTP/FTP/SFTP 設定 73 | HTTP Settings=HTTP 設定 74 | FTP/SFTP Settings=FTP/SFTP 設定 75 | BitTorrent Settings=BitTorrent 設定 76 | Metalink Settings=Metalink 設定 77 | RPC Settings=RPC 設定 78 | Advanced Settings=進階設定 79 | AriaNg Debug Console=AriaNg 偵錯控制台 80 | Aria2 Status=Aria2 狀態 81 | File Name=檔名 82 | File Size=大小 83 | Progress=進度 84 | Share Ratio=分享率 85 | Remaining=剩餘時間 86 | Download Speed=下載速度 87 | Upload Speed=上傳速度 88 | Links=連結 89 | Torrent File=種子檔案 90 | Metalink File=Metalink 檔案 91 | File Name:=檔名: 92 | Options=選項 93 | Overview=總覽 94 | Pieces=區塊資訊 95 | Files=檔案清單 96 | Peers=連線狀態 97 | Task Name=工作名稱 98 | Task Size=工作大小 99 | Task Status=工作狀態 100 | Error Description=錯誤描述 101 | Health Percentage=健康度 102 | Info Hash=特徵值 103 | Seeders=種子數 104 | Connections=連線數 105 | Seed Creation Time=種子建立時間 106 | Download Url=下載位址 107 | Download Dir=下載路徑 108 | BT Tracker Servers=BT 伺服器 109 | Copy=複製 110 | (Choose Files)=(選擇檔案) 111 | Videos=影片 112 | Audios=音訊 113 | Pictures=圖片 114 | Documents=文件 115 | Applications=應用程式 116 | Archives=封存檔案 117 | Other=其他 118 | Custom=自訂 119 | Custom Choose File=自訂選擇檔案 120 | Address=位址 121 | Client=客戶端 122 | Status=狀態 123 | Speed=速度 124 | (local)=(本機) 125 | No Data=無資料 126 | No connected peers=沒有連線到其他節點 127 | Failed to change some tasks state.=修改一些工作狀態時失敗. 128 | Confirm Retry=確認重試 129 | Are you sure you want to retry the selected task? AriaNg will create same task after clicking OK.=您是否要重試選中的工作? 點選 "確定" 後, AriaNg 將會建立相同的工作. 130 | Failed to retry this task.=該工作重試失敗. 131 | {{successCount}} tasks have been retried and {{failedCount}} tasks are failed.={{successCount}} 个工作重試成功以及 {{failedCount}} 个工作失敗. 132 | Confirm Remove=確認刪除 133 | Are you sure you want to remove the selected task?=您是否要刪除選中的工作? 134 | Failed to remove some task(s).=刪除一些工作時失敗. 135 | Confirm Clear=確認清除 136 | Are you sure you want to clear stopped tasks?=您是否要清除已結束的工作? 137 | Download Links:=下載連結: 138 | Download Now=立即下載 139 | Download Later=手動下載 140 | Open Torrent File=打開種子檔案 141 | Open Metalink File=打開 Metalink 檔案 142 | Support multiple URLs, one URL per line.=支援多個 URL 位址, 每個位址佔一行. 143 | Your browser does not support loading file!=您的瀏覽器不支援載入檔案! 144 | The selected file type is invalid!=選擇的檔案類型無效! 145 | Failed to load file!=載入檔案失敗! 146 | Download Completed=下載完成 147 | BT Download Completed=BT 下載完成 148 | Download Error=下載出錯 149 | Language=語言 150 | Debug Mode=偵錯模式 151 | Page Title=頁面標題 152 | Preview=預覽 153 | Tips: You can use the "noprefix" tag to ignore the prefix, "nosuffix" tag to ignore the suffix, and "scale\=n" tag to set the decimal precision.=小提示: 您可以使用 "noprefix" 標籤忽略前綴, "nosuffix" 標籤忽略副檔名, 以及 "scale\=n" 標籤設定小數的精度. 154 | Example: ${downspeed:noprefix:nosuffix:scale\=1}=示例: ${downspeed:noprefix:nosuffix:scale\=1} 155 | Updating Page Title Interval=頁面標題更新間隔 156 | Enable Browser Notification=啟用瀏覽器通知 157 | Aria2 RPC Alias=Aria2 RPC 別名 158 | Aria2 RPC Address=Aria2 RPC 位址 159 | Aria2 RPC Protocol=Aria2 RPC 協定 160 | Aria2 RPC Http Request Method=Aria2 RPC Http 要求方法 161 | POST method only supports aria2 v1.15.2 and above.=POST 方法僅支援 aria2 v1.15.2 及以上. 162 | Aria2 RPC Secret Token=Aria2 RPC 金鑰 163 | Activate=啟用 164 | Reset Settings=重設設定 165 | Confirm Reset=確認重設 166 | Are you sure you want to reset all settings?=您是否要重設所有設定? 167 | Clear Settings History=清除設定歷史 168 | Are you sure you want to clear all settings history?=您是否要清除所有設定的歷史紀錄? 169 | Delete RPC Setting=刪除 RPC 設定 170 | Add New RPC Setting=加入新 RPC 設定 171 | Are you sure you want to remove rpc setting "{{rpcName}}"?=您是否要刪除 RPC 設定 "{{rpcName}}"? 172 | Updating Global Stat Interval=全域狀態更新間隔 173 | Updating Task Information Interval=工作資訊更新間隔 174 | Action After Creating New Tasks=建立新工作後執行操作 175 | Navigate to Task List Page=轉到工作清單頁面 176 | Navigate to Task Detail Page=轉到工作詳情頁面 177 | Action After Retrying Task=重試工作後執行操作 178 | Navigate to Downloading Tasks Page=轉到正在下載工作頁面 179 | Stay on Current Page=留在目前頁面 180 | Remove Old Tasks After Retrying=重試工作後刪除原工作 181 | Confirm Task Removal=工作刪除前確認 182 | RPC List Display Order=RPC 清單顯示順序 183 | Recently Used=最近使用 184 | RPC Alias=RPC 別名 185 | Import / Export AriaNg Settings=匯入 / 匯出 AriaNg 設定 186 | Import Settings=匯入設定 187 | Export Settings=匯出設定 188 | AriaNg settings data=AriaNg 設定資料 189 | Confirm Import=確認匯入 190 | Are you sure you want to import all settings?=您是否要匯入所有設定? 191 | Invalid settings data format!=無效的設定資料格式! 192 | Data has been copied to clipboard.=資料已經複製到剪貼簿中. 193 | Supported Placeholder=支援的預留位置 194 | AriaNg Title=AriaNg 標題 195 | Downloading Count=正在下載數量 196 | Current RPC Alias=目前 RPC 別名 197 | Waiting Count=正在等待數量 198 | Stopped Count=已停止數量 199 | You have disabled notification in your browser. You should change your browser's settings before you enable this function.=您已經在瀏覽器中停用通知功能. 如需使用此功能, 請修改您瀏覽器的設定. 200 | Application cache has been updated, please reload the page for the changes to take effect.=應用快取已經更新, 請重新載入頁面使其生效. 201 | Language resource has been updated, please reload the page for the changes to take effect.=語言資源已經更新, 請重新載入頁面使其生效. 202 | Configuration has been modified, please reload the page for the changes to take effect.=配置已經修改, 請重新載入頁面使其生效. 203 | Reload AriaNg=重新載入 AriaNg 204 | Show Secret=顯示金鑰 205 | Hide Secret=隱藏金鑰 206 | Aria2 Version=Aria2 版本 207 | Enabled Features=已啟用的功能 208 | Operations=操作 209 | Save Session=儲存會話 210 | Shutdown Aria2=關閉 Aria2 211 | Confirm Shutdown=確認關閉 212 | Are you sure you want to shutdown aria2?=您是否要關閉 aria2? 213 | Session has been saved successfully.=會話已經成功儲存. 214 | Aria2 has been shutdown successfully.=Aria2 已經成功關閉. 215 | Toggle Navigation=切換導航 216 | Shortcut=捷徑 217 | Global Rate Limit=全域速度限制 218 | Loading=正在載入... 219 | More Than One Day=超過1天 220 | Unknown=不詳 221 | Bytes=位元組 222 | Hours=小時 223 | Minutes=分 224 | Seconds=秒 225 | Milliseconds=毫秒 226 | Http=Http 227 | Http (Disabled)=Http (已停用) 228 | Https=Https 229 | WebSocket=WebSocket 230 | WebSocket (Disabled)=WebSocket (已停用) 231 | WebSocket (Security)=WebSocket (安全) 232 | Http and WebSocket would be disabled when accessing AriaNg via Https.=使用 Https 訪問 AriaNg 時,Http 和 WebSocket 將被停用. 233 | POST=POST 234 | GET=GET 235 | Enabled=啟用 236 | Disabled=停用 237 | BitTorrent=BitTorrent 238 | Changes to the settings take effect after refreshing page.=設定將在頁面重新整理後生效. 239 | Show Detail=顯示詳情 240 | Log Detail=記錄詳情 241 | Type is illegal!=類型錯誤! 242 | Parameter is invalid!=要求參數無效! 243 | Option value cannot be empty!=參數內容不能為空! 244 | Input number is invalid!=輸入的數字無效! 245 | Input number is below min value!=輸入的數字小於最小值 {{value}} ! 246 | Input number is above max value!=輸入的數字大於最大值 {{value}} ! 247 | Input value is invalid!=輸入的內容無效! 248 | Protocol is invalid!=協定無效! 249 | RPC host cannot be empty!=RPC 主機不能為空! 250 | RPC secret is not base64 encoded!=RPC 金鑰不是 Base64 編碼後的字串! 251 | URL is not base64 encoded!=指定 URL 不是 Base64 編碼後的字串! 252 | Tap to configure and get started with AriaNg.=您還沒有進行過設定, 點選這裡進行設定. 253 | Cannot initialize WebSocket!=無法初始化 WebSocket! 254 | Access Denied!=拒絕訪問! 255 | You cannot use AriaNg because this browser does not meet the minimum requirements for data storage.=您無法使用 AriaNg, 因為此瀏覽器不滿足資料儲存的最低要求. 256 | 257 | [error] 258 | unknown=不詳錯誤. 259 | operation.timeout=操作超時. 260 | resource.notfound=無法找到指定資源. 261 | error.resource.notfound.max-file-not-found=無法找到指定資源. 參見 --max-file-not-found option 參數. 262 | error.download.aborted.lowest-speed-limit=由於下載速度過慢, 下載已經終止. 參見 --lowest-speed-limit option 參數. 263 | error.network.problem=網路問題. 264 | resume.notsupported=伺服器不支援斷點續傳. 265 | space.notenough=可用磁碟空間不足. 266 | piece.length.different=分段大小與 .aria2 控制檔案中的不同. 參見 --allow-piece-length-change 參數. 267 | download.sametime=aria2 已經下載了另一個相同檔案. 268 | download.torrent.sametime=aria2 已經下載了另一個相同雜湊的種子檔案. 269 | file.exists=檔案已經存在. 參見 --allow-overwrite 參數. 270 | file.rename.failed=檔案重命名失敗. 參見 --auto-file-renaming 參數. 271 | file.open.failed=檔案打開失敗. 272 | file.create.failed=檔案建立或刪除已有檔案失敗. 273 | io.error=檔案系統出錯. 274 | directory.create.failed=無法建立指定目錄. 275 | name.resolution.failed=域名解析失敗. 276 | metalink.file.parse.failed=解析 Metalink 檔案失敗. 277 | ftp.command.failed=FTP 命令執行失敗. 278 | http.response.header.bad=HTTP 返回頭無效或無法識別. 279 | redirects.toomany=指定位址重新導向過多. 280 | http.authorization.failed=HTTP 認證失敗. 281 | bencoded.file.parse.failed=解析種子檔案失敗. 282 | torrent.file.corrupted=指定 ".torrent" 種子檔案已經損壞或缺少 aria2 需要的資訊. 283 | magnet.uri.bad=指定磁力連結位址無效. 284 | option.bad=設定錯誤. 285 | server.overload=遠端伺服器繁忙, 無法處理目前要求. 286 | rpc.request.parse.failed=處理 RPC 要求失敗. 287 | checksum.failed=檔案校驗失敗. 288 | 289 | [languages] 290 | English=英語 291 | Simplified Chinese=簡體中文 292 | Traditional Chinese=繁體中文 293 | 294 | [format] 295 | longdate=YYYY年MM月DD日 HH:mm:ss 296 | time.millisecond={{value}} 毫秒 297 | time.milliseconds={{value}} 毫秒 298 | time.second={{value}} 秒 299 | time.seconds={{value}} 秒 300 | time.minute={{value}} 分鐘 301 | time.minutes={{value}} 分鐘 302 | time.hour={{value}} 小時 303 | time.hours={{value}} 小時 304 | requires.aria2-version=需要 aria2 v{{version}} 或更高版本 305 | task.new.download-links=下載連結 ({{count}} 个連結): 306 | task.pieceinfo=已完成: {{completed}}, 共計: {{total}} 塊 307 | task.error-occurred=發生錯誤 ({{errorcode}}) 308 | task.verifying-percent=正在驗證 ({{verifiedPercent}}%) 309 | settings.file-count=({{count}} 個檔案) 310 | settings.total-count=(共計: {{count}}個) 311 | debug.latest-logs=最近 {{count}} 條記錄 312 | 313 | [rpc.error] 314 | unauthorized=認證失敗! 315 | 316 | [option] 317 | true=是 318 | false=否 319 | default=預設 320 | none=無 321 | hide=隱藏 322 | full=完整 323 | http=Http 324 | https=Https 325 | ftp=Ftp 326 | mem=僅記憶體 327 | plain=明文 328 | arc4=ARC4 329 | binary=二進位 330 | ascii=ASCII 331 | debug=偵錯 (Debug) 332 | info=普通 (Info) 333 | notice=一般 (Notice) 334 | warn=警告 (Warn) 335 | error=錯誤 (Error) 336 | adaptive=自適應 337 | feedback=反饋 338 | geom=幾何 339 | inorder=順序 340 | random=隨機 341 | 342 | [options] 343 | dir.name=下載路徑 344 | dir.description= 345 | log.name=記錄檔案 346 | log.description=記錄檔案的路徑. 如果設定為 "-", 記錄則寫入到 stdout. 如果設定為空字串(""), 記錄將不會記錄到磁碟上. 347 | max-concurrent-downloads.name=最大同時下載數 348 | max-concurrent-downloads.description= 349 | check-integrity.name=檢查完整性 350 | check-integrity.description=通過對檔案的每個分塊或整個檔案進行雜湊驗證來檢查檔案的完整性. 此選項僅對BT、Metalink及設定了 --checksum 選項的 HTTP(S)/FTP 鏈接生效. 351 | continue.name=斷點續傳 352 | continue.description=繼續下載部分完成的檔案. 啟用此選項可以繼續下載從瀏覽器或其他程式依順序下載的檔案. 此選項目前只支援 HTTP(S)/FTP 下載的檔案. 353 | all-proxy.name=代理伺服器 354 | all-proxy.description=設定所有協定的代理伺服器位址. 如果覆蓋之前設定的代理伺服器, 使用 "" 即可. 您還可以針對特定的協定覆蓋此選項, 即使用 --http-proxy, --https-proxy 和 --ftp-proxy 選項. 此設定將會影響所有下載. 代理伺服器位址的格式為 [http://][USER:PASSWORD@]HOST[:PORT]. 355 | all-proxy-user.name=代理伺服器使用者名稱 356 | all-proxy-user.description= 357 | all-proxy-passwd.name=代理伺服器密碼 358 | all-proxy-passwd.description= 359 | connect-timeout.name=連線超時時間 360 | connect-timeout.description=設定建立 HTTP/FTP/代理伺服器 連線的超時時間(秒). 當連線建立後, 此選項不再生效, 請使用 --timeout 選項. 361 | dry-run.name=模擬運行 362 | dry-run.description=如果設定為"是", aria2 將僅檢查遠端檔案是否存在而不會下載檔案內容. 此選項僅對 HTTP/FTP 下載生效. 如果設定為 true, BT 下載將會直接取消. 363 | lowest-speed-limit.name=最小速度限制 364 | lowest-speed-limit.description=當下載速度低於此選項設定的值(B/s) 時將會關閉連線. 0 表示不設定最小速度限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 此選項不會影響 BT 下載. 365 | max-connection-per-server.name=單伺服器最大連線數 366 | max-connection-per-server.description= 367 | max-file-not-found.name=檔案未找到重試次數 368 | max-file-not-found.description=如果 aria2 從遠端 HTTP/FTP 伺服器收到 "檔案未找到" 的狀態超過此選項設定的次數後下載將會失敗. 設定為 0 將會停用此選項. 此選項僅影響 HTTP/FTP 伺服器. 重試時同時會記錄重試次數, 所以也需要設定 --max-tries 這個選項. 369 | max-tries.name=最大嘗試次數 370 | max-tries.description=設定最大嘗試次數. 0 表示不限制. 371 | min-split-size.name=最小檔案分段大小 372 | min-split-size.description=aria2 不會分割小於 2*SIZE 位元組的檔案. 例如, 檔案大小為 20MB, 如果 SIZE 為 10M, aria2 會把檔案分成 2 段 [0-10MB) 和 [10MB-20MB), 並且使用 2 個源進行下載 (如果 --split >= 2). 如果 SIZE 為 15M, 由於 2*15M > 20MB, 因此 aria2 不會分割檔案並使用 1 個源進行下載. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 可以設定的值為: 1M-1024M. 373 | netrc-path.name=.netrc 檔案路徑 374 | netrc-path.description= 375 | no-netrc.name=停用 netrc 376 | no-netrc.description= 377 | no-proxy.name=不使用代理伺服器清單 378 | out.name=檔名 379 | out.description=下載檔案的檔名. 其總是相對於 --dir 選項中設定的路徑. 當使用 --force-sequential 參數時此選項無效. 380 | no-proxy.description=設定不使用代理伺服器的主機名, 域名, 包含或不包含子網掩碼的網路位址, 多個使用逗號分隔. 381 | proxy-method.name=代理伺服器要求方法 382 | proxy-method.description=設定用來要求代理伺服器的方法. 方法可設定為 GET 或 TUNNEL. HTTPS 下載將忽略此選項並總是使用 TUNNEL. 383 | remote-time.name=獲取伺服器檔案時間 384 | remote-time.description=從 HTTP/FTP 服務獲取遠端檔案的時間戳, 如果可用將設定到本機檔案 385 | reuse-uri.name=URI 復用 386 | reuse-uri.description=當所有給定的 URI 位址都已使用, 繼續使用已經使用過的 URI 位址. 387 | retry-wait.name=重試等待時間 388 | retry-wait.description=設定重試間隔時間(秒). 當此選項的值大於 0 時, aria2 在 HTTP 伺服器返回 503 響應時將會重試. 389 | server-stat-of.name=伺服器狀態儲存檔案 390 | server-stat-of.description=指定用來儲存伺服器狀態的檔名. 您可以使用 --server-stat-if 參數讀取儲存的資料. 391 | server-stat-timeout.name=伺服器狀態超時 392 | server-stat-timeout.description=指定伺服器狀態的過期時間 (單位為秒). 393 | split.name=單工作連線數 394 | split.description=下載時使用 N 個連線. 如果提供超過 N 個 URI 位址, 則使用前 N 個位址, 剩餘的位址將作為備用. 如果提供的 URI 位址不足 N 個, 這些位址多次使用以保證同時建立 N 個連線. 同一伺服器的連線數會被 --max-connection-per-server 選項限制. 395 | stream-piece-selector.name=分段選擇演算法 396 | stream-piece-selector.description=指定 HTTP/FTP 下載使用的分段選擇演算法. 分段表示的是並行下載時固定長度的分隔段. 如果設定為"預設", aria2 將會依減少建立連線數選擇分段. 由於建立連線操作的成本較高, 因此這是合理的預設行為. 如果設定為"順序", aria2 將選擇索引最小的分段. 索引為 0 時表示為檔案的第一個分段. 這將有助於視頻的邊下邊播. --enable-http-pipelining 選項有助於減少重連線的開銷. 請注意, aria2 依賴於 --min-split-size 選項, 所以有必要對 --min-split-size 選項設定一個合理的值. 如果設定為"隨機", aria2 將隨機選擇一個分段. 就像"順序"一樣, 依賴於 --min-split-size 選項. 如果設定為"幾何", aria2 會先選擇索引最小的分段, 然後會為之前選擇的分段保留指數增長的空間. 這將減少建立連線的次數, 同時檔案開始部分將會先行下載. 這也有助於視頻的邊下邊播. 397 | timeout.name=超時時間 398 | timeout.description= 399 | uri-selector.name=URI 選擇演算法 400 | uri-selector.description=指定 URI 選擇的演算法. 可選的值包括 "依順序", "反饋" 和 "自適應". 如果設定為"依順序", URI 將依清單中出現的順序使用. 如果設定為"反饋", aria2 將根據之前的下載速度選擇 URI 清單中下載速度最快的伺服器. 同時也將有效跳過無效鏡像. 之前統計的下載速度將作為伺服器狀態檔案的一部分, 參見 --server-stat-of 和 --server-stat-if 選項. 如果設定為"自適應", 將從最好的鏡像和保留的連線裡選擇一項. 補充說明, 其返回的鏡像沒有被測試過, 同時如果每個鏡像都已經被測試過時, 返回的鏡像還會被重新測試. 否則, 其將不會選擇其他鏡像. 例如"反饋", 其使用伺服器狀態檔案. 401 | check-certificate.name=檢查證書 402 | check-certificate.description= 403 | http-accept-gzip.name=支援 GZip 404 | http-accept-gzip.description=如果遠端伺服器的響應頭中包含 Content-Encoding: gzip 或 Content-Encoding: deflate , 將發送包含 Accept: deflate, gzip 的要求標頭並解壓縮響應. 405 | http-auth-challenge.name=認證質詢 406 | http-auth-challenge.description=僅當伺服器需要時才發送 HTTP 認證要求標頭. 如果設定為"否", 每次都會發送認證要求標頭. 例外: 如果使用者名稱和密碼包含在 URI 中, 將忽略此選項並且每次都會發送認證要求標頭. 407 | http-no-cache.name=停用快取 408 | http-no-cache.description=發送的要求標頭中將包含 Cache-Control: no-cache 和 Pragma: no-cache header 以避免內容被快取. 如果設定為"否", 上述要求標頭將不會發送, 同時您也可以使用 --header 選項將 Cache-Control 要求標頭加入進去. 409 | http-user.name=HTTP 預設使用者名稱 410 | http-user.description= 411 | http-passwd.name=HTTP 預設密碼 412 | http-passwd.description= 413 | http-proxy.name=HTTP 代理伺服器 414 | http-proxy.description= 415 | http-proxy-user.name=HTTP 代理伺服器使用者名稱 416 | http-proxy-user.description= 417 | http-proxy-passwd.name=HTTP 代理伺服器密碼 418 | http-proxy-passwd.description= 419 | https-proxy.name=HTTPS 代理伺服器 420 | https-proxy.description= 421 | https-proxy-user.name=HTTPS 代理伺服器使用者名稱 422 | https-proxy-user.description= 423 | https-proxy-passwd.name=HTTPS 代理伺服器密碼 424 | https-proxy-passwd.description= 425 | referer.name=要求來源 426 | referer.description=設定 HTTP 要求來源 (Referer). 此選項將影響所有 HTTP/HTTPS 下載. 如果設定為 *, 要求來源將設定為下載連結. 此選項可以配合 --parameterized-uri 選項使用. 427 | enable-http-keep-alive.name=啟用持久連線 428 | enable-http-keep-alive.description=啟用 HTTP/1.1 持久連線. 429 | enable-http-pipelining.name=啟用 HTTP 管線化 430 | enable-http-pipelining.description=啟用 HTTP/1.1 管線化. 431 | header.name=自訂要求標頭 432 | header.description=增加 HTTP 要求標頭內容. 每行放置一項, 每項包含 "標頭名: 標頭值". 433 | save-cookies.name=Cookies 儲存路徑 434 | save-cookies.description=以 Mozilla/Firefox(1.x/2.x)/Netscape 格式將 Cookies 儲存到檔案中. 如果檔案已經存在, 將被覆蓋. 會話過期的 Cookies 也將會儲存, 其過期時間將會設定為 0. 435 | use-head.name=啟用 HEAD 方法 436 | use-head.description=第一次要求 HTTP 伺服器時使用 HEAD 方法. 437 | user-agent.name=自訂 User Agent 438 | user-agent.description= 439 | ftp-user.name=FTP 預設使用者名稱 440 | ftp-user.description= 441 | ftp-passwd.name=FTP 預設密碼 442 | ftp-passwd.description=如果 URI 中包含使用者名稱單不包含密碼, aria2 首先會從 .netrc 檔案中獲取密碼. 如果在 .netrc 檔案中找到密碼, 則使用該密碼. 否則, 使用此選項設定的密碼. 443 | ftp-pasv.name=被動模式 444 | ftp-pasv.description=在 FTP 中使用被動模式. 如果設定為"否", 則使用主動模式. 此選項不適用於 SFTP 傳輸. 445 | ftp-proxy.name=FTP 代理伺服器 446 | ftp-proxy.description= 447 | ftp-proxy-user.name=FTP 代理伺服器使用者名稱 448 | ftp-proxy-user.description= 449 | ftp-proxy-passwd.name=FTP 代理伺服器密碼 450 | ftp-proxy-passwd.description= 451 | ftp-type.name=傳輸類型 452 | ftp-type.description= 453 | ftp-reuse-connection.name=連線復用 454 | ftp-reuse-connection.description= 455 | ssh-host-key-md.name=SSH 公鑰總和檢查碼 456 | ssh-host-key-md.description=設定 SSH 主機公鑰的總和檢查碼. TYPE 為雜湊類型. 支援的雜湊類型為 sha-1 和 md5. DIGEST 是十六進位摘要. 例如: sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3. 此選項可以在使用 SFTP 時用來驗證伺服器的公鑰. 如果此選項不設定, 即保留預設, 不會進行任何驗證。 457 | bt-detach-seed-only.name=分離僅做種工作 458 | bt-detach-seed-only.description=統計目前活動下載工作(參見 -j 選項) 時排除僅做種的工作. 這意味著, 如果參數設定為 -j3, 此選項打開並且目前有 3 個正在活動的工作, 並且其中有 1 個進入做種模式, 那麼其會從正在下載的數量中排除(即數量會變為 2), 在隊列中等待的下一個工作將會開始執行. 但要知道, 在 RPC 方法中, 做種的工作仍然被認為是活動的下載工作. 459 | bt-enable-hook-after-hash-check.name=啟用雜湊檢查完成事件 460 | bt-enable-hook-after-hash-check.description=允許 BT 下載雜湊檢查(參見 -V 選項) 完成後調用命令. 預設情況下, 當雜湊檢查成功後, 通過 --on-bt-download-complete 設定的命令將會被執行. 如果要停用此行為, 請設定為"否". 461 | bt-enable-lpd.name=啟用本機節點發現 (LPD) 462 | bt-enable-lpd.description= 463 | bt-exclude-tracker.name=BT 排除伺服器位址 464 | bt-exclude-tracker.description=逗號分隔的 BT 排除伺服器位址. 您可以使用 * 匹配所有位址, 因此將排除所有伺服器位址. 當在 shell 命令行使用 * 時, 需要使用跳脫字元或引號. 465 | bt-external-ip.name=外部 IP 位址 466 | bt-external-ip.description=指定用在 BitTorrent 下載和 DHT 中的外部 IP 位址. 它可能被發送到 BitTorrent 伺服器. 對於 DHT, 此選項將會報告本機節點正在下載特定的種子. 這對於在私有網路中使用 DHT 非常關鍵. 雖然這個方法叫外部, 但其可以接受各種類型的 IP 位址. 467 | bt-force-encryption.name=強制加密 468 | bt-force-encryption.description=BT 消息中的內容需要使用 arc4 加密. 此選項是設定 --bt-require-crypto --bt-min-crypto-level=arc4 這兩個選項的快捷方式. 此選項不會修改上述兩個選項的內容. 如果設定為"是", 將拒絕以前的 BT 握手, 並僅使用模糊握手及加密消息. 469 | bt-hash-check-seed.name=做種前檢查檔案雜湊 470 | bt-hash-check-seed.description=如果設定為"是", 當使用 --check-integrity 選項完成雜湊檢查及檔案完成後才繼續做種. 如果您希望僅當檔案損壞或未完成時檢查檔案, 請設定為"否". 此選項僅對 BT 下載有效 471 | bt-load-saved-metadata.name=載入已儲存的中繼資料檔案 472 | bt-load-saved-metadata.description=當使用磁力連結下載時, 在從 DHT 獲取種子中繼資料之前, 首先嘗試載入使用 --bt-save-metadata 選項儲存的檔案. 如果檔案載入成功, 則不會從 DHT 下載中繼資料. 473 | bt-max-open-files.name=最多打開檔案數 474 | bt-max-open-files.description=設定 BT/Metalink 下載全域打開的最大檔案數. 475 | bt-max-peers.name=最大連線節點數 476 | bt-max-peers.description=設定每個 BT 下載的最大連線節點數. 0 表示不限制. 477 | bt-metadata-only.name=僅下載種子檔案 478 | bt-metadata-only.description=僅下載種子檔案. 種子檔案中描述的檔案將不會下載. 此選項僅對磁力連結生效. 479 | bt-min-crypto-level.name=最低加密層級 480 | bt-min-crypto-level.description=設定加密方法的最小層級. 如果節點提供多種加密方法, aria2 將選擇滿足給定層級的最低層級. 481 | bt-prioritize-piece.name=優先下載 482 | bt-prioritize-piece.description=嘗試先下載每個檔案開頭或結尾的分段. 此選項有助於預覽檔案. 參數可以包括兩個關鍵詞: head 和 tail. 如果包含兩個關鍵詞, 需要使用逗號分隔. 每個關鍵詞可以包含一個參數, SIZE. 例如, 如果指定 head=SIZE, 每個檔案的最前 SIZE 資料將會獲得更高的優先順序. tail=SIZE 表示每個檔案的最後 SIZE 資料. SIZE 可以包含 K 或 M (1K = 1024, 1M = 1024K). 483 | bt-remove-unselected-file.name=刪除未選擇的檔案 484 | bt-remove-unselected-file.description=當 BT 工作完成後刪除未選擇的檔案. 要選擇需要下載的檔案, 請使用 --select-file 選項. 如果沒有選擇, 則所有檔案都預設為需要下載. 此選項會從磁碟上直接刪除檔案, 請謹慎使用此選項. 485 | bt-require-crypto.name=需要加密 486 | bt-require-crypto.description=如果設定為"是", aria 將不會接受以前的 BitTorrent 握手協定(\19BitTorrent 協定)並建立連線. 因此 aria2 總是模糊握手. 487 | bt-request-peer-speed-limit.name=期望下載速度 488 | bt-request-peer-speed-limit.description=如果一個 BT 下載的整體下載速度低於此選項設定的值, aria2 會臨時提高連線數以提高下載速度. 在某些情況下, 設定期望下載速度可以提高您的下載速度. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 489 | bt-save-metadata.name=儲存種子檔案 490 | bt-save-metadata.description=儲存種子檔案為 ".torrent" 檔案. 此選項僅對磁力連結生效. 檔名為十六進位編碼後的雜湊值及 ".torrent"副檔名. 儲存的目錄與下載檔案的目錄相同. 如果相同的檔案已存在, 種子檔案將不會儲存. 491 | bt-seed-unverified.name=不檢查已經下載的檔案 492 | bt-seed-unverified.description=不檢查之前下載檔案中每個分段的雜湊值. 493 | bt-stop-timeout.name=無速度時自動停止時間 494 | bt-stop-timeout.description=當 BT 工作下載速度持續為 0, 達到此選項設定的時間後停止下載. 如果設定為 0, 此功能將停用. 495 | bt-tracker.name=BT 伺服器位址 496 | bt-tracker.description=逗號分隔的 BT 伺服器位址. 這些位址不受 --bt-exclude-tracker 選項的影響, 因為這些位址在 --bt-exclude-tracker 選項排除掉其他位址之後才會加入. 497 | bt-tracker-connect-timeout.name=BT 伺服器連線超時時間 498 | bt-tracker-connect-timeout.description=設定 BT 伺服器的連線超時時間 (秒). 當連線建立後, 此選項不再生效, 請使用 --bt-tracker-timeout 選項. 499 | bt-tracker-interval.name=BT 伺服器連線間隔時間 500 | bt-tracker-interval.description=設定要求 BT 伺服器的間隔時間 (秒). 此選項將完全覆蓋伺服器返回的最小間隔時間和間隔時間, aria2 僅使用此選項的值.如果設定為 0, aria2 將根據伺服器的響應情況和下載處理程序決定時間間隔. 501 | bt-tracker-timeout.name=BT 伺服器超時時間 502 | bt-tracker-timeout.description= 503 | dht-file-path.name=DHT (IPv4) 檔案 504 | dht-file-path.description=修改 IPv4 DHT 路由表檔案路徑. 505 | dht-file-path6.name=DHT (IPv6) 檔案 506 | dht-file-path6.description=修改 IPv6 DHT 路由表檔案路徑. 507 | dht-listen-port.name=DHT 監聽埠 508 | dht-listen-port.description=設定 DHT (IPv4, IPv6) 和 UDP 伺服器使用的 UCP 埠. 多個埠可以使用逗號 "," 分隔, 例如: 6881,6885. 您還可以使用短橫線 "-" 表示範圍: 6881-6999, 或可以一起使用: 6881-6889, 6999. 509 | dht-message-timeout.name=DHT 消息超時時間 510 | dht-message-timeout.description= 511 | enable-dht.name=啟用 DHT (IPv4) 512 | enable-dht.description=啟用 IPv4 DHT 功能. 此選項同時會啟用 UDP 伺服器支援. 如果種子設定為私有, 即使此選項設定為"是", aria2 也不會啟用 DHT. 513 | enable-dht6.name=啟用 DHT (IPv6) 514 | enable-dht6.description=啟用 IPv6 DHT 功能. 如果種子設定為私有, 即使此選項設定為"是", aria2 也不會啟用 DHT. 使用 --dht-listen-port 選項設定監聽的埠. 515 | enable-peer-exchange.name=啟用節點交換 516 | enable-peer-exchange.description=啟用節點交換擴充. 如果種子設定為私有, 即使此選項設定為"是", aria2 也不會啟用此功能. 517 | follow-torrent.name=下載種子中的檔案 518 | follow-torrent.description=如果設定為"是"或"僅記憶體", 當副檔名為 .torrent 或內容類型為 application/x-bittorrent 的檔案下載完成時, aria2 將依種子檔案讀取並下載該檔案中提到的檔案. 如果設定為"僅記憶體", 該種子檔案將不會寫入到磁碟中, 而僅會儲存在記憶體中. 如果設定為"否", 則 .torrent 檔案會下載到磁碟中, 但不會依種子檔案讀取並且其中的檔案不會進行下載. 519 | listen-port.name=監聽埠 520 | listen-port.description=設定 BT 下載的 TCP 埠. 多個埠可以使用逗號 "," 分隔, 例如: 6881,6885. 您還可以使用短橫線 "-" 表示範圍: 6881-6999, 或可以一起使用: 6881-6889, 6999. 521 | max-overall-upload-limit.name=全域最大上傳速度 522 | max-overall-upload-limit.description=設定全域最大上傳速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 523 | max-upload-limit.name=最大上傳速度 524 | max-upload-limit.description=設定每個工作的最大上傳速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 525 | peer-id-prefix.name=節點 ID 前綴 526 | peer-id-prefix.description=指定節點 ID 的前綴. BT 中節點 ID 長度為 20 位元組. 如果超過 20 位元組, 將僅使用前 20 位元組. 如果少於 20 位元組, 將在其後不足隨機的資料保證為 20 位元組. 527 | peer-agent.name=Peer Agent 528 | peer-agent.description=指定 BT 擴充握手期間用於節點客戶端版本的字串. 529 | seed-ratio.name=最小分享率 530 | seed-ratio.description=指定分享率. 當分享率達到此選項設定的值時會完成做種. 強烈建議您將此選項設定為大於等於 1.0. 如果您想不限制分享比率, 可以設定為 0.0. 如果同時設定了 --seed-time 選項, 當任意一個條件滿足時將停止做種. 531 | seed-time.name=最小做種時間 532 | seed-time.description=以 (小數形式的) 分鐘指定做種時間. 此選項設置爲 0 時, 將在 BT 任務下載完成後不進行做種. 533 | follow-metalink.name=下載 Metalink 中的檔案 534 | follow-metalink.description=如果設定為"是"或"僅記憶體", 當副檔名為 .meta4 或 .metalink 或內容類型為 application/metalink4+xml 或 application/metalink+xml 的檔案下載完成時, aria2 將依 Metalink 檔案讀取並下載該檔案中提到的檔案. 如果設定為"僅記憶體", 該 Metalink 檔案將不會寫入到磁碟中, 而僅會儲存在記憶體中. 如果設定為"否", 則 .metalink 檔案會下載到磁碟中, 但不會依 Metalink 檔案讀取並且其中的檔案不會進行下載. 535 | metalink-base-uri.name=基礎 URI 536 | metalink-base-uri.description=指定基礎 URI 以便解析本機磁碟中儲存的 Metalink 檔案裡 metalink:url 和 metalink:metaurl 中的相對 URI 位址. 如果 URI 表示的為目錄, 最後需要以 / 結尾. 537 | metalink-language.name=語言 538 | metalink-language.description= 539 | metalink-location.name=首選伺服器位置 540 | metalink-location.description=首選伺服器所在的位置. 可以使用逗號分隔的清單, 例如: jp,us. 541 | metalink-os.name=操作系統 542 | metalink-os.description=下載檔案的操作系統. 543 | metalink-version.name=版本號 544 | metalink-version.description=下載檔案的版本號. 545 | metalink-preferred-protocol.name=首選使用協定 546 | metalink-preferred-protocol.description=指定首選使用的協定. 可以設定為 http, https, ftp 或"無". 設定為"無"時停用此選項. 547 | metalink-enable-unique-protocol.name=僅使用唯一協定 548 | metalink-enable-unique-protocol.description=如果一個 Metalink 檔案可用多種協定, 並且此選項設定為"是", aria2 將只會使用其中一種. 使用 --metalink-preferred-protocol 參數指定首選的協定. 549 | enable-rpc.name=啟用 JSON-RPC/XML-RPC 伺服器 550 | enable-rpc.description= 551 | pause-metadata.name=種子檔案下載完後暫停 552 | pause-metadata.description=當種子檔案下載完成後暫停後續的下載. 在 aria2 中有 3 種種子檔案的下載類型: (1) 下載 .torrent 檔案. (2) 通過磁力連結下載的種子檔案. (3) 下載 Metalink 檔案. 這些種子檔案下載完後會根據檔案內容繼續進行下載. 此選項會暫停這些後續的下載. 此選項僅當 --enable-rpc 選項啟用時生效. 553 | rpc-allow-origin-all.name=接受所有遠端要求 554 | rpc-allow-origin-all.description=在 RPC 響應頭增加 Access-Control-Allow-Origin 欄位, 值為 * . 555 | rpc-listen-all.name=在所有網卡上監聽 556 | rpc-listen-all.description=在所有網路適配器上監聽 JSON-RPC/XML-RPC 的要求, 如果設定為"否", 僅監聽本機網路的要求. 557 | rpc-listen-port.name=監聽埠 558 | rpc-listen-port.description= 559 | rpc-max-request-size.name=最大要求大小 560 | rpc-max-request-size.description=設定 JSON-RPC/XML-RPC 最大的要求大小. 如果 aria2 檢測到要求超過設定的位元組數, 會直接取消連線. 561 | rpc-save-upload-metadata.name=儲存上傳的種子檔案 562 | rpc-save-upload-metadata.description=在 dir 選項設定的目錄中儲存上傳的種子檔案或 Metalink 檔案. 檔名包括 SHA-1 雜湊後的中繼資料和副檔名兩部分. 對於種子檔案, 副檔名為 '.torrent'. 對於 Metalink 為 '.meta4'. 如果此選項設定為"否", 通過 aria2.addTorrent() 或 aria2.addMetalink() 方法加入的下載將無法通過 --save-session 選項儲存. 563 | rpc-secure.name=啟用 SSL/TLS 564 | rpc-secure.description=RPC 將通過 SSL/TLS 加密傳輸. RPC 客戶端需要使用 https 協定連線伺服器. 對於 WebSocket 客戶端, 使用 wss 協定. 使用 --rpc-certificate 和 --rpc-private-key 選項設定伺服器的證書和私鑰. 565 | allow-overwrite.name=允許覆蓋 566 | allow-overwrite.description=如果相應的控制檔案不存在時從頭重新下載檔案. 參見 --auto-file-renaming 選項. 567 | allow-piece-length-change.name=允許分段大小變化 568 | allow-piece-length-change.description=如果設定為"否", 當分段長度與控制檔案中的不同時, aria2 將會中止下載. 如果設定為"是", 您可以繼續, 但部分下載進度將會丟失. 569 | always-resume.name=始終斷點續傳 570 | always-resume.description=始終斷點續傳. 如果設定為"是", aria2 始終嘗試斷點續傳, 如果無法恢復, 則中止下載. 如果設定為"否", 對於不支援斷點續傳的 URI 或 aria2 遇到 N 個不支援斷點續傳的 URI (N 為 --max-resume-failure-tries 選項設定的值), aria2 會從頭下載檔案. 參見 --max-resume-failure-tries 參數. 571 | async-dns.name=非同步 DNS 572 | async-dns.description= 573 | auto-file-renaming.name=檔案自動重命名 574 | auto-file-renaming.description=重新命名已經存在的檔案. 此選項僅對 HTTP(S)/FTP 下載有效. 新的檔名後會在檔名後、副檔名 (如果有) 前追加句點和數字(1..9999). 575 | auto-save-interval.name=自動儲存間隔 576 | auto-save-interval.description=每隔設定的秒數自動儲存控制檔案(*.aria2). 如果設定為 0, 下載期間控制檔案不會自動儲存. 不論設定的值為多少, aria2 會在工作結束時儲存控制檔案. 可以設定的值為 0 到 600. 577 | conditional-get.name=條件下載 578 | conditional-get.description=僅當本機檔案比遠端檔案舊時才進行下載. 此功能僅適用於 HTTP(S) 下載. 如果在 Metalink 中檔案大小已經被指定則功能無法生效. 同時此功能還將忽略 Content-Disposition 響應頭. 如果存在控制檔案, 此選項將被忽略. 此功能通過 If-Modified-Since 要求標頭獲取較新的檔案. 當獲取到本機檔案的修改時間時, 此功能將使用使用者提供的檔名 (參見 --out 選項), 如果沒有指定 --out 選項則使用 URI 中的檔名. 為了覆蓋已經存在的檔案, 需要使用 --allow-overwrite 參數. 579 | conf-path.name=設定檔案路徑 580 | conf-path.description= 581 | console-log-level.name=控制台記錄層級 582 | console-log-level.description= 583 | content-disposition-default-utf8.name=使用 UTF-8 處理 Content-Disposition 584 | content-disposition-default-utf8.description=處理 "Content-Disposition" 頭中的字串時使用 UTF-8 字集來代替 ISO-8859-1, 例如, 檔名參數, 但不是擴充版本的檔名. 585 | daemon.name=啟用背景處理程序 586 | daemon.description= 587 | deferred-input.name=延遲載入 588 | deferred-input.description=如果設定為"是", aria2 在啟動時不會讀取 --input-file 選項設定的檔案中的所有 URI 位址, 而是會在之後需要時依需讀取. 如果輸入檔案中包含大量要下載的 URI, 此選項可以減少記憶體的使用. 如果設定為"否", aria2 會在啟動時讀取所有的 URI. 當 -save-session 使用時將會停用 --deferred-input 選項. 589 | disable-ipv6.name=停用 IPv6 590 | disable-ipv6.description= 591 | disk-cache.name=磁碟快取 592 | disk-cache.description=啟用磁碟快取. 如果設定為 0, 將停用磁碟快取. 此功能將下載的資料快取在記憶體中, 最多佔用此選項設定的位元組數. 快取儲存由 aria2 實例建立並對所有下載共享. 由於資料以較大的單位寫入並依檔案的偏移重新排序, 所以磁碟快取的一個優點是減少磁碟的 I/O. 如果調用雜湊檢查時並且資料快取在記憶體中時, 將不需要從磁碟中讀取. 大小可以包含 K 或 M (1K = 1024, 1M = 1024K). 593 | download-result.name=下載結果 594 | download-result.description=此選項將修改下載結果的格式. 如果設定為"預設", 將列印 GID, 狀態, 平均下載速度和路徑/URI. 如果涉及多個檔案, 僅列印第一個要求檔案的路徑/URI, 其餘的將被忽略. 如果設定為"完整", 將列印 GID, 狀態, 平均下載速度, 下載進度和路徑/URI. 其中, 下載進度和路徑/URI 將會每個檔案列印一行. 如果設定為"隱藏", 下載結果將會隱藏. 595 | dscp.name=DSCP 596 | dscp.description=為 QoS 設定 BT 上行 IP 包的 DSCP 值. 此參數僅設定 IP 包中 TOS 欄位的 DSCP 位, 而不是整個欄位. 如果您從 /usr/include/netinet/ip.h 得到的值, 需要除以 4 (否則值將不正確, 例如您的 CS1 類將會轉為 CS4). 如果您從 RFC, 網路供應商的文件, 維基百科或其他來源採取常用的值, 可以直接使用. 597 | rlimit-nofile.name=最多打開的檔案描述項 598 | rlimit-nofile.description=設定打開的檔案描述項的軟限制 (soft limit). 此選項僅當滿足如下條件時開放: a. 系統支援它 (posix). b. 限制沒有超過硬限制 (hard limit). c. 指定的限制比目前的軟限制高. 這相當於設定 ulimit, 除了其不能降低限制. 此選項僅當系統支援 rlimit API 時有效. 599 | enable-color.name=終端輸出使用顏色 600 | enable-color.description= 601 | enable-mmap.name=啟用 MMap 602 | enable-mmap.description=記憶體中存放映射檔案. 當檔案空間沒有預先分配至, 此選項無效. 參見 --file-allocation. 603 | event-poll.name=事件輪詢方法 604 | event-poll.description=設定事件輪詢的方法. 可選的值包括 epoll, kqueue, port, poll 和 select. 對於 epoll, kqueue, port 和 poll, 只有系統支援時才可用. 最新的 Linux 支援 epoll. 各種 *BSD 系統包括 Mac OS X 支援 kqueue. Open Solaris 支援 port. 預設值根據您使用的操作系統不同而不同. 605 | file-allocation.name=檔案分配方法 606 | file-allocation.description=指定檔案分配方法. "無" 不會預先分配檔案空間. "prealloc"會在下載開始前預先分配空間. 這將會根據檔案的大小需要一定的時間. 如果您使用的是較新的檔案系統, 例如 ext4 (帶擴充支援), btrfs, xfs 或 NTFS (僅 MinGW 組建), "falloc" 是最好的選擇. 其幾乎可以瞬間分配大(數 GiB)檔案. 不要在舊的檔案系統, 例如 ext3 和 FAT32 上使用 falloc, 因為與 prealloc 花費的時間相同, 並且其會阻塞 aria2 知道分配完成. 當您的系統不支援 posix_fallocate(3) 函數時, falloc 可能無法使用. "trunc" 使用 ftruncate(2) 系統調用或平台特定的實現將檔案截取到特定的長度. 在多檔案的 BitTorrent 下載中, 若某檔案與其相鄰的檔案共享相同的分段時, 則相鄰的檔案也會被分配. 607 | force-save.name=強制儲存 608 | force-save.description=即使工作完成或刪除時使用 --save-session 選項時也儲存該工作. 此選項在這種情況下還會儲存控制檔案. 此選項可以儲存被認為已經完成但正在做種的 BT 工作. 609 | save-not-found.name=儲存未找到的檔案 610 | save-not-found.description=當使用 --save-session 選項時, 即使當工作中的檔案不存在時也儲存該下載工作. 此選項同時會將這種情況儲存到控制檔案中. 611 | hash-check-only.name=僅雜湊檢查 612 | hash-check-only.description=如果設定為"是", 雜湊檢查完使用 --check-integrity 選項, 根據是否下載完成決定是否終止下載. 613 | human-readable.name=控制台可讀輸出 614 | human-readable.description=在控制台輸出可讀格式的大小和速度 (例如, 1.2Ki, 3.4Mi). 615 | keep-unfinished-download-result.name=保留未完成的工作 616 | keep-unfinished-download-result.description=保留所有未完成的下載結果, 即使超過了 --max-download-result 選項設定的數量. 這將有助於在會話檔案中儲存所有的未完成的下載 (參考 --save-session 選項). 需要注意的是, 未完成工作的數量沒有上限. 如果不希望這樣, 請關閉此選項. 617 | max-download-result.name=最多下載結果 618 | max-download-result.description=設定記憶體中儲存最多的下載結果數量. 下載結果包括已完成/錯誤/已刪除的下載. 下載結果儲存在一個先進先出的隊列中, 因此其可以儲存最多指定的下載結果的數量. 當隊列已滿且有新的下載結果建立時, 最老的下載結果將從隊列的最前部移除, 新的將放在最後. 此選項設定較大的值後如果經過幾千次的下載將導致較高的記憶體消耗. 設定為 0 表示不儲存下載結果. 注意, 未完成的下載將始終儲存在記憶體中, 不考慮該選項的設定. 參考 --keep-unfinished-download-result 選項. 619 | max-mmap-limit.name=MMap 最大限制 620 | max-mmap-limit.description=設定啟用 MMap (參見 --enable-mmap 選項) 最大的檔案大小. 檔案大小由一個下載工作中所有檔案大小的和決定. 例如, 如果一個下載包含 5 個檔案, 那麼檔案大小就是這些檔案的總大小. 如果檔案大小超過此選項設定的大小時, MMap 將會停用. 621 | max-resume-failure-tries.name=最大斷點續傳嘗試次數 622 | max-resume-failure-tries.description=當 --always-resume 選項設定為"否"時, 如果 aria2 檢測到有 N 個 URI 不支援斷點續傳時, 將從頭開始下載檔案. 如果 N 設定為 0, 當所有 URI 都不支援斷點續傳時才會從頭下載檔案. 參見 --always-resume 選項. 623 | min-tls-version.name=最低 TLS 版本 624 | min-tls-version.description=指定啟用的最低 SSL/TLS 版本. 625 | log-level.name=記錄層級 626 | log-level.description= 627 | optimize-concurrent-downloads.name=最佳化同時下載 628 | optimize-concurrent-downloads.description=根據可用頻寬最佳化同時下載的數量. aria2 使用之前統計的下載速度通過規則 N = A + B Log10 (速度單位為 Mbps) 得到同時下載的數量. 其中係數 A 和 B 可以在參數中以冒號分隔自訂. 預設值 (A=5, B=25) 可以在 1Mbps 網路上使用通常 5 個同時下載, 在 100Mbps 網路上為 50 個. 同時下載的數量保持在 --max-concurrent-downloads 參數定義的最大之下. 629 | piece-length.name=檔案分段大小 630 | piece-length.description=設定 HTTP/FTP 下載的分配大小. aria2 根據這個邊界分割檔案. 所有的分割都是這個長度的倍數. 此選項不適用於 BitTorrent 下載. 如果 Metalink 檔案中包含分段雜湊的結果此選項也不適用. 631 | show-console-readout.name=顯示控制台輸出 632 | show-console-readout.description= 633 | summary-interval.name=下載摘要輸出間隔 634 | summary-interval.description=設定下載進度摘要的輸出間隔(秒). 設定為 0 禁止輸出. 635 | max-overall-download-limit.name=全域最大下載速度 636 | max-overall-download-limit.description=設定全域最大下載速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 637 | max-download-limit.name=最大下載速度 638 | max-download-limit.description=設定每個工作的最大下載速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 639 | no-conf.name=停用設定檔案 640 | no-conf.description= 641 | no-file-allocation-limit.name=檔案分配限制 642 | no-file-allocation-limit.description=不對比此參數設定大小小的分配檔案. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 643 | parameterized-uri.name=啟用參數化 URI 支援 644 | parameterized-uri.description=啟用參數化 URI 支援. 您可以指定部分的集合: http://{sv1,sv2,sv3}/foo.iso. 同時您也可以使用步進計數器指定數字化的序列: http://host/image[000-100:2].img. 步進計數器可以省略. 如果所有 URI 位址不指向同樣的檔案, 例如上述第二個示例, 需要使用 -Z 選項. 645 | quiet.name=停用控制台輸出 646 | quiet.description= 647 | realtime-chunk-checksum.name=即時資料區塊驗證 648 | realtime-chunk-checksum.description=如果提供了資料區塊的總和檢查碼, 將在下載過程中通過總和檢查碼驗證資料區塊. 649 | remove-control-file.name=刪除控制檔案 650 | remove-control-file.description=在下載前刪除控制檔案. 使用 --allow-overwrite=true 選項時, 總是從頭開始下載檔案. 此選項將有助於使用不支援斷點續傳代理伺服器的使用者. 651 | save-session.name=狀態儲存檔案 652 | save-session.description=當離開時儲存錯誤及未完成的工作到指定的檔案中. 您可以在重啟 aria2 時使用 --input-file 選項重新載入. 如果您希望輸出的內容使用 GZip 壓縮, 您可以在檔名後增加 .gz 副檔名. 請注意, 通過 aria2.addTorrent() 和 aria2.addMetalink() RPC 方法加入的下載, 其中繼資料沒有儲存到檔案的將不會儲存. 通過 aria2.remove() 和 aria2.forceRemove() 刪除的下載將不會儲存. 653 | save-session-interval.name=儲存狀態間隔 654 | save-session-interval.description=每隔此選項設定的時間(秒)後會儲存錯誤或未完成的工作到 --save-session 選項指定的檔案中. 如果設定為 0, 僅當 aria2 離開時才會儲存. 655 | socket-recv-buffer-size.name=Socket 接收緩衝區大小 656 | socket-recv-buffer-size.description=設定 Socket 接收緩衝區最大的位元組數. 指定為 0 時將停用此選項. 當使用 SO_RCVBUF 選項調用 setsockopt() 時此選項的值將設定到 Socket 的檔案描述項中. 657 | stop.name=自動關閉時間 658 | stop.description=在此選項設定的時間(秒)後關閉應用程式. 如果設定為 0, 此功能將停用. 659 | truncate-console-readout.name=縮短控制台輸出內容 660 | truncate-console-readout.description=縮短控制台輸出的內容在一行中. 661 | -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/robots.txt: -------------------------------------------------------------------------------- 1 | # AriaNg 2 | 3 | User-agent: * 4 | Disallow: / 5 | -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/tileicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/tileicon.png -------------------------------------------------------------------------------- /ccaa_dir/AriaNg/touchicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/AriaNg/touchicon.png -------------------------------------------------------------------------------- /ccaa_dir/aria2.conf: -------------------------------------------------------------------------------- 1 | # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置 2 | dir= 3 | # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M 4 | #disk-cache=32M 5 | # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc 6 | # 预分配所需时间: none < falloc ? trunc < prealloc 7 | # falloc和trunc则需要文件系统和内核支持 8 | # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项 9 | file-allocation=trunc 10 | # 断点续传 11 | continue=true 12 | 13 | #https 14 | #rpc-secure=true 15 | #rpc-certificate= 16 | #rpc-private-key= 17 | 18 | ## 下载连接相关 ## 19 | 20 | # 最大同时下载任务数, 运行时可修改, 默认:5 21 | max-concurrent-downloads=5 22 | # 同一服务器连接数, 添加时可指定, 默认:1 23 | max-connection-per-server=8 24 | # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M 25 | # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载 26 | min-split-size=10M 27 | # 单个任务最大线程数, 添加时可指定, 默认:5 28 | split=16 29 | # 整体下载速度限制, 运行时可修改, 默认:0 30 | #max-overall-download-limit=0 31 | # 单个任务下载速度限制, 默认:0 32 | #max-download-limit=0 33 | # 整体上传速度限制, 运行时可修改, 默认:0 34 | max-overall-upload-limit=1024K 35 | # 单个任务上传速度限制, 默认:0 36 | max-upload-limit=100K 37 | # 禁用IPv6, 默认:false 38 | disable-ipv6=true 39 | 40 | ## 进度保存相关 ## 41 | 42 | # 从会话文件中读取下载任务 43 | input-file=/etc/ccaa/aria2.session 44 | # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件 45 | save-session=/etc/ccaa/aria2.session 46 | # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0 47 | save-session-interval=60 48 | 49 | ## RPC相关设置 ## 50 | 51 | # 启用RPC, 默认:false 52 | enable-rpc=true 53 | # 允许所有来源, 默认:false 54 | rpc-allow-origin-all=true 55 | # 允许非外部访问, 默认:false 56 | rpc-listen-all=true 57 | # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同 58 | #event-poll=select 59 | # RPC监听端口, 端口被占用时可以修改, 默认:6800 60 | #rpc-listen-port=6800 61 | # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项 62 | rpc-secret= 63 | # 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项 64 | #rpc-user= 65 | # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项 66 | #rpc-passwd= 67 | 68 | ## BT/PT下载相关 ## 69 | 70 | # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true 71 | #follow-torrent=true 72 | # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999 73 | listen-port=51413 74 | # 单个种子最大连接数, 默认:55 75 | #bt-max-peers=55 76 | # 打开DHT功能, PT需要禁用, 默认:true 77 | enable-dht=true 78 | # 打开IPv6 DHT功能, PT需要禁用 79 | #enable-dht6=false 80 | # DHT网络监听端口, 默认:6881-6999 81 | #dht-listen-port=6881-6999 82 | # 本地节点查找, PT需要禁用, 默认:false 83 | #bt-enable-lpd=false 84 | # 种子交换, PT需要禁用, 默认:true 85 | enable-peer-exchange=false 86 | # 每个种子限速, 对少种的PT很有用, 默认:50K 87 | #bt-request-peer-speed-limit=50K 88 | # 客户端伪装, PT需要 89 | peer-id-prefix=-TR2770- 90 | user-agent=Transmission/2.77 91 | # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0 92 | seed-ratio=0 93 | # 强制保存会话, 即使任务已经完成, 默认:false 94 | # 较新的版本开启后会在任务完成后依然保留.aria2文件 95 | #force-save=true 96 | # BT校验相关, 默认:true 97 | #bt-hash-check-seed=true 98 | # 继续之前的BT任务时, 无需再次校验, 默认:false 99 | bt-seed-unverified=true 100 | # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false 101 | bt-save-metadata=true 102 | 103 | bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.open-internet.nl:6969/announce,udp://exodus.desync.com:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,udp://9.rarbg.to:2710/announce,udp://public.popcorn-tracker.org:6969/announce,udp://tracker.vanitycore.co:6969/announce,udp://tracker.mg64.net:6969/announce,udp://mgtracker.org:6969/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.cypherpunks.ru:6969/announce,udp://bt.xxx-tracker.com:2710/announce,udp://tracker.torrent.eu.org:451/announce,udp://thetracker.org:80/announce,udp://retracker.lanta-net.ru:2710/announce,udp://open.stealth.si:80/announce,udp://torr.ws:2710/announce,http://retracker.telecom.by:80/announce,http://tracker.city9x.com:2710/announce 104 | -------------------------------------------------------------------------------- /ccaa_dir/aria2.session: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_dir/aria2.session -------------------------------------------------------------------------------- /ccaa_dir/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "address":"0.0.0.0", 3 | "database":"/etc/ccaa/filebrowser.db", 4 | "log":"/var/log/filebrowser.log", 5 | "port":6081, 6 | "root":"ccaaDown", 7 | "username":"ccaa" 8 | } -------------------------------------------------------------------------------- /ccaa_dir/services/aria2.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=aria2 3 | After=network.target 4 | 5 | [Service] 6 | ExecStart=/usr/bin/sudo -u ccaa /usr/bin/aria2c --conf-path=/etc/ccaa/aria2.conf 7 | 8 | [Install] 9 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /ccaa_dir/services/ccaa_web.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ccaa_web 3 | After=network.target 4 | 5 | [Service] 6 | ExecStart=/usr/bin/sudo -u ccaa /usr/sbin/ccaa_web 7 | 8 | [Install] 9 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /ccaa_dir/services/filebrowser.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Filebrowser 3 | After=network.target 4 | 5 | [Service] 6 | ExecStart=/usr/bin/sudo -u ccaa /usr/sbin/filebrowser -c /etc/ccaa/config.json 7 | 8 | [Install] 9 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /ccaa_dir/upbt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ##### 一键安装Caddy + Aria2 + AriaNg ##### 3 | ##### 作者:xiaoz.me ##### 4 | ##### 更新时间:2018-09-28 ##### 5 | 6 | #导入环境变量 7 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin 8 | export PATH 9 | 10 | function up_tracker(){ 11 | #下载最新的bt-tracker 12 | wget -O /tmp/trackers_best.txt https://api.xiaoz.org/trackerslist/ 13 | tracker=$(cat /tmp/trackers_best.txt) 14 | #替换处理bt-tracker 15 | tracker="bt-tracker="${tracker} 16 | #更新aria2配置 17 | sed -i '/bt-tracker.*/'d /etc/ccaa/aria2.conf 18 | echo ${tracker} >> /etc/ccaa/aria2.conf 19 | echo '-------------------------------------' 20 | echo 'bt-tracker update completed.' 21 | echo '-------------------------------------' 22 | } 23 | 24 | up_tracker 25 | 26 | #重启服务 27 | /usr/sbin/ccaa restart -------------------------------------------------------------------------------- /ccaa_dir/version.txt: -------------------------------------------------------------------------------- 1 | 2.1 -------------------------------------------------------------------------------- /ccaa_web: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloxz/ccaa/b66590df3d4091c1027cb167cd73dddf72fef83c/ccaa_web -------------------------------------------------------------------------------- /ccaa_web.go: -------------------------------------------------------------------------------- 1 | //Golang实现一个简单的WebServer 2 | package main 3 | 4 | import ( 5 | "os" 6 | "net/http" 7 | //"fmt" 8 | ) 9 | 10 | func main() { 11 | //声明2个变量 12 | var dir,port string 13 | //判断参数的长度 14 | if len(os.Args) == 3 { 15 | dir = os.Args[1] 16 | port = os.Args[2] 17 | } else{ 18 | //如果没有参数,则使用默认 19 | dir = "/etc/ccaa/AriaNg" 20 | port = "6080" 21 | } 22 | 23 | panic(http.ListenAndServe(":" + port, http.FileServer(http.Dir(dir)))) 24 | } -------------------------------------------------------------------------------- /dccaa: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ##### CCAA管理脚本 ##### 3 | ##### Author:xiaoz.me ##### 4 | ##### Update:2020-04-30 ##### 5 | 6 | #导入环境变量 7 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin 8 | export PATH 9 | 10 | aria2pid=$(pgrep 'aria2c') 11 | ccaa_web_pid=$(pgrep 'ccaa_web') 12 | filebrowser_pid=$(pgrep 'filebrowser') 13 | 14 | #设置aria2密码 15 | function pass(){ 16 | sed -ir "s/rpc-secret=.*/rpc-secret=$PASS/g" /etc/ccaa/aria2.conf 17 | } 18 | 19 | #启动ccaa 20 | function ccaa_start(){ 21 | nohup aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & 22 | nohup /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 & 23 | nohup filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & 24 | sleep 3600d 25 | } 26 | 27 | case $1 in 28 | 'start') 29 | ccaa_start 30 | ;; 31 | 'stop') 32 | kill -9 ${aria2pid} 33 | kill -9 ${ccaa_web_pid} 34 | kill -9 ${filebrowser_pid} 35 | ;; 36 | 'restart') 37 | kill -9 ${aria2pid} 38 | kill -9 ${ccaa_web_pid} 39 | kill -9 ${filebrowser_pid} 40 | ccaa_start 41 | ;; 42 | 'status') 43 | if [ "$aria2pid" == "" ] 44 | then 45 | echo "Not running!" 46 | else 47 | echo '-----------------------------------------------' 48 | echo "Aria2 is running,pid is ${aria2pid}." 49 | echo "AriaNg is running,pid is ${ccaa_web_pid}." 50 | echo "Filebrowser is running,pid is ${filebrowser_pid}." 51 | echo '-----------------------------------------------' 52 | fi 53 | ;; 54 | '-v') 55 | cat /etc/ccaa/version.txt && echo '' 56 | ;; 57 | 'pass') 58 | pass $2 59 | ;; 60 | *) 61 | echo '参数错误!' 62 | exit 63 | ;; 64 | esac -------------------------------------------------------------------------------- /docker-ccaa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ##### 一键安装File Browser + Aria2 + AriaNg ##### 3 | ##### 作者:xiaoz.me ##### 4 | ##### 更新时间:2020-02-27 ##### 5 | 6 | #导入环境变量 7 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin 8 | export PATH 9 | 10 | #各种路径设置 11 | aria2_url='https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2' 12 | filebrowser_url='https://github.com/filebrowser/filebrowser/releases/download/v2.0.16/linux-amd64-filebrowser.tar.gz' 13 | master_url='https://github.com/helloxz/ccaa/archive/master.zip' 14 | ccaa_web_url='http://soft.xiaoz.org/linux/ccaa_web' 15 | 16 | #安装前的检查 17 | function check(){ 18 | echo '-------------------------------------------------------------' 19 | if [ -e "/etc/ccaa" ] 20 | then 21 | echo 'CCAA已经安装,若需要重新安装,请先卸载再安装!' 22 | echo '-------------------------------------------------------------' 23 | exit 24 | else 25 | echo '检测通过,即将开始安装。' 26 | echo '-------------------------------------------------------------' 27 | fi 28 | } 29 | 30 | #安装之前的准备 31 | function setout(){ 32 | #安装需要的软件 33 | apk add curl wget zip tar make bzip2 unzip 34 | #创建临时目录 35 | cd 36 | mkdir ./ccaa_tmp 37 | #创建用户和用户组 38 | } 39 | #安装Aria2 40 | function install_aria2(){ 41 | #进入临时目录 42 | cd ./ccaa_tmp 43 | #yum -y update 44 | #安装aria2静态编译版本,来源于https://github.com/q3aql/aria2-static-builds/ 45 | wget -c ${aria2_url} 46 | tar jxvf aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2 47 | cd aria2-1.35.0-linux-gnu-64bit-build1 48 | make install 49 | cd 50 | } 51 | 52 | #安装File Browser文件管理器 53 | function install_file_browser(){ 54 | cd ./ccaa_tmp 55 | #下载File Browser 56 | wget ${filebrowser_url} 57 | #解压 58 | tar -zxvf linux-amd64-filebrowser.tar.gz 59 | #移动位置 60 | mv filebrowser /usr/sbin 61 | cd 62 | } 63 | #处理配置文件 64 | function dealconf(){ 65 | cd ./ccaa_tmp 66 | #下载CCAA项目 67 | wget ${master_url} 68 | #解压 69 | unzip master.zip 70 | #复制CCAA核心目录 71 | mv ccaa-master/ccaa_dir /etc/ccaa 72 | #创建aria2日志文件 73 | touch /var/log/aria2.log 74 | #upbt增加执行权限 75 | chmod +x /etc/ccaa/upbt.sh 76 | chmod +x ccaa-master/ccaa 77 | cp ccaa-master/dccaa /usr/sbin 78 | chmod +x /usr/sbin/dccaa 79 | cd 80 | } 81 | 82 | #设置账号密码 83 | function setting(){ 84 | cd 85 | cd ./ccaa_tmp 86 | echo '-------------------------------------------------------------' 87 | 88 | #获取ip 89 | osip=$(curl ipv4.ip.sb) 90 | 91 | #执行替换操作 92 | downpath='/data/ccaaDown' 93 | mkdir -p ${downpath} 94 | sed -i "s%dir=%dir=${downpath}%g" /etc/ccaa/aria2.conf 95 | sed -ir "s/rpc-secret=.*/rpc-secret=$PASS/g" /etc/ccaa/aria2.conf 96 | #替换filebrowser读取路径 97 | sed -i "s%ccaaDown%${downpath}%g" /etc/ccaa/config.json 98 | #替换AriaNg服务器链接 99 | #sed -i "s/server_ip/${osip}/g" /etc/ccaa/AriaNg/index.html 100 | rm -rf /etc/ccaa/AriaNg/index.html 101 | mv /etc/ccaa/AriaNg/dindex.html /etc/ccaa/AriaNg/index.html 102 | #更新tracker 103 | sh /etc/ccaa/upbt.sh 104 | 105 | #安装AriaNg 106 | wget ${ccaa_web_url} 107 | #tar -zxvf ccaa_web.tar.gz 108 | cp ccaa_web /usr/sbin/ 109 | chmod +x /usr/sbin/ccaa_web 110 | 111 | #启动服务 112 | #nohup aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 & 113 | #nohup caddy -conf="/etc/ccaa/caddy.conf" > /etc/ccaa/caddy.log 2>&1 & 114 | #nohup /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 & 115 | #运行filebrowser 116 | #nohup filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 & 117 | 118 | echo '-------------------------------------------------------------' 119 | echo "大功告成,请访问: http://${osip}:6080/" 120 | echo 'File Browser 用户名:ccaa' 121 | echo 'File Browser 密码:admin' 122 | echo 'Aria2 RPC 密钥:' $PASS 123 | echo '帮助文档: https://dwz.ovh/ccaa (必看)' 124 | echo '-------------------------------------------------------------' 125 | } 126 | #清理工作 127 | function cleanup(){ 128 | cd 129 | rm -rf ccaa_tmp 130 | #rm -rf *.conf 131 | #rm -rf init 132 | } 133 | 134 | #卸载 135 | function uninstall(){ 136 | wget -O ccaa-uninstall.sh https://raw.githubusercontent.com/helloxz/ccaa/master/uninstall.sh 137 | sh ccaa-uninstall.sh 138 | } 139 | 140 | #选择安装方式 141 | echo "------------------------------------------------" 142 | echo "Linux + File Browser + Aria2 + AriaNg一键安装脚本(CCAA)" 143 | echo "1) 安装CCAA" 144 | echo "2) 卸载CCAA" 145 | echo "3) 更新bt-tracker" 146 | echo "q) 退出!" 147 | #read -p ":" istype 148 | case $1 in 149 | 'install') 150 | check 151 | setout 152 | install_aria2 && \ 153 | install_file_browser && \ 154 | dealconf && \ 155 | setting && \ 156 | cleanup 157 | ;; 158 | 'uninstall') 159 | uninstall 160 | ;; 161 | 'upbt') 162 | sh /etc/ccaa/upbt.sh 163 | ;; 164 | 'q') 165 | exit 166 | ;; 167 | *) echo '参数错误!' 168 | esac 169 | -------------------------------------------------------------------------------- /uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ##### 一键卸载CCAA ##### 3 | ##### 作者:xiaoz.me ##### 4 | ##### 更新时间:2020-02-28 ##### 5 | 6 | #导入环境变量 7 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin 8 | export PATH 9 | 10 | #删除端口函数 11 | function del_post() { 12 | if [ -e "/etc/sysconfig/iptables" ] 13 | then 14 | sed -i '/^.*6080.*/'d /etc/sysconfig/iptables 15 | sed -i '/^.*6081.*/'d /etc/sysconfig/iptables 16 | sed -i '/^.*6800.*/'d /etc/sysconfig/iptables 17 | sed -i '/^.*6998.*/'d /etc/sysconfig/iptables 18 | sed -i '/^.*51413.*/'d /etc/sysconfig/iptables 19 | service iptables save 20 | service iptables restart 21 | elif [ -e "/etc/firewalld/zones/public.xml" ] 22 | then 23 | firewall-cmd --zone=public --remove-port=6080/tcp --permanent 24 | firewall-cmd --zone=public --remove-port=6081/tcp --permanent 25 | firewall-cmd --zone=public --remove-port=6800/tcp --permanent 26 | firewall-cmd --zone=public --remove-port=6998/tcp --permanent 27 | firewall-cmd --zone=public --remove-port=51413/tcp --permanent 28 | firewall-cmd --reload 29 | elif [ -e "/etc/ufw/before.rules" ] 30 | then 31 | sudo ufw delete 6080/tcp 32 | sudo ufw delete 6081/tcp 33 | sudo ufw delete 6800/tcp 34 | sudo ufw delete 6998/tcp 35 | sudo ufw delete 51413/tcp 36 | fi 37 | } 38 | 39 | #停止所有服务 40 | kill -9 $(pgrep 'aria2c') 41 | kill -9 $(pgrep 'ccaa_web') 42 | kill -9 $(pgrep 'filebrowser') 43 | kill -9 $(pgrep 'caddy') 44 | systemctl disable aria2 45 | systemctl disable ccaa_web 46 | systemctl disable filebrowser 47 | 48 | #删除文件 49 | rm -rf /etc/ccaa 50 | rm -rf /usr/sbin/ccaa_web 51 | rm -rf /usr/sbin/ccaa 52 | rm -rf /usr/sbin/ccaa 53 | rm -rf /usr/bin/aria2c 54 | rm -rf aria2-1.* 55 | rm -rf AriaNg* 56 | rm -rf /usr/share/man/man1/aria2c.1 57 | rm -rf /etc/ssl/certs/ca-certificates.crt 58 | rm -rf /etc/systemd/system/aria2.service 59 | rm -rf /etc/systemd/system/ccaa_web.service 60 | rm -rf /etc/systemd/system/filebrowser.service 61 | 62 | #删除filebrowser 63 | rm -rf /usr/sbin/filebrowser 64 | 65 | #删除日志 66 | rm -rf /var/log/aria2.log 67 | rm -rf /var/log/ccaa_web.log 68 | rm -rf /var/log/fbrun.log 69 | rm -rf /var/log/filebrowser.log 70 | 71 | #删除用户和用户组 72 | userdel ccaa 73 | groupdel ccaa 74 | 75 | #删除端口 76 | del_post 77 | echo "------------------------------------------------" 78 | echo '卸载完成!' 79 | echo "------------------------------------------------" 80 | 81 | #删除自身 82 | rm -rf ccaa-uninstall.sh --------------------------------------------------------------------------------