安卓NAS指南

北冰洋以北  论坛元老 | 2025-4-4 08:24:01 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1819|帖子 1819|积分 5457

安卓NAS指南

前言

不绝想要一个NAS,苦于没有另一台小电脑,在网络冲浪的时间发现可以利用安卓旧手机做NAS
其长处如下:自带屏幕、高便携性、具有3h UPS
在各种机缘偶合之下 搭建成功 并投入利用()
相干软件


功能清单

服务同一入口

termux搭建nginx实现服务入口聚合
网盘功能

AlistLite安卓服务端
媒体播放

embyServer android
同步文件

syncthing
TODO


  • 音乐库(现在全部装备同步一千多首音乐)
  • 电子书(如今利用微信读书)
  • 日志(安卓私家git仓库日志)
利用场景

TV


  • embyTV版连接emby服务【媒体服务】
  • cx文件管理器添加Alist的Webdav【网盘服务】
PC


  • 浏览器访问8080端口进入服务【媒体、网盘】
手机


  • 浏览器8080端口进入服务【媒体、网盘】
  • cx文件管理器添加Alist的Webdav【网盘】
具体配置

本机设置:

  • 静态IP
  • 早上五点自动关机
  • 各服务端关闭电源管理、背景管理
Nginx

为NAS全部服务做了一个网页入口
利用termux 安装nginx,利用termux-setup-storage命令获取存储权限,只能获取部分外部文件夹。故将nginx根目次存放在Movies文件夹中,并利用Alist将该文件夹开放,即可在网页中配置该网页的内容


  • 挂载地点:/Movies
  • 端口:8080

    相干代码:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>安卓NAS指南</title>
  7.     <style>
  8.         #content {
  9.             display: flex;
  10.             flex-wrap: wrap;
  11.             justify-content: space-between;
  12.             margin-left: 5%;
  13.             margin-right: 5%;
  14.             margin-top: 5%;
  15.         }
  16.         .item {
  17.             width: 48%;
  18.             margin-bottom: 20px;
  19.             padding: 10px;
  20.             border: 1px solid #ccc;
  21.             box-sizing: border-box;
  22.             text-align: center;
  23.             text-decoration: none;
  24.             color: rgb(43, 137, 226);
  25.         }
  26.         .item a {
  27.             display: block;
  28.             margin-bottom: 5px;
  29.             font-weight: bold;
  30.             width: 100%;
  31.             text-align: center;
  32.             text-decoration: none;
  33.             color: blueviolet;
  34.         }
  35.         .item p {
  36.             margin: 0;
  37.         }
  38.         #input {
  39.             display: flex;
  40.             justify-content: center;
  41.             margin-top: 10%;
  42.         }
  43.     </style>
  44. </head>
  45. <body>
  46.     <div id="input">
  47.         <span>
  48.             当前ip地址:
  49.         </span>
  50.         <input type="text" id="ip">
  51.     </div>
  52.     <div id="content">
  53.         <div class="item">
  54.             <a href="#" target="_blank">链接 1</a>
  55.             <p>这是链接 1 的说明文字。</p>
  56.         </div>
  57.         <div class="item">
  58.             <a href="#" target="_blank">链接 2</a>
  59.             <p>这是链接 2 的说明文字。</p>
  60.         </div>
  61.         <!-- <div class="item">
  62.             <a href="#">链接 3</a>
  63.             <p>这是链接 3 的说明文字。</p>
  64.         </div>
  65.         <div class="item">
  66.             <a href="#">链接 4</a>
  67.             <p>这是链接 4 的说明文字。</p>
  68.         </div>
  69.         <div class="item">
  70.             <a href="#">链接 5</a>
  71.             <p>这是链接 5 的说明文字。</p>
  72.         </div>
  73.         <div class="item">
  74.             <a href="#">链接 6</a>
  75.             <p>这是链接 6 的说明文字。</p>
  76.         </div> -->
  77.     </div>
  78. </body>
  79. <script>
  80.     let ip = getIP()
  81.     setItem(ip)
  82.     const inputElement = document.getElementById('ip');
  83.     inputElement.value = ip;
  84.     inputElement.addEventListener('input', function () {
  85.         console.log(`${this.value}`);
  86.         ip = `${this.value}`
  87.         setItem(ip)
  88.     });
  89.     function setItem(ip) {
  90.         document.querySelector("#content > div:nth-child(1) > a").textContent = "Alist"
  91.         document.querySelector("#content > div:nth-child(1) > a").href = "http://" + ip + ":" + 5244
  92.         document.querySelector("#content > div:nth-child(1) > p").textContent = "网盘中心"
  93.         document.querySelector("#content > div:nth-child(2) > a").textContent = "emby"
  94.         document.querySelector("#content > div:nth-child(2) > a").href = "http://" + ip + ":" + 8096
  95.         document.querySelector("#content > div:nth-child(2) > p").textContent = "媒体中心"
  96.     }
  97.     function getIP() {
  98.         const url = window.location.href;
  99.         // const url = 'http://192.168.31.200:8080/';
  100.         const parts1 = url.split('://');
  101.         if (parts1.length > 1) {
  102.             const item = parts1[1];
  103.             const parts2 = item.split(':');
  104.             if (parts2.length > 0) {
  105.                 const ipAddress = parts2[0];
  106.                 return ipAddress
  107.             }
  108.         }
  109.         return "127.0.0.1"
  110.     }
  111. </script>
  112. </html>
复制代码
AlistLite

网盘服务
挂载地点:/alist
默认端口:5244

webdav配置

注意:端口利用alist的端口 例:5244
url:http://ip:port/dav
账号密码:Alist账号密码

Emby

媒体服务
挂载地点:/alist/电影
默认端口:8096

Syncthing

仅用于同步手机常用文件
结尾

希望以此抛砖引玉,发掘更多有用的服务

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表