Zerotier one安装教程

Windows版客户端安装

1
choco install zerotier-one -y

Linux版客户端安装

1
2
3
4
5
curl -s https://install.zerotier.com | sudo bash

# 带gpg安装
curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

Redhat系Linux直接下载rpm包

1
https://download.zerotier.com/redhat/el/7.9/

安装rpm包

1
rpm -ivh *.rpm 

来自 https://www.zerotier.com/download/

1
2
#安装完会自动运行,设置开机启动
sudo systemctl enable --now zerotier-one.service
1
2
3
4
5
6
7
8
9
10
11
#加入网络
sudo zerotier-cli join 9f77fc393e83973e

#离开网络
sudo zerotier-cli leave Network ID

#列出整个网络中的所有节点
sudo zerotier-cli listnetworks

#查看状态
sudo zerotier-cli status

Centos6安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 安装
yum install https://download.zerotier.com/redhat/el/6.9/zerotier-one-1.6.6-1.el6.x86_64.rpm -y

# 启动程序
zerotier-one -d
## 或
service zerotier-one start

# 设置服务开机自启
chkconfig zerotier-one on

# 查看开机自启是否成功
chkconfig zerotier-one --list

# 加入网络
sudo zerotier-cli join 9f77fc393e83973e

Mac os安装

支持MacOS 10.10或更高版本。可以从终端使用以下命令来控制,重新启动或卸载服务。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#查看状态
sudo zerotier-cli status

##加入网络
sudo zerotier-cli join 9f77fc393e83973e

# 离开网络
sudo zerotier-cli leave ################

# 列出整个网络中的所有节点
sudo zerotier-cli listnetworks

#使用launchctl 添加启动服务
#添加启动服务
sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist
#卸载启动服务
sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist

#卸载ZeroTier
sudo "/Library/Application Support/ZeroTier/One/uninstall.sh"

hexo部署gitpage

参考: https://hexo.io/zh-cn/docs/setup

https://qlzhu.github.io/blog/51941/

安装npm

1
choco install nodejs-lts -y

安装hexo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
npm install hexo-cli -g
npm install hexo

# 安装hexo部署插件
npm install hexo-deployer-git --save

# 安装hexo-server,用于预览静态网站
npm install hexo-server --save

# 安装本地搜索插件
npm install hexo-generator-searchdb --save

# 安装文章字数统计及阅读时常功能
npm install hexo-wordcount --save

# 安装图片显示插件(实测没用)
npm install hexo-asset-img --save

建站

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# clone代码库
git clone https://github.com/omaidb/omaidb.github.io.git

# cd 到你的githubpage目录下
cd omaidb.github.io

# 初始化站点
mkdir blog && cd blog
hexo init
npm install

# 将blog目录下的文件全部拷贝到git项目下,拷贝完成后可以删除blog目录

# 将hexo代码上传
git add -A
git commit -m 'hexo init'
git push

新建一篇文章

https://hexo.io/zh-cn/docs/commands

1
2
3
4
5
6
7
8
# 新建一篇文章
hexo new [layout] <title>

# 示例
hexo new "文章标题"

# 编辑这个文章
source\_posts\hexo部署gitpage.md

创建一个about me页面

1
hexo new page --path about/me "About me"

生成静态文件

1
2
3
4
5
6
7
8
# 生成静态文件hexo generate
hexo g

# 持续生成静态文件
hexo g -w

# 生成并立即发布文章
hexo g -d

发表草稿

1
2
3
4
hexo publish [layout] <filename>

# 示例
hexo publish "文章标题"

预览

1
2
hexo s
# 会打开http://localhost:4000/

常见问题:部署后,网页仍未更新

1
2
3
4
# 解决办法清除缓存和已生成的静态文件
# 生成静态页面并发布文章
# 打开hexo服务
hexo clean && hexo g -d && hexo s

其他美化

参考: hexo-next主题配置

hexo不显示图片

找好久,有让装插件的,有改Typora图片路径的,但是都不奏效哈.头疼,还没解决.

macOS剪切快捷键

复制

选定源文件,按Command+C 快捷键拷贝到剪贴板


粘贴

转到目标文件夹,按Command+V可将源文件复制到目标文件夹


剪切文件

按下Command+Option+V 即可将源文件移动到目标文件夹,这相当于实现了windows 下的剪切功能。

macOS显示隐藏文件

苹果Mac操作系统下怎么显示隐藏文件


1. Terminal

最简单的是通过在Mac终端输入命令。

显示隐藏文件(注意空格和大小写):

1
defaults write com.apple.finder AppleShowAllFiles -bool true

1
defaults write com.apple.finder AppleShowAllFiles YES

不显示隐藏文件:

1
defaults write com.apple.finder AppleShowAllFiles -bool false 

1
defaults write com.apple.finder AppleShowAllFiles NO

输入完成后,单击Enter键,然后直接退出终端,重新启动Finder即可。
重启Finder:首先强制退出Finder,再重新启动Finder即可。


2. 快捷键

  1. 在这里隐藏文件所在的目录按键盘上面的shift+cmmand+. ,接着看到隐藏文件夹内凡是前面带有小点的隐藏文件,或者是显示淡蓝色的文件都是隐藏文件。通过这个方式就可以查看隐藏的目录。
  2. 要恢复隐藏文件的话再次按shift+cmmand+. ,即可恢复文件的隐藏状态,如图二隐藏的文件已经不可见。

