• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

#楼主# 2017-7-9 22:03

跳转到指定楼层
本帖最后由 scjtqs 于 2017-7-9 22:08 编辑

文章转自:简书
折腾思路
My Cloud 有 Gen1(固件版本 0.3.xx、04.xx)和 Gen2(固件版本2.xx)两种,Gen2相当于是第二代,硬件升级了一点,但系统也更封闭,
关键Gen1的教程Gen2完全不适用!
WD论坛上的俄罗斯大神fox_exe为Gen2提供了三种折腾方法:
  • 原生系统破解+第三方APP
  • 原生系统破解后安装黑群晖系统
  • 删掉原系统安装纯净版的Debian 8 + OpenMediaVault
方法1的话解决不了内网穿透的问题,无法远程访问;方法2我没试过,貌似有bug;方法3的我装的OpenMediaVault认不了磁盘,所以最终采取的是方法4——
  • 安装纯净版的Debian 8 + 芒果云
简单说下方法1~3的步骤
方法1:原生系统破解(最简单,改动最小) [英文教程] [破解文件及app下载]
  • 首先在控制面板打开SSH访问,然后通过SSH上传define.js覆盖原版,解除控制面板的第三方app安装限制。
    折腾思路
    My Cloud 有 Gen1(固件版本 0.3.xx、04.xx)和 Gen2(固件版本2.xx)两种,Gen2相当于是第二代,硬件升级了一点,但系统也更封闭,
    关键Gen1的教程Gen2完全不适用!
    WD论坛上的俄罗斯大神fox_exe为Gen2提供了三种折腾方法:
    • 原生系统破解+第三方APP
    • 原生系统破解后安装黑群晖系统
    • 删掉原系统安装纯净版的Debian 8 + OpenMediaVault
    方法1的话解决不了内网穿透的问题,无法远程访问;方法2我没试过,貌似有bug;方法3的我装的OpenMediaVault认不了磁盘,所以最终采取的是方法4——
    • 安装纯净版的Debian 8 + 芒果云
    简单说下方法1~3的步骤
    方法1:原生系统破解(最简单,改动最小) [英文教程] [破解文件及app下载]

    • 首先在控制面板打开SSH访问,然后通过SSH上传define.js覆盖原版,解除控制面板的第三方app安装限制。
      1. ssh -oHostKeyAlgorithms=+ssh-dss sshd@192.168.XXX.XXX
      复制代码

  • 不熟悉SSH操作的朋友可以在chrome浏览器安装插件stylish,然后添加解锁style 就可以在网页安装bin,不用管什么SSH和define.js。
  • 接着安装fox_exe提供的WDMyCloud_WDCrack_1.0.bin
  • 然后就可以随意安装大神们打包好的各种第三方app了。

    • fox_exe发布的app里有个叫WDMyCloud_Debian_8.0-1.bin的app,装完以后可以在原生busybox里切换成debian8来用,切换命令:
  1. chroot /mnt/HD/HD_a2/Nas_Prog/Debian/chroot/ /bin/bash
复制代码



最终没有采用方法一的原因是搞不定内网穿透服务的自启动问题。Gen2 重启就会重置在busybox中的配置,西数官方论坛上有大神出过Gen2脚本自启动教程,但我变砖两次都搞不成,遂放弃。

评分

参与人数 1云币 +50 贡献 +100 +10 +50 收起 理由
good69395 + 50 + 100 + 10 + 50 很给力!

查看全部评分

打赏
分享淘帖
回复 印象

使用道具

1

精华

87

回帖

2023

积分

搞机大神

Rank: 3Rank: 3

云币
132
贡献
257
活跃
586
精华
1

活跃会员NAS发烧友技术达人编辑能手新人勋章

QQ
scjtqs 发表于 2017-7-9 22:08 来自 中国四川成都
方法2:安装黑群晖DSM(据说有bug,不怕折腾可以试试)[文件下载]
群晖是一个专业做NAS的公司,他家系统口碑不错。装黑群晖貌的方法和装第三方app一样,也是先解除限制,再从控制面板上传bin文件,但是fox_exe警告说
Its a "Beta" version of DSM, and "Alpha" of Firmware itself.Its have some bugs.But one "Bug" is really important:Sometime few lib (.so files) was "damaged" and system cant run normally. (Random bugs).
……有未知原因的严重bug,所以还是不按这个方法搞了
回复 支持 反对 印象

