# 定制 OSS Browser
通过修改此目录下的配置,目前可以较容易的自定义logo,app名称,版本号,更新地址等。
如果需要修改更多内容,请直接修改oss browser代码。
下面介绍如何修改配置,如何重新build,如何发布。
* build oss browser 推荐使用 Mac,其次 ubuntu,再其次 windows。
## 1. 安装环境
本工具使用 [Electron](https://electron.atom.io/) 编写,依赖 [Node.js](https://nodejs.org) >= 7.9.0.
所以先要安装 Node.js
### (1) Node.js
Node.js 从官网下载最新版本安装即可。
坑:有错误提示,只能是8.x
### (2) 安装 cnpm(npm的中国镜像,加快依赖下载速度)。
```
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
```
### (3) 获取 oss-browser 源码
先到 https://github.com/aliyun/oss-browser ,Fork 一份到你自己的仓库,然后clone:
```
git clone https://github.com/aliyun/oss-browser
cd oss-browser
```
### (4) 使用mac平台来build。
需要使用 brew 来安装 wine:
```
brew install wine
```
### (5) 如果使用 windows 系统(不推荐),需要安装下列软件:
* 需要安装 gitbash:
请自行下载安装。
* 需要安装 windows-build-tools:
```
cnpm i -g windows-build-tools
```
* 还需要下载make.exe,放到 `C:\windows\` 目录下
[make.exe(64位版本)](http://luogc.oss-cn-hangzhou.aliyuncs.com/oss-browser-publish/windows-tools/64/make.exe)
坑:压根访问不了
[make.exe(32位版本)](http://luogc.oss-cn-hangzhou.aliyuncs.com/oss-browser-publish/windows-tools/32/make.exe)
* 可以还会遇到其他问题,请自行解决。
## 2. 开始尝试启动
```
make i # 安装 node 模块依赖
make build # 生成dist目录
坑:按照提示需要装 npm install -g yarn
装 sudo cnpm install electron -g
更新镜像站:vim /etc/apt/sources.list 添加:deb http://cz.archive.ubuntu.com/ubuntu xenial main universe
装 一大堆依赖包:sudo apt-get install gconf-service libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxss1 libxtst6 libappindicator1 libnss3 libasound2 libatk1.0-0 libc6 ca-certificates fonts-liberation lsb-release xdg-utils wget libgbm1
```
启动界面:
```
make run # 开发模式启动
坑:安装 npm install -g cross-env --no-bin-links
可能会报错:cannot find module 'xxxx’
```
这时,你可以看到界面了(开发模式,可以按 command+r 刷新)。
## 3. 自定义 custom 配置
```
oss-browser/
|-- custom
```
将 custom 目录复制一份到其他地方,比如 ~/Desktop/custom/,
修改目录下的 index.js 配置 和 图标即可。
Makefile有3个变量,可以替换,分别为:NAME,CUSTOM,VERSION.
* 假设你的应用名为: my-oss-browser
* 假设你的custom目录为: ~/Desktop/custom/
然后指定custom路径 build:
```
make build NAME=my-oss-browser CUSTOM=~/Desktop/custom
```
开发模式启动:
```
make run NAME=my-oss-browser CUSTOM=~/Desktop/custom
```
## 4. build
```
make all NAME=my-oss-browser CUSTOM=/root/oss-browser-master/custom
坑:可以选all win32 win64 liunx32 等参数,但是win64/32还要装 sudo apt install wine-stable ,当心镜像有冲突错误“E: Unable to correct problems, you have held broken packages”
```
* Makefile中的 VERSION 和 NAME 变量,VERSION 需要和 custom/index.js 中的version相同,NAME需要和appId相同。
* 可以指定 NAME,CUSTOM 和 VERSION 变量.
* 除了会在 build 下生成几个目录,还会在 releases 目录下,生成几个压缩包(绿色免安装版)。
### (可选) mac平台相关的安装文件
```
make dmg NAME=my-oss-browser # 只能在mac系统下build,生成 releases/${VERSION}/my-oss-browser.dmg 文件
```
* 此命令需要在 make mac 或者 make all 命令后执行。
* 可以指定 NAME, CUSTOM 和 VERSION 变量。
## 5. 自动更新
后续的bug fix,功能更新,都是自动的。无需关心。