Centos8安装trojan

yum安装前置代理

前置代理trojan依赖epel

1
2
3
4
yum install trojan

# 配置文件目录
/etc/trojan/config.json

编辑配置文件

如果提示: SSL handshake failed

您需要将配置文件中的 “verify”:true,”verify_hostname”:true, 修改为 false

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
{
"run_type": "client",
"local_addr": "127.0.0.1",
"local_port": 1080,
"remote_addr": "pac.ibm.com",
"remote_port": 443,
"password": [
"ibm123"
],
"log_level": 1,
"ssl": {
"verify": false,
"verify_hostname": false,
"cert": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"sni": "",
"alpn": [
"h2",
"http/1.1"
],
"reuse_session": true,
"session_ticket": false,
"curves": ""
},
"tcp": {
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
}
}

ansible安装trojan剧本

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
---
- hosts: all
tasks:
- name: install trojan telnet proxychains-ng
yum:
name: [trojan,telnet,proxychains-ng]
state: latest

- name: 拷贝trojan配置文件
template:
src: /root/ansible/trojan.json.j2
dest: /etc/trojan/config.json
notify: restat trojan

- name: 配置proxychains.conf为127.0.0.1 1080
lineinfile:
path: /etc/proxychains.conf
regexp: 'socks4 127.0.0.1 9050'
line: 'socks5 127.0.0.1 1080'

- name: 启动并开机自启trojan务
service:
name: trojan
enabled: yes
state: started

handlers:
- name: restat trojan
service:
name: trojan
state: restarted

源码安装前置代理

项目地址: https://github.com/trojan-gfw/trojan/releases


下载安装trojan

1
2
3
4
5
6
7
8
# 下载traojan
wget https://ghproxy.com/https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-1.16.0-linux-amd64.tar.xz

# 解压
tar xvf trojan-1.16.0-linux-amd64.tar.xz

# 移动主程序到/usr/bin/
cd trojan/trojan /usr/bin/

创建配置文件

1
2
3
mkdir -p /etc/trojan && touch /etc/trojan/config.json

# 从从官网获取config配置,粘贴到config.json中

开机自启service文件

将下列内容写入/usr/lib/systemd/system/trojan.service文件中

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
[Unit]
# 服务的定义描述
Description=trojan
Documentation=man:trojan(1) https://trojan-gfw.github.io/trojan/config https://trojan-gfw.github.io/trojan/
# 服务启动的前置条件
After=network.target network-online.target nss-lookup.target

[Service]
# service类型
Type=simple
StandardError=journal
# 由哪个用户运行
User=nobody
AmbientCapabilities=CAP_NET_BIND_SERVICE
# 需要启动的程序
ExecStart=/usr/bin/trojan /etc/trojan/config.json

ExecReload=/bin/kill -HUP $MAINPID
# 重启策略,失败时重启
Restart=on-failure
# 重启间隔时间
RestartSec=1s

[Install]
# 定义service放在哪个target里面
WantedBy=multi-user.target

配置开机自启动

参考: https://blog.csdn.net/omaidb/article/details/120519191


安装supervisor

1
2
3
4
5
6
7
#启用epel库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#安装
yum install -y supervisor

#开机自启
sudo systemctl enable --now supervisord

配置trojan开机自启

/etc/supervisord.d中创建trojan.ini文件.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#程序的名称
[program:trojan]
#执行的命令
command = /opt/trojan/trojan -c /opt/trojan/trojan/config.json
#命令执行的目录
directory = /opt/trojan/

#执行进程的用户
user = root
#停止方法
stopsignal = INT
#是否自动启动
autostart = true
#是否自动重启
autorestart = true
#自动重启间隔
startsecs = 1
#错误输出路径
stderr_logfile = /var/log/trojan.err.log
#日志输出路径
stdout_logfile = /var/log/trojan.out.log

启动trojan

1
2
3
4
5
6
7
# 热重启,不会重启其他子进程(reread是重读的意思,比reload高级)
supervisorctl reread
# 使用update命令,也会启动脚本
supervisorctl update

#查看所有任务状态
supervisorctl status

测试trojan

1
telnet 127.0.0.1 1080

ansible源码安装trojan剧本

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
---
- hosts: all
tasks:
- name: wget tojan
get_url:
url: https://ghproxy.com/https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-1.16.0-linux-amd64.tar.xz
dest: /root/
- name: mkdir -p /opt
file:
path: /opt
state: directory

- name: 解压文件
shell: tar xvf trojan-1.16.0-linux-amd64.tar.xz -C /opt/
- name: 创建json配置文件
file:
path: /opt/trojan/config.json
state: file

- name: 添加json配置
copy:
content: '{{ 从官网复制配置内容 }}'
dest: /opt/trojan/config.json

- name: 安装supervisor
yum:
name: supervisor
- name: 启动并开机自启supervisor服务
service:
name: supervisord
enabled: yes
state: started
- name: 配置trojan开机自启
copy:
src: /root/ansible/trojan.ini
dest: /etc/supervisord.d/
- name: 启动trojan
shell: 'supervisorctl reread && supervisorctl update'

设置临时全局代理

https://zhuanlan.zhihu.com/p/46973701

1
2
export ALL_PROXY=socks5://127.0.0.1:1080
# 如果想开机自启,写入到`.bashrc`中