使用道具 举报

1

精华

87

回帖

2023

积分

搞机大神

Rank: 3Rank: 3

云币
132
贡献
257
活跃
586
精华
1

活跃会员NAS发烧友技术达人编辑能手新人勋章

QQ
scjtqs 发表于 2017-7-9 22:09 来自 中国四川成都
方法3:纯净版Debian8 + OpenMediaVault(OMV有坑)[英文教程] [文件下载]
  • 把硬盘重新分区并格式化
  • 安装fox_exe提供的纯净版Debian8
  • 在Debian8里加装开源的NAS管理系统OpenMediaVault。
OpenMediaVault功能很多,但用起来太复杂并不适合小白玩家,而对于高级玩家还不如直接用命令行操作,总之也是鸡肋。
回复 支持 反对 印象

使用道具 举报

1

精华

87

回帖

2023

积分

搞机大神

Rank: 3Rank: 3

云币
132
贡献
257
活跃
586
精华
1

活跃会员NAS发烧友技术达人编辑能手新人勋章

QQ
scjtqs 发表于 2017-7-9 22:14 来自 中国四川成都
本帖最后由 scjtqs 于 2017-7-9 23:20 编辑

方法4:自己搭积木
  • 系统:Debian 8
  • Web服务器:apache2 + mysql + php5
  • 内网穿透:frp
  • 文件管理:芒果云
  • 文件下载:Aria2
  • 文件同步:ResilioSync(就是btsync)
1 安装debian 8
基本是参照fox_exe的教程来做,英文好的可以直接看英文版,主要用到uImage、uRamdisk、jessie-rootfs.tar.gz 三个文件。(注意英文教程里把jessie-rootfs.tar.gz错写成了rootfs-jessie.tar.xz)
  1. ======= 把硬盘分成三个分区 ========
  2. /dev/sda1 - Swap 交换分区
  3. /dev/sda2 - User data 用户数据
  4. /dev/sda3 - Rootfs/Boot (Important for bootloader) 系统文件和启动分区

  5. ======= 正常步骤(用telnet刷系统) =======
  6. # 在控制面板的“网络”那里开启ssh访问,然后命令行访问MyCloud
  7. # Windows下的ssh客户端
  8. ssh sshd@你的MyCloud_IP
  9. #  在MAC终端
  10. ssh -oHostKeyAlgorithms=+ssh-dss sshd@你的MyCloud_IP
  11. # 将uImage, uRamdisk和jessie-rootfs.tar.gz放进/boot/boot里。
  12. # 重启MyCloud
  13. # 通过telnet链接MyCloud (telnet的ip和原ssh的ip不一样,可在路由器上查看)
  14. telnet your_device_telnet_ip
  15. # 使用parted命令重新分区
  16. # 删除分区124567留下分区3,新建1G的分区1
  17. parted /dev/sda
  18. rm 1
  19. rm 2
  20. rm 4
  21. rm 5
  22. rm 6
  23. rm 7
  24. mkpart primary 0% 1G
  25. # 退出parted
  26. q
  27. # 将分区1 格式化为ext4格式
  28. mkfs.ext4 /dev/sda1

  29. # 把分区3 /boot/boot里的三个文件,复制到分区1里)
  30. mkdir -p /mnt/root /mnt/data
  31. mount /dev/sda1 /mnt/data
  32. mount /dev/sda3 /mnt/root
  33. cp /mnt/root/boot/uImage /mnt/data/
  34. cp /mnt/root/boot/uRamdisk /mnt/data/
  35. cp /mnt/root/boot/jessie-rootfs.tar.gz /mnt/data/
  36. umount /mnt/root

  37. # 删除原分区3,建立新的分区2和分区3
  38. parted /dev/sda
  39. rm 3
  40. mkpart primary 4G 100%  
  41. mkpart primary 1G 4G
  42. q
  43. mkfs.ext4 /dev/sda2
  44. mkfs.ext4 /dev/sda3

  45. # 把分区1里的3个文件解压并复制回分区3,
  46. mount /dev/sda3 /mnt/root
  47. tar xvf /mnt/data/jessie-rootfs.tar.gz -C /mnt/root
  48. mkdir -p /mnt/root/boot
  49. cp /mnt/data/uImage /mnt/root/boot/uImage
  50. cp /mnt/data/uRamdisk /mnt/root/boot/uRamdisk
  51. umount /mnt/root

  52. # 把分区1格式化成swap
  53. umount /mnt/data
  54. mkswap /dev/sda1

  55. # 重启完成Debian8安装
  56. sync
  57. reboot -f

  58. # ssh进入Debian8 初始密码是 mycloud
  59. ssh root@your_device_ip

  60. ======= 非正常步骤(救砖并刷debian8)=======
  61. # 把硬盘拆出来安装到另一台linux电脑上,并安装parted
  62. # centos下
  63. yum install parted
  64. # debian/Ubuntu下
  65. apt-get install parted
  66. # 查看硬盘及分区情况
  67. parted -l
  68. # 进入parted分区,注意/dev/sdb改成你 parted -l 看到的那个
  69. parted /dev/sdb
  70. mklabel gpt
  71. # 删掉所有分区
  72. rm 1
  73. rm 2
  74. rm 3
  75. rm 4
  76. rm 5
  77. rm 6
  78. rm 7
  79. # 建立大小为1G的分区1
  80. mkpart primary 0% 1G
  81. # 建立大小为剩余空间大小的的分区2
  82. mkpart primary 4G 100%  
  83. # 建立大小为3G的分区3
  84. mkpart primary 1G 4G
  85. q
  86. # 格式化
  87. mkswap /dev/sdb1
  88. mkfs.ext4 /dev/sdb2
  89. mkfs.ext4 /dev/sdb3

  90. # 上传文件,把三个文件解压复制到分区3
  91. mkdir /mnt/root
  92. mount /dev/sdb3 /mnt/root
  93. mkdir /mnt/root/boot
  94. tar xvf  jessie-rootfs.tar.gz -C /mnt/root
  95. cp uImage /mnt/root/boot/uImage
  96. cp uRamdisk /mnt/root/boot/uRamdisk

  97. # 重启完成Debian8安装
  98. sync
  99. reboot -f
