2018-08-31 10:57:06 +02:00
<!doctype html>
< html >
<!-- {{{ head -->
< head >
< link rel = "icon" href = "favicon.ico" / >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "theme-color" content = "#0A8476" >
< title ng-bind = "$root.pageTitle" > Aria2 WebUI< / title >
< link rel = "stylesheet" type = "text/css" href = "https://fonts.googleapis.com/css?family=Lato:400,700" >
< / head >
<!-- }}} -->
< body ng-controller = "MainCtrl" ng-cloak >
2018-08-31 17:57:18 +02:00
<!-- {{{ Icons -->
< svg aria-hidden = "true" style = "position: absolute; width: 0; height: 0; overflow: hidden;" version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" >
< defs >
< symbol id = "icon-times" viewBox = "0 0 22 28" >
< title > times< / title >
< path d = "M20.281 20.656c0 0.391-0.156 0.781-0.438 1.062l-2.125 2.125c-0.281 0.281-0.672 0.438-1.062 0.438s-0.781-0.156-1.062-0.438l-4.594-4.594-4.594 4.594c-0.281 0.281-0.672 0.438-1.062 0.438s-0.781-0.156-1.062-0.438l-2.125-2.125c-0.281-0.281-0.438-0.672-0.438-1.062s0.156-0.781 0.438-1.062l4.594-4.594-4.594-4.594c-0.281-0.281-0.438-0.672-0.438-1.062s0.156-0.781 0.438-1.062l2.125-2.125c0.281-0.281 0.672-0.438 1.062-0.438s0.781 0.156 1.062 0.438l4.594 4.594 4.594-4.594c0.281-0.281 0.672-0.438 1.062-0.438s0.781 0.156 1.062 0.438l2.125 2.125c0.281 0.281 0.438 0.672 0.438 1.062s-0.156 0.781-0.438 1.062l-4.594 4.594 4.594 4.594c0.281 0.281 0.438 0.672 0.438 1.062z" > < / path >
< / symbol >
< symbol id = "icon-power-off" viewBox = "0 0 24 28" >
< title > power-off< / title >
< path d = "M24 14c0 6.609-5.391 12-12 12s-12-5.391-12-12c0-3.797 1.75-7.297 4.797-9.578 0.891-0.672 2.141-0.5 2.797 0.391 0.672 0.875 0.484 2.141-0.391 2.797-2.031 1.531-3.203 3.859-3.203 6.391 0 4.406 3.594 8 8 8s8-3.594 8-8c0-2.531-1.172-4.859-3.203-6.391-0.875-0.656-1.062-1.922-0.391-2.797 0.656-0.891 1.922-1.062 2.797-0.391 3.047 2.281 4.797 5.781 4.797 9.578zM14 2v10c0 1.094-0.906 2-2 2s-2-0.906-2-2v-10c0-1.094 0.906-2 2-2s2 0.906 2 2z" > < / path >
< / symbol >
< symbol id = "icon-cog" viewBox = "0 0 24 28" >
< title > cog< / title >
< path d = "M16 14c0-2.203-1.797-4-4-4s-4 1.797-4 4 1.797 4 4 4 4-1.797 4-4zM24 12.297v3.469c0 0.234-0.187 0.516-0.438 0.562l-2.891 0.438c-0.172 0.5-0.359 0.969-0.609 1.422 0.531 0.766 1.094 1.453 1.672 2.156 0.094 0.109 0.156 0.25 0.156 0.391s-0.047 0.25-0.141 0.359c-0.375 0.5-2.484 2.797-3.016 2.797-0.141 0-0.281-0.063-0.406-0.141l-2.156-1.687c-0.453 0.234-0.938 0.438-1.422 0.594-0.109 0.953-0.203 1.969-0.453 2.906-0.063 0.25-0.281 0.438-0.562 0.438h-3.469c-0.281 0-0.531-0.203-0.562-0.469l-0.438-2.875c-0.484-0.156-0.953-0.344-1.406-0.578l-2.203 1.672c-0.109 0.094-0.25 0.141-0.391 0.141s-0.281-0.063-0.391-0.172c-0.828-0.75-1.922-1.719-2.578-2.625-0.078-0.109-0.109-0.234-0.109-0.359 0-0.141 0.047-0.25 0.125-0.359 0.531-0.719 1.109-1.406 1.641-2.141-0.266-0.5-0.484-1.016-0.641-1.547l-2.859-0.422c-0.266-0.047-0.453-0.297-0.453-0.562v-3.469c0-0.234 0.187-0.516 0.422-0.562l2.906-0.438c0.156-0.5 0.359-0.969 0.609-1.437-0.531-0.75-1.094-1.453-1.672-2.156-0.094-0.109-0.156-0.234-0.156-0.375s0.063-0.25 0.141-0.359c0.375-0.516 2.484-2.797 3.016-2.797 0.141 0 0.281 0.063 0.406 0.156l2.156 1.672c0.453-0.234 0.938-0.438 1.422-0.594 0.109-0.953 0.203-1.969 0.453-2.906 0.063-0.25 0.281-0.438 0.562-0.438h3.469c0.281 0 0.531 0.203 0.562 0.469l0.438 2.875c0.484 0.156 0.953 0.344 1.406 0.578l2.219-1.672c0.094-0.094 0.234-0.141 0.375-0.141s0.281 0.063 0.391 0.156c0.828 0.766 1.922 1.734 2.578 2.656 0.078 0.094 0.109 0.219 0.109 0.344 0 0.141-0.047 0.25-0.125 0.359-0.531 0.719-1.109 1.406-1.641 2.141 0.266 0.5 0.484 1.016 0.641 1.531l2.859 0.438c0.266 0.047 0.453 0.297 0.453 0.562z" > < / path >
< / symbol >
< symbol id = "icon-clock-o" viewBox = "0 0 24 28" >
< title > clock-o< / title >
< path d = "M14 8.5v7c0 0.281-0.219 0.5-0.5 0.5h-5c-0.281 0-0.5-0.219-0.5-0.5v-1c0-0.281 0.219-0.5 0.5-0.5h3.5v-5.5c0-0.281 0.219-0.5 0.5-0.5h1c0.281 0 0.5 0.219 0.5 0.5zM20.5 14c0-4.688-3.813-8.5-8.5-8.5s-8.5 3.813-8.5 8.5 3.813 8.5 8.5 8.5 8.5-3.813 8.5-8.5zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-download" viewBox = "0 0 26 28" >
< title > download< / title >
< path d = "M20 21c0-0.547-0.453-1-1-1s-1 0.453-1 1 0.453 1 1 1 1-0.453 1-1zM24 21c0-0.547-0.453-1-1-1s-1 0.453-1 1 0.453 1 1 1 1-0.453 1-1zM26 17.5v5c0 0.828-0.672 1.5-1.5 1.5h-23c-0.828 0-1.5-0.672-1.5-1.5v-5c0-0.828 0.672-1.5 1.5-1.5h7.266l2.109 2.125c0.578 0.562 1.328 0.875 2.125 0.875s1.547-0.313 2.125-0.875l2.125-2.125h7.25c0.828 0 1.5 0.672 1.5 1.5zM20.922 8.609c0.156 0.375 0.078 0.812-0.219 1.094l-7 7c-0.187 0.203-0.453 0.297-0.703 0.297s-0.516-0.094-0.703-0.297l-7-7c-0.297-0.281-0.375-0.719-0.219-1.094 0.156-0.359 0.516-0.609 0.922-0.609h4v-7c0-0.547 0.453-1 1-1h4c0.547 0 1 0.453 1 1v7h4c0.406 0 0.766 0.25 0.922 0.609z" > < / path >
< / symbol >
< symbol id = "icon-arrow-circle-o-down" viewBox = "0 0 24 28" >
< title > arrow-circle-o-down< / title >
< path d = "M17.5 14.5c0 0.141-0.063 0.266-0.156 0.375l-4.984 4.984c-0.109 0.094-0.234 0.141-0.359 0.141s-0.25-0.047-0.359-0.141l-5-5c-0.141-0.156-0.187-0.359-0.109-0.547s0.266-0.313 0.469-0.313h3v-5.5c0-0.281 0.219-0.5 0.5-0.5h3c0.281 0 0.5 0.219 0.5 0.5v5.5h3c0.281 0 0.5 0.219 0.5 0.5zM12 5.5c-4.688 0-8.5 3.813-8.5 8.5s3.813 8.5 8.5 8.5 8.5-3.813 8.5-8.5-3.813-8.5-8.5-8.5zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12v0c6.625 0 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-arrow-circle-o-up" viewBox = "0 0 24 28" >
< title > arrow-circle-o-up< / title >
< path d = "M17.469 13.687c-0.078 0.187-0.266 0.313-0.469 0.313h-3v5.5c0 0.281-0.219 0.5-0.5 0.5h-3c-0.281 0-0.5-0.219-0.5-0.5v-5.5h-3c-0.281 0-0.5-0.219-0.5-0.5 0-0.141 0.063-0.266 0.156-0.375l4.984-4.984c0.109-0.094 0.234-0.141 0.359-0.141s0.25 0.047 0.359 0.141l5 5c0.141 0.156 0.187 0.359 0.109 0.547zM12 5.5c-4.688 0-8.5 3.813-8.5 8.5s3.813 8.5 8.5 8.5 8.5-3.813 8.5-8.5-3.813-8.5-8.5-8.5zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12v0c6.625 0 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-repeat" viewBox = "0 0 24 28" >
< title > repeat< / title >
< path d = "M24 4v7c0 0.547-0.453 1-1 1h-7c-0.406 0-0.766-0.25-0.922-0.625-0.156-0.359-0.078-0.797 0.219-1.078l2.156-2.156c-1.469-1.359-3.406-2.141-5.453-2.141-4.406 0-8 3.594-8 8s3.594 8 8 8c2.484 0 4.781-1.125 6.312-3.109 0.078-0.109 0.219-0.172 0.359-0.187 0.141 0 0.281 0.047 0.391 0.141l2.141 2.156c0.187 0.172 0.187 0.469 0.031 0.672-2.281 2.75-5.656 4.328-9.234 4.328-6.609 0-12-5.391-12-12s5.391-12 12-12c3.078 0 6.062 1.234 8.266 3.313l2.031-2.016c0.281-0.297 0.719-0.375 1.094-0.219 0.359 0.156 0.609 0.516 0.609 0.922z" > < / path >
< / symbol >
< symbol id = "icon-list" viewBox = "0 0 28 28" >
< title > list< / title >
< path d = "M4 20.5v3c0 0.266-0.234 0.5-0.5 0.5h-3c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h3c0.266 0 0.5 0.234 0.5 0.5zM4 14.5v3c0 0.266-0.234 0.5-0.5 0.5h-3c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h3c0.266 0 0.5 0.234 0.5 0.5zM4 8.5v3c0 0.266-0.234 0.5-0.5 0.5h-3c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h3c0.266 0 0.5 0.234 0.5 0.5zM28 20.5v3c0 0.266-0.234 0.5-0.5 0.5h-21c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h21c0.266 0 0.5 0.234 0.5 0.5zM4 2.5v3c0 0.266-0.234 0.5-0.5 0.5h-3c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h3c0.266 0 0.5 0.234 0.5 0.5zM28 14.5v3c0 0.266-0.234 0.5-0.5 0.5h-21c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h21c0.266 0 0.5 0.234 0.5 0.5zM28 8.5v3c0 0.266-0.234 0.5-0.5 0.5h-21c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h21c0.266 0 0.5 0.234 0.5 0.5zM28 2.5v3c0 0.266-0.234 0.5-0.5 0.5h-21c-0.266 0-0.5-0.234-0.5-0.5v-3c0-0.266 0.234-0.5 0.5-0.5h21c0.266 0 0.5 0.234 0.5 0.5z" > < / path >
< / symbol >
< symbol id = "icon-check-square-o" viewBox = "0 0 26 28" >
< title > check-square-o< / title >
< path d = "M22 14.531v4.969c0 2.484-2.016 4.5-4.5 4.5h-13c-2.484 0-4.5-2.016-4.5-4.5v-13c0-2.484 2.016-4.5 4.5-4.5h13c0.625 0 1.25 0.125 1.828 0.391 0.141 0.063 0.25 0.203 0.281 0.359 0.031 0.172-0.016 0.328-0.141 0.453l-0.766 0.766c-0.094 0.094-0.234 0.156-0.359 0.156-0.047 0-0.094-0.016-0.141-0.031-0.234-0.063-0.469-0.094-0.703-0.094h-13c-1.375 0-2.5 1.125-2.5 2.5v13c0 1.375 1.125 2.5 2.5 2.5h13c1.375 0 2.5-1.125 2.5-2.5v-3.969c0-0.125 0.047-0.25 0.141-0.344l1-1c0.109-0.109 0.234-0.156 0.359-0.156 0.063 0 0.125 0.016 0.187 0.047 0.187 0.078 0.313 0.25 0.313 0.453zM25.609 6.891l-12.719 12.719c-0.5 0.5-1.281 0.5-1.781 0l-6.719-6.719c-0.5-0.5-0.5-1.281 0-1.781l1.719-1.719c0.5-0.5 1.281-0.5 1.781 0l4.109 4.109 10.109-10.109c0.5-0.5 1.281-0.5 1.781 0l1.719 1.719c0.5 0.5 0.5 1.281 0 1.781z" > < / path >
< / symbol >
< symbol id = "icon-play" viewBox = "0 0 22 28" >
< title > play< / title >
< path d = "M21.625 14.484l-20.75 11.531c-0.484 0.266-0.875 0.031-0.875-0.516v-23c0-0.547 0.391-0.781 0.875-0.516l20.75 11.531c0.484 0.266 0.484 0.703 0 0.969z" > < / path >
< / symbol >
< symbol id = "icon-pause" viewBox = "0 0 24 28" >
< title > pause< / title >
< path d = "M24 3v22c0 0.547-0.453 1-1 1h-8c-0.547 0-1-0.453-1-1v-22c0-0.547 0.453-1 1-1h8c0.547 0 1 0.453 1 1zM10 3v22c0 0.547-0.453 1-1 1h-8c-0.547 0-1-0.453-1-1v-22c0-0.547 0.453-1 1-1h8c0.547 0 1 0.453 1 1z" > < / path >
< / symbol >
< symbol id = "icon-stop" viewBox = "0 0 24 28" >
< title > stop< / title >
< path d = "M24 3v22c0 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-22c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1z" > < / path >
< / symbol >
< symbol id = "icon-chevron-right" viewBox = "0 0 19 28" >
< title > chevron-right< / title >
< path d = "M17.297 13.703l-11.594 11.594c-0.391 0.391-1.016 0.391-1.406 0l-2.594-2.594c-0.391-0.391-0.391-1.016 0-1.406l8.297-8.297-8.297-8.297c-0.391-0.391-0.391-1.016 0-1.406l2.594-2.594c0.391-0.391 1.016-0.391 1.406 0l11.594 11.594c0.391 0.391 0.391 1.016 0 1.406z" > < / path >
< / symbol >
< symbol id = "icon-close-circle" viewBox = "0 0 24 28" >
< title > close-circle< / title >
< path d = "M17.953 17.531c0-0.266-0.109-0.516-0.297-0.703l-2.828-2.828 2.828-2.828c0.187-0.187 0.297-0.438 0.297-0.703s-0.109-0.531-0.297-0.719l-1.406-1.406c-0.187-0.187-0.453-0.297-0.719-0.297s-0.516 0.109-0.703 0.297l-2.828 2.828-2.828-2.828c-0.187-0.187-0.438-0.297-0.703-0.297s-0.531 0.109-0.719 0.297l-1.406 1.406c-0.187 0.187-0.297 0.453-0.297 0.719s0.109 0.516 0.297 0.703l2.828 2.828-2.828 2.828c-0.187 0.187-0.297 0.438-0.297 0.703s0.109 0.531 0.297 0.719l1.406 1.406c0.187 0.187 0.453 0.297 0.719 0.297s0.516-0.109 0.703-0.297l2.828-2.828 2.828 2.828c0.187 0.187 0.438 0.297 0.703 0.297s0.531-0.109 0.719-0.297l1.406-1.406c0.187-0.187 0.297-0.453 0.297-0.719zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-question-circle" viewBox = "0 0 24 28" >
< title > question-circle< / title >
< path d = "M14 21.5v-3c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v3c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM18 11c0-2.859-3-5-5.688-5-2.547 0-4.453 1.094-5.797 3.328-0.141 0.219-0.078 0.5 0.125 0.656l2.063 1.563c0.078 0.063 0.187 0.094 0.297 0.094 0.141 0 0.297-0.063 0.391-0.187 0.734-0.938 1.047-1.219 1.344-1.437 0.266-0.187 0.781-0.375 1.344-0.375 1 0 1.922 0.641 1.922 1.328 0 0.812-0.422 1.219-1.375 1.656-1.109 0.5-2.625 1.797-2.625 3.313v0.562c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5v0c0-0.359 0.453-1.125 1.188-1.547 1.188-0.672 2.812-1.578 2.812-3.953zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-info-circle" viewBox = "0 0 24 28" >
< title > info-circle< / title >
< path d = "M16 21.5v-2.5c0-0.281-0.219-0.5-0.5-0.5h-1.5v-8c0-0.281-0.219-0.5-0.5-0.5h-5c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h1.5v5h-1.5c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h7c0.281 0 0.5-0.219 0.5-0.5zM14 7.5v-2.5c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-magnet" viewBox = "0 0 24 28" >
< title > magnet< / title >
< path d = "M24 13v2c0 6.375-5.047 11-12 11s-12-4.625-12-11v-2c0-0.547 0.453-1 1-1h6c0.547 0 1 0.453 1 1v2c0 2.859 3.328 3 4 3s4-0.141 4-3v-2c0-0.547 0.453-1 1-1h6c0.547 0 1 0.453 1 1zM8 3v6c0 0.547-0.453 1-1 1h-6c-0.547 0-1-0.453-1-1v-6c0-0.547 0.453-1 1-1h6c0.547 0 1 0.453 1 1zM24 3v6c0 0.547-0.453 1-1 1h-6c-0.547 0-1-0.453-1-1v-6c0-0.547 0.453-1 1-1h6c0.547 0 1 0.453 1 1z" > < / path >
< / symbol >
< symbol id = "icon-folder-open" viewBox = "0 0 29 28" >
< title > folder-open< / title >
< path d = "M29.359 14.875c0 0.375-0.234 0.75-0.484 1.031l-5.25 6.188c-0.906 1.062-2.75 1.906-4.125 1.906h-17c-0.562 0-1.359-0.172-1.359-0.875 0-0.375 0.234-0.75 0.484-1.031l5.25-6.188c0.906-1.062 2.75-1.906 4.125-1.906h17c0.562 0 1.359 0.172 1.359 0.875zM24 9.5v2.5h-13c-1.953 0-4.375 1.109-5.641 2.609l-5.344 6.281c0-0.125-0.016-0.266-0.016-0.391v-15c0-1.922 1.578-3.5 3.5-3.5h5c1.922 0 3.5 1.578 3.5 3.5v0.5h8.5c1.922 0 3.5 1.578 3.5 3.5z" > < / path >
< / symbol >
< symbol id = "icon-cogs" viewBox = "0 0 30 28" >
< title > cogs< / title >
< path d = "M14 14c0-2.203-1.797-4-4-4s-4 1.797-4 4 1.797 4 4 4 4-1.797 4-4zM26 22c0-1.094-0.906-2-2-2s-2 0.906-2 2c0 1.109 0.906 2 2 2 1.109 0 2-0.906 2-2zM26 6c0-1.094-0.906-2-2-2s-2 0.906-2 2c0 1.109 0.906 2 2 2 1.109 0 2-0.906 2-2zM20 12.578v2.891c0 0.203-0.156 0.438-0.359 0.469l-2.422 0.375c-0.125 0.406-0.297 0.797-0.5 1.188 0.438 0.625 0.906 1.203 1.406 1.797 0.063 0.094 0.109 0.187 0.109 0.313 0 0.109-0.031 0.219-0.109 0.297-0.313 0.422-2.063 2.328-2.516 2.328-0.125 0-0.234-0.047-0.328-0.109l-1.797-1.406c-0.391 0.203-0.781 0.359-1.203 0.484-0.078 0.797-0.156 1.656-0.359 2.422-0.063 0.219-0.25 0.375-0.469 0.375h-2.906c-0.219 0-0.438-0.172-0.469-0.391l-0.359-2.391c-0.406-0.125-0.797-0.297-1.172-0.484l-1.844 1.391c-0.078 0.078-0.203 0.109-0.313 0.109-0.125 0-0.234-0.047-0.328-0.125-0.406-0.375-2.25-2.047-2.25-2.5 0-0.109 0.047-0.203 0.109-0.297 0.453-0.594 0.922-1.172 1.375-1.781-0.219-0.422-0.406-0.844-0.547-1.281l-2.375-0.375c-0.219-0.031-0.375-0.234-0.375-0.453v-2.891c0-0.203 0.156-0.438 0.359-0.469l2.422-0.375c0.125-0.406 0.297-0.797 0.5-1.188-0.438-0.625-0.906-1.203-1.406-1.797-0.063-0.094-0.109-0.203-0.109-0.313s0.031-0.219 0.109-0.313c0.313-0.422 2.063-2.312 2.516-2.312 0.125 0 0.234 0.047 0.328 0.109l1.797 1.406c0.391-0.203 0.781-0.359 1.203-0.5 0.078-0.781 0.156-1.641 0.359-2.406 0.063-0.219 0.25-0.375 0.469-0.375h2.906c0.219 0 0.438 0.172 0.469 0.391l0.359 2.391c0.406 0.125 0.797 0.297 1.172 0.484l1.844-1.391c0.094-0.078 0.203-0.109 0.313-0.109 0.125 0 0.234 0.047 0.328 0.125 0.406 0.375 2.25 2.063 2.25 2.5 0 0.109-0.047 0.203-0.109 0.297-0.453 0.609-0.922 1.172-1.359 1.781 0.203 0.422 0.391 0.844 0.531 1.281l2.375 0.359c0.219 0.047 0.375 0.25 0.375 0.469zM30 20.906v2.188c0 0.234-2.016 0.453-2.328 0.484-0.125 0.297-0.281 0.562-0.469 0.812 0.141 0.313 0.797 1.875 0.797 2.156 0 0.047-0.016 0.078-0.063 0.109-0.187 0.109-1.859 1.109-1.937 1.109-0.203 0-1.375-1.563-1.531-1.797-0.156 0.016-0.313 0.031-0.469 0.031s-0.313-0.016-0.469-0.031c-0.156 0.234-1.328 1.797-1.531 1.797-0.078 0-1.75-1-1.937-1.109-0.047-0.031-0.063-0.078-0.063-0.109 0-0.266 0.656-1.844 0.797-2.156-0.187-0.25-0.344-0.516-0.469-0.812-0.313-0.031-2.328-0.25-2.328-0.484v-2.188c0-0.234 2.016-0.453 2.328-0.484 0.125-0.281 0.281-0.562 0.469-0.812-0.141-0.313-0.797-1.891-0.797-2.156 0-0.031 0.016-0.078 0.063-0.109 0.187-0.094 1.859-1.094 1.937-1.094 0.203 0 1.375 1.547 1.531 1.781 0.156-0.016 0.313-0.031 0.469-0.031s0.313 0.016 0.469 0.031c0.438-0.609 0.906-1.219 1.437-1.75l0.094-0.031c0.078 0 1.75 0.984 1.937 1.094 0.047 0.031 0.063 0.078 0.063 0.109 0 0.281-0.656 1.844-0.797 2.156 0.187 0.25 0.344 0.531 0.469 0.812 0.313 0.031 2.328 0.25 2.328 0.484zM30 4.906v2.187c0 0.234-2.016 0.453-2.328 0.484-0.125 0.297-0.281 0.562-0.469 0.812 0.141 0.313 0.797 1.875 0.797 2.156 0 0.047-0.016 0.078-0.063 0.109-0.187 0.109-1.859 1.109-1.937 1.109-0.203 0-1.375-1.563-1.531-1.797-0.156 0.016-0.313 0.031-0.469 0.031s-0.313-0.016-0.469-0.031c-0.156 0.234-1.328 1.797-1.531 1.797-0.078 0-1.75-1-1.937-1.109-0.047-0.031-0.063-0.078-0.063-0.109 0-0.266 0.656-1.844 0.797-2.156-0.187-0.25-0.344-0.516-0.469-0.812-0.313-0.031-2.328-0.25-2.328-0.484v-2.188c0-0.234 2.016-0.453 2.328-0.484 0.125-0.281 0.281-0.562 0.469-0.812-0.141-0.313-0.797-1.891-0.797-2.156 0-0.031 0.016-0.078 0.063-0.109 0.187-0.094 1.859-1.094 1.937-1.094 0.203 0 1.375 1.547 1.531 1.781 0.156-0.016 0.313-0.031 0.469-0.031s0.313 0.016 0.469 0.031c0.438-0.609 0.906-1.219 1.437-1.75l0.094-0.031c0.078 0 1.75 0.984 1.937 1.094 0.047 0.031 0.063 0.078 0.063 0.109 0 0.281-0.656 1.844-0.797 2.156 0.187 0.25 0.344 0.531 0.469 0.812 0.313 0.031 2.328 0.25 2.328 0.484z" > < / path >
< / symbol >
< symbol id = "icon-upload" viewBox = "0 0 26 28" >
< title > upload< / title >
< path d = "M20 23c0-0.547-0.453-1-1-1s-1 0.453-1 1 0.453 1 1 1 1-0.453 1-1zM24 23c0-0.547-0.453-1-1-1s-1 0.453-1 1 0.453 1 1 1 1-0.453 1-1zM26 19.5v5c0 0.828-0.672 1.5-1.5 1.5h-23c-0.828 0-1.5-0.672-1.5-1.5v-5c0-0.828 0.672-1.5 1.5-1.5h6.672c0.422 1.156 1.531 2 2.828 2h4c1.297 0 2.406-0.844 2.828-2h6.672c0.828 0 1.5 0.672 1.5 1.5zM20.922 9.375c-0.156 0.375-0.516 0.625-0.922 0.625h-4v7c0 0.547-0.453 1-1 1h-4c-0.547 0-1-0.453-1-1v-7h-4c-0.406 0-0.766-0.25-0.922-0.625-0.156-0.359-0.078-0.797 0.219-1.078l7-7c0.187-0.203 0.453-0.297 0.703-0.297s0.516 0.094 0.703 0.297l7 7c0.297 0.281 0.375 0.719 0.219 1.078z" > < / path >
< / symbol >
< symbol id = "icon-arrow-circle-down" viewBox = "0 0 24 28" >
< title > arrow-circle-down< / title >
< path d = "M20.062 14.016c0-0.266-0.094-0.516-0.281-0.703l-1.422-1.422c-0.187-0.187-0.438-0.281-0.703-0.281s-0.516 0.094-0.703 0.281l-2.953 2.953v-7.844c0-0.547-0.453-1-1-1h-2c-0.547 0-1 0.453-1 1v7.844l-2.953-2.953c-0.187-0.187-0.438-0.297-0.703-0.297s-0.516 0.109-0.703 0.297l-1.422 1.422c-0.187 0.187-0.281 0.438-0.281 0.703s0.094 0.516 0.281 0.703l7.078 7.078c0.187 0.187 0.438 0.281 0.703 0.281s0.516-0.094 0.703-0.281l7.078-7.078c0.187-0.187 0.281-0.438 0.281-0.703zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z" > < / path >
< / symbol >
< symbol id = "icon-link" viewBox = "0 0 26 28" >
< title > link< / title >
< path d = "M22.75 19c0-0.406-0.156-0.781-0.438-1.062l-3.25-3.25c-0.281-0.281-0.672-0.438-1.062-0.438-0.453 0-0.812 0.172-1.125 0.5 0.516 0.516 1.125 0.953 1.125 1.75 0 0.828-0.672 1.5-1.5 1.5-0.797 0-1.234-0.609-1.75-1.125-0.328 0.313-0.516 0.672-0.516 1.141 0 0.391 0.156 0.781 0.438 1.062l3.219 3.234c0.281 0.281 0.672 0.422 1.062 0.422s0.781-0.141 1.062-0.406l2.297-2.281c0.281-0.281 0.438-0.656 0.438-1.047zM11.766 7.984c0-0.391-0.156-0.781-0.438-1.062l-3.219-3.234c-0.281-0.281-0.672-0.438-1.062-0.438s-0.781 0.156-1.062 0.422l-2.297 2.281c-0.281 0.281-0.438 0.656-0.438 1.047 0 0.406 0.156 0.781 0.438 1.062l3.25 3.25c0.281 0.281 0.672 0.422 1.062 0.422 0.453 0 0.812-0.156 1.125-0.484-0.516-0.516-1.125-0.953-1.125-1.75 0-0.828 0.672-1.5 1.5-1.5 0.797 0 1.234 0.609 1.75 1.125 0.328-0.313 0.516-0.672 0.516-1.141zM25.75 19c0 1.188-0.484 2.344-1.328 3.172l-2.297 2.281c-0.844 0.844-1.984 1.297-3.172 1.297-1.203 0-2.344-0.469-3.187-1.328l-3.219-3.234c-0.844-0.844-1.297-1.984-1.297-3.172 0-1.234 0.5-2.406 1.375-3.266l-1.375-1.375c-0.859 0.875-2.016 1.375-3.25 1.375-1.188 0-2.344-0.469-3.187-1.313l-3.25-3.25c-0.859-0.859-1.313-1.984-1.313-3.187 0-1.188 0.484-2.344 1.328-3.172l2.297-2.281c0.844-0.844 1.984-1.297 3.172-1.297 1.203 0 2.344 0.469 3.187 1.328l3.219 3.234c0.844 0.844 1.297 1.984 1.297 3.172 0 1.234-0.5 2.406-1.375 3.266l1.375 1.375c0.859-0.875 2.016-1.375 3.25-1.375 1.188 0 2.344 0.469 3.187 1.313l3.25 3.25c0.859 0.859 1.313 1.984 1.313 3.187z" > < / path >
< / symbol >
< symbol id = "icon-bars" viewBox = "0 0 24 28" >
< title > bars< / title >
< path d = "M24 21v2c0 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1zM24 13v2c0 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1zM24 5v2c0 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1z" > < / path >
< / symbol >
< symbol id = "icon-cloud-download" viewBox = "0 0 30 28" >
< title > cloud-download< / title >
< path d = "M20 14.5c0-0.281-0.219-0.5-0.5-0.5h-3.5v-5.5c0-0.266-0.234-0.5-0.5-0.5h-3c-0.266 0-0.5 0.234-0.5 0.5v5.5h-3.5c-0.281 0-0.5 0.234-0.5 0.5 0 0.125 0.047 0.266 0.141 0.359l5.5 5.5c0.094 0.094 0.219 0.141 0.359 0.141 0.125 0 0.266-0.047 0.359-0.141l5.484-5.484c0.094-0.109 0.156-0.234 0.156-0.375zM30 18c0 3.313-2.688 6-6 6h-17c-3.859 0-7-3.141-7-7 0-2.719 1.578-5.187 4.031-6.328-0.016-0.234-0.031-0.453-0.031-0.672 0-4.422 3.578-8 8-8 3.25 0 6.172 1.969 7.406 4.969 0.719-0.625 1.641-0.969 2.594-0.969 2.203 0 4 1.797 4 4 0 0.766-0.219 1.516-0.641 2.156 2.719 0.641 4.641 3.063 4.641 5.844z" > < / path >
< / symbol >
< symbol id = "icon-file-text-o" viewBox = "0 0 24 28" >
< title > file-text-o< / title >
< path d = "M22.937 5.938c0.578 0.578 1.062 1.734 1.062 2.562v18c0 0.828-0.672 1.5-1.5 1.5h-21c-0.828 0-1.5-0.672-1.5-1.5v-25c0-0.828 0.672-1.5 1.5-1.5h14c0.828 0 1.984 0.484 2.562 1.062zM16 2.125v5.875h5.875c-0.094-0.266-0.234-0.531-0.344-0.641l-4.891-4.891c-0.109-0.109-0.375-0.25-0.641-0.344zM22 26v-16h-6.5c-0.828 0-1.5-0.672-1.5-1.5v-6.5h-12v24h20zM6 12.5c0-0.281 0.219-0.5 0.5-0.5h11c0.281 0 0.5 0.219 0.5 0.5v1c0 0.281-0.219 0.5-0.5 0.5h-11c-0.281 0-0.5-0.219-0.5-0.5v-1zM17.5 16c0.281 0 0.5 0.219 0.5 0.5v1c0 0.281-0.219 0.5-0.5 0.5h-11c-0.281 0-0.5-0.219-0.5-0.5v-1c0-0.281 0.219-0.5 0.5-0.5h11zM17.5 20c0.281 0 0.5 0.219 0.5 0.5v1c0 0.281-0.219 0.5-0.5 0.5h-11c-0.281 0-0.5-0.219-0.5-0.5v-1c0-0.281 0.219-0.5 0.5-0.5h11z" > < / path >
< / symbol >
< symbol id = "icon-puzzle-piece" viewBox = "0 0 26 28" >
< title > puzzle-piece< / title >
< path d = "M26 17.156c0 1.609-0.922 2.953-2.625 2.953-1.906 0-2.406-1.734-4.125-1.734-1.25 0-1.719 0.781-1.719 1.937 0 1.219 0.5 2.391 0.484 3.594v0.078c-0.172 0-0.344 0-0.516 0.016-1.609 0.156-3.234 0.469-4.859 0.469-1.109 0-2.266-0.438-2.266-1.719 0-1.719 1.734-2.219 1.734-4.125 0-1.703-1.344-2.625-2.953-2.625-1.641 0-3.156 0.906-3.156 2.703 0 1.984 1.516 2.844 1.516 3.922 0 0.547-0.344 1.031-0.719 1.391-0.484 0.453-1.172 0.547-1.828 0.547-1.281 0-2.562-0.172-3.828-0.375-0.281-0.047-0.578-0.078-0.859-0.125l-0.203-0.031c-0.031-0.016-0.078-0.016-0.078-0.031v-16c0.063 0.047 0.984 0.156 1.141 0.187 1.266 0.203 2.547 0.375 3.828 0.375 0.656 0 1.344-0.094 1.828-0.547 0.375-0.359 0.719-0.844 0.719-1.391 0-1.078-1.516-1.937-1.516-3.922 0-1.797 1.516-2.703 3.172-2.703 1.594 0 2.938 0.922 2.938 2.625 0 1.906-1.734 2.406-1.734 4.125 0 1.281 1.156 1.719 2.266 1.719 1.797 0 3.578-0.406 5.359-0.5v0.031c-0.047 0.063-0.156 0.984-0.187 1.141-0.203 1.266-0.375 2.547-0.375 3.828 0 0.656 0.094 1.344 0.547 1.828 0.359 0.375 0.844 0.719 1.391 0.719 1.078 0 1.937-1.516 3.922-1.516 1.797 0 2.703 1.516 2.703 3.156z" > < / path >
< / symbol >
2018-09-01 09:57:42 +02:00
< symbol id = "icon-percent" viewBox = "0 0 24 28" >
< title > percent< / title >
< path d = "M20 20c0-1.094-0.906-2-2-2s-2 0.906-2 2 0.906 2 2 2 2-0.906 2-2zM8 8c0-1.094-0.906-2-2-2s-2 0.906-2 2 0.906 2 2 2 2-0.906 2-2zM24 20c0 3.313-2.688 6-6 6s-6-2.688-6-6 2.688-6 6-6 6 2.688 6 6zM22.5 3c0 0.219-0.078 0.422-0.203 0.594l-16.5 22c-0.187 0.25-0.484 0.406-0.797 0.406h-2.5c-0.547 0-1-0.453-1-1 0-0.219 0.078-0.422 0.203-0.594l16.5-22c0.187-0.25 0.484-0.406 0.797-0.406h2.5c0.547 0 1 0.453 1 1zM12 8c0 3.313-2.688 6-6 6s-6-2.688-6-6 2.688-6 6-6 6 2.688 6 6z" > < / path >
< / symbol >
2018-08-31 17:57:18 +02:00
< / defs >
< / svg >
<!-- }}} -->
2018-08-31 10:57:06 +02:00
<!-- {{{ header -->
< div class = "navbar main-navbar navbar-static-top" ng-controller = "NavCtrl" >
2018-09-01 09:57:42 +02:00
< div class = "container" >
< div class = "navbar-header" >
< button type = "button" class = "navbar-toggle collapsed" ng-click = "collapsed = !collapsed" >
< span class = "sr-only" > {{ 'Toggle navigation' | translate }}< / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< / button >
< a class = "navbar-brand" >
< svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-down" > < / use > < / svg > {{ name }}
< / a >
< / div >
2018-08-31 10:57:06 +02:00
2018-09-01 09:57:42 +02:00
< form class = "navbar-form navbar-right" role = "search" >
< div class = "form-group" >
< input class = "form-control" type = "text" placeholder = "{{ 'Search' | translate }}" ng-model = "downloadFilter" autocomplete = "off" ng-change = "onDownloadFilter()" / >
< / div >
< / form >
<!-- {{{ Nav menu -->
< div class = "collapse navbar-collapse" collapse = "collapsed" >
< ul class = "nav navbar-nav" >
< li class = "dropdown" dropdown >
< a class = "dropdown-toggle" href = "#" dropdown-toggle >
{{ 'Add' | translate }} < span class = "caret" > < / span >
< / a >
< ul class = "dropdown-menu" >
< li >
< a href = "#" ng-click = "addUris()" >
< svg class = "icon icon-fw" > < use xlink:href = "#icon-link" > < / use > < / svg > {{ 'By URIs' | translate }}
< / a >
< / li >
< li ng-show = "isFeatureEnabled('BitTorrent') && enable.torrent" >
< a href = "#" ng-click = "addTorrents()" >
< svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{ 'By Torrents' | translate }}
< / a >
< / li >
< li ng-show = "isFeatureEnabled('Metalink') && enable.metalink" >
< a href = "#" ng-click = "addMetalinks()" >
< svg class = "icon icon-fw" > < use xlink:href = "#icon-file-text-o" > < / use > < / svg > {{ 'By Metalinks' | translate }}
< / a >
< / li >
< / ul >
< / li >
< li class = "dropdown" dropdown >
< a class = "dropdown-toggle" href = "#" dropdown-toggle > {{ 'Manage' | translate }} < span class = "caret" > < / span > < / a >
< ul class = "dropdown-menu" >
< li >
< a href = "#" ng-click = "forcePauseAll()" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-pause" > < / use > < / svg > {{ 'Pause All' | translate }}< / a >
< / li >
< li >
< a href = "#" ng-click = "unpauseAll()" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-play" > < / use > < / svg > {{ 'Resume Paused' | translate }}< / a >
< / li >
< li >
< a href = "#" ng-click = "purgeDownloadResult()" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-close-circle" > < / use > < / svg > {{ 'Purge Completed' | translate }}< / a >
< / li >
< li >
< a href = "#" ng-click = "shutDownServer()" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-power-off" > < / use > < / svg > {{ 'Shutdown Server' | translate }}< / a >
< / li >
<!-- not adding remove all as requires many rpc syscalls to finish
< li >
< a
href="#"
ng-click="removeAll()">< span class = "fa fa-fw fa-fire" > < / span > Remove All< / a >
< / li >
-->
< / ul >
< / li >
< / ul >
< ul class = "nav navbar-nav" >
< li class = "dropdown" dropdown >
< a href = "#" class = "dropdown-toggle" dropdown-toggle > {{ 'Settings' | translate }} < span class = "caret" > < / span > < / a >
< ul class = "dropdown-menu" >
< li >
< a ng-click = "changeCSettings()" href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cog" > < / use > < / svg > {{ 'Connection Settings' | translate }}< / a >
< / li >
< li >
< a ng-click = "changeGSettings()" href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cogs" > < / use > < / svg > {{ 'Global Settings' | translate }}< / a >
< / li >
< li >
< a ng-click = "showServerInfo()" href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-info-circle" > < / use > < / svg > {{ 'Server info' | translate }}< / a >
< / li >
< li >
< a ng-click = "showAbout()" href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-question-circle" > < / use > < / svg > {{ 'About and contribute' | translate }}< / a >
< / li >
< / ul >
< / li >
< / ul >
< ul class = "nav navbar-nav pull-right" ng-show = "false" >
< li class = "dropdown" dropdown >
< a class = "dropdown-toggle" dropdown-toggle href = "#" > {{ 'Miscellaneous' | translate }} < span class = "caret" > < / span > < / a >
< ul class = "dropdown-menu" >
< li >
< a href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-list-alt" > < / use > < / svg > {{ 'Global Statistics' | translate }}< / a >
< / li >
< li >
< a href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-info-circle" > < / use > < / svg > {{ 'About' | translate }}< / a >
< / li >
< / ul >
< / li >
< / ul >
< ul class = "nav navbar-nav" >
< li class = "dropdown" dropdown >
< a href = "#" class = "dropdown-toggle" dropdown-toggle > {{ 'Language' | translate }} < span class = "caret" > < / span > < / a >
< ul class = "dropdown-menu" >
< li >
< a ng-click = "changeLanguage('en_US')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-us" > < / span > English< / a >
< / li >
< li >
< a ng-click = "changeLanguage('th_TH')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-th" > < / span > ไทย< / a >
< / li >
< li >
< a ng-click = "changeLanguage('nl_NL')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-nl" > < / span > Nederlands< / a >
< / li >
< li >
< a ng-click = "changeLanguage('zh_CN')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-cn" > < / span > 简体中文< / a >
< / li >
< li >
< a ng-click = "changeLanguage('zh_TW')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-tw" > < / span > 繁體中文< / a >
< / li >
< li >
< a ng-click = "changeLanguage('pl_PL')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-pl" > < / span > Polish< / a >
< / li >
< li >
< a ng-click = "changeLanguage('fr_FR')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-fr" > < / span > Français< / a >
< / li >
< li >
< a ng-click = "changeLanguage('de_DE')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-de" > < / span > Deutsch< / a >
< / li >
< li >
< a ng-click = "changeLanguage('es_ES')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-es" > < / span > Español< / a >
< / li >
< li >
< a ng-click = "changeLanguage('ru_RU')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-ru" > < / span > Русский< / a >
< / li >
< li >
< a ng-click = "changeLanguage('it_IT')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-it" > < / span > Italiano< / a >
< / li >
< li >
< a ng-click = "changeLanguage('tr_TR')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-tr" > < / span > Turkish< / a >
< / li >
< li >
< a ng-click = "changeLanguage('cs_CZ')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-cz" > < / span > Czech< / a >
< / li >
< li >
< a ng-click = "changeLanguage('fa_IR')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-ir" > < / span > Farsi< / a >
< / li >
< li >
< a ng-click = "changeLanguage('id_ID')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-id" > < / span > Indonesian< / a >
< / li >
< li >
< a ng-click = "changeLanguage('pt_BR')" href = "#" > < span class = "fa fa-fw flag-icon flag-icon-br" > < / span > Brazilian Portuguese< / a >
< / li >
< / ul >
< / li >
< / ul >
< / div >
<!-- }}} -->
2018-08-31 10:57:06 +02:00
< / div >
2018-09-01 09:57:42 +02:00
<!-- /.nav - collapse -->
2018-08-31 10:57:06 +02:00
< / div >
<!-- }}} -->
<!-- {{{ body -->
< div role = "main" class = "container-fluid" >
2018-09-01 09:57:42 +02:00
<!-- {{{ alerts -->
< div ng-controller = "AlertCtrl" class = "row-fluid alerts" >
< div class = "alert alert-{{alert.type == 'error' ? 'danger' : alert.type}}" ng-repeat = "alert in pendingAlerts" >
< button type = "button" class = "close" ng-click = "removeAlert($index)" > × < / button >
< span ng-bind-html = "alert.msg" > < / span >
2018-08-31 10:57:06 +02:00
< / div >
2018-09-01 09:57:42 +02:00
< / div >
<!-- }}} -->
2018-08-31 10:57:06 +02:00
< div class = "row-fluid" >
< div ng-class = "{'col-md-3': enable.sidebar.show}" ng-show = "enable.sidebar.show" >
<!-- {{{ nav side bar -->
< div class = "sidebar-nav" >
<!-- {{{ global statistics -->
< ul class = "nav nav-list" ng-if = "enable.sidebar.stats" >
< li class = "nav-header" ng-show = "totalAria2Downloads()" > {{ 'Global Statistics' | translate }}< / li >
< li >
< div
id="global-graph"
yticks="3"
xticks="1"
dspeed="gstats.downloadSpeed"
uspeed="gstats.uploadSpeed"
dgraph ng-show="totalAria2Downloads()"
nolabel="true"
draw="true">
< / div >
< / li >
< li >
2018-08-31 17:57:18 +02:00
< span title = "Upload Speed" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-up" > < / use > < / svg > {{gstats.uploadSpeed | bspeed}}< / span > < br / >
< span title = "Download Speed" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{gstats.downloadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< / ul >
<!-- }}} -->
< br / >
<!-- {{{ download filters -->
< ul id = "filters" class = "clearfix nav nav-list" ng-show = "enable.sidebar.filters" >
< li class = "nav-header" > {{ 'Download Filters' | translate }}< / li >
< li class = "checkbox" >
< label for = "filter-speed" >
< input type = "checkbox" ng-model = "filterSpeed" ng-change = "persistFilters()" id = "filter-speed" >
{{ 'Running' | translate }}
< / label >
< / li >
< li class = "active checkbox" >
< label for = "filter-active" >
< input type = "checkbox" ng-model = "filterActive" ng-change = "persistFilters()" id = "filter-active" >
{{ 'Active' | translate }}
< / label >
< / li >
< li class = "checkbox" >
< label for = "filter-waiting" >
< input type = "checkbox" ng-model = "filterWaiting" ng-change = "persistFilters()" id = "filter-waiting" >
{{ 'Waiting' | translate }}
< / label >
< / li >
< li class = "checkbox" >
< label for = "filter-complete" >
< input type = "checkbox" ng-model = "filterComplete" ng-change = "persistFilters()" id = "filter-complete" >
{{ 'Complete' | translate }}
< / label >
< / li >
< li class = "checkbox" >
< label for = "filter-error" >
< input type = "checkbox" ng-model = "filterError" ng-change = "persistFilters()" id = "filter-error" >
{{ 'Error' | translate }}
< / label >
< / li >
< li class = "checkbox" >
< label for = "filter-paused" >
< input type = "checkbox" ng-model = "filterPaused" ng-change = "persistFilters()" id = "filter-paused" >
{{ 'Paused' | translate }}
< / label >
< / li >
< li class = "checkbox" >
< label for = "filter-removed" >
< input type = "checkbox" ng-model = "filterRemoved" ng-change = "persistFilters()" id = "filter-removed" >
{{ 'Removed' | translate }}
< / label >
< / li >
< li class = "checkbox" >
< label >
< input type = "checkbox" ng-model = "hideLinkedMetadata" id = "hide-linked-metadata" >
{{ 'Hide linked meta-data' | translate }}
< / label >
< / li >
< li >
< p >
{{ 'Displaying' | translate }} < strong > {{totalDownloads}}< / strong > {{ 'of' | translate }} < em > {{totalAria2Downloads()}} < / em > {{ 'downloads' | translate }}
< / p >
< p >
< button ng-click = "toggleStateFilters()" class = "btn btn-default btn-xs" > {{ 'Toggle' | translate }}< / button >
< button ng-click = "resetFilters()" class = "btn btn-default btn-xs" > {{ 'Reset filters' | translate }}< / button >
< / p >
< / li >
< / ul >
<!-- }}} -->
< br / >
<!-- {{{ starred properties -->
< ul class = "clearfix nav nav-list" ng-controller = "StarredPropsCtrl" ng-show = "properties.length && enable.sidebar.starredProps" >
< li class = "nav-header" > {{ 'Quick Access Settings' | translate }}< / li >
< li ng-repeat = "prop in properties" class = "form-group" >
< label title = "{{prop.desc}}" style = "width: 100%;" > {{prop.name}}< / label >
< div class = "form-group" >
< select style = "width: 100%;" ng-show = "prop.options.length && !prop.multiline" class = "form-control" ng-options = "opt for opt in prop.options" ng-model = "prop.val" > < / select >
< input style = "width: 100%;" ng-show = "!prop.options.length && !prop.multiline" type = "text" class = "form-control input-large" ng-model = "prop.val" / >
< textarea style = "width: 100%;" ng-show = "prop.multiline" ng-model = "prop.val" > < / textarea >
< / div >
< / li >
< li >
< button ng-disabled = "!enabled()" ng-click = "save()" class = "btn btn-default btn-sm" > {{ 'Save settings' | translate }}< / button >
< / li >
< / ul >
<!-- }}} -->
< / div >
<!-- }}} -->
< / div >
< div ng-class = "{'col-md-9': enable.sidebar.show, 'col-md-12': !enable.sidebar.show }" >
<!-- {{{ downloads -->
<!-- Bug?? <div ng - show="!totalAria2Downloads() && totalAria2Downloads() > getDownloads()" class="hero - unit"> -->
< div ng-show = "!totalAria2Downloads()" class = "download-empty" >
{{ 'Currently no download in line to display, use the' | translate }} < strong > {{ 'Add' | translate }}< / strong > {{ 'download button to start downloading files!' | translate }}
< / div >
<!-- {{{ download template -->
< div
ng-repeat="download in getDownloads()"
class="row-fluid download" data-gid="{{download.gid}}"
ng-click="toggleCollapsed(download)">
< div class = "download-name download-item download-controls clearfix" >
<!-- {{{ download control buttons -->
< div class = "btn-group" role = "group" ng-click = "$event.stopPropagation()" >
< button
ng-if="hasStatus(download, ['active', 'waiting'])"
class="btn btn-default"
ng-click="pause(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-pause" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
ng-if="hasStatus(download, 'paused')"
class="btn btn-default"
ng-click="resume(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-play" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
ng-if="canRestart(download)"
class="btn btn-default"
ng-click="restart(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-repeat" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
class="btn btn-default hidden-phone"
ng-click="remove(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-stop" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
ng-if="hasStatus(download, 'paused')"
class="btn btn-default"
ng-click="selectFiles(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-list" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
class="btn btn-default hidden-phone"
ng-if="['waiting', 'active'].indexOf( getType(download) )!= -1"
ng-click="showSettings(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-cog" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
ng-if="hasStatus(download, 'waiting')"
class="btn btn-default hidden-phone"
ng-click="moveDown(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< button
ng-if="hasStatus(download, 'waiting')"
class="btn btn-default hidden-phone"
ng-click="moveUp(download)">
2018-08-31 17:57:18 +02:00
< svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-up" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
< / button >
< div class = "btn-group" dropdown >
< button class = "btn btn-default dropdown-toggle" dropdown-toggle >
< span class = "caret" > < / span >
< / button >
< ul class = "dropdown-menu pull-right" >
< li class = "visible-phone" >
< a
ng-click="showSettings(download)"
ng-show="['waiting', 'active'].indexOf( getType(download) )!= -1"
2018-08-31 17:57:18 +02:00
href="#">< svg class = "icon icon-fw" > < use xlink:href = "#icon-cog" > < / use > < / svg > {{ 'Settings' | translate }}< / a >
2018-08-31 10:57:06 +02:00
< / li >
< li ng-show = "download.bittorrent && false" >
2018-08-31 17:57:18 +02:00
< a href = "#" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-list-alt" > < / use > < / svg > {{ 'Peers' | translate }}< / a >
2018-08-31 10:57:06 +02:00
< / li >
< li >
< a ng-click = "toggleCollapsed(download)"
2018-08-31 17:57:18 +02:00
href="#">< svg class = "icon icon-fw" > < use xlink:href = "#icon-info-circle" > < / use > < / svg > {{ 'More Info' | translate }}< / a >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "visible-phone" >
< a ng-click = "remove(download)"
2018-08-31 17:57:18 +02:00
href="#">< svg class = "icon icon-fw" > < use xlink:href = "#icon-times" > < / use > < / svg > {{ 'Remove' | translate }}< / a >
2018-08-31 10:57:06 +02:00
< / li >
< / ul >
< / div >
< / div >
<!-- }}} -->
< div class = "title" >
2018-08-31 17:57:18 +02:00
< svg ng-show = "download.metadata" class = "icon icon-fw" style = "fill: red" > < use xlink:href = "#icon-magnet" > < / use > < / svg >
2018-08-31 10:57:06 +02:00
{{download.name}}
< / div >
< / div >
< div class = "download-overview download-item clearfix" ng-switch = "download.status" >
<!-- {{{ statistics -->
< ul class = "stats pull-left" ng-switch-when = "active" >
<!-- {{{ active download statistics -->
< li class = "label label-active hidden-phone hidden-tablet" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-play" > < / use > < / svg > {{ 'Active' | translate }}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default" ng-class = "{'label-active': download.downloadSpeed > 2048, 'label-warning': download.downloadSpeed <= 2048}" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{download.downloadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li ng-show = "download.bittorrent" class = "label label-default hidden-phone" ng-class = "{'label-info': download.uploadSpeed > 2048}" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Upload Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-up" > < / use > < / svg > {{download.uploadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Estimated time' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-clock-o" > < / use > < / svg > {{getEta(download) | time}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Downloaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{download.fmtCompletedLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Uploaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-upload" > < / use > < / svg > {{download.fmtUploadLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-09-01 09:57:42 +02:00
< span title = "{{ 'Ratio' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-percent" > < / use > < / svg > {{ 'Ratio' | translate }} {{getRatio(download)}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone hidden-tablet" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Progress' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-chevron-right" > < / use > < / svg > {{getProgress(download)}}%< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "verifing" >
<!-- {{{ active download statistics -->
< li class = "label label-warning hidden-phone hidden-tablet" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-play" > < / use > < / svg > {{ 'Verifing' | translate }}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default" ng-class = "{'label-active': download.downloadSpeed > 2048, 'label-warning': download.downloadSpeed <= 2048}" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{download.downloadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li ng-show = "download.bittorrent" class = "label label-default hidden-phone" ng-class = "{'label-info': download.uploadSpeed > 2048}" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Upload Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-up" > < / use > < / svg > {{download.uploadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Estimated time' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-clock-o" > < / use > < / svg > {{getEta(download) | time}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Downloaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{download.fmtCompletedLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone hidden-tablet" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Progress' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-chevron-right" > < / use > < / svg > {{getProgress(download)}}%< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "verifyPending" >
<!-- {{{ active download statistics -->
< li class = "label label-warning hidden-phone hidden-tablet" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-play" > < / use > < / svg > {{ 'Verify Pending' | translate}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default" ng-class = "{'label-active': download.downloadSpeed > 2048, 'label-warning': download.downloadSpeed <= 2048}" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{download.downloadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li ng-show = "download.bittorrent" class = "label label-default hidden-phone" ng-class = "{'label-info': download.uploadSpeed > 2048}" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Upload Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-up" > < / use > < / svg > {{download.uploadSpeed | bspeed}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Estimated time' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-clock-o" > < / use > < / svg > {{getEta(download) | time}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Downloaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > {{download.fmtCompletedLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone hidden-tablet" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Progress' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-chevron-right" > < / use > < / svg > {{getProgress(download)}}%< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "paused" >
<!-- {{{ paused download statistics -->
< li class = "label label-info" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-pause" > < / use > < / svg > {{ 'Paused' | translate }}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-info" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-info hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Downloaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-download" > < / use > < / svg > {{download.fmtCompletedLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-info hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Path' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-folder-open" > < / use > < / svg > {{download.dir}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "waiting" >
<!-- {{{ paused download statistics -->
< li class = "label label-default" >
2018-09-01 09:57:42 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-chevron-right" > < / use > < / svg > {{ 'Waiting' | translate }}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Downloaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-download" > < / use > < / svg > {{download.fmtCompletedLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Path' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-folder-open" > < / use > < / svg > {{download.dir}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "complete" >
<!-- {{{ complete download statistics -->
< li class = "label label-success" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-check-square-o" > < / use > < / svg > {{ 'Complete' | translate }}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-success" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-09-01 09:57:42 +02:00
< span title = "{{ 'Uploaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-upload" > < / use > < / svg > {{download.fmtUploadLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-active hidden-phone" >
2018-09-01 09:57:42 +02:00
< span title = "{{ 'Ratio' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-percent" > < / use > < / svg > {{ 'Ratio' | translate }} {{getRatio(download)}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-success hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Path' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-folder-open" > < / use > < / svg > {{download.dir}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "removed" >
<!-- {{{ removed download statistics -->
< li class = "label label-warning" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download status' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-times" > < / use > {{ 'Removed' | translate }}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-warning" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-warning hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Path' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-folder-open" > < / use > < / svg > {{download.dir}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
< ul class = "stats pull-left" ng-switch-when = "error" >
<!-- {{{ error download statistics -->
< li class = "label label-danger" >
2018-09-01 09:57:42 +02:00
< span title = "{{ 'Error ' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-close-circle" > < / use > < / svg > {{getErrorStatus(download.errorCode)}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > {{download.fmtTotalLength}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
< li class = "label label-default hidden-phone" >
2018-08-31 17:57:18 +02:00
< span title = "{{ 'Download Path' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-folder-open" > < / use > < / svg > {{download.dir}}< / span >
2018-08-31 10:57:06 +02:00
< / li >
<!-- }}} -->
< / ul >
<!-- }}} -->
< / div >
< div class = "download-progress download-item" >
< div class = "progress" >
< div ng-class = "'progress-bar progress-bar-striped ' + getProgressClass(download)" style = "width: {{getProgress(download)}}%;" > < / div >
< / div >
< / div >
< div ng-switch = "download.collapsed" >
< div ng-switch-when = "false" collapse = "download.animCollapsed" >
< div class = "download-item" ng-show = "download.numPieces > 1" >
< canvas bitfield = "download.bitfield" draw = "!download.collapsed" pieces = "download.numPieces" class = "progress chunk-canvas" width = "1400" chunkbar > < / canvas >
< / div >
< ul class = "stats download-item" >
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Estimated time' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-clock-o" > < / use > < / svg > < span class = "download-eta" > {{getEta(download) | time}}< / span > < / li >
2018-09-01 09:57:42 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Download Size' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-cloud-download" > < / use > < / svg > < span class = "download-totalLength" > {{download.fmtTotalLength}}< / span > < / li >
2018-09-01 09:57:42 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Downloaded' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-download" > < / use > < / svg > < span class = "download-completedLength" > {{download.fmtCompletedLength}}< / span > < / li >
2018-09-01 09:57:42 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Download Speed' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-down" > < / use > < / svg > < span class = "download-downloadSpeed" > {{download.fmtDownloadSpeed}}< / span > < / li >
2018-08-31 10:57:06 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Upload Speed' | translate }}" ng-show = "download.bittorrent" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-arrow-circle-o-up" > < / use > < / svg > < span class = "download-uploadSpeed" > {{download.fmtUploadSpeed}}< / span > < / li >
2018-09-01 09:57:42 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Uploaded' | translate }}" ng-show = "download.bittorrent" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-upload" > < / use > < / svg > < span class = "download-uploadLength" > {{download.fmtUploadLength}}< / span > < / li >
2018-09-01 09:57:42 +02:00
< li class = "label label-default" title = "{{ 'Ratio' | translate }}" ng-show = "download.bittorrent" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-percent" > < / use > < / svg > < span title = "{{ 'Ratio' | translate }}" > {{ 'Ratio' | translate }} {{getRatio(download)}}< / span > < / li >
2018-08-31 10:57:06 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = {{download.connectionsTitle}} > < svg class = "icon icon-fw" > < use xlink:href = "#icon-link" > < / use > < / svg > < span class = "download-connections" > {{download.connections}}{{download.numSeeders}}< / span > < / li >
2018-08-31 10:57:06 +02:00
2018-08-31 17:57:18 +02:00
< li class = "label label-default" title = "{{ 'Download GID' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-bars" > < / use > < / svg > < span class = "download-gid" > {{download.gid}}< / span > < / li >
< li class = "label label-default" title = "{{ 'Number of Pieces' | translate }}" > {{ '# of' | translate }} < svg class = "icon icon-fw" > < use xlink:href = "#icon-puzzle-piece" > < / use > < / svg > < span class = "download-numPieces" > {{download.numPieces}}< / span > < / li >
< li class = "label label-default" title = "{{ 'Piece Length' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-puzzle-piece" > < / use > < / svg > {{ 'Length' | translate }} < span class = "download-pieceLength" > {{download.fmtPieceLength}}< / span > < / li >
< li class = "label label-default" title = "{{ 'Download Path' | translate }}" > < svg class = "icon icon-fw" > < use xlink:href = "#icon-folder-open" > < / use > < / svg > < span class = "download-dir" > {{download.dir}}< / span > < / li >
2018-08-31 10:57:06 +02:00
< / ul >
< ul class = "download-files hidden-phone download-item" >
< li class = "label label-default" ng-repeat = "file in download.files" ng-class = "{'label-success': file.selected}" >
< a ng-if = "hasDirectURL()" ng-click = "$event.stopPropagation()" ng-href = "{{getDirectURL()}}{{file.relpath | encodeURI}}" target = "download" > {{file.relpath}} ({{file.fmtLength}})< / a >
< span ng-if = "!hasDirectURL()" > {{file.relpath}} ({{file.fmtLength}})< / span >
< / li >
< / ul >
< div ng-show = "hasStatus(download, 'active')" class = "download-item hidden-phone" >
< div class = "download-graph" dspeed = "download.downloadSpeed" uspeed = "download.uploadSpeed" xticks = "7" yticks = "7" dgraph draw = "!download.collapsed" > < / div >
< / div >
< / div >
< / div >
< / div >
<!-- }}} -->
<!-- }}} -->
< / div >
<!-- {{{ download pagination -->
< div class = "col-md-offset-3 col-md-9" ng-show = "totalDownloads > pageSize" >
< div class = "pagination pull-right" >
< pagination
total-items="totalDownloads"
items-per-page="pageSize"
max-size="11"
ng-model="currentPage"
boundary-links="true"
previous-text="‹ "
next-text="› "
first-text="« "
last-text="» "
>
< / pagination >
< / div >
< / div >
<!-- }}} -->
< / div >
2018-09-01 09:57:42 +02:00
2018-08-31 10:57:06 +02:00
< / div >
<!-- }}} -->
<!-- {{{ modals -->
< div ng-controller = "ModalCtrl" >
<!-- {{{ add uri modal -->
< script type = "text/ng-template" id = "getUris.html" >
< div class = "modal-header" >
< button class = "close" ng-click = "$dismiss()" > × < / button >
< h4 > {{ 'Add Downloads By URIs' | translate }}< / h4 >
< / div >
< form class = "modal-body" >
< fieldset >
< p class = "help-block" >
{{ '- You can add multiple downloads (files) at the same time by putting URIs for each file on a separate line.' | translate }}< br / >
{{ '- You can also add multiple URIs (mirrors) for the *same* file. To do this, separate the URIs by a space.' | translate }}< br / >
{{ '- A URI can be HTTP(S)/FTP/BitTorrent-Magnet.' | translate }}< / br >
< / p >
< textarea rows = "4" style = "width: 100%" ng-model = "getUris.uris" autofocus placeholder = "http://mirror1.com/f1.jpg http://mirror2.com/f1.jpg\nhttp://mirror1.com/f2.mp4 http://mirror2.com/f2.mp4 --out=file2.mp4" > < / textarea >
< br / > < br / >
< div >
< div ng-click = "getUris.downloadSettingsCollapsed = !getUris.downloadSettingsCollapsed" class = "modal-advanced-title" >
{{ 'Download settings' | translate }}
2018-08-31 17:57:18 +02:00
< span class = "caret" ng-class = "{ 'rotate-90': getUris.downloadSettingsCollapsed }" > < / span >
2018-08-31 10:57:06 +02:00
< / div >
< div collapse = "getUris.downloadSettingsCollapsed" class = "form-horizontal modal-advanced-options" >
< div class = "form-group" ng-repeat = "(name, set) in getUris.settings" >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xxlarge modal-form-input-verylarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< / div >
< br / >
< / div >
< / div >
< br / >
< div ng-click = "getUris.advancedSettingsCollapsed = !getUris.advancedSettingsCollapsed" class = "modal-advanced-title" >
{{ 'Advanced settings' | translate }}
2018-08-31 17:57:18 +02:00
< span class = "caret" ng-class = "{ 'rotate-90': getUris.advancedSettingsCollapsed }" > < / span >
2018-08-31 10:57:06 +02:00
< / div >
< div collapse = "getUris.advancedSettingsCollapsed" class = "form-horizontal modal-advanced-options" >
< div class = "form-group" ng-repeat = "(name, set) in getUris.fsettings" >
< p class = "col-sm-offset-3 col-sm-9 help-block controls" > {{set.desc}}< / p >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xxlarge modal-form-input-verylarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< / div >
< br / >
< / div >
< / div >
< / div >
< / fieldset >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Cancel' | translate }}< / button >
< button class = "btn btn-default btn-primary" ng-click = "$close()" > {{ 'Start' | translate }}< / button >
< / div >
< / form >
< / script >
<!-- }}} -->
<!-- {{{ add torrent modal -->
< script type = "text/ng-template" id = "getTorrents.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{ 'Add Downloads By Torrents' | translate }}< / h4 >
< / div >
< form class = "modal-body" >
< fieldset >
< legend > {{ 'Select Torrents' | translate }}< / legend >
< p class = "help-block" >
{{ '- Select the torrent from the local filesystem to start the download.' | translate }}< br / >
{{ '- You can select multiple torrents to start multiple downloads.' | translate }}< br / >
{{ '- To add a BitTorrent-Magnet URL, use the Add By URI option and add it there.' | translate }}
< / p >
< div class = "form-horizontal form-group" >
< label class = "control-label" style = "text-align: left;" > < b > {{ 'Select a Torrent' | translate }}:< / b > < / label >
< div class = "controls" >
< input type = "file" fselect = "getTorrents.files" multiple / >
< / div >
< / div >
< br / >
< div >
< div class = "modal-advanced-title" >
{{ 'Download settings' | translate }}
< / div >
< div class = "form-horizontal modal-advanced-options" >
< div class = "form-group" ng-repeat = "(name, set) in getTorrents.settings" >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xxlarge modal-form-input-verylarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< / div >
< br / >
< / div >
< / div >
< br / >
< div ng-click = "getTorrents.collapsed = !getTorrents.collapsed" class = "modal-advanced-title" >
{{ 'Advanced settings' | translate }}
2018-08-31 17:57:18 +02:00
< span class = "caret" ng-class = "{ 'rotate-90': getTorrents.collapsed }" > < / span >
2018-08-31 10:57:06 +02:00
< / div >
< div collapse = "getTorrents.collapsed" class = "form-horizontal modal-advanced-options" >
< div class = "form-group" ng-repeat = "(name, set) in getTorrents.fsettings" >
< p class = "col-sm-offset-3 col-sm-9 help-block controls" > {{set.desc}}< / p >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xxlarge modal-form-input-verylarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< / div >
< br / >
< / div >
< / div >
< / div >
< / fieldset >
< / form >
< div class = "modal-footer" >
< button class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Cancel' | translate }}< / button >
< button class = "btn btn-default btn-primary" ng-click = "$close()" > {{ 'Start' | translate }}< / button >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ add metalink modal -->
< script type = "text/ng-template" id = "getMetalinks.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{ 'Add Downloads By Metalinks' | translate }}< / h4 >
< / div >
< form class = "modal-body" >
< fieldset >
< legend > {{ 'Select Metalinks' | translate }}< / legend >
< p class = "help-block" >
{{ '- Select the Metalink from the local filesystem to start the download.' | translate }}< br / >
{{ '- You can select multiple Metalinks to start multiple downloads.' | translate }}
< / p >
< div class = "form-horizontal form-group" >
< label class = "control-label" style = "text-align: left;" > < b > {{ 'Select a Metalink' | translate }}:< / b > < / label >
< div class = "controls" >
< input type = "file" fselect = "getMetalinks.files" multiple / >
< / div >
< / div >
< br / >
< div >
< div class = "modal-advanced-title" >
{{ 'Download settings' | translate }}
< / div >
< div class = "form-horizontal modal-advanced-options" >
< div class = "form-group" ng-repeat = "(name, set) in getMetalinks.settings" >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xxlarge modal-form-input-verylarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< / div >
< br / >
< / div >
< / div >
< br / >
< div ng-click = "getMetalinks.collapsed = !getMetalinks.collapsed" class = "modal-advanced-title" >
{{ 'Advanced settings' | translate }}
2018-08-31 17:57:18 +02:00
< span class = "caret" ng-class = "{ 'rotate-90': getMetalinks.collapsed }" > < / span >
2018-08-31 10:57:06 +02:00
< / div >
< div collapse = "getMetalinks.collapsed" class = "form-horizontal modal-advanced-options" >
< div class = "form-group" ng-repeat = "(name, set) in getMetalinks.fsettings" >
< p class = "col-sm-offset-3 col-sm-9 help-block controls" > {{set.desc}}< / p >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xxlarge modal-form-input-verylarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< / div >
< br / >
< / div >
< / div >
< / div >
< / fieldset >
< / form >
< div class = "modal-footer" >
< button class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Cancel' | translate }}< / button >
< button class = "btn btn-default btn-primary" ng-click = "$close()" > {{ 'Start' | translate }}< / button >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ select files checkbox modal -->
< script type = "text/ng-template" id = "selectFilesCheckBox.html" >
< div ng-repeat = "(folderName,folder) in files.dirs" >
<!-- recursive folder -->
< div class = "controls" >
<!-- click to toggle show the subfolders and files -->
< div class = "checkbox" data-ng-click = "folder.show=!folder.show" >
<!-- The value of indeterminate="" can be bound to any angular expression -->
< input type = "checkbox" data-ng-model = "folder.selected" data-ng-click = "$event.stopPropagation()" indeterminate / > {{folderName}}
< span ng-show = "!folder.show" class = "control-label" > {{ 'click the text to expand the folder' | translate }}< / span >
< span ng-show = "folder.show" class = "control-label" > {{ 'click the text to collapse the folder' | translate }}< / span >
< / div >
< div ng-show = "folder.show" class = "form-group selectFiles recursivedir" ng-include = "'selectFilesCheckBox.html'" ng-init = "files=folder" >
< / div >
< / div >
< / div >
< div ng-repeat = "file in files.files" >
<!-- files -->
< label class = "control-label" > {{ 'Select to download' | translate }}< / label >
< div class = "controls" >
< label class = "checkbox" >
< input type = "checkbox" data-ng-model = "file.selected" indeterminate = "false" / > {{file.relpath}}
< / label >
< / div >
< br / >
< br / >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ select file modal -->
< script type = "text/ng-template" id = "selectFiles.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{ 'Choose files to start download for' | translate }}< / h4 >
< / div >
< form class = "form-horizontal modal-body" >
< fieldset >
< div class = "form-group selectFiles" ng-include = "'selectFilesCheckBox.html'" ng-init = "files=selectFiles.groupedFiles" >
< / div >
< / fieldset >
< / form >
< div class = "modal-footer" >
< button class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Cancel' | translate }}< / button >
< button class = "btn btn-default btn-primary" ng-click = "$close()" > {{ 'Choose' | translate }}< / button >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ settings modal -->
< script type = "text/ng-template" id = "settings.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{settings.title}}< / h4 >
< / div >
< div class = "modal-body" >
< div class = "row" >
< div class = "col-md-12 form-group filter-input-group" >
< input type = "text" class = "form-control input-xlarge" ng-model = "propFilter" placeholder = "{{ 'Filter' | translate }}" / >
2018-08-31 17:57:18 +02:00
< span class = "clear-button" ng-show = "propFilter" ng-click = "propFilter = ''" > × < / span >
2018-08-31 10:57:06 +02:00
< / div >
< / div >
< form class = "form-horizontal" >
< fieldset >
< div class = "form-group" ng-repeat = "(name, set) in settings.settings | objFilter:propFilter" >
< label class = "col-sm-3 control-label" > {{name}}< / label >
< div class = "col-sm-9 controls" >
< select class = "form-control" ng-show = "set.options.length && !set.multiline" ng-options = "opt for opt in set.options" ng-model = "set.val" >
< / select >
< input ng-show = "!set.options.length && !set.multiline" type = "text" class = "form-control input-xlarge" ng-model = "set.val" / >
< textarea ng-show = "set.multiline" ng-model = "set.val" > < / textarea >
< div class = "checkbox" ng-show = "set.starred != undefined" >
< label >
< input type = "checkbox" ng-model = "set.starred" / >
{{ 'Quick Access (shown on the main page)' | translate }}
< / label >
< / div >
< p class = "help-block" > {{set.desc}}< / p >
< / div >
< / div >
< / fieldset >
< / form >
< / div >
< div class = "modal-footer" >
< button class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Cancel' | translate }}< / button >
< button class = "btn btn-default btn-primary" ng-click = "$close()" > {{settings.actionText}}< / button >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ connection modal -->
< script type = "text/ng-template" id = "connection.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{ 'Connection Settings' | translate }}< / h4 >
< / div >
< div class = "modal-body" >
< form class = "form-horizontal" >
< fieldset >
< legend > {{ 'Aria2 RPC host and port' | translate }}< / legend >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter the host' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< div class = "input-group" >
< span class = "input-group-addon" > http(s)://< / span >
< input type = "text" class = "form-control input-xlarge"
ng-model="connection.conf.host"/>
< / div >
< p class = "help-block" >
{{ 'Enter the IP or DNS name of the server on which the RPC for Aria2 is running (default: localhost)' | translate }}
< / p >
< / div >
< / div >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter the port' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< input type = "text" class = "form-control input-xlarge modal-form-input-number"
ng-model="connection.conf.port"/>
< p class = "help-block" >
{{ 'Enter the port of the server on which the RPC for Aria2 is running (default: 6800)' | translate }}
< / p >
< / div >
< / div >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter the RPC path' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< div class = "input-group" >
< span class = "input-group-addon" > http(s)://{{connection.conf.host + ':' + connection.conf.port}}< / span >
< input type = "text" class = "form-control input-xlarge"
ng-model="connection.conf.path"/>
< / div >
< p class = "help-block" >
{{ 'Enter the path for the Aria2 RPC endpoint (default: /jsonrpc)' | translate }}
< / p >
< / div >
< / div >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'SSL/TLS encryption' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< div class = "checkbox" >
< label >
< input type = "checkbox" ng-model = "connection.conf.encrypt" / >
{{ 'Enable SSL/TLS encryption' | translate }}
< / label >
< / div >
< / div >
< / div >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter the secret token (optional)' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< label >
< input type = "password" class = "form-control input-xlarge" ng-model = "connection.conf.auth.token" / >
< p class = "help-block" >
{{ 'Enter the Aria2 RPC secret token (leave empty if authentication is not enabled)' | translate }}
< / p >
< / label >
< / div >
< / div >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter the username (optional)' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< input type = "text" class = "form-control input-xlarge"
ng-model="connection.conf.auth.user"/>
< p class = "help-block" >
{{ 'Enter the Aria2 RPC username (empty if authentication not enabled)' | translate }}
< / p >
< / div >
< / div >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter the password (optional)' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< input type = "password" class = "form-control input-xlarge"
ng-model="connection.conf.auth.pass"/>
< p class = "help-block" >
{{ 'Enter the Aria2 RPC password (empty if authentication not enabled)' | translate }}
< / p >
< / div >
< / div >
< / fieldset >
< fieldset >
< legend > {{ 'Direct Download' | translate }}< / legend >
< div class = "form-group" >
< label class = "col-sm-3 control-label" > {{ 'Enter base URL (optional)' | translate }}:< / label >
< div class = "col-sm-9 controls" >
< input type = "text" class = "form-control input-xlarge"
ng-model="connection.conf.directURL"/>
< p class = "help-block" >
{{ 'If supplied, links will be created to enable direct download from the Aria2 server.' | translate }}< br / >
{{ '(Requires appropriate webserver to be configured.)' | translate }}
< / p >
< / div >
< / div >
< / fieldset >
< / form >
< / div >
< div class = "modal-footer" >
< button href = "#" class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Cancel' | translate }}< / button >
< button href = "#" class = "btn btn-default btn-primary" ng-click = "$close()" >
{{ 'Save Connection configuration' | translate }}
< / button >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ server info modal -->
< script type = "text/ng-template" id = "server_info.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{ 'Aria2 server info' | translate }}< / h4 >
< / div >
< div class = "modal-body" >
< b > {{ 'Aria2 Version' | translate }} {{miscellaneous.version}}< / b >
< br / > < br / >
< b > {{ 'Features Enabled' | translate }}< / b >
< ul >
< li
ng-repeat="feature in miscellaneous.enabledFeatures">
< span > {{feature}}< / span >
< / li >
< / ul >
< / div >
< div class = "modal-footer" >
< button class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Close' | translate }}< / button >
< / div >
< / script >
<!-- }}} -->
<!-- {{{ about modal -->
< script type = "text/ng-template" id = "about.html" >
< div class = "modal-header" >
2018-08-31 17:57:18 +02:00
< button class = "close" ng-click = "$dismiss()" > × < / button >
2018-08-31 10:57:06 +02:00
< h4 > {{ 'About and contribute' | translate }}< / h4 >
< / div >
< div class = "modal-body" >
< p >
{{ 'To download the latest version of the project, add issues or to contribute back, head on to' | translate }}:< br / >
< a href = "https://github.com/ziahamza/webui-aria2" target = "_blank" > https://github.com/ziahamza/webui-aria2< / a >
< br / > < br / >
{{ 'Or you can open the latest version in the browser through' | translate }}:< br / >
< a href = "https://ziahamza.github.io/webui-aria2" target = "_blank" > https://ziahamza.github.io/webui-aria2< / a >
< / p >
< / div >
< div class = "modal-footer" >
< button class = "btn btn-default" ng-click = "$dismiss()" > {{ 'Close' | translate }}< / button >
< / div >
< / script >
<!-- }}} -->
< / div >
<!-- }}} -->
< / body >
< / html >