├── beikeyun.sh ├── n1.sh ├── n1 ├── aria2.html └── other-docker.html ├── readme.md └── theme └── darkmatter ├── static └── js │ ├── common.js │ └── zh-cn.json └── templates ├── appcfg ├── aria2-extra.html ├── aria2-log.html ├── aria2.html ├── dashboard-cert.html ├── dashboard-log.html ├── dashboard.html ├── frp-log.html ├── frp-proxies.html ├── frp.html ├── nfsd.html ├── other-docker.html ├── other-fm.html ├── other-ftp.html ├── other-gerbera.html ├── other-jellyfin.html ├── other-sync.html ├── qb-log.html ├── qb.html ├── smb-log.html ├── smb-share.html ├── smb-users.html ├── smb.html ├── transmission-extra.html └── transmission.html ├── public └── login.html ├── status ├── banned.html ├── disks.html ├── dmesg.html ├── processes.html ├── syslog.html └── traffic.html └── system ├── admin.html ├── crontab.html ├── startup.html ├── system-network.html ├── system.html └── tool.html /beikeyun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | wget -c https://github.com/ledccn/beikeyun/archive/master.zip -O beikeyun.zip 3 | unzip -o ./beikeyun.zip -d /usr 4 | cp -rf /usr/beikeyun-master/* /usr/local/apps/dashboard 5 | /etc/init.d/S99dashboard restart 6 | -------------------------------------------------------------------------------- /n1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | wget -c https://github.com/ledccn/beikeyun/archive/master.zip -O beikeyun.zip 3 | unzip -o ./beikeyun.zip -d /usr 4 | cp -rf /usr/beikeyun-master/* /usr/local/apps/dashboard 5 | cp /usr/local/apps/dashboard/n1/aria2.html /usr/local/apps/dashboard/theme/darkmatter/templates/appcfg/aria2.html 6 | cp /usr/local/apps/dashboard/n1/other-docker.html /usr/local/apps/dashboard/theme/darkmatter/templates/appcfg/other-docker.html 7 | /etc/init.d/S99dashboard restart -------------------------------------------------------------------------------- /n1/aria2.html: -------------------------------------------------------------------------------- 1 | {{ define "appcfg/aria2" }} 2 | {{template "common/header" }} 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 |
130 | 131 | 171 | 172 | {{template "common/footer"}} 173 | {{ end }} -------------------------------------------------------------------------------- /n1/other-docker.html: -------------------------------------------------------------------------------- 1 | {{ define "appcfg/other-docker" }} 2 | {{template "common/header" }} 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 96 | 97 | 160 | 161 | {{template "common/footer"}} 162 | {{ end }} -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # 小钢炮适用版本: 2 | 3 | - phicomm-n1 20190411-2042 4 | - beikeyun 20190506-0242 freq-limited 5 | - beikeyun 20190506-0242 6 | 7 | 请认真核对版本,然后继续! 8 | ====================================== 9 | ## 命令安装方法: 10 | 11 | ```bash 12 | # 下载汉化包 13 | wget -c https://github.com/ledccn/beikeyun/archive/master.zip -O beikeyun.zip 14 | # 解压并安装 15 | unzip -o ./beikeyun.zip -d /usr 16 | cp -rf /usr/beikeyun-master/* /usr/local/apps/dashboard 17 | # 重启管理面板 18 | /etc/init.d/S99dashboard restart 19 | 20 | # 如果你的小钢炮是N1,再多执行2条命令: 21 | cp /usr/local/apps/dashboard/n1/aria2.html /usr/local/apps/dashboard/theme/darkmatter/templates/appcfg/aria2.html 22 | 23 | cp /usr/local/apps/dashboard/n1/other-docker.html /usr/local/apps/dashboard/theme/darkmatter/templates/appcfg/other-docker.html 24 | 25 | /etc/init.d/S99dashboard restart 26 | ``` 27 | ====================================== 28 | ## 手动安装方法: 29 | 1、用scp或其他方法把,解压好的theme移到/usr/local/apps/dashboard/中 30 | 31 | 2、重启dashboard 32 | `/etc/init.d/S99dashboard restart` 33 | 34 | ====================================== 35 | 36 | 不断更新:https://www.iyuu.cn/archives/10/ 37 | 38 | 来自:367013672@qq.com 39 | 40 | -------------------------------------------------------------------------------- /theme/darkmatter/static/js/common.js: -------------------------------------------------------------------------------- 1 | 2 | var isRestartSysFadein = false; 3 | var checkSysRestartStatus = function () { 4 | if (!isRestartSysFadein) { 5 | $(".main > .loading").fadeIn("fast"); 6 | isRestartSysFadein = true; 7 | } 8 | //https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch 9 | var external = location.href; 10 | if (window.fetch) { 11 | // must be chrome or firefox which have native fetch 12 | fetch(external, {'mode':'no-cors'}) 13 | .then(function (r) { 14 | // external is reachable; but failed due to cors 15 | // fetch will pass though if it's a cors error 16 | alertify.notify('Reboot successfully.', 'success', 5, function(){ console.log('Reboot Done.'); }); 17 | console.log(r); 18 | location.reload(); 19 | }) 20 | .catch(function () { 21 | console.log('external is _not_ reachable'); 22 | setTimeout('checkSysRestartStatus()', 1000); 23 | }); 24 | } else { 25 | // must be non-updated safari or older IE... 26 | // I don't know how to find error type in this case 27 | alert("your browser does not support native fetch api. please reload page manually."); 28 | } 29 | }; 30 | 31 | var processCheck = function (process_name, target_ele) { 32 | let targetBtn = $(target_ele); 33 | let fail_class = 'cbi-input-remove'; 34 | let succ_class = 'cbi-input-save'; 35 | $.get("/api/system/process/status?name="+process_name, function (resp) { 36 | if (resp.error == 0 && resp.data.is_running == 1) { 37 | targetBtn.removeClass(fail_class); 38 | targetBtn.addClass(succ_class); 39 | targetBtn.val(process_name + " Running"); 40 | } else { 41 | targetBtn.removeClass(succ_class); 42 | targetBtn.addClass(fail_class); 43 | targetBtn.val(process_name + " Stopped"); 44 | } 45 | }); 46 | }; 47 | 48 | // from Underscore.js 49 | var isFunction = function(obj) { 50 | return !!(obj && obj.constructor && obj.call && obj.apply); 51 | }; 52 | 53 | var statusCheck = function (api_url, target_ele, cb) { 54 | let targetBtn = $(target_ele); 55 | let fail_class = 'cbi-input-remove'; 56 | let succ_class = 'cbi-input-save'; 57 | let that = this; 58 | $.get(api_url, function (resp) { 59 | targetBtn.val(resp.status); 60 | let succ = false; 61 | if (/work|ok|success/.test(resp.status)) { 62 | targetBtn.removeClass(fail_class); 63 | targetBtn.addClass(succ_class); 64 | succ = true; 65 | } else { 66 | targetBtn.removeClass(succ_class); 67 | targetBtn.addClass(fail_class); 68 | } 69 | if (isFunction(cb)) { 70 | cb.call(that, succ); 71 | } 72 | }); 73 | }; 74 | 75 | /* 76 | *JS动态翻译小钢炮 77 | *作者:大卫科技blog 78 | *网站:https://www.iyuu.cn 79 | *汉化下载: 80 | N1小钢炮汉化包20190411-2042 81 | https://www.iyuu.cn/archives/13/ 82 | 83 | beikeyun贝壳云小钢炮汉化包20190506-0242 84 | https://www.iyuu.cn/archives/10/ 85 | */ 86 | $(document).ready(function(){ 87 | console.log('JS动态翻译小钢炮+自定义导航'); 88 | console.log('作者:大卫'); 89 | console.log('网站:https://www.iyuu.cn'); 90 | console.log('项目仓库:https://github.com/ledccn/beikeyun'); 91 | // 获取语言文件 92 | $.getJSON("/static/js/zh-cn.json", function (data){ 93 | // 主菜单 选择器 94 | let menus = $(".menu"); 95 | // 子菜单 选择器 96 | let smenus = $(".slide-menu"); 97 | // 翻译主菜单 98 | for(i=0; i