复制代码
2 Debian安装Web服务器
  1. # 默认在root用户下操作

  2. ## 更改debian软件源为华中科大
  3. ## 打开/etc/apt/sources.list文件注释掉原来的源(在每行前加#)##
  4. ## 复制以下代码到sources.list ##
  5. vi /etc/apt/sources.list
  6. deb http://mirrors.ustc.edu.cn/debian/ jessie main contrib non-free
  7. deb http://mirrors.ustc.edu.cn/debian/ jessie-updates main contrib non-free
  8. deb http://mirrors.ustc.edu.cn/debian/ jessie-backports main contrib non-free
  9. deb http://mirrors.ustc.edu.cn/debian-security/ jessie/updates main contrib non-free
  10. apt-get update
  11. apt-get upgrade

  12. #语言设置
  13. apt-get install locales
  14. dpkg-reconfigure locales

  15. # 时间同步(很重要)
  16. apt-get install -y ntp

  17. # 时区设置(参考:http://coolnull.com/235.html)
  18. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  19. # 安装nano文本编辑器(我不习惯用原生的vi编辑器)
  20. apt-get install nano

  21. # 安装Apache2服务器(参考 https://www.centos.bz/2016/10/debian-8-jessie-install-lamp/)
  22. apt-get install apache2
  23. # 配置服务器
  24. nano /etc/apache2/apache2.conf
  25. # 重启服务器
  26. systemctl restart apache2
  27. # 此时用浏览器访问Mycloud的IP应该可以看到apache的默认页面了。

  28. # 安装Mysql数据库
  29. apt-get install mysql-server
  30. # 初始化mysql数据库
  31. mysql_secure_installation

  32. # 安装PHP
  33. apt-get install php5 php-pear
  34. # 安装PHP的mysql支持
  35. apt-get install php5-mysql
  36. # 配置PHP
  37. nano /etc/php5/apache2/php.ini
