macOS 使用教程

0x00 Mac 开箱简单验机

检查电池循环次数

查看保修服务和支持期限:https://checkcoverage.apple.com/cn/zh/

0x01 翻墙

Mac 版 shadowsocks 客户端
使用说明

0x01 安装命令行 HomeBrew

Mac 下的包管理器,安装的软件都位于 /usr/local 目录,很好的和 Mac 原始环境隔离,避免 Mac 环境混乱。打开终端,键入以下命令安装。(/usr/local 是 brew 安装的软件的根目录,包括配置文件啥的都在里面。)

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

HomeBrew 官网

0x02 替换及重置 Homebrew 默认源

国内推荐中科大或者清华大学的源。
配置教程

0x03 Mac 下最好用的终端

iTerm2 官网地址

0x04 终端代理

使用 shadowsocks 发现用全局模式也不能为 Terminal 设置代理。这时候 ProxyChains-NG 就派上用场了。可直接使用 brew 安装。关于它的原理,引用官方的一句话。

1
2
3
4
5
6
# ProxyChains is a UNIX program, that hooks network-related libc functions
# in DYNAMICALLY LINKED programs via a preloaded DLL (dlsym(), LD_PRELOAD)
# and redirects the connections through SOCKS4a/5 or HTTP proxies.
# It supports TCP only (no UDP/ICMP etc).

brew install proxychains-ng

配置文件在 /usr/local/etc/proxychains.conf。

由于最新版 Mac 存在 SIP(System Integrity Protection) 策略,ProxyChains-NG 不能代理系统自带的 curl、wget 等命令。
使用 brew 重新安装 wget、curl,之后配置环境变量覆盖系统自带的。(系统自带的不要删除)

0x05 终极 shell

脚本自动安装

1
proxychains4 wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh

zsh 官网

0x06 vim 配置

vim tab 键默认八个空格,编辑文件很不舒服,先改下配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
cat > ~/.vimrc << "EOF"
" 显示行号
set number
" 显示标尺
set ruler
" 历史纪录
set history=1000
" 输入的命令显示出来,看的清楚些
set showcmd
" 状态行显示的内容
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
" 启动显示状态行1,总是显示状态行2
set laststatus=2
" 语法高亮显示
syntax on
set fileencodings=utf-8,gb2312,gbk,cp936,latin-1
set fileencoding=utf-8
set termencoding=utf-8
set fileformat=unix
set encoding=utf-8
" 配色方案
colorscheme desert
" 指定配色方案是256色
set t_Co=256

set wildmenu

" 去掉有关vi一致性模式,避免以前版本的一些bug和局限,解决backspace不能使用的问题
set nocompatible
set backspace=indent,eol,start
set backspace=2

" 启用自动对齐功能,把上一行的对齐格式应用到下一行
set autoindent

" 依据上面的格式,智能的选择对齐方式,对于类似C语言编写很有用处
set smartindent

" vim禁用自动备份
set nobackup
set nowritebackup
set noswapfile

" 用空格代替tab
set expandtab

" 设置显示制表符的空格字符个数,改进tab缩进值,默认为8,现改为4
set tabstop=4

" 统一缩进为4,方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格
set softtabstop=4

" 设定自动缩进为4个字符,程序中自动缩进所使用的空白长度
set shiftwidth=4

" 设置帮助文件为中文(需要安装vimcdoc文档)
set helplang=cn

" 显示匹配的括号
set showmatch

" 文件缩进及tab个数
au FileType html,python,vim,javascript setl shiftwidth=4
au FileType html,python,vim,javascript setl tabstop=4
au FileType java,php setl shiftwidth=4
au FileType java,php setl tabstop=4
" 高亮搜索的字符串
set hlsearch

" 检测文件的类型
filetype on
filetype plugin on
filetype indent on

" C风格缩进
set cindent
set completeopt=longest,menu

" 功能设置

" 去掉输入错误提示声音
set noeb
" 自动保存
set autowrite
" 突出显示当前行
set cursorline
" 突出显示当前列
set cursorcolumn
"设置光标样式为竖线vertical bar
" Change cursor shape between insert and normal mode in iTerm2.app
"if $TERM_PROGRAM =~ "iTerm"
let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode
let &t_EI = "\<Esc>]50;CursorShape=0\x7" " Block in normal mode
"endif
" 共享剪贴板
set clipboard+=unnamed
" 文件被改动时自动载入
set autoread
" 顶部底部保持3行距离
set scrolloff=3
EOF

0x07 办公软件

  • 微信 # 使用 App Store 安装
  • Office 2016 for Mac 或者 Office365 # 集 Word、PowerPoint、Excel、Outlook 于一体,土豪买买买,万能的淘宝有便宜激活码,学校软件平台有免费的 Office 2016 for Mac(话说买了 Mac 开 windows 虚拟机安装盗版 Office的,泥垢了)
  • MWeb Lite # markdown 编辑器,有免费版,App Store 直接搜
  • Typora # 又一款 markdown 编辑器,Typora 官网
  • VMware Fusion 10 # Mac 下的一款很好用的虚拟机,收费, 官网
  • Chrome 浏览器 # 官网

0x08 手机与 Mac 互传文件

0x09 系统性能实时监控及硬件控制

iStat Menus 6

0x0A 开发者必备

Dash for macOS
功能:速查各种 API 文档,代码片段管理

0x0B 给各种应用软件挂代理

proxifier

支持给各种应用挂代理,Mac 下如果要使用 Outlook 登陆 Google 邮箱,或者使用 Google Drive 必备。

0x0C 环境隔离

能隔离尽量隔离,保持 Mac 环境的干净。

python 隔离环境

anaconda

docker

docker-for-mac

0x0D 代码编辑器

Visual Studio Code

0x0E 抓包工具

Burp Suite
Wireshark

0x0F 快捷键

Mac 快捷键支持

0x10 摄像头和麦克风安全

要是私生活被直播,那就比较尴尬了。

OverSight

0x11 PF 防火墙

没啥安全感,开个防火墙压压惊。首先开启自带应用防火墙。

拒绝外网对本机特定端口的访问。

1
2
3
sudo cat >> /etc/pf.conf << "EOF"
block return in quick on en0 inet proto { tcp, udp } from any to { any, !localhost } port { 9527, 2333 }
EOF

拒绝特定 IP、CIDR 段、Host 对本机任何形式的访问。

1
2
3
4
sudo cat >> /etc/pf.conf << "EOF"
table <blockedips> persist file "/etc/pf.blocked.ip.conf"
block return in log from <blockedips> to any
EOF

将本地局域网除网关外的 IP 加入黑名单,示例如下。

1
2
3
4
5
6
cat >> /etc/pf.blocked.ip.conf << "EOF"
192.168.0.0/16
!192.168.1.1
10.0.0.0/8
!10.0.0.1
EOF

启动 PF 防火墙及手动加载配置文件。

1
2
sudo pfctl -e
sudo pfctl -f /etc/pf.conf

0xFF 小技巧

  • icloud 取消 Documents 和 Desktop 目录的同步,不然放东西风扇会狂转。
  • 善用搜索引擎,一般软件都能找到 key,但是推荐购买。
  • 不要再除了 App Store 和软件官网之外的地方下载软件,特别是别人放出来的破解软件,很可能有毒(肉鸡已上线)
  • 尽量不要污染 Mac 的软件环境。
  • Dock 放在左边,开启自动隐藏
  • 学会触摸板的设置,以及控制。
0%