复制代码
3 安装芒果云
  1. # 安装wget命令行下载工具
  2. apt-get install wget
  3. # 安装zip文件解压工具
  4. apt-get install zip
  5. # 下载芒果云
  6. wget http://static.kalcaddle.com/update/download/kodexplorer3.39.zip
  7. # 解压到/home/kod
  8. upzip -d /home/kod kod*.zip
  9. # 建立软连接
  10. ln -s  /home/kod /var/www/kod
  11. # 把apache2服务器的默认首页改成kod(也可以删掉这个默认conf文件另建一个)
  12. nano /etc/apache2/sites-enabled/000-default.conf
  13. # 把文件里面的DocumentRoot /var/www/html 替换成 DocumentRoot /var/www/kod
  14. # 现在重新用浏览器访问Mycloud的IP应该可以看到芒果云了。
  15. # 注意kod文件夹必须放在/home目录下,因为只有/home目录是挂载了分区2,/var目录和/root目录都在分区3里,而分区3只有3G空间。
  16. # 如果出现权限错误,尝试 chmod -R 777 [目录名] 来提升目录权限
复制代码
4 安装aria2并设置开机启动
  1. # 我是参考https://www.zrj96.com/post-296.html 这篇文的
  2. # 安装Aria2
  3. apt-get -y install aria2
  4. # 在/root目录下建立.aria2目录
  5. mkdir .aria2
  6. # 建立配置文件(参考后面的代码)
  7. nano /root/.aria2/aria2.conf
  8. # 建立进度保存空文件
  9. echo '' > /root/aria2.session;
  10. # 建立开机启动文件(参考后面)
  11. nano /lib/systemd/system/aria2c.service
  12. # 启动程序并加入开机启动
  13. systemctl start aria2c.service
  14. systemctl enable aria2c.service
  15. # 下载aria2的图形界面 https://github.com/mayswind/AriaNg/releases
  16. # 解压后复制到/home/www/kod/aria2下,就可以直接通过 http//myloud的ip/aria2 访问了
复制代码
/root/.aria2/aria2.conf
  1. dir=/home/kod/data/Group/public/home/downloads
  2. file-allocation=trunc
  3. continue=true
  4. max-concurrent-downloads=10
  5. max-connection-per-server=5
  6. min-split-size=10M
  7. split=20
  8. disable-ipv6=true
  9. input-file=/root/aria2.session
  10. save-session=/root/aria2.session
  11. enable-rpc=true
  12. rpc-allow-origin-all=true
  13. rpc-listen-all=true
  14. listen-port=51413
  15. enable-dht=true
  16. enable-peer-exchange=true
  17. peer-id-prefix=-TR2770-
  18. user-agent=Transmission/2.77
  19. seed-ratio=0.1
  20. bt-seed-unverified=true
  21. bt-save-metadata=true
复制代码
/lib/systemd/system/aria2c.service
  1. [Unit]
  2. Description=Aria2 Service
  3. After=network.target

  4. [Service]
  5. ExecStart=/usr/bin/aria2c --conf-path=%h/.aria2/aria2.conf

  6. [Install]
  7. WantedBy=default.target
复制代码
我的aria2还没有搞定磁力链接下载,大家谁搞好的可以分享一下。
5 设置内网穿透并设置Timer启动
国内的宽带貌似都成了局域网没有公网IP,所以无论把MyCloud放公司还是家里,想要远程操作MyCloud都必须搞内网穿透。内网穿透主要有 ① SSH反向连接+Autossh ② 收费的花生壳 ③ ngrok及从ngrok衍生各种收费Tunnel服务三种方式
大概了解过感觉都不靠谱,最后选用了frp这个工具,实现起来还不错。
  • 前提是你需要有一部拥有外网IP的机器(如VPS之类的)
  • 把frps(服务端程序)放在外网机器上
  • 把frpc(客户端程序)放在MyCloud里
  • 配置好服务器和客户端的.ini文件,各自运行起来就可以了
  1. ./frps -c ./frps.ini
复制代码
frp怎么配置运行官方文档里写得很清楚就不重复了。主要提几点:

回复 支持 反对 印象

使用道具 举报

1

精华

87

回帖

2023

积分

搞机大神

Rank: 3Rank: 3

云币
132
贡献
257
活跃
586
精华
1

活跃会员NAS发烧友技术达人编辑能手新人勋章

QQ
scjtqs 发表于 2017-7-9 22:15 来自 中国四川成都
frpc客户端在MyCloud(debian8)中实现自启动的方式
因为MyCloud主板没有电池,所以每次重启系统时间都会变回1970年1月1日
如果frp的服务器端时间是2017年,frp的客户端时间是1970年,frp是链接不上的,所以我们需要ntp来做时间同步。
ntp完成时间同步的时间是不固定的,所以frp的自启动不能设置为像aria2一样设为开机启动。在Debian8里,我们可以用timer(定时器)来启动service解决这个问题。
在/lib/systemd/system/目录下建立两个文件frpc.service 和 frpc.timer
/lib/systemd/system/frpc.service
  1. [Unit]
  2. Description=Frp Client Service
  3. [Service]
  4. Type=simple
  5. ExecStart=/usr/bin/frpc -c %h/.frp/frpc.ini
复制代码
/lib/systemd/system/frpc.timer
  1. [Unit]
  2. Description=Run frpc daily and on boot

  3. [Timer]
  4. # 开机一分钟后启动
  5. OnBootSec=1min
  6. # 每天启动一次
  7. OnUnitActiveSec=1d

  8. [Install]
  9. WantedBy=timers.target
复制代码
编辑保存好这两个文件以后输入:
  1. systemctl enable frpc.timer
复制代码
用下面这个命令可以查看运行的状态:
  1. systemctl status frpc.service
复制代码
可以愉快地食用了。
6 还有一些坑
  • Gen2不支持USB启动,所以如果ssh和telnet都连不上,那就得拆机,把硬盘接到另一台Linux电脑上对硬盘进行分区、格式化、刷系统
  • 拆外壳需要两张卡插进去分别顶开两边扣子,然后把外壳朝后拉,注意两边的扣子的位置是不对称的
  • 如果没有台式机来插硬盘,那么你需要一个外置硬盘盒
  • 如果要插入外置硬盘盒,那么你需要到五金店买六角匙来拧开硬盘上的螺丝
  • 分区格式化的时候注意/dev/sda 和/dev/sdb的区别,网上教程一般直接把要格式化的硬盘写成sda,但实际上插进Linux里会变成/dev/sdb(第二块硬盘)

回复 支持 反对 印象

使用道具 举报

0

精华

60

回帖

3561

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
481
活跃
1125
精华
0
MrYan 发表于 2017-7-9 22:16 来自 中国广东江门
支持,前排!!!!!
回复 印象

使用道具 举报

1

精华

87

回帖

2023

积分

搞机大神

Rank: 3Rank: 3

云币
132
贡献
257
活跃
586
精华
1

活跃会员NAS发烧友技术达人编辑能手新人勋章

QQ
scjtqs 发表于 2017-7-9 22:16 来自 中国四川成都
好了,帖子发完了,都是手动一步一步来的过程,没有什么“光明正大”的留什么所谓的“正门”。我已经无力吐槽了
回复 支持 反对 印象

使用道具 举报

0

精华

123

回帖

3832

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
312
活跃
2206
精华
0
hclasmn 发表于 2017-7-9 22:48 来自 中国安徽
正门,233,吐的一首好艹
回复 支持 反对 印象

使用道具 举报

1

精华

210

回帖

3835

积分

技术达人

Rank: 6Rank: 6

云币
9
贡献
636
活跃
440
精华
1

NAS发烧友技术达人

QQ
jz1024 发表于 2017-7-10 01:57 来自 中国辽宁锦州
牛X,debian7 共享速度不行,8估计samba已经是4.0版本了!

点评

gen1的现在也是debian8了。我的更新到了samba4.2.2  详情 回复 发表于 2017-7-10 16:55
回复 支持 反对 印象

使用道具 举报

1

精华

87

回帖

2023

积分

搞机大神

Rank: 3Rank: 3

云币
132
贡献
257
活跃
586
精华
1

活跃会员NAS发烧友技术达人编辑能手新人勋章

QQ
scjtqs 发表于 2017-7-10 16:55 来自 中国广东深圳
jz1024 发表于 2017-7-10 01:57
牛X,debian7 共享速度不行,8估计samba已经是4.0版本了!

gen1的现在也是debian8了。我的更新到了samba4.2.2
回复 支持 反对 印象

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

scjtqs

搞机大神

  • 主题

    17

  • 帖子

    104

  • 关注者

    13

etsme
快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图