From c6512551c8dcbc0cb69b43cbc48bcc1e93755aa4 Mon Sep 17 00:00:00 2001 From: aowang <644273006@qq.com> Date: Sat, 12 Oct 2024 11:14:55 +0800 Subject: [PATCH] mod --- archives/2014/06/index.html | 2 +- archives/2014/11/index.html | 2 +- archives/2014/index.html | 2 +- archives/2015/02/index.html | 2 +- archives/2015/03/index.html | 2 +- archives/2015/04/index.html | 2 +- archives/2015/05/index.html | 2 +- archives/2015/06/index.html | 2 +- archives/2015/07/index.html | 2 +- archives/2015/08/index.html | 2 +- archives/2015/09/index.html | 2 +- archives/2015/10/index.html | 2 +- archives/2015/11/index.html | 2 +- archives/2015/12/index.html | 2 +- archives/2015/index.html | 2 +- archives/2016/02/index.html | 2 +- archives/2016/03/index.html | 2 +- archives/2016/04/index.html | 2 +- archives/2016/06/index.html | 2 +- archives/2016/07/index.html | 2 +- archives/2016/10/index.html | 2 +- archives/2016/11/index.html | 2 +- archives/2016/12/index.html | 2 +- archives/2016/index.html | 2 +- archives/2017/01/index.html | 2 +- archives/2017/04/index.html | 2 +- archives/2017/05/index.html | 2 +- archives/2017/07/index.html | 2 +- archives/2017/08/index.html | 2 +- archives/2017/09/index.html | 2 +- archives/2017/index.html | 2 +- archives/2018/04/index.html | 2 +- archives/2018/05/index.html | 2 +- archives/2018/07/index.html | 2 +- archives/2018/08/index.html | 2 +- archives/2018/09/index.html | 2 +- archives/2018/10/index.html | 2 +- archives/2018/11/index.html | 2 +- archives/2018/12/index.html | 2 +- archives/2018/index.html | 2 +- archives/2019/01/index.html | 2 +- archives/2019/02/index.html | 2 +- archives/2019/03/index.html | 2 +- archives/2019/05/index.html | 2 +- archives/2019/06/index.html | 2 +- archives/2019/07/index.html | 2 +- archives/2019/08/index.html | 2 +- archives/2019/09/index.html | 2 +- archives/2019/10/index.html | 2 +- archives/2019/11/index.html | 2 +- archives/2019/12/index.html | 2 +- archives/2019/index.html | 2 +- archives/2020/01/index.html | 2 +- archives/2020/02/index.html | 2 +- archives/2020/03/index.html | 2 +- archives/2020/04/index.html | 2 +- archives/2020/05/index.html | 2 +- archives/2020/06/index.html | 2 +- archives/2020/07/index.html | 2 +- archives/2020/08/index.html | 2 +- archives/2020/09/index.html | 2 +- archives/2020/10/index.html | 2 +- archives/2020/11/index.html | 2 +- archives/2020/12/index.html | 10 +- archives/2020/index.html | 10 +- archives/2021/01/index.html | 2 +- archives/2021/02/index.html | 2 +- archives/2021/06/index.html | 2 +- archives/2021/07/index.html | 2 +- archives/2021/08/index.html | 2 +- archives/2021/09/index.html | 305 --------------- archives/2021/10/index.html | 2 +- archives/2021/11/index.html | 2 +- archives/2021/index.html | 15 +- archives/2022/01/index.html | 2 +- archives/2022/04/index.html | 2 +- archives/2022/05/index.html | 2 +- archives/2022/08/index.html | 2 +- archives/2022/10/index.html | 2 +- archives/2022/11/index.html | 2 +- archives/2022/index.html | 2 +- archives/2023/02/index.html | 2 +- archives/2023/03/index.html | 2 +- archives/2023/04/index.html | 2 +- archives/2023/05/index.html | 2 +- archives/2023/06/index.html | 2 +- archives/2023/11/index.html | 2 +- archives/2023/12/index.html | 2 +- archives/2023/index.html | 2 +- archives/2024/01/index.html | 2 +- archives/2024/03/index.html | 2 +- archives/2024/08/index.html | 2 +- archives/2024/10/index.html | 15 +- archives/2024/index.html | 15 +- archives/2025/03/index.html | 2 +- archives/2025/index.html | 2 +- archives/index.html | 36 +- atom.xml | 44 +-- .../index.html" | 8 +- .../\347\224\237\346\264\273-Life/index.html" | 26 +- index.html | 32 +- page/10/index.html | 8 +- page/2/index.html | 40 +- page/3/index.html | 40 +- page/4/index.html | 40 +- page/5/index.html | 40 +- page/6/index.html | 40 +- page/7/index.html | 40 +- page/8/index.html | 32 +- post/buy/index.html | 4 +- post/ezship/index.html | 2 +- post/fliggy/index.html | 2 +- post/git/index.html | 4 +- post/hexo/index.html | 2 +- .../index.html | 4 +- post/macos/index.html | 4 +- post/mtail/index.html | 4 +- post/singapore-broadband/index.html | 57 ++- post/singapore-ltvp/index.html | 2 +- post/singapore-pr/index.html | 6 +- post/singapore/index.html | 6 +- post/terraform/index.html | 8 +- post/terragrunt/index.html | 8 +- post/tiktok-referral/index.html | 4 +- post/x11/index.html | 4 +- sitemap.txt | 186 ++++----- sitemap.xml | 368 +++++++++--------- 127 files changed, 697 insertions(+), 954 deletions(-) delete mode 100644 archives/2021/09/index.html diff --git a/archives/2014/06/index.html b/archives/2014/06/index.html index f3df83d4d..0f698c8f1 100644 --- a/archives/2014/06/index.html +++ b/archives/2014/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2014/6

- +
diff --git a/archives/2014/11/index.html b/archives/2014/11/index.html index 8e3ee9daa..d067e89c1 100644 --- a/archives/2014/11/index.html +++ b/archives/2014/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2014/11

- +
diff --git a/archives/2014/index.html b/archives/2014/index.html index a436b5ee6..52a89e7c4 100644 --- a/archives/2014/index.html +++ b/archives/2014/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2014

- +
diff --git a/archives/2015/02/index.html b/archives/2015/02/index.html index 95c09b360..1fb2c1f19 100644 --- a/archives/2015/02/index.html +++ b/archives/2015/02/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/2

- +
diff --git a/archives/2015/03/index.html b/archives/2015/03/index.html index 90773ef68..027141303 100644 --- a/archives/2015/03/index.html +++ b/archives/2015/03/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/3

- +
diff --git a/archives/2015/04/index.html b/archives/2015/04/index.html index d3f0e47a9..b811d4ca8 100644 --- a/archives/2015/04/index.html +++ b/archives/2015/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/4

- +
diff --git a/archives/2015/05/index.html b/archives/2015/05/index.html index 024dd9d9e..8aec14684 100644 --- a/archives/2015/05/index.html +++ b/archives/2015/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/5

- +
diff --git a/archives/2015/06/index.html b/archives/2015/06/index.html index 5e63bb4af..81676008f 100644 --- a/archives/2015/06/index.html +++ b/archives/2015/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/6

- +
diff --git a/archives/2015/07/index.html b/archives/2015/07/index.html index d639dd930..1c7cde3d0 100644 --- a/archives/2015/07/index.html +++ b/archives/2015/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/7

- +
diff --git a/archives/2015/08/index.html b/archives/2015/08/index.html index 24c9a1a59..00951d1ea 100644 --- a/archives/2015/08/index.html +++ b/archives/2015/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/8

- +
diff --git a/archives/2015/09/index.html b/archives/2015/09/index.html index ccb48a8e9..7e6327f09 100644 --- a/archives/2015/09/index.html +++ b/archives/2015/09/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/9

- +
diff --git a/archives/2015/10/index.html b/archives/2015/10/index.html index 5e4b3b68a..998b2e0e4 100644 --- a/archives/2015/10/index.html +++ b/archives/2015/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/10

- +
diff --git a/archives/2015/11/index.html b/archives/2015/11/index.html index ec90e2c70..801a053fd 100644 --- a/archives/2015/11/index.html +++ b/archives/2015/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/11

- +
diff --git a/archives/2015/12/index.html b/archives/2015/12/index.html index c86647717..fe42dd843 100644 --- a/archives/2015/12/index.html +++ b/archives/2015/12/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015/12

- +
diff --git a/archives/2015/index.html b/archives/2015/index.html index 329c213d1..8b55422e6 100644 --- a/archives/2015/index.html +++ b/archives/2015/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2015

- +
diff --git a/archives/2016/02/index.html b/archives/2016/02/index.html index 18b89a41d..be51fbb13 100644 --- a/archives/2016/02/index.html +++ b/archives/2016/02/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/2

- +
diff --git a/archives/2016/03/index.html b/archives/2016/03/index.html index 6bb6f8da5..0dd71bef8 100644 --- a/archives/2016/03/index.html +++ b/archives/2016/03/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/3

- +
diff --git a/archives/2016/04/index.html b/archives/2016/04/index.html index 99f43f5c9..4ffa3c510 100644 --- a/archives/2016/04/index.html +++ b/archives/2016/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/4

- +
diff --git a/archives/2016/06/index.html b/archives/2016/06/index.html index 9ab907f07..942199ecc 100644 --- a/archives/2016/06/index.html +++ b/archives/2016/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/6

- +
diff --git a/archives/2016/07/index.html b/archives/2016/07/index.html index 13cfb5a43..6bc1735e3 100644 --- a/archives/2016/07/index.html +++ b/archives/2016/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/7

- +
diff --git a/archives/2016/10/index.html b/archives/2016/10/index.html index be3624e2b..5239afa49 100644 --- a/archives/2016/10/index.html +++ b/archives/2016/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/10

- +
diff --git a/archives/2016/11/index.html b/archives/2016/11/index.html index 379c275e6..127877baa 100644 --- a/archives/2016/11/index.html +++ b/archives/2016/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/11

- +
diff --git a/archives/2016/12/index.html b/archives/2016/12/index.html index 27a45d40b..bd300f81d 100644 --- a/archives/2016/12/index.html +++ b/archives/2016/12/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016/12

- +
diff --git a/archives/2016/index.html b/archives/2016/index.html index 163f13b78..6279195ff 100644 --- a/archives/2016/index.html +++ b/archives/2016/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2016

- +
diff --git a/archives/2017/01/index.html b/archives/2017/01/index.html index d9408765b..4a884390d 100644 --- a/archives/2017/01/index.html +++ b/archives/2017/01/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017/1

- +
diff --git a/archives/2017/04/index.html b/archives/2017/04/index.html index ebad711a2..86e3bcebb 100644 --- a/archives/2017/04/index.html +++ b/archives/2017/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017/4

- +
diff --git a/archives/2017/05/index.html b/archives/2017/05/index.html index 37efa559c..c66b7f011 100644 --- a/archives/2017/05/index.html +++ b/archives/2017/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017/5

- +
diff --git a/archives/2017/07/index.html b/archives/2017/07/index.html index 61343197a..fbd60f9e0 100644 --- a/archives/2017/07/index.html +++ b/archives/2017/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017/7

- +
diff --git a/archives/2017/08/index.html b/archives/2017/08/index.html index 110b984d7..f22b5d85d 100644 --- a/archives/2017/08/index.html +++ b/archives/2017/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017/8

- +
diff --git a/archives/2017/09/index.html b/archives/2017/09/index.html index eb69eb72b..4c1953860 100644 --- a/archives/2017/09/index.html +++ b/archives/2017/09/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017/9

- +
diff --git a/archives/2017/index.html b/archives/2017/index.html index 9c4205576..09efd7095 100644 --- a/archives/2017/index.html +++ b/archives/2017/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2017

- +
diff --git a/archives/2018/04/index.html b/archives/2018/04/index.html index 9cadb7f9b..6f18c71ba 100644 --- a/archives/2018/04/index.html +++ b/archives/2018/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/4

- +
diff --git a/archives/2018/05/index.html b/archives/2018/05/index.html index ddd5a2566..c60dc80fa 100644 --- a/archives/2018/05/index.html +++ b/archives/2018/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/5

- +
diff --git a/archives/2018/07/index.html b/archives/2018/07/index.html index bbf7f69de..ab40d2477 100644 --- a/archives/2018/07/index.html +++ b/archives/2018/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/7

- +
diff --git a/archives/2018/08/index.html b/archives/2018/08/index.html index 5e63ad8d6..2eae00b70 100644 --- a/archives/2018/08/index.html +++ b/archives/2018/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/8

- +
diff --git a/archives/2018/09/index.html b/archives/2018/09/index.html index bea97d52f..83fa99490 100644 --- a/archives/2018/09/index.html +++ b/archives/2018/09/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/9

- +
diff --git a/archives/2018/10/index.html b/archives/2018/10/index.html index 3c63aca97..e0a1dcc17 100644 --- a/archives/2018/10/index.html +++ b/archives/2018/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/10

- +
diff --git a/archives/2018/11/index.html b/archives/2018/11/index.html index 1f7c4fd2e..bc54556af 100644 --- a/archives/2018/11/index.html +++ b/archives/2018/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/11

- +
diff --git a/archives/2018/12/index.html b/archives/2018/12/index.html index e592db1d9..e12a3c56d 100644 --- a/archives/2018/12/index.html +++ b/archives/2018/12/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018/12

- +
diff --git a/archives/2018/index.html b/archives/2018/index.html index 84d01f5c6..647968297 100644 --- a/archives/2018/index.html +++ b/archives/2018/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2018

- +
diff --git a/archives/2019/01/index.html b/archives/2019/01/index.html index 14bbd563d..3650e3e0e 100644 --- a/archives/2019/01/index.html +++ b/archives/2019/01/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/1

- +
diff --git a/archives/2019/02/index.html b/archives/2019/02/index.html index 63be8ed07..b580f9b1b 100644 --- a/archives/2019/02/index.html +++ b/archives/2019/02/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/2

- +
diff --git a/archives/2019/03/index.html b/archives/2019/03/index.html index db95eb3f0..8dceb7a05 100644 --- a/archives/2019/03/index.html +++ b/archives/2019/03/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/3

- +
diff --git a/archives/2019/05/index.html b/archives/2019/05/index.html index 28cd62770..a0408ec7d 100644 --- a/archives/2019/05/index.html +++ b/archives/2019/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/5

- +
diff --git a/archives/2019/06/index.html b/archives/2019/06/index.html index ed22fa485..4ad97b627 100644 --- a/archives/2019/06/index.html +++ b/archives/2019/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/6

- +
diff --git a/archives/2019/07/index.html b/archives/2019/07/index.html index c2524c476..07c2dc063 100644 --- a/archives/2019/07/index.html +++ b/archives/2019/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/7

- +
diff --git a/archives/2019/08/index.html b/archives/2019/08/index.html index d6f4bfb92..dbfd2fedb 100644 --- a/archives/2019/08/index.html +++ b/archives/2019/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/8

- +
diff --git a/archives/2019/09/index.html b/archives/2019/09/index.html index 67ec860c9..c44e2e5c4 100644 --- a/archives/2019/09/index.html +++ b/archives/2019/09/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/9

- +
diff --git a/archives/2019/10/index.html b/archives/2019/10/index.html index e0c488d9a..9475a68d0 100644 --- a/archives/2019/10/index.html +++ b/archives/2019/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/10

- +
diff --git a/archives/2019/11/index.html b/archives/2019/11/index.html index 01c44f8d2..d572020c5 100644 --- a/archives/2019/11/index.html +++ b/archives/2019/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/11

- +
diff --git a/archives/2019/12/index.html b/archives/2019/12/index.html index 37b5fe50c..15cb032c5 100644 --- a/archives/2019/12/index.html +++ b/archives/2019/12/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019/12

- +
diff --git a/archives/2019/index.html b/archives/2019/index.html index 57d17a949..a1b9daa25 100644 --- a/archives/2019/index.html +++ b/archives/2019/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2019

- +
diff --git a/archives/2020/01/index.html b/archives/2020/01/index.html index b0e228b5f..ee2f47302 100644 --- a/archives/2020/01/index.html +++ b/archives/2020/01/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/1

- +
diff --git a/archives/2020/02/index.html b/archives/2020/02/index.html index 82cd81685..fcc622c21 100644 --- a/archives/2020/02/index.html +++ b/archives/2020/02/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/2

- +
diff --git a/archives/2020/03/index.html b/archives/2020/03/index.html index 161e5fba6..46eafce33 100644 --- a/archives/2020/03/index.html +++ b/archives/2020/03/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/3

- +
diff --git a/archives/2020/04/index.html b/archives/2020/04/index.html index 5e0263f21..0e672d048 100644 --- a/archives/2020/04/index.html +++ b/archives/2020/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/4

- +
diff --git a/archives/2020/05/index.html b/archives/2020/05/index.html index 7a3dd9371..f4f58f34c 100644 --- a/archives/2020/05/index.html +++ b/archives/2020/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/5

- +
diff --git a/archives/2020/06/index.html b/archives/2020/06/index.html index f76c93a09..31a012efa 100644 --- a/archives/2020/06/index.html +++ b/archives/2020/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/6

- +
diff --git a/archives/2020/07/index.html b/archives/2020/07/index.html index 44fcfda81..5328847c9 100644 --- a/archives/2020/07/index.html +++ b/archives/2020/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/7

- +
diff --git a/archives/2020/08/index.html b/archives/2020/08/index.html index bb4714f20..66220ebf8 100644 --- a/archives/2020/08/index.html +++ b/archives/2020/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/8

- +
diff --git a/archives/2020/09/index.html b/archives/2020/09/index.html index a9ea7850f..55984b54f 100644 --- a/archives/2020/09/index.html +++ b/archives/2020/09/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/9

- +
diff --git a/archives/2020/10/index.html b/archives/2020/10/index.html index 1d1751884..f0720d004 100644 --- a/archives/2020/10/index.html +++ b/archives/2020/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/10

- +
diff --git a/archives/2020/11/index.html b/archives/2020/11/index.html index a8a14fbe4..2abe80f40 100644 --- a/archives/2020/11/index.html +++ b/archives/2020/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/11

- +
diff --git a/archives/2020/12/index.html b/archives/2020/12/index.html index 939b55ff6..e5756309d 100644 --- a/archives/2020/12/index.html +++ b/archives/2020/12/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020/12

- +
@@ -105,26 +105,26 @@

2020/12

-
-
diff --git a/archives/2020/index.html b/archives/2020/index.html index 8b01316f2..527ba81cb 100644 --- a/archives/2020/index.html +++ b/archives/2020/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2020

- +
@@ -105,26 +105,26 @@

2020

-
-
diff --git a/archives/2021/01/index.html b/archives/2021/01/index.html index 00d1330b4..c6bbc2f5a 100644 --- a/archives/2021/01/index.html +++ b/archives/2021/01/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/1

- +
diff --git a/archives/2021/02/index.html b/archives/2021/02/index.html index afe78cdc6..422994ca0 100644 --- a/archives/2021/02/index.html +++ b/archives/2021/02/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/2

- +
diff --git a/archives/2021/06/index.html b/archives/2021/06/index.html index ff9703d9f..6850e2692 100644 --- a/archives/2021/06/index.html +++ b/archives/2021/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/6

- +
diff --git a/archives/2021/07/index.html b/archives/2021/07/index.html index 08fabd8b6..20cf94513 100644 --- a/archives/2021/07/index.html +++ b/archives/2021/07/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/7

- +
diff --git a/archives/2021/08/index.html b/archives/2021/08/index.html index ea1d9c5c7..2c7290aba 100644 --- a/archives/2021/08/index.html +++ b/archives/2021/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/8

- +
diff --git a/archives/2021/09/index.html b/archives/2021/09/index.html deleted file mode 100644 index c04283f36..000000000 --- a/archives/2021/09/index.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - - - - - 归档: 2021/9 | HelloDog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - -
-
-
- - -
-

2021/9

- - - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - diff --git a/archives/2021/10/index.html b/archives/2021/10/index.html index 9fa24e963..1804e8692 100644 --- a/archives/2021/10/index.html +++ b/archives/2021/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/10

- +
diff --git a/archives/2021/11/index.html b/archives/2021/11/index.html index d47b417db..f31cb2f67 100644 --- a/archives/2021/11/index.html +++ b/archives/2021/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021/11

- +
diff --git a/archives/2021/index.html b/archives/2021/index.html index 14cdf03f1..90fe1711a 100644 --- a/archives/2021/index.html +++ b/archives/2021/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2021

- +
@@ -129,19 +129,6 @@

macOS升级后开机卡在进度条和唤醒时黑屏的解 -
- - -
-
+
diff --git a/archives/2022/04/index.html b/archives/2022/04/index.html index 9b59985f5..83917f817 100644 --- a/archives/2022/04/index.html +++ b/archives/2022/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2022/4

- +
diff --git a/archives/2022/05/index.html b/archives/2022/05/index.html index 1867a332c..818f43aca 100644 --- a/archives/2022/05/index.html +++ b/archives/2022/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2022/5

- +
diff --git a/archives/2022/08/index.html b/archives/2022/08/index.html index ccb509f28..c0ee82658 100644 --- a/archives/2022/08/index.html +++ b/archives/2022/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2022/8

- +
diff --git a/archives/2022/10/index.html b/archives/2022/10/index.html index 2e8074d11..e3bbd98b5 100644 --- a/archives/2022/10/index.html +++ b/archives/2022/10/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2022/10

- +
diff --git a/archives/2022/11/index.html b/archives/2022/11/index.html index 13ca08e35..d4d0632d2 100644 --- a/archives/2022/11/index.html +++ b/archives/2022/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2022/11

- +
diff --git a/archives/2022/index.html b/archives/2022/index.html index dde1d3f24..044a49798 100644 --- a/archives/2022/index.html +++ b/archives/2022/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2022

- +
diff --git a/archives/2023/02/index.html b/archives/2023/02/index.html index c4beb9569..fe3230844 100644 --- a/archives/2023/02/index.html +++ b/archives/2023/02/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/2

- +
diff --git a/archives/2023/03/index.html b/archives/2023/03/index.html index 3b50fbf58..eecb573c8 100644 --- a/archives/2023/03/index.html +++ b/archives/2023/03/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/3

- +
diff --git a/archives/2023/04/index.html b/archives/2023/04/index.html index b7cf8a84b..a135a3f62 100644 --- a/archives/2023/04/index.html +++ b/archives/2023/04/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/4

- +
diff --git a/archives/2023/05/index.html b/archives/2023/05/index.html index dbce01952..b51ece6df 100644 --- a/archives/2023/05/index.html +++ b/archives/2023/05/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/5

- +
diff --git a/archives/2023/06/index.html b/archives/2023/06/index.html index 0cc93b581..8aca476aa 100644 --- a/archives/2023/06/index.html +++ b/archives/2023/06/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/6

- +
diff --git a/archives/2023/11/index.html b/archives/2023/11/index.html index 084205950..8ee436239 100644 --- a/archives/2023/11/index.html +++ b/archives/2023/11/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/11

- +
diff --git a/archives/2023/12/index.html b/archives/2023/12/index.html index e3362f4e5..a639d14c8 100644 --- a/archives/2023/12/index.html +++ b/archives/2023/12/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023/12

- +
diff --git a/archives/2023/index.html b/archives/2023/index.html index 463f0eb43..f67b02cb7 100644 --- a/archives/2023/index.html +++ b/archives/2023/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2023

- +
diff --git a/archives/2024/01/index.html b/archives/2024/01/index.html index 29f7c5892..009863d56 100644 --- a/archives/2024/01/index.html +++ b/archives/2024/01/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2024/1

- +
diff --git a/archives/2024/03/index.html b/archives/2024/03/index.html index b1501db89..750067917 100644 --- a/archives/2024/03/index.html +++ b/archives/2024/03/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2024/3

- +
diff --git a/archives/2024/08/index.html b/archives/2024/08/index.html index 47922a1d3..41bd263f3 100644 --- a/archives/2024/08/index.html +++ b/archives/2024/08/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2024/8

- +
diff --git a/archives/2024/10/index.html b/archives/2024/10/index.html index e7431b081..a0a98cc8b 100644 --- a/archives/2024/10/index.html +++ b/archives/2024/10/index.html @@ -96,13 +96,26 @@

Keep Calm and Carry On

2024/10

- +
+
+ + +
+
+
+
+ + +
+
+
diff --git a/archives/2025/index.html b/archives/2025/index.html index 12a2b7ef4..3cf3cef90 100644 --- a/archives/2025/index.html +++ b/archives/2025/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

2025

- +
diff --git a/archives/index.html b/archives/index.html index 682df1d51..76b0e327f 100644 --- a/archives/index.html +++ b/archives/index.html @@ -96,7 +96,7 @@

Keep Calm and Carry On

归档

- +
@@ -116,6 +116,19 @@

字节跳动和TikTok内推

+
+ + +
+

-
- - -
-
-
diff --git a/atom.xml b/atom.xml index 808d01bae..9a7e2d83b 100644 --- a/atom.xml +++ b/atom.xml @@ -33,6 +33,25 @@ + + + + 新加坡宽带套餐选择推荐和路由器配置经验分享 + + https://wsgzao.github.io/post/singapore-broadband/ + 2024-10-06T02:59:49.000Z + 2024-10-12T03:12:54.494Z + + 前言

原本没有计划写新加坡个人宽带,但是在经历过Singtel合约转让以及续费并且手动debug登录光猫修改路由器配置后,我决定把自己了解到的信息和大家做下分享,而且由于新加坡疫情从2020年初到现在对所有人最重要的影响改变就是习惯WFH,除了房子以外宽带的可靠性其实决定了大家在家办公的舒适程度。这篇文章想和大家分享的不单纯是新加坡宽带套餐选择,更重要的是分享下在新加坡上网的经验之谈。

更新历史

2024年10月06日 - 更新新加坡宽带10Gbps购买建议
2021年09月07日 - 初稿

阅读原文 - https://wsgzao.github.io/post/singapore-broadband/


2024年新加坡宽带购买建议

Singtel已经下线1Gbps宽带,新用户压根没有选择的权利,调研了下现阶段各个运营商的套餐后,我还是续约2年留在Singtel

威胁不给保留1Gbps就换运营商后Singtel同意39.89价格续费,续约理由如下

  1. Singtel价格偏贵,但延迟较低,运行一直很稳定从没出过问题,稳定对经常WFH的用户来说很重要
  2. 更换运营商还要单独支付Netlink Trust (NLT)和Optical Network Terminal (ONT),如果质量不靠谱会浪费较多时间成本
  3. 按新加坡政府的宽带提升规划是10Gbps,那么目前的2Gbps、2.5Gbps、5Gbps在我看来也是过渡形态,WiFi 6升级WiFi 7也需要时间普及硬件设备
  4. 如果我是新用户那么StarHub 25新币5Gbps,Simba 29.99新币10Gbps或许价格上对我会有吸引力,但作为老用户我有自己的需求还是选择耐心等等,让子弹再飞一会

新加坡宽带没有那么复杂,像我用着Singtel送的老款光猫+WiFi 5/6路由器使用有线Mesh组网依然老当益壮,全屋信号覆盖

  1. 对办公/游戏/Netflix有高标准稳定性要求,首先就是要选择有口皆碑靠谱的运营商,不要贪图便宜
  2. 其次是带宽比如至少1Gbps起步,对Cloudflare家庭建站或者NAS上传下载有追求至可以升级至最新的10Gbps,搭配万兆家用交换机,减少短板,好马配好鞍
  3. 最后才是布线+路由器,先考虑配电间到各个房间的布线至少6类千兆网线+有线Mesh组网,老房子可能还是百兆网线,折中方案是无线Mesh组网,比如主流Mesh WiFi 6/7
  4. 大神可以继续刷固件或者旁路由网关控制家庭网络,软件层面玩法多样就不展开了

然后新加坡手机网络+家用带宽成本其实也不高

远程访问的方案

  1. 远程访问理想的方案:公网IP(IPv4/IPv6)+ Wireguard + DDNS
  2. 没公网第三方中转方案:CloudFlare Zero Trust、Tailscale、NetBird
  3. 低延迟远程串流控制推荐试下Parsec、网易GameViewer

DDNS v Tailscale v Cloudflared

Best Broadband in Singapore For Your Household Needs: Singtel vs M1 vs StarHub vs MyRepublic & More

Best SIM-Only Plans in Singapore (July 2024): Singtel, M1, Starhub, GOMO and More

新加坡宽带选择结论

我选择Singtel宽带

原因很简单

  1. 稳定压倒一切
  2. 一分价钱一分货,Singtel就是新加坡的中国电信
  3. 和其他宽带供应商比较已经算是优质的售后服务体验

如果大家在国内生活过,我举中国电信宽带对比联通/移动/有线通/鹏博士/长城宽带,相信各位就能明白在新加坡Singtel对比M1/StarHub/MyRepublic/ViewQwest/WhizComms的区别。被上述友商深深伤害过的朋友一定明白谁才真正掌握宽带核心科技

新加坡宽带套餐对比

关于新加坡宽带套餐对比网上已经有比较详细的分析,我这边主要强调3点,希望对大家有参考价值

  1. 合约时间一般分为1年和2年,宽带速率一般为1Gbps,当然也可以选择500Mbps或者2Gbps以上
  2. 性价比来说我个人觉得差价不大,建议优先考虑长期在家办公的稳定性
  3. 注意产品背后涉及合约转让,搬家迁移,提前解约等隐形成本,售后服务优先
Home Fibre Broadband Provider No Contract Plan 12-Months Plan 24-Months Plan Sign-Up and Installation Fees
M1 None 500Mbps: $39.90

1Gbps with Router: $49.90
500Mbps: $29.90

1Gbps with Router: $39.90

1Gbps (GamePRO): $52
Registration: $58.85 (waived for new sign-ups with promo code 'FREEREG' for 24-months 1 Gbps plan)

ONT Activation: $90.00 (waived for Mon to Fri, 9am to 6pm)

Optical Fibre Termination Point Installation: $160.50 (Condo & HDB) or $288.90 (landed)
MyRepublic 1Gbps: $59.99 1Gbps: $50.99 200Mbps: $27.99

1Gbps: $38.99

1Gbps with Router or WiFi Mesh: $41.99

1Gbps (Gamer): $49.99

2 x 1Gbps: $51.99

2 x 1Gbps (Gamer): $56.99
Service installation fee: $53.50 (one-time)

ONT Activation: $56.71

Optical Fibre Termination Point Installation: $160.50 (Condo & HDB) or $288.90 (landed)
Singtel None None 1Gbps with Router: $44.90

1Gbps with WiFi Mesh: $49.90

2Gbps with WiFi Mesh: $64.90

1+1 Gbps Gamer Bundle: $64.90

10Gbps with WiFi Mesh: $169
Registration: $53.50 (one time, free for online sign ups)

ONT Activation: $56.71

Optical Fibre Termination Point Installation: $160.50 (Condo & HDB) or $288.90 (landed)
StarHub None 1Gbps with Router: $49.90 500Mbps: $29.90

1Gbps with Router: $45.90

2Gbps with Router: $54.90
Registration: None

ONT Activation: $56.71

Optical Fibre Termination Point Installation: $160.50 (Condo & HDB) or $288.90 (landed)
ViewQwest 1Gbps: $62.50 None 500Mbps: $29.90

1Gbps with Router: $42.90

1Gbps with WiFi Mesh: $53.90

1Gbps (Gamer): $52.90

2 Gbps: $48.90

2Gbps (Gamer): $64.90

2Gbps with WiFi Mesh: $65.90
Registration: $53.50 (one-time)

ONT Activation: $56.71

Optical Fibre Termination Point Installation: $160.50 (Condo & HDB) or $288.90 (landed)
WhizComms None 300Mbps: $32

1Gbps: $40

1Gbps with Router: $47
300Mbps: $28.90

1Gbps: $34.90

1Gbps with Router: $39.90

1Gbps with WiFi Mesh: $49.90
Service activation fee: $53.50 (one-time)

ONT Activation: $56.71

Optical Fibre Termination Point Installation: $160.50 (Condo & HDB) or $288.90 (landed)

Note: Prices listed are regular prices correct as at the time of writing; there are usually promos which give free installation, registration fee waivers and etc.

Best Home Fibre Broadband Plan in Singapore: Which Is the Cheapest Home Fibre Broadband Plan?
https://blog.seedly.sg/best-broadband-plan/

新加坡宽带套餐,哪家速度快?又实惠?
https://www.xiaohongshu.com/discovery/item/5fb9bfaf0000000001009143

新加坡宽带测速

Netflix出品的FAST
https://fast.com/

老牌的SPEEDTEST
https://www.speedtest.net/

Singapore Speedtest Server
http://speed-portal.singnet.com.sg/

Singtel使用体验

因为我自己使用的是Singtel,所以会和大家分享下Singtel宽带使用体验。

新加坡的宽带和手机套餐是完全分开的,这个和法律政策有关,大家就不要考虑类似中国电信乐享家无限流量宽带融合套餐了。

购买经历

我购买的是别人转让给我的Singtel宽带套餐1Gbps
原价$49.90/mth,24-month contract,Add-ons是

所以每月实际付费为$42.91

如果你是首次购买可以通过Singtel官网查看优惠活动
https://www.singtel.com/personal/products-services/broadband/fibre-broadband-plans

因为我的套餐2021年12月底到期,9月份就可以开始提前续约,所以也了解清楚Recontracting续约的优惠方案,主要有3种

  1. 每月直减优惠,一般是5新币左右,每月就是45.9
  2. 免费送3个月左右,实际消费按合同24-3=21个月,平均每月也差不多43.66
  3. 绑定合约套餐,如路由器,戴森等数码产品,给一个很低的数字如39.9吸引你,然后你会发现分期价格更坑爹,不推荐办理

Singtel服务热线主要分两种
1609 销售
1688 技术支持

合约转让或者提前解约

转让一般分两种情况

  1. 你转让给别人或者别人转让给你,流程基本类似
  2. relocate搬家

Transfer of account and service ownership
https://www.singtel.com/personal/support/account/transfer-of-account-and-service-ownership

合约转让注意2点

  1. 被人转让给你,建议提前打电话给Singtel评估家里是否可以安装Singtel
  2. 转让Singtel一定需要双方携带证件前往指定的Singtel实体店面签,比如我去的是乌节路313后面的Singtel总部

relocate搬家注意的是

  1. 预约Singtel宽带迁移时间,评估新地址是否可用
  2. 安装费用分为2笔Singtel服务费(可免)和NLT,费用会根据工作日和非工作日收取不同费用,NetLink Trust (NLT)通常免不了

提前解约违约成本较高,建议通过合约转让的形式避免,承担1笔40新币左右转让费用就完事了

其他问题可以浏览官方或者拨打1688咨询,支持中文客服
https://www.singtel.com/personal/support

Singtel路由器设置方法

Singtel路由器简介

  1. Huawei HG8240T5 Optical Network Router (ONR) ,就是文章里feiyang提到的Singtel光纤+路由硬件
    https://www.singtel.com/personal/support/broadband/routers-ont
  2. Singtel-issued AC Plus router,这个大家伙算是路由器,但真的登录上去又会发现有很多阉割限制
    https://www.singtel.com/personal/support/broadband/routers-ont/arcadyan-ac-plus-guide
  3. 一般首次安装Singtel工作人员会上门配置,如果涉及resale转让或者搬家建议和Singtel官方客服确认清楚细节流程,这样可以有效减少不必要的麻烦

Singtel路由器常见问题

  1. 路由器到底怎么登录进去?官网留了个坑就是feiyang提到的需要移除网线断电重启才能真正进入路由器后台,无需密码,http://192.168.1.254/
    https://www.singtel.com/personal/support/broadband/routers-ont/arcadyan-ac-plus-guide/change-wireless-settings
  2. Band Steering自动频段切换要不要禁用,禁用的好处是可以分别独立开启2.4G和5G并重新命名不同名字的SSID,但我还没有详细的评测数据,目前体验下来暂未发现问题,欢迎补充
  3. 如果是游戏用户或者对网速要求较高,老老实实用有线网络会比较合适,充分榨干1Gbps

Singtel路由器配置过程小结

  1. 我最初的需求是计划修改SSID,默认密码,独立设置2.4G和5G,交换机和路由器192.168.1.1/24网段分离避免192.168.1.254地址冲突导致无法进入路由器后台的尴尬
  2. 最后不做任何配置修改,感觉也没必要折腾,但如果我未来觉得有其它问题还是会再回来调优的

singtel 路由器踩坑经历
https://feiyang233.club/post/singtel/

新电信 Singtel vs 星和 StarHub 宽带对比
https://www.pupboss.com/singtel-fibre-vs-starhub-fibre/

新加坡网络的特点

  1. 新加坡号称全球网速最快的国家之一,Singtel 1Gbps用有线测速上行和下行基本对等,而你只需要搭配一个更加强大的路由器或者Mesh路由器组网来覆盖更大的面积
  2. 宽带供应商公网IP逐步像国内一样不再开放,动手能力强的话依然可以debug下光猫
  3. 如果你发现某些网站不能正常访问比如P站,可以试着修改主DNS为8.8.8.8,然后见证奇迹的时刻
  4. 新加坡可以非常自由的观看Netflix/Disney+/YouTube Premium等流媒体,可以通过合租降低成本,比如Netflix合租后3个月仅45人民币
  5. 新加坡的网络对国内的产品出海也都比较友好,像微信读书,腾讯视频,QQ音乐,爱奇艺,B站,小红书在新加坡都可以流畅使用,部分受到海外版权播放限制,不过都有办法解除,想追的电影/电视剧/综艺基本都可以和国内或者国际保持同步
  6. 我手机使用的是zero1.sg虚拟运营商无限流量套餐9.9新币每月,背后实际运营依然是Singtel,达量限速对大部分不看高清视频的用户绝对够用而且不用担心流量超出问题,从来新加坡使用至今几乎没有让我失望过。因为新加坡携号转网很方便,我也是在用爱发电推荐zero1.sg给周围的朋友
]]> + + + 新加坡宽带套餐选择推荐和路由器配置经验分享 + + + + + + @@ -61,7 +80,7 @@ 2024-10-03T09:40:07.000Z 2024-10-03T09:55:39.618Z -

前言

习惯自己写Blog的朋友一定不会陌生Wordpress,或许也曾在新浪博客和QQ空间留过脚印,但静心认真思考一下,似乎我们又总是向往更加简单自由的写作方式。GitHub给我们提供了一个无限的空间,我们需要珍惜使用,而Hexo的出现从某种意义上来说代替了Jekyll,让我们可以更专注于写作本身。本文主要介绍自己的实践心得并不断完善内容,衍生知识和原理推荐大家认真阅读官网的手册,其它推荐参考内容链接在文中也会标注出来。

阮一峰 - 喜欢写Blog的人,会经历三个阶段

第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。
第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。

更新历史

2024年10月03日 - 更新macOS M系列芯片升级hexo@7.3.0和node@22
2023年03月13日 - 升级hexo@6.3.0和node@18
2021年10月17日 - 更新macOS Node.js从16/14降级为12解决hexo g生成空文件问题
2020年09月06日 - 更新macOS下部署Hexo 5.0步骤,重构文章内容
2015年11月18日 - 推荐iissnan的主题,完善细节内容
2015年09月03日 - 完善Windows 10安装Hexo中的细节
2015年03月22日 - 更新Windows下Hexo 3.0安装和升级
2015年03月10日 - 增加Hexo 3.0降级 2.8
2014年12月19日 - 完善内容
2014年12月09日 - 更新Hexo配置修改部分
2014年06月19日 - 更新全部基础架构,待完善配置修改部分
2014年06月17日 - 更新部分Hexo建站过程,待完善
2014年05月29日 - 撰写初稿

阅读原文 - https://wsgzao.github.io/post/hexo/


macOS M系列芯片

如何安装brew等基础环境请参考
MacBook从mac intel升级到apple silicon - https://wsgzao.github.io/post/macbook-from-mac-intel-to-apple-silicon/

升级Hexo前建议压缩打包备份下

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
# 查看可安装的node
brew search node

# 安装最新版node
brew install node

# 安装其他版本node
brew install node@18

# brew切换node版本
brew unlink node@22
brew link --overwrite --force node@18

# 查看node版本
node -v
v22.9.0

npm -v
10.8.3

# 安装Hexo
npm install hexo-cli -g

# Hexo初始化配置,如果是迁移数据可以跳过init
# hexo init blog

cd blog
npm install
hexo npm audit fix

# 本地启用hexo预览
hexo server
INFO Start processing
INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.

# 安装插件解决报错依赖
npm install hexo-generator-feed
npm install hexo-generator-sitemap


准备工作

注意 本文主要介绍HexoWindowsmacOS上的通用配置

了解Hexo

A fast, simple & powerful blog framework

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

https://hexo.io/

安装Git

https://desktop.github.com/

简单可依赖,安装完成后依据提示操作即可,So Easy

安装Node.JS

https://nodejs.org/

注意 安装完成后添加Path环境变量,使npm命令生效。新版已经会自动配置Path

1
2
3
4
5
6
;C:\Program Files\nodejs\node_modules\npm

# macOS
brew install node@18
brew link --overwrite node@18

安装Hexo

配置好GitHub家目录后,双击桌面上的Git Shell,输入npm命令即可安装

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
npm install hexo-cli -g
npm install hexo --save

# 如果命令无法运行,可以尝试更换taobao的npm源
npm install -g cnpm --registry=https://registry.npm.taobao.org

# macOS首次安装hexo-cli会出现权限报错
npm install hexo-cli -g

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/wangao/.npm/_logs/2020-09-06T08_50_44_338Z-debug.log

# 使用以下命令修改权限解决
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules

# Node.js版本太高需要从18/16/14降级,否则hexo g生成的是空白文件
https://github.com/hexojs/hexo/issues/4257
https://nodejs.org/en/download/releases/

npm uninstall hexo-cli -g
brew uninstall node
brew search node
brew install node@14
brew link --overwrite node@14

npm ls --depth 0

Hexo初始化配置

Hexo官方步骤

简单几步就可以在本地执行,还有一些插件需要和第三方主题搭配使用

1
2
3
4
5
6
7
8
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

npm install hexo-generator-feed
npm install hexo-generator-sitemap

创建Hexo文件夹

安装完成后,根据自己喜好建立目录(如E:\kuaipan\GitHub\hexo),进入Git Shell切换到该路径下E:\kuaipan\GitHub\hexo执行以下指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
hexo init

#安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init <folder>
$ cd <folder>
$ npm install

#新建完成后,指定文件夹的目录如下
.
├── _config.yml
├── package.json
├── scaffolds
├── scripts
├── source
| ├── _drafts
| └── _posts
└── themes

安装Hexo指定版本和插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# Hexo插件和主题要遵循版本
https://www.npmjs.com/package/hexo

# 版本
npm ls --depth 0
hexo-site@0.0.0 /GitHub/hexo
├── hexo-generator-archive@2.0.0
├── hexo-generator-category@2.0.0
├── hexo-generator-feed@3.0.0
├── hexo-generator-index@3.0.0
├── hexo-generator-sitemap@3.0.1
├── hexo-generator-tag@2.0.0
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-marked@6.0.0
├── hexo-renderer-stylus@2.1.0
├── hexo-server@3.0.0
├── hexo-theme-landscape@0.0.3
└── hexo@6.3.0

本地查看效果

继续执行以下命令,成功后可登录localhost:4000查看效果

1
hexo server

Hexo简写命令

1
2
3
4
hexo n #生成文章,或者source\_posts手动编辑
hexo s #本地发布预览效果
hexo g #生成public静态文件
最后我选择手动同步更新至GitHub

部署静态网页到GitHub

注册设置GitHub

  1. 登录GitHub,注册自定义用户名如wsgzao
  2. 在主页右下角创建New repository,name必须和用户名一致如wsgzao.github.io
  3. 首次创建耐心等待10分钟左右审核,之后即可访问静态主页如https://wsgzao.github.io

同步内容至GitHub

  1. 下载GitHub Windows
  2. 设置Local pathE:\快盘\GitHub\
  3. 运行Git Shell切换到如E:\快盘\GitHub\hexo路径下
  4. 执行hexo g命令生成public文件夹
  5. 把生成的内容全部拷贝到Local path或其子目录
  6. 运行GitHub确认修改信息后执行右上角的Sync同步
  7. 最后访问主页观察效果

https://pages.github.com/

域名和DNS

域名购买

http://www.godaddy.com/

https://www.namecheap.com/

https://wanwang.aliyun.com/domain/

DNS托管

https://www.dnspod.com/

https://www.cloudflare.com/

设置CNAME

  1. 在Github的网站目录下创建CNAME文件
  2. 填写自己的域名如hellodog.com,保存结束
  3. 登录DNSPod,先添加域名,然后添加记录,设置如下
主机记录记录类型线路类型记录值MX优先级TTL
@CNAME默认wsgzao.github.io.-10
wwwCNAME默认wsgzao.github.io.-10

Hexo配置修改

告诉自己为什么要选择Hexo

知识储备

1.勤学勤练Markdown

本地+云端备份数据是一种习惯

Markdown学习路径 - https://wsgzao.github.io/post/markdown/

2.使用性感的文本编辑器

工欲善其事必先利其器

Hexo主题

选择主题建议遵循KISS原则

Hexo Themes

hexo-theme-next

hexo-theme-oranges

hexo-theme-keep

hexo-theme-fluid

hexo-theme-butterfly

hexo-theme-redefine

免费图床

PicGo + GitHub + jsDelivr

https://github.com/Molunerfinn/PicGo

jsdelivr加速github图片地址格式,目前中国访问jsdelivr不稳定或者不可用

1
2
3
4
5
6
7
8
9
10
11
12
# 如何把图片放到github repo不再赘述。图片路径格式如下:
https://raw.githubusercontent.com/{user}/{repo}/master/{folderpath}/{filename}

# 如果希望使用jsdelivr的CDN,需要将上面图片路径转换为:
https://cdn.jsdelivr.net/gh/{user}/{repo}/{folderpath}/{filename}

# 或者说可做前缀替换
https://raw.githubusercontent.com/{user}/{repo}/master/
https://cdn.jsdelivr.net/gh/{user}/{repo}/

![](https://raw.githubusercontent.com/wsgzao/storage-public/master/img/202303141408339.png)
![](https://cdn.jsdelivr.net/gh/wsgzao/storage-public/img/202303141408339.png)

CDN加速github图床

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

常见问题

  1. 修改配置文件时注意YAML语法,参数冒号:后一定要留 空格
  2. 中文乱码请修改文件编码格式为UTF-8
  3. 如何迁移至Hexo

参考文章

Hexo官方中文文档

Easy Hexo

]]>
+

前言

习惯自己写Blog的朋友一定不会陌生Wordpress,或许也曾在新浪博客和QQ空间留过脚印,但静心认真思考一下,似乎我们又总是向往更加简单自由的写作方式。GitHub给我们提供了一个无限的空间,我们需要珍惜使用,而Hexo的出现从某种意义上来说代替了Jekyll,让我们可以更专注于写作本身。本文主要介绍自己的实践心得并不断完善内容,衍生知识和原理推荐大家认真阅读官网的手册,其它推荐参考内容链接在文中也会标注出来。

阮一峰 - 喜欢写Blog的人,会经历三个阶段

第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。
第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。

更新历史

2024年10月03日 - 更新macOS M系列芯片升级hexo@7.3.0和node@22
2023年03月13日 - 升级hexo@6.3.0和node@18
2021年10月17日 - 更新macOS Node.js从16/14降级为12解决hexo g生成空文件问题
2020年09月06日 - 更新macOS下部署Hexo 5.0步骤,重构文章内容
2015年11月18日 - 推荐iissnan的主题,完善细节内容
2015年09月03日 - 完善Windows 10安装Hexo中的细节
2015年03月22日 - 更新Windows下Hexo 3.0安装和升级
2015年03月10日 - 增加Hexo 3.0降级 2.8
2014年12月19日 - 完善内容
2014年12月09日 - 更新Hexo配置修改部分
2014年06月19日 - 更新全部基础架构,待完善配置修改部分
2014年06月17日 - 更新部分Hexo建站过程,待完善
2014年05月29日 - 撰写初稿

阅读原文 - https://wsgzao.github.io/post/hexo/


macOS M系列芯片

如何安装brew等基础环境请参考
MacBook从mac intel升级到apple silicon - https://wsgzao.github.io/post/macbook-from-mac-intel-to-apple-silicon/

升级Hexo前建议压缩打包备份下

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
# 查看可安装的node
brew search node

# 安装最新版node
brew install node

# 安装其他版本node
brew install node@18

# brew切换node版本
brew unlink node@22
brew link --overwrite --force node@18

# 查看node版本
node -v
v22.9.0

npm -v
10.8.3

# 安装Hexo
npm install hexo-cli -g

# Hexo初始化配置,如果是迁移数据可以跳过init
# hexo init blog

cd blog
npm install
hexo npm audit fix

# 本地启用hexo预览
hexo server
INFO Start processing
INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.

# 安装插件解决报错依赖
npm install hexo-generator-feed
npm install hexo-generator-sitemap


准备工作

注意 本文主要介绍HexoWindowsmacOS上的通用配置

了解Hexo

A fast, simple & powerful blog framework

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

https://hexo.io/

安装Git

https://desktop.github.com/

简单可依赖,安装完成后依据提示操作即可,So Easy

安装Node.JS

https://nodejs.org/

注意 安装完成后添加Path环境变量,使npm命令生效。新版已经会自动配置Path

1
2
3
4
5
6
;C:\Program Files\nodejs\node_modules\npm

# macOS
brew install node@18
brew link --overwrite node@18

安装Hexo

配置好GitHub家目录后,双击桌面上的Git Shell,输入npm命令即可安装

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
npm install hexo-cli -g
npm install hexo --save

# 如果命令无法运行,可以尝试更换taobao的npm源
npm install -g cnpm --registry=https://registry.npm.taobao.org

# macOS首次安装hexo-cli会出现权限报错
npm install hexo-cli -g

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/wangao/.npm/_logs/2020-09-06T08_50_44_338Z-debug.log

# 使用以下命令修改权限解决
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules

# Node.js版本太高需要从18/16/14降级,否则hexo g生成的是空白文件
https://github.com/hexojs/hexo/issues/4257
https://nodejs.org/en/download/releases/

npm uninstall hexo-cli -g
brew uninstall node
brew search node
brew install node@14
brew link --overwrite node@14

npm ls --depth 0

Hexo初始化配置

Hexo官方步骤

简单几步就可以在本地执行,还有一些插件需要和第三方主题搭配使用

1
2
3
4
5
6
7
8
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

npm install hexo-generator-feed
npm install hexo-generator-sitemap

创建Hexo文件夹

安装完成后,根据自己喜好建立目录(如E:\kuaipan\GitHub\hexo),进入Git Shell切换到该路径下E:\kuaipan\GitHub\hexo执行以下指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
hexo init

#安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init <folder>
$ cd <folder>
$ npm install

#新建完成后,指定文件夹的目录如下
.
├── _config.yml
├── package.json
├── scaffolds
├── scripts
├── source
| ├── _drafts
| └── _posts
└── themes

安装Hexo指定版本和插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# Hexo插件和主题要遵循版本
https://www.npmjs.com/package/hexo

# 版本
npm ls --depth 0
hexo-site@0.0.0 /GitHub/hexo
├── hexo-generator-archive@2.0.0
├── hexo-generator-category@2.0.0
├── hexo-generator-feed@3.0.0
├── hexo-generator-index@3.0.0
├── hexo-generator-sitemap@3.0.1
├── hexo-generator-tag@2.0.0
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-marked@6.0.0
├── hexo-renderer-stylus@2.1.0
├── hexo-server@3.0.0
├── hexo-theme-landscape@0.0.3
└── hexo@6.3.0

本地查看效果

继续执行以下命令,成功后可登录localhost:4000查看效果

1
hexo server

Hexo简写命令

1
2
3
4
hexo n #生成文章,或者source\_posts手动编辑
hexo s #本地发布预览效果
hexo g #生成public静态文件
最后我选择手动同步更新至GitHub

部署静态网页到GitHub

注册设置GitHub

  1. 登录GitHub,注册自定义用户名如wsgzao
  2. 在主页右下角创建New repository,name必须和用户名一致如wsgzao.github.io
  3. 首次创建耐心等待10分钟左右审核,之后即可访问静态主页如https://wsgzao.github.io

同步内容至GitHub

  1. 下载GitHub Windows
  2. 设置Local pathE:\快盘\GitHub\
  3. 运行Git Shell切换到如E:\快盘\GitHub\hexo路径下
  4. 执行hexo g命令生成public文件夹
  5. 把生成的内容全部拷贝到Local path或其子目录
  6. 运行GitHub确认修改信息后执行右上角的Sync同步
  7. 最后访问主页观察效果

https://pages.github.com/

域名和DNS

域名购买

http://www.godaddy.com/

https://www.namecheap.com/

https://wanwang.aliyun.com/domain/

DNS托管

https://www.dnspod.com/

https://www.cloudflare.com/

设置CNAME

  1. 在Github的网站目录下创建CNAME文件
  2. 填写自己的域名如hellodog.com,保存结束
  3. 登录DNSPod,先添加域名,然后添加记录,设置如下
主机记录记录类型线路类型记录值MX优先级TTL
@CNAME默认wsgzao.github.io.-10
wwwCNAME默认wsgzao.github.io.-10

Hexo配置修改

告诉自己为什么要选择Hexo

知识储备

1.勤学勤练Markdown

本地+云端备份数据是一种习惯

Markdown学习路径 - https://wsgzao.github.io/post/markdown/

2.使用性感的文本编辑器

工欲善其事必先利其器

Hexo主题

选择主题建议遵循KISS原则

Hexo Themes

hexo-theme-next

hexo-theme-oranges

hexo-theme-keep

hexo-theme-fluid

hexo-theme-butterfly

hexo-theme-redefine

免费图床

PicGo + GitHub + jsDelivr

https://github.com/Molunerfinn/PicGo

jsdelivr加速github图片地址格式,目前中国访问jsdelivr不稳定或者不可用

1
2
3
4
5
6
7
8
9
10
11
12
# 如何把图片放到github repo不再赘述。图片路径格式如下:
https://raw.githubusercontent.com/{user}/{repo}/master/{folderpath}/{filename}

# 如果希望使用jsdelivr的CDN,需要将上面图片路径转换为:
https://cdn.jsdelivr.net/gh/{user}/{repo}/{folderpath}/{filename}

# 或者说可做前缀替换
https://raw.githubusercontent.com/{user}/{repo}/master/
https://cdn.jsdelivr.net/gh/{user}/{repo}/

![](https://raw.githubusercontent.com/wsgzao/storage-public/master/img/202303141408339.png)
![](https://cdn.jsdelivr.net/gh/wsgzao/storage-public/img/202303141408339.png)

CDN加速github图床

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

常见问题

  1. 修改配置文件时注意YAML语法,参数冒号:后一定要留 空格
  2. 中文乱码请修改文件编码格式为UTF-8
  3. 如何迁移至Hexo

参考文章

Hexo官方中文文档

Easy Hexo

]]>
持续更新Hexo的摸索过程,记录生活的点滴 @@ -99,7 +118,7 @@ 2024-08-25T08:22:32.000Z 2024-08-28T02:33:35.000Z -

前言

在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git。它的出现改变了软件开发流程,大大地提高了开发流畅度,直到现在仍十分流行,完全没有衰退的迹象。其实一般情况下,只需要掌握git的几个常用命令即可,但是在使用的过程中难免会遇到各种复杂的需求,这时候经常需要搜索,非常麻烦,故总结了一下自己平常会用到的git操作。本文根据团队实践记录Git入门指南和Git常用命令,文章中不仅记录了Git的搭建和使用教程,还参考了大量Git团队使用规范上的经验,希望大家可以结合自己团队的实际应用场景让Git协作优雅的落地。

Git是目前世界上最先进的分布式版本控制系统

更新记录

2024年08月25日 - 更新Git视频教程和GitCheatSheet
2020年02月06日 - 更新Git命令学习
2016年04月22日 - 初稿

阅读原文 - https://wsgzao.github.io/post/git/

SVN与Git的最主要的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

Git搭建和使用

Git上手并不难,深入学习还是建议多实践,可以参考扩展阅读中廖雪峰的Git教程

Git服务端

服务端搭建Git很简单,有更多需求不妨试试Gogs和Gitlab

使用Gogs轻松搭建可能比GitLab更好用的Git服务平台 - https://wsgzao.github.io/post/gogs/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#安装git
sudo apt-get install git
yum install git

#创建一个git用户,用来运行git服务
sudo adduser git

#创建证书使用公钥免密码登录(可选)
ssh-keygen -t rsa
vi ~/.ssh/authorized_keys

#初始化Git仓库
sudo git init --bare sample.git
sudo chown -R git:git sample.git

#禁用shell登录
vi /etc/passwd
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

#在客户端上克隆远程仓库
git clone git@server:/srv/sample.git

管理公钥推荐使用Gitosis
Gitosis - https://github.com/res0nat0r/gitosis
Gitosis配置手记 - http://debugo.com/gitosis/

管理权限推荐使用Gitolite
Gitolite - https://github.com/sitaramc/gitolite

Git客户端

Git客户端可以按个人习惯来选择,遵守团队协作中的Git规范标准才是更重要的

Git - https://git-scm.com/
TortoiseGit - https://tortoisegit.org/
SourceTree - https://www.sourcetreeapp.com/

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
#以最基本的Git命令行为例,先下载Git
https://git-scm.com/download/

#配置git提交用户名和邮箱,定义别名方便区分
git config --global user.name "你的姓名"
git config --global user.email "you@example.com"

#克隆仓库
git clone cap@172.28.70.243:/cap/cap.git

$ git clone cap@172.28.70.243:/cap/cap.git
Cloning into 'cap'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

#测试推送
touch README
git add README
git commit -m "add readme"
git push origin master

Counting objects: 3, done.
Writing objects: 100% (3/3), 199 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To cap@172.28.70.243:/cap/cap.git
* [new branch] master -> master

Git常用命令

符号约定

  • <xxx> 自定义内容
  • [xxx] 可选内容
  • [<xxx>]自定义可选内容
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
#初始设置
git config --global user.name "<用户名>" #设置用户名
git config --global user.email "<电子邮件>" #设置电子邮件

#本地操作
git add [-i] #保存更新,-i为逐个确认。
git status #检查更新。
git commit [-a] -m "<更新说明>" #提交更新,-a为包含内容修改和增删,-m为说明信息,也可以使用 -am。

#远端操作
git clone <git地址> #克隆到本地。
git fetch #远端抓取。
git merge #与本地当前分支合并。
git pull [<远端别名>] [<远端branch>] #抓取并合并,相当于第2、3步
git push [-f] [<远端别名>] [<远端branch>] #推送到远端,-f为强制覆盖
git remote add <别名> <git地址> #设置远端别名
git remote [-v] #列出远端,-v为详细信息
git remote show <远端别名> #查看远端信息
git remote rename <远端别名> <新远端别名> #重命名远端
git remote rm <远端别名> #删除远端
git remote update [<远端别名>] #更新分支列表

#分支相关
git branch [-r] [-a] #列出分支,-r远端 ,-a全部
git branch <分支名> #新建分支
git branch -b <分支名> #新建并切换分支
git branch -d <分支名> #删除分支
git checkout <分支名> #切换到分支
git checkout -b <本地branch> [-t <远端别名>/<远端分支>] #-b新建本地分支并切换到分支, -t绑定远端分支
git merge <分支名> #合并某分支到当前分支

Git常用命令

  • workspace: 本地的工作目录。(记作A)
  • index:缓存区域,临时保存本地改动。(记作B)
  • local repository: 本地仓库,只想最后一次提交HEAD。(记作C)
  • remote repository:远程仓库。(记作D)

以下所有的命令的功能说明,都采用上述的标记的A、B、C、D的方式来阐述。

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
#初始化
git init //创建
git clone /path/to/repository //检出
git config --global user.email "you@example.com" //配置email
git config --global user.name "Name" //配置用户名

#操作
git add <file> // 文件添加,A → B
git add . // 所有文件添加,A → B

git commit -m "代码提交信息" //文件提交,B → C
git commit --amend //与上次commit合并, *B → C

git push origin master //推送至master分支, C → D
git pull //更新本地仓库至最新改动, D → A
git fetch //抓取远程仓库更新, D → C

git log //查看提交记录
git status //查看修改状态
git diff//查看详细修改内容
git show//显示某次提交的内容

#撤销操作
git reset <file>//某个文件索引会回滚到最后一次提交, C → B
git reset//索引会回滚到最后一次提交, C → B
git reset --hard // 索引会回滚到最后一次提交, C → B → A

git checkout // 从index复制到workspace, B → A
git checkout -- files // 文件从index复制到workspace, B → A
git checkout HEAD -- files // 文件从local repository复制到workspace, C → A

#分支相关
git checkout -b branch_name //创建名叫“branch_name”的分支,并切换过去
git checkout master //切换回主分支
git branch -d branch_name // 删除名叫“branch_name”的分支
git push origin branch_name //推送分支到远端仓库
git merge branch_name // 合并分支branch_name到当前分支(如master)
git rebase //衍合,线性化的自动, D → A

#冲突处理
git diff //对比workspace与index
git diff HEAD //对于workspace与最后一次commit
git diff <source_branch> <target_branch> //对比差异
git add <filename> //修改完冲突,需要add以标记合并成功

#其他
gitk //开灯图形化git
git config color.ui true //彩色的 git 输出
git config format.pretty oneline //显示历史记录时,每个提交的信息只显示一行
git add -i //交互式添加文件到暂存区

git命令一览

Git 简明指南

GitCheatSheet文件的下载地址:
百度网盘:
https://pan.baidu.com/s/1pL6ofStf6fOccQ5OVlQPbA?pwd=geek 提取码: geek

GoogleDrive:
https://drive.google.com/drive/folders/1Nde7zcX36fWyFJpeBZDV94EQBRVSdghe?usp=share_link

命令解析
git init初始化本地 git 仓库(创建新仓库)
git config –global user.name “xxx”配置用户名
git config –global user.email “xxx@xxx.com配置邮件
git config –global color.ui truegit status 等命令自动着色
git config –global –unset http.proxyremove proxy configuration on git
git clone git+ssh://git@192.168.53.168/VT.gitclone 远程仓库
git status查看当前版本状态(是否修改)
git add xyz添加 xyz 文件至 index
git add .增加当前子目录下所有更改过的文件至 index
git commit -m ‘xxx’提交
git commit –amend -m ‘xxx’合并上一次提交(用于反复修改)
git commit -am ‘xxx’将 add 和 commit 合为一步
git rm xxx删除 index 中的文件
git rm -r *递归删除
git log显示提交日志
git log -1显示 1 行日志 -n 为 n 行
git log –stat显示提交日志及相关变动文件
git show dfb02e6xxxx显示某个提交的详细内容
git show dfb02可只用 commitid 的前几位
git show HEAD显示 HEAD 提交日志
git show HEAD^显示 HEAD 的父(上一个版本)的提交日志 为上两个版本 5 为上 5 个版本
git tag显示已存在的 tag
git tag -a v2.0 -m ‘xxx’增加 v2.0 的 tag
git show v2.0显示 v2.0 的日志及详细内容
git log v2.0显示 v2.0 的日志
git diff显示所有未添加至 index 的变更
git diff –cached显示所有已添加 index 但还未 commit 的变更
git diff HEAD^比较与上一个版本的差异
git diff HEAD — ./lib比较与 HEAD 版本 lib 目录的差异
git diff origin/master..master比较远程分支 master 上有本地分支 master 上没有的
git diff origin/master..master –stat只显示差异的文件,不显示具体内容
git remote add origin git+ssh://git@192.168.53.168/VT.git增加远程定义(用于 push/pull/fetch)
git branch显示本地分支
git branch –contains 50089显示包含提交 50089 的分支
git branch -a显示所有分支
git branch -r显示所有原创分支
git branch –merged显示所有已合并到当前分支的分支
git branch –no-merged显示所有未合并到当前分支的分支
git branch -m master master_copy本地分支改名
git checkout -b master_copy从当前分支创建新分支 master_copy 并检出
git checkout -b master master_copy上面的完整版
git checkout features/performance检出已存在的 features/performance 分支
git checkout –track hotfixes/BJVEP933检出远程分支 hotfixes/BJVEP933 并创建本地跟踪分支
git checkout v2.0检出版本 v2.0
git checkout -b devel origin/develop从远程分支 develop 创建新本地分支 devel 并检出
git checkout — README检出 head 版本的 README 文件(可用于修改错误回退)
git merge origin/master合并远程 master 分支至当前分支
git cherry-pick ff44785404a8e合并提交 ff44785404a8e 的修改
git push origin master将当前分支 push 到远程 master 分支
git push origin :hotfixes/BJVEP933删除远程仓库的 hotfixes/BJVEP933 分支
git push –tags把所有 tag 推送到远程仓库
git fetch获取所有远程分支(不更新本地分支,另需 merge)
git fetch –prune获取所有原创分支并清除服务器上已删掉的分支
git pull origin master获取远程分支 master 并 merge 到当前分支
git mv README README2重命名文件 README 为 README2
git reset –hard HEAD将当前版本重置为 HEAD(通常用于 merge 失败回退)
git branch -d hotfixes/BJVEP933删除分支 hotfixes/BJVEP933(本分支修改已合并到其他分支)
git branch -D hotfixes/BJVEP933强制删除分支 hotfixes/BJVEP933
git ls-files列出 git index 包含的文件
git show-branch图示当前分支历史
git show-branch –all图示所有分支历史
git whatchanged显示提交历史对应的文件修改
git revert dfb02e6e4f2f7b573337763e5c0013802e392818撤销提交 dfb02e6e4f2f7b573337763e5c0013802e392818
git ls-tree HEAD内部命令:显示某个 git 对象
git rev-parse v2.0内部命令:显示某个 ref 对于的 SHA1 HASH
git reflog显示所有提交,包括孤立节点
git show master@{yesterday}显示 master 分支昨天的状态
git log –pretty=format:’%h %s’ –graph图示提交日志
git stash暂存当前修改,将所有至为 HEAD 状态
git stash list查看所有暂存
git stash show -p stash@{0}参考第一次暂存
git stash apply stash@{0}应用第一次暂存
git grep “delete from”文件中搜索文本 “delete from”

.gitignore

Some common .gitignore configurations

https://gist.github.com/octocat/9257657

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
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

如何提交PR

引用kubeasz的帮助文件为例

为项目kubeasz提交pull request

首先请核对下本地git config配置的用户名和邮箱与你github上的注册用户和邮箱一致,否则即使pull request被接受,贡献者列表中也看不到自己的名字,设置命令:

1
2
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
  1. 登陆github,在本项目页面点击fork到自己仓库
  2. clone 自己的仓库到本地:git clone https://github.com/xxx/kubeasz.git
  3. 在 master 分支添加原始仓库为上游分支:git remote add upstream https://github.com/easzlab/kubeasz.git
  4. 在本地新建开发分支:git checkout -b dev
  5. 在开发分支修改代码并提交:git add ., git commit -am ‘xx变更说明’
  6. 切换至 master 分支,同步原始仓库:git checkout master, git pull upstream master
  7. 切换至 dev 分支,合并本地 master 分支(已经和原始仓库同步),可能需要解冲突:git checkout dev, git merge master
  8. 提交本地 dev 分支到自己的远程 dev 仓库:git push origin dev
  9. 在github自己仓库页面,点击Compare & pull request给原始仓库发 pull request 请求
    a. 等待原作者回复(接受/拒绝)

Git使用规范

Git 使用规范流程 - http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
团队中的 Git 实践 - https://ourai.ws/posts/working-with-git-in-team/
构家网 git 团队协作使用规范 v2 - http://wenku.baidu.com/view/e1430d1b7f1922791788e81e

Git使用规范提醒

  • 使用Git过程中,必须通过创建分支进行开发,坚决禁止在主干分支上直接开发。review的同事有责任检查其他同事是否遵循分支规范。
  • 在Git中,默认是不会提交空目录的,如果想提交某个空目录到版本库中,需要在该目录下新建一个 .gitignore 的空白文件,就可以提交了
  • 把外部文件纳入到自己的 Git 分支来的时候一定要记得是先比对,确认所有修改都是自己修改的,然后再纳入。不然,容易出现代码回溯
  • 多人协作时,不要各自在自己的 Git 分支开发,然后发文件合并。正确的方法应该是开一个远程分支,然后一起在远程分支里协作。不然,容易出现代码回溯(即别人的代码被覆盖的情况)
  • 每个人提交代码是一定要 git diff 看提交的东西是不是都是自己修改的。如果有不是自己修改的内容,很可能就是代码回溯
  • review 代码的时候如果看到有被删除掉的代码,一定要确实是否是写代码的同事自己删除的。如果不是,很可能就是代码回溯

Git练习

如果线下环境做git练习不便,可以选择开源中国的在线Git命令学习

git exercises: navigate a repository

git练习答案

开源中国在线 Git 命令学习

参考文章

珍藏多年的 Git 问题和操作清单

Git 大全

git - 简明指南

猴子都能懂的GIT入门

想要学好Git,应该掌握哪些基础知识?

Git教程

【GeekHour】一小时Git教程

]]>
+

前言

在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git。它的出现改变了软件开发流程,大大地提高了开发流畅度,直到现在仍十分流行,完全没有衰退的迹象。其实一般情况下,只需要掌握git的几个常用命令即可,但是在使用的过程中难免会遇到各种复杂的需求,这时候经常需要搜索,非常麻烦,故总结了一下自己平常会用到的git操作。本文根据团队实践记录Git入门指南和Git常用命令,文章中不仅记录了Git的搭建和使用教程,还参考了大量Git团队使用规范上的经验,希望大家可以结合自己团队的实际应用场景让Git协作优雅的落地。

Git是目前世界上最先进的分布式版本控制系统

更新记录

2024年08月25日 - 更新Git视频教程和GitCheatSheet
2020年02月06日 - 更新Git命令学习
2016年04月22日 - 初稿

阅读原文 - https://wsgzao.github.io/post/git/

SVN与Git的最主要的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

Git搭建和使用

Git上手并不难,深入学习还是建议多实践,可以参考扩展阅读中廖雪峰的Git教程

Git服务端

服务端搭建Git很简单,有更多需求不妨试试Gogs和Gitlab

使用Gogs轻松搭建可能比GitLab更好用的Git服务平台 - https://wsgzao.github.io/post/gogs/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#安装git
sudo apt-get install git
yum install git

#创建一个git用户,用来运行git服务
sudo adduser git

#创建证书使用公钥免密码登录(可选)
ssh-keygen -t rsa
vi ~/.ssh/authorized_keys

#初始化Git仓库
sudo git init --bare sample.git
sudo chown -R git:git sample.git

#禁用shell登录
vi /etc/passwd
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

#在客户端上克隆远程仓库
git clone git@server:/srv/sample.git

管理公钥推荐使用Gitosis
Gitosis - https://github.com/res0nat0r/gitosis
Gitosis配置手记 - http://debugo.com/gitosis/

管理权限推荐使用Gitolite
Gitolite - https://github.com/sitaramc/gitolite

Git客户端

Git客户端可以按个人习惯来选择,遵守团队协作中的Git规范标准才是更重要的

Git - https://git-scm.com/
TortoiseGit - https://tortoisegit.org/
SourceTree - https://www.sourcetreeapp.com/

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
#以最基本的Git命令行为例,先下载Git
https://git-scm.com/download/

#配置git提交用户名和邮箱,定义别名方便区分
git config --global user.name "你的姓名"
git config --global user.email "you@example.com"

#克隆仓库
git clone cap@172.28.70.243:/cap/cap.git

$ git clone cap@172.28.70.243:/cap/cap.git
Cloning into 'cap'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

#测试推送
touch README
git add README
git commit -m "add readme"
git push origin master

Counting objects: 3, done.
Writing objects: 100% (3/3), 199 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To cap@172.28.70.243:/cap/cap.git
* [new branch] master -> master

Git常用命令

符号约定

  • <xxx> 自定义内容
  • [xxx] 可选内容
  • [<xxx>]自定义可选内容
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
#初始设置
git config --global user.name "<用户名>" #设置用户名
git config --global user.email "<电子邮件>" #设置电子邮件

#本地操作
git add [-i] #保存更新,-i为逐个确认。
git status #检查更新。
git commit [-a] -m "<更新说明>" #提交更新,-a为包含内容修改和增删,-m为说明信息,也可以使用 -am。

#远端操作
git clone <git地址> #克隆到本地。
git fetch #远端抓取。
git merge #与本地当前分支合并。
git pull [<远端别名>] [<远端branch>] #抓取并合并,相当于第2、3步
git push [-f] [<远端别名>] [<远端branch>] #推送到远端,-f为强制覆盖
git remote add <别名> <git地址> #设置远端别名
git remote [-v] #列出远端,-v为详细信息
git remote show <远端别名> #查看远端信息
git remote rename <远端别名> <新远端别名> #重命名远端
git remote rm <远端别名> #删除远端
git remote update [<远端别名>] #更新分支列表

#分支相关
git branch [-r] [-a] #列出分支,-r远端 ,-a全部
git branch <分支名> #新建分支
git branch -b <分支名> #新建并切换分支
git branch -d <分支名> #删除分支
git checkout <分支名> #切换到分支
git checkout -b <本地branch> [-t <远端别名>/<远端分支>] #-b新建本地分支并切换到分支, -t绑定远端分支
git merge <分支名> #合并某分支到当前分支

Git常用命令

  • workspace: 本地的工作目录。(记作A)
  • index:缓存区域,临时保存本地改动。(记作B)
  • local repository: 本地仓库,只想最后一次提交HEAD。(记作C)
  • remote repository:远程仓库。(记作D)

以下所有的命令的功能说明,都采用上述的标记的A、B、C、D的方式来阐述。

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
#初始化
git init //创建
git clone /path/to/repository //检出
git config --global user.email "you@example.com" //配置email
git config --global user.name "Name" //配置用户名

#操作
git add <file> // 文件添加,A → B
git add . // 所有文件添加,A → B

git commit -m "代码提交信息" //文件提交,B → C
git commit --amend //与上次commit合并, *B → C

git push origin master //推送至master分支, C → D
git pull //更新本地仓库至最新改动, D → A
git fetch //抓取远程仓库更新, D → C

git log //查看提交记录
git status //查看修改状态
git diff//查看详细修改内容
git show//显示某次提交的内容

#撤销操作
git reset <file>//某个文件索引会回滚到最后一次提交, C → B
git reset//索引会回滚到最后一次提交, C → B
git reset --hard // 索引会回滚到最后一次提交, C → B → A

git checkout // 从index复制到workspace, B → A
git checkout -- files // 文件从index复制到workspace, B → A
git checkout HEAD -- files // 文件从local repository复制到workspace, C → A

#分支相关
git checkout -b branch_name //创建名叫“branch_name”的分支,并切换过去
git checkout master //切换回主分支
git branch -d branch_name // 删除名叫“branch_name”的分支
git push origin branch_name //推送分支到远端仓库
git merge branch_name // 合并分支branch_name到当前分支(如master)
git rebase //衍合,线性化的自动, D → A

#冲突处理
git diff //对比workspace与index
git diff HEAD //对于workspace与最后一次commit
git diff <source_branch> <target_branch> //对比差异
git add <filename> //修改完冲突,需要add以标记合并成功

#其他
gitk //开灯图形化git
git config color.ui true //彩色的 git 输出
git config format.pretty oneline //显示历史记录时,每个提交的信息只显示一行
git add -i //交互式添加文件到暂存区

git命令一览

Git 简明指南

GitCheatSheet文件的下载地址:
百度网盘:
https://pan.baidu.com/s/1pL6ofStf6fOccQ5OVlQPbA?pwd=geek 提取码: geek

GoogleDrive:
https://drive.google.com/drive/folders/1Nde7zcX36fWyFJpeBZDV94EQBRVSdghe?usp=share_link

命令解析
git init初始化本地 git 仓库(创建新仓库)
git config –global user.name “xxx”配置用户名
git config –global user.email “xxx@xxx.com配置邮件
git config –global color.ui truegit status 等命令自动着色
git config –global –unset http.proxyremove proxy configuration on git
git clone git+ssh://git@192.168.53.168/VT.gitclone 远程仓库
git status查看当前版本状态(是否修改)
git add xyz添加 xyz 文件至 index
git add .增加当前子目录下所有更改过的文件至 index
git commit -m ‘xxx’提交
git commit –amend -m ‘xxx’合并上一次提交(用于反复修改)
git commit -am ‘xxx’将 add 和 commit 合为一步
git rm xxx删除 index 中的文件
git rm -r *递归删除
git log显示提交日志
git log -1显示 1 行日志 -n 为 n 行
git log –stat显示提交日志及相关变动文件
git show dfb02e6xxxx显示某个提交的详细内容
git show dfb02可只用 commitid 的前几位
git show HEAD显示 HEAD 提交日志
git show HEAD^显示 HEAD 的父(上一个版本)的提交日志 为上两个版本 5 为上 5 个版本
git tag显示已存在的 tag
git tag -a v2.0 -m ‘xxx’增加 v2.0 的 tag
git show v2.0显示 v2.0 的日志及详细内容
git log v2.0显示 v2.0 的日志
git diff显示所有未添加至 index 的变更
git diff –cached显示所有已添加 index 但还未 commit 的变更
git diff HEAD^比较与上一个版本的差异
git diff HEAD — ./lib比较与 HEAD 版本 lib 目录的差异
git diff origin/master..master比较远程分支 master 上有本地分支 master 上没有的
git diff origin/master..master –stat只显示差异的文件,不显示具体内容
git remote add origin git+ssh://git@192.168.53.168/VT.git增加远程定义(用于 push/pull/fetch)
git branch显示本地分支
git branch –contains 50089显示包含提交 50089 的分支
git branch -a显示所有分支
git branch -r显示所有原创分支
git branch –merged显示所有已合并到当前分支的分支
git branch –no-merged显示所有未合并到当前分支的分支
git branch -m master master_copy本地分支改名
git checkout -b master_copy从当前分支创建新分支 master_copy 并检出
git checkout -b master master_copy上面的完整版
git checkout features/performance检出已存在的 features/performance 分支
git checkout –track hotfixes/BJVEP933检出远程分支 hotfixes/BJVEP933 并创建本地跟踪分支
git checkout v2.0检出版本 v2.0
git checkout -b devel origin/develop从远程分支 develop 创建新本地分支 devel 并检出
git checkout — README检出 head 版本的 README 文件(可用于修改错误回退)
git merge origin/master合并远程 master 分支至当前分支
git cherry-pick ff44785404a8e合并提交 ff44785404a8e 的修改
git push origin master将当前分支 push 到远程 master 分支
git push origin :hotfixes/BJVEP933删除远程仓库的 hotfixes/BJVEP933 分支
git push –tags把所有 tag 推送到远程仓库
git fetch获取所有远程分支(不更新本地分支,另需 merge)
git fetch –prune获取所有原创分支并清除服务器上已删掉的分支
git pull origin master获取远程分支 master 并 merge 到当前分支
git mv README README2重命名文件 README 为 README2
git reset –hard HEAD将当前版本重置为 HEAD(通常用于 merge 失败回退)
git branch -d hotfixes/BJVEP933删除分支 hotfixes/BJVEP933(本分支修改已合并到其他分支)
git branch -D hotfixes/BJVEP933强制删除分支 hotfixes/BJVEP933
git ls-files列出 git index 包含的文件
git show-branch图示当前分支历史
git show-branch –all图示所有分支历史
git whatchanged显示提交历史对应的文件修改
git revert dfb02e6e4f2f7b573337763e5c0013802e392818撤销提交 dfb02e6e4f2f7b573337763e5c0013802e392818
git ls-tree HEAD内部命令:显示某个 git 对象
git rev-parse v2.0内部命令:显示某个 ref 对于的 SHA1 HASH
git reflog显示所有提交,包括孤立节点
git show master@{yesterday}显示 master 分支昨天的状态
git log –pretty=format:’%h %s’ –graph图示提交日志
git stash暂存当前修改,将所有至为 HEAD 状态
git stash list查看所有暂存
git stash show -p stash@{0}参考第一次暂存
git stash apply stash@{0}应用第一次暂存
git grep “delete from”文件中搜索文本 “delete from”

.gitignore

Some common .gitignore configurations

https://gist.github.com/octocat/9257657

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
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

如何提交PR

引用kubeasz的帮助文件为例

为项目kubeasz提交pull request

首先请核对下本地git config配置的用户名和邮箱与你github上的注册用户和邮箱一致,否则即使pull request被接受,贡献者列表中也看不到自己的名字,设置命令:

1
2
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
  1. 登陆github,在本项目页面点击fork到自己仓库
  2. clone 自己的仓库到本地:git clone https://github.com/xxx/kubeasz.git
  3. 在 master 分支添加原始仓库为上游分支:git remote add upstream https://github.com/easzlab/kubeasz.git
  4. 在本地新建开发分支:git checkout -b dev
  5. 在开发分支修改代码并提交:git add ., git commit -am ‘xx变更说明’
  6. 切换至 master 分支,同步原始仓库:git checkout master, git pull upstream master
  7. 切换至 dev 分支,合并本地 master 分支(已经和原始仓库同步),可能需要解冲突:git checkout dev, git merge master
  8. 提交本地 dev 分支到自己的远程 dev 仓库:git push origin dev
  9. 在github自己仓库页面,点击Compare & pull request给原始仓库发 pull request 请求
    a. 等待原作者回复(接受/拒绝)

Git使用规范

Git 使用规范流程 - http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
团队中的 Git 实践 - https://ourai.ws/posts/working-with-git-in-team/
构家网 git 团队协作使用规范 v2 - http://wenku.baidu.com/view/e1430d1b7f1922791788e81e

Git使用规范提醒

  • 使用Git过程中,必须通过创建分支进行开发,坚决禁止在主干分支上直接开发。review的同事有责任检查其他同事是否遵循分支规范。
  • 在Git中,默认是不会提交空目录的,如果想提交某个空目录到版本库中,需要在该目录下新建一个 .gitignore 的空白文件,就可以提交了
  • 把外部文件纳入到自己的 Git 分支来的时候一定要记得是先比对,确认所有修改都是自己修改的,然后再纳入。不然,容易出现代码回溯
  • 多人协作时,不要各自在自己的 Git 分支开发,然后发文件合并。正确的方法应该是开一个远程分支,然后一起在远程分支里协作。不然,容易出现代码回溯(即别人的代码被覆盖的情况)
  • 每个人提交代码是一定要 git diff 看提交的东西是不是都是自己修改的。如果有不是自己修改的内容,很可能就是代码回溯
  • review 代码的时候如果看到有被删除掉的代码,一定要确实是否是写代码的同事自己删除的。如果不是,很可能就是代码回溯

Git练习

如果线下环境做git练习不便,可以选择开源中国的在线Git命令学习

git exercises: navigate a repository

git练习答案

开源中国在线 Git 命令学习

参考文章

珍藏多年的 Git 问题和操作清单

Git 大全

git - 简明指南

猴子都能懂的GIT入门

想要学好Git,应该掌握哪些基础知识?

Git教程

【GeekHour】一小时Git教程

]]>
Git是目前世界上最先进的分布式版本控制系统 @@ -194,7 +213,7 @@ 2023-06-04T04:59:49.000Z 2023-06-04T04:22:01.000Z - 前言

接着《新加坡申请PR永久居民和SC公民的流程介绍》,继续补充下如何帮助父母申请LTVP来新加坡

更新历史

2023年06月04日 - 完善细节描述
2023年05月01日 - 补充父母申请LTVP时间线总结
2023年03月10日 - 初稿

阅读原文 - https://wsgzao.github.io/post/singapore-ltvp/


新加坡常见的准证

工作准证:

  • Employment Pass(EP)
  • S Pass(SP)

家属准证:

  • Dependant’s Pass(DP)
  • Long Term Visit Pass(LTVP/长期探访签证)
  • Short Term Visit Pass(STVP/短期探访签证)

居民准证:

  • Permanent Residence(永久居民/PR)
  • Singapore Citizen(公民/SC)

申请准证成功后的批文,可用于新加坡入境凭证

  • In-principle approval (IPA)

EP申请LTVP

https://www.mom.gov.sg/passes-and-permits/long-term-visit-pass

  • Common-law spouse.
  • Unmarried handicapped children aged 21 and above.
  • Unmarried step-children under 21 years old.
  • Parents – only for those earning a fixed monthly salary of at least $12,000.

PR申请LTVP

https://www.ica.gov.sg/reside/LTVP/apply

ICA_Visit_Pass@ica.gov.sg

Long Term Visit Pass即长期访问签证,是新加坡移民局为外国人颁发的可以在新加坡长期居住的准证,可以自由出入新加坡,期限从一年到五年不等。

如果申请者符合以下条件,则可以申请办理长期访问通行证:

  1. 新加坡公民(SC)或新加坡永久居民(PR)的配偶;
  2. 新加坡公民(SC)或新加坡永久居民(PR)的父母;
  3. 新加坡公民(SC)或新加坡永久居民(PR)21岁以下的子女;
  4. 毕业于本地高等学府准备求职的学生;
  5. 凭学生签证在新加坡求学的学生的母亲或祖母;
  6. 寻求许可在新加坡分娩的外国访客。

不允许工作,但申请Letter of Consent后可合法工作

如何给亲属申请新加坡的长期签证?
https://mp.weixin.qq.com/s/l8e7mzk86RClTMIZz6rq8Q

帮父母申请LTVP长期签证

  1. 部分同学EP工作签证但工资超过1.2w新币,可以走上面分享的MOM通道申请父母的LTVP
  2. 已经拥有PR/SC身份,第一次申请LTVP不熟悉的话可以参考小红书的方案
  3. 从2023年2月27号月开始都是digital LTVP数字签证,又进步了吧。 With effect from 27 Feb 2023, a digital Long-Term Visit Pass (LTVP) will be issued in place of a physical LTVP card.

最新PR申请父母LTVP丝滑入境成功领卡完结篇

PR给妈妈申请LTVP

新加坡PR给国内妈妈申请三年digital LTVP

父母人在国内如何申请LTVP最新总结

提炼下申请LTVP的重点

  1. 注意整个申请中,sponsor指的是身为PR或者SC的我们,而applicant则指的父母
  2. 第二阶段提交体检报告时terms_and_conditions中的Application No.填写VSC reference no
  3. 是否需要疫苗证书或其他补充材料以新加坡政府公告为准
  4. 入境前3天内提交SG Arrival Card with electronic Health Declaration

https://www.ica.gov.sg/enter-transit-depart/entering-singapore/sg-arrival-card

Notes for All:

  1. ThisMedicalExaminationReportistobecompletedbyaregistereddoctorandreturnedtotheexaminee.Theoriginal copy of the laboratory report for HIV and the X-ray report must be attached to this Medical Examination Report only if the medical examination and testing is carried out overseas.
  2. The laboratory report for HIV and the X-ray report submitted to the Immigration & Checkpoints Authority should be within THREE MONTHS from the date of the issue of the reports.

方案A

  1. 父母以旅游签证先入境新加坡,Entry Pass属于Short Term Visit Pass(短期探访签证),可以通过新加坡公民或者PR的身份为亲戚、朋友等与自己有关系的人进行申请
  2. 申请LTVP选择applicant在新加坡
  3. Approved in principle (pending documents),选择新加坡本地诊所体验,上传报告
  4. Approved in Principle,下载IPA(有效期三个月),预约现场完成LTVP时间,sponsor和applicant都需要到现场

方案B

  1. 申请LTVP选择applicant不在新加坡
  2. Approved in principle (pending documents),预约中国各省市的国际旅行卫生保健中心做体验,记得把ICA要求的表格打印让医生盖章签名,出具ica需要的艾滋病和胸部x光检测报告中+英文版,上传报告
  3. Approved in Principle,下载IPA(有效期三个月),预约现场完成LTVP时间,父母购买机票,sponsor和applicant都需要到现场

以上海市和四川省的特定体检机构为例
上海国际旅行卫生保健中心(上海海关口岸门诊部)
地址:上海市长宁区金浜路15号

四川国际旅行卫生保健中心(成都海关口岸门诊部)
地址:成都市武侯区桐梓林北路1号

方案C

  1. 申请LTVP选择applicant不在新加坡
  2. Approved in principle (pending documents)
  3. 父母以旅游签证先入境新加坡,选择新加坡本地诊所体验,上传报告
  4. Approved in Principle,下载IPA(有效期三个月),预约现场完成LTVP时间,sponsor和applicant都需要到现场

3个方案总结

  1. 方案A一般比较快,且新加坡本地体检很方便,旅游签的停留时间自己要控制好
  2. 方案B一般需要6周左右时间,且在中国体检要准备的材料比较多,支持的体检机构较少,如果少了必须的体验报告那又得多跑几次
  3. 方案C可以理解为方案B的折中方法,如果担心父母在国内做体验不方便,那么索性以旅游签过来体检

到达新加坡后目前需要先同步疫苗注册记录至NIR,支持免费上传同步的JTVC为以下四家,以官方信息为准

For ingestion of overseas vaccination records, individuals may walk in to JTVC Ang Mo Kio, JTVC Bukit Merah, JTVC Jurong West or JTVC Kaki Bukit from Mondays to Fridays, before 6.30pm.

https://www.moh.gov.sg/covid-19/jtvc

帮父母申请STVP短期签证

https://www.ica.gov.sg/enter-transit-depart/entering-singapore

若父母LTVP申请被拒,除了申诉以外,可以考虑帮助申请STVP短期签证(类似旅游签最长2年多次)先进入新加坡,万一需要延期也可以Extend STVP

作为PR或者SC也可以通过担保签邀请朋友来新加坡,不同于旅游签和商务签,提交材料简单费用透明,但切记不要用来牟利

如何给亲属申请新加坡的短期签证

惊了4小时出签! 不敢相信ICA周日还加班

父母第一次来新加坡的时间线总结

双方身份为PR,父母都在国内,以方案B为例

  1. 通过ICA申请LTVP,等待约3周完成第一阶段审批,此时获取体检表格打印材料
  2. 协助父母预约所在地省市的国际旅行卫生保健中心,根据ICA要求获取体检报告+艾滋病和胸部x光检测报告中英文版
  3. 协助父母上传体检报告,等待约3周完成第二阶段审批,此时获得IPA(需要3个月内来ICA现场办理LTVP)
  4. 协助父母预约LTVP现场办理日期,可以仅购买单程机票,无需提前锁定往返机票
  5. 入境新加坡前3天内完成SG Arrival Card健康申报电子信息登记,可以填写Sponsor手机号和邮箱
  6. 出发前可选购买全球旅行险(如支付宝和微信一站式保险服务)和境外上网服务(如华为天际通,小米全球上网等)
  7. 根据航班规定办理值机登记手续,检查护照,机票,IPA等相关必备材料
  8. 飞机顺利到达新加坡后父母凭借IPA走自助通道,提前安排好接机服务
  9. 安顿好父母后无需预约选择政府指定的4家JTVC同步海外疫苗注册记录或者联系就近诊所付费上传,若不满足疫苗要求(如第三针超过270天)记得及时追加第四针
  10. 按照预约LTVP formalities现场办理时间,带齐材料Sponsor需要陪同父母一起前往ICA
  11. ICA现场办理LTVP通过后在邮件找到FileSG,等待1-2天左右协助父母注册Singpass,无需提前购买新加坡本地手机卡
  12. 完结撒花

注册LTVP的最新流程请以新加坡ICA官网信息为准
https://www.ica.gov.sg/reside/LTVP/apply

SG ARRIVAL CARD
https://eservices.ica.gov.sg/sgarrivalcard

JOINT TESTING & VACCINATION CENTRES (JTVC)
https://www.moh.gov.sg/covid-19/jtvc

如何注册Singpass
https://www.singpass.gov.sg/home/ui/support

]]>
+ 前言

接着《新加坡申请PR永久居民和SC公民的流程介绍》,继续补充下如何帮助父母申请LTVP来新加坡

更新历史

2023年06月04日 - 完善细节描述
2023年05月01日 - 补充父母申请LTVP时间线总结
2023年03月10日 - 初稿

阅读原文 - https://wsgzao.github.io/post/singapore-ltvp/


新加坡常见的准证

工作准证:

  • Employment Pass(EP)
  • S Pass(SP)

家属准证:

  • Dependant’s Pass(DP)
  • Long Term Visit Pass(LTVP/长期探访签证)
  • Short Term Visit Pass(STVP/短期探访签证)

居民准证:

  • Permanent Residence(永久居民/PR)
  • Singapore Citizen(公民/SC)

申请准证成功后的批文,可用于新加坡入境凭证

  • In-principle approval (IPA)

EP申请LTVP

https://www.mom.gov.sg/passes-and-permits/long-term-visit-pass

  • Common-law spouse.
  • Unmarried handicapped children aged 21 and above.
  • Unmarried step-children under 21 years old.
  • Parents – only for those earning a fixed monthly salary of at least $12,000.

PR申请LTVP

https://www.ica.gov.sg/reside/LTVP/apply

ICA_Visit_Pass@ica.gov.sg

Long Term Visit Pass即长期访问签证,是新加坡移民局为外国人颁发的可以在新加坡长期居住的准证,可以自由出入新加坡,期限从一年到五年不等。

如果申请者符合以下条件,则可以申请办理长期访问通行证:

  1. 新加坡公民(SC)或新加坡永久居民(PR)的配偶;
  2. 新加坡公民(SC)或新加坡永久居民(PR)的父母;
  3. 新加坡公民(SC)或新加坡永久居民(PR)21岁以下的子女;
  4. 毕业于本地高等学府准备求职的学生;
  5. 凭学生签证在新加坡求学的学生的母亲或祖母;
  6. 寻求许可在新加坡分娩的外国访客。

不允许工作,但申请Letter of Consent后可合法工作

如何给亲属申请新加坡的长期签证?
https://mp.weixin.qq.com/s/l8e7mzk86RClTMIZz6rq8Q

帮父母申请LTVP长期签证

  1. 部分同学EP工作签证但工资超过1.2w新币,可以走上面分享的MOM通道申请父母的LTVP
  2. 已经拥有PR/SC身份,第一次申请LTVP不熟悉的话可以参考小红书的方案
  3. 从2023年2月27号月开始都是digital LTVP数字签证,又进步了吧。 With effect from 27 Feb 2023, a digital Long-Term Visit Pass (LTVP) will be issued in place of a physical LTVP card.

最新PR申请父母LTVP丝滑入境成功领卡完结篇

PR给妈妈申请LTVP

新加坡PR给国内妈妈申请三年digital LTVP

父母人在国内如何申请LTVP最新总结

提炼下申请LTVP的重点

  1. 注意整个申请中,sponsor指的是身为PR或者SC的我们,而applicant则指的父母
  2. 第二阶段提交体检报告时terms_and_conditions中的Application No.填写VSC reference no
  3. 是否需要疫苗证书或其他补充材料以新加坡政府公告为准
  4. 入境前3天内提交SG Arrival Card with electronic Health Declaration

https://www.ica.gov.sg/enter-transit-depart/entering-singapore/sg-arrival-card

Notes for All:

  1. ThisMedicalExaminationReportistobecompletedbyaregistereddoctorandreturnedtotheexaminee.Theoriginal copy of the laboratory report for HIV and the X-ray report must be attached to this Medical Examination Report only if the medical examination and testing is carried out overseas.
  2. The laboratory report for HIV and the X-ray report submitted to the Immigration & Checkpoints Authority should be within THREE MONTHS from the date of the issue of the reports.

方案A

  1. 父母以旅游签证先入境新加坡,Entry Pass属于Short Term Visit Pass(短期探访签证),可以通过新加坡公民或者PR的身份为亲戚、朋友等与自己有关系的人进行申请
  2. 申请LTVP选择applicant在新加坡
  3. Approved in principle (pending documents),选择新加坡本地诊所体验,上传报告
  4. Approved in Principle,下载IPA(有效期三个月),预约现场完成LTVP时间,sponsor和applicant都需要到现场

方案B

  1. 申请LTVP选择applicant不在新加坡
  2. Approved in principle (pending documents),预约中国各省市的国际旅行卫生保健中心做体验,记得把ICA要求的表格打印让医生盖章签名,出具ica需要的艾滋病和胸部x光检测报告中+英文版,上传报告
  3. Approved in Principle,下载IPA(有效期三个月),预约现场完成LTVP时间,父母购买机票,sponsor和applicant都需要到现场

以上海市和四川省的特定体检机构为例
上海国际旅行卫生保健中心(上海海关口岸门诊部)
地址:上海市长宁区金浜路15号

四川国际旅行卫生保健中心(成都海关口岸门诊部)
地址:成都市武侯区桐梓林北路1号

方案C

  1. 申请LTVP选择applicant不在新加坡
  2. Approved in principle (pending documents)
  3. 父母以旅游签证先入境新加坡,选择新加坡本地诊所体验,上传报告
  4. Approved in Principle,下载IPA(有效期三个月),预约现场完成LTVP时间,sponsor和applicant都需要到现场

3个方案总结

  1. 方案A一般比较快,且新加坡本地体检很方便,旅游签的停留时间自己要控制好
  2. 方案B一般需要6周左右时间,且在中国体检要准备的材料比较多,支持的体检机构较少,如果少了必须的体验报告那又得多跑几次
  3. 方案C可以理解为方案B的折中方法,如果担心父母在国内做体验不方便,那么索性以旅游签过来体检

到达新加坡后目前需要先同步疫苗注册记录至NIR,支持免费上传同步的JTVC为以下四家,以官方信息为准

For ingestion of overseas vaccination records, individuals may walk in to JTVC Ang Mo Kio, JTVC Bukit Merah, JTVC Jurong West or JTVC Kaki Bukit from Mondays to Fridays, before 6.30pm.

https://www.moh.gov.sg/covid-19/jtvc

帮父母申请STVP短期签证

https://www.ica.gov.sg/enter-transit-depart/entering-singapore

若父母LTVP申请被拒,除了申诉以外,可以考虑帮助申请STVP短期签证(类似旅游签最长2年多次)先进入新加坡,万一需要延期也可以Extend STVP

作为PR或者SC也可以通过担保签邀请朋友来新加坡,不同于旅游签和商务签,提交材料简单费用透明,但切记不要用来牟利

如何给亲属申请新加坡的短期签证

惊了4小时出签! 不敢相信ICA周日还加班

父母第一次来新加坡的时间线总结

双方身份为PR,父母都在国内,以方案B为例

  1. 通过ICA申请LTVP,等待约3周完成第一阶段审批,此时获取体检表格打印材料
  2. 协助父母预约所在地省市的国际旅行卫生保健中心,根据ICA要求获取体检报告+艾滋病和胸部x光检测报告中英文版
  3. 协助父母上传体检报告,等待约3周完成第二阶段审批,此时获得IPA(需要3个月内来ICA现场办理LTVP)
  4. 协助父母预约LTVP现场办理日期,可以仅购买单程机票,无需提前锁定往返机票
  5. 入境新加坡前3天内完成SG Arrival Card健康申报电子信息登记,可以填写Sponsor手机号和邮箱
  6. 出发前可选购买全球旅行险(如支付宝和微信一站式保险服务)和境外上网服务(如华为天际通,小米全球上网等)
  7. 根据航班规定办理值机登记手续,检查护照,机票,IPA等相关必备材料
  8. 飞机顺利到达新加坡后父母凭借IPA走自助通道,提前安排好接机服务
  9. 安顿好父母后无需预约选择政府指定的4家JTVC同步海外疫苗注册记录或者联系就近诊所付费上传,若不满足疫苗要求(如第三针超过270天)记得及时追加第四针
  10. 按照预约LTVP formalities现场办理时间,带齐材料Sponsor需要陪同父母一起前往ICA
  11. ICA现场办理LTVP通过后在邮件找到FileSG,等待1-2天左右协助父母注册Singpass,无需提前购买新加坡本地手机卡
  12. 完结撒花

注册LTVP的最新流程请以新加坡ICA官网信息为准
https://www.ica.gov.sg/reside/LTVP/apply

SG ARRIVAL CARD
https://eservices.ica.gov.sg/sgarrivalcard

JOINT TESTING & VACCINATION CENTRES (JTVC)
https://www.moh.gov.sg/covid-19/jtvc

如何注册Singpass
https://www.singpass.gov.sg/home/ui/support

]]>
新加坡申请LTVP的流程介绍 @@ -372,25 +391,6 @@ - - - -
- - - proxychains和graftcp和cgproxy使用方法 - - https://wsgzao.github.io/post/proxychains/ - 2022-11-07T06:59:49.000Z - 2023-02-27T08:07:43.000Z - - 前言

proxychains新的版本已经称为proxychains-ng由rofl0r托管在GitHub中维护,一般使用proxychains用于加速更新和下载国外的一些开源组件,比如yum和pip。proxychains使用十分简单,甚至都不必编译安装。

新的代理方案可以由proxychains-ng过渡到graftcp或者cgproxy

更新历史

2022年11月07日 - 增加graftcp和cgproxy
2017年04月16日 - 初稿

阅读原文 - https://wsgzao.github.io/post/proxychains/

扩展阅读

proxychains-ng - https://github.com/rofl0r/proxychains-ng


proxychains 简介

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).

The way it works is basically a HACK; so it is possible that it doesn’t work with your program, especially when it’s a script, or starts numerous processes like background daemons or uses dlopen() to load “modules” (bug in glibc dynlinker).

It should work with simple compiled (C/C++) dynamically linked programs though.

If your program doesn’t work with proxychains, consider using an iptables based solution instead; this is much more robust.

Supported Platforms: Linux, BSD, Mac.

proxychains 安装配置

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
# needs a working C compiler, preferably gcc
yum install gcc -y
./configure --prefix=/usr --sysconfdir=/etc
make
[optional] sudo make install
[optional] sudo make install-config (installs proxychains.conf)

# if you dont install, you can use proxychains from the build directory like this:
./proxychains4 -f src/proxychains.conf telnet google.com 80

# 一般编辑proxychains.conf添加socks5地址即可立即使用
vim /etc/proxychains.conf

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1 9050
socks5 172.28.70.26 1080

# 测试
[root@centos7 ~]# curl myip.ipip.net
当前 IP:116.228.53.149 来自于:中国 上海 上海 电信
[root@centos7 ~]# proxychains4 curl myip.ipip.net
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.12
[proxychains] Strict chain ... 172.28.70.26:1080 ... myip.ipip.net:80 ... OK
当前 IP:45.79.192.22 来自于:美国 乔治亚州 亚特兰大 linode.com

proxychains.conf 配置文件

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[root@centos7 ~]# cat /etc/proxychains.conf 
# proxychains.conf VER 4.x
#
# HTTP, SOCKS4a, SOCKS5 tunneling proxifier with DNS.


# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
#dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
strict_chain
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
#round_robin_chain
#
# Round Robin - Each connection will be done via chained proxies
# of chain_len length
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped).
# the start of the current proxy chain is the proxy after the last
# proxy in the previously invoked proxy chain.
# if the end of the proxy chain is reached while looking for proxies
# start at the beginning again.
# otherwise EINTR is returned to the app
# These semantics are not guaranteed in a multithreaded environment.
#
#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see chain_len) from the list.
# this option is good to test your IDS :)

# Make sense only if random_chain or round_robin_chain
#chain_len = 2

# Quiet mode (no output from library)
#quiet_mode

# Proxy DNS requests - no leak for DNS data
proxy_dns

# set the class A subnet number to use for the internal remote DNS mapping
# we use the reserved 224.x.x.x range by default,
# if the proxified app does a DNS request, we will return an IP from that range.
# on further accesses to this ip we will send the saved DNS name to the proxy.
# in case some control-freak app checks the returned ip, and denies to
# connect, you can use another subnet, e.g. 10.x.x.x or 127.x.x.x.
# of course you should make sure that the proxified app does not need
# *real* access to this subnet.
# i.e. dont use the same subnet then in the localnet section
#remote_dns_subnet 127
#remote_dns_subnet 10
remote_dns_subnet 224

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

### Examples for localnet exclusion
## localnet ranges will *not* use a proxy to connect.
## Exclude connections to 192.168.1.0/24 with port 80
# localnet 192.168.1.0:80/255.255.255.0

## Exclude connections to 192.168.100.0/24
# localnet 192.168.100.0/255.255.255.0

## Exclude connections to ANYwhere with port 80
# localnet 0.0.0.0:80/0.0.0.0

## RFC5735 Loopback address range
## if you enable this, you have to make sure remote_dns_subnet is not 127
## you'll need to enable it if you want to use an application that
## connects to localhost.
# localnet 127.0.0.0/255.0.0.0

## RFC1918 Private Address Ranges
# localnet 10.0.0.0/255.0.0.0
# localnet 172.16.0.0/255.240.0.0
# localnet 192.168.0.0/255.255.0.0

# ProxyList format
# type ip port [user pass]
# (values separated by 'tab' or 'blank')
#
# only numeric ipv4 addresses are valid
#
#
# Examples:
#
# socks5192.168.67.781080lamersecret
#http192.168.89.38080justuhidden
# socks4192.168.1.491080
# http192.168.39.938080
#
#
# proxy types: http, socks4, socks5
# ( auth types supported: "basic"-http "user/pass"-socks )
#
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1 9050

环境变量代理设置

翻墙代理是用于访问 github 等不能直接访问的连接使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
# 使用时 export http_proxy; export https_proxy
export http_proxy=xxx
export https_proxy=xxx
export no_proxy=xxx

# 使用完立刻 unset http_proxy; unset https_proxy

vim ~/.bashrc
with_proxy(){
HTTPS_PROXY=http://xxx HTTP_PROXY=http://xxx "$@"
}

with_proxy git clone https://github.com/wsgzao/sersync.git

Similar projects

There are some awesome existing work:

  • graftcp: work on most programs, but cannot proxy UDP (such as DNS) requests. graftcp also has performance hit on the underlying program, since it uses ptrace.
  • proxychains: easy to use, but not working on static linked programs (such as Go programs).
  • proxychains-ng: similar to proxychains.
  • cgproxy: cgproxy also uses cgroup to do transparent proxy, and the idea is similar to cproxy‘s. There are some differences in UX and system requirements:
    • cgproxy requires system cgroup v2 support, while cproxy works with both v1 and v2.
    • cgproxy requires a background daemon process cgproxyd running, while cproxy does not.
    • cgproxy requires tproxy, which is optional in cproxy.
    • cgproxy can be used to do global proxy, while cproxy does not intended to support global proxy.

一个支持节点与订阅链接的 Linux 命令行代理工具 | A command-line tool for one-click proxy in your research and development without installing v2ray or anything else (only for linux)

gg 是一个命令行工具,可在 Linux 环境下对任意命令进行一键代理,而无需安装 v2ray 等其他工具。

你只需要在想代理的命令之前添加 gg 即可,例如: gg python -m pip install torch.

感谢 graftcp 带来的灵感,gg 是它的一个纯 Go 语言实现,并且拥有更多的有用特性。

我为什么编写 go-graft?

我已经厌倦了我在科研和开发中所遇到的糟糕的网络状况。但我并不希望在我的几台工作服务器上安装 v2ray,因为它太笨重了,且配置麻烦。

因此,我需要一个轻巧便携的命令行工具来帮助我在各种服务器上下载和安装依赖项和软件。

优势

相比较于 proxychains 或 graftcp,go-graft 拥有以下优势:

  1. gg 下载即用,不需要安装任何额外的工具。
  2. 支持 UDP,从而有效应对 DNS 污染。
  3. 支持 Go 语言编写的程序。见 applications built by Go can not be hook by proxychains-ng

https://github.com/mzz2017/gg

]]>
- - - proxychains和graftcp和cgproxy使用方法 - - - diff --git "a/categories/\345\255\246\344\271\240-Study/index.html" "b/categories/\345\255\246\344\271\240-Study/index.html" index ce32b4a01..6c77f4a66 100644 --- "a/categories/\345\255\246\344\271\240-Study/index.html" +++ "b/categories/\345\255\246\344\271\240-Study/index.html" @@ -452,26 +452,26 @@

Terraform Azure部署实践

-
-
diff --git "a/categories/\347\224\237\346\264\273-Life/index.html" "b/categories/\347\224\237\346\264\273-Life/index.html" index 9c7eef7de..8e0a5b15b 100644 --- "a/categories/\347\224\237\346\264\273-Life/index.html" +++ "b/categories/\347\224\237\346\264\273-Life/index.html" @@ -99,6 +99,19 @@

生活 | Life

+
+ + +
+

-
- - -
-
@@ -135,15 +135,15 @@

MacBook从mac intel升级到apple silicon

-
@@ -155,15 +155,15 @@

使用GitHub和Hexo搭建免费静态Blog

-
@@ -175,15 +175,15 @@

macOS使用iterm2启用rz与sz功能

-
diff --git a/page/10/index.html b/page/10/index.html index 76fefa0c9..f256c99d6 100644 --- a/page/10/index.html +++ b/page/10/index.html @@ -95,9 +95,9 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

新加坡聘请女佣的流程和注意事项

-
@@ -135,15 +135,15 @@

新加坡保险和理财规划

-
@@ -155,15 +155,15 @@

新加坡信用卡cashback和miles的使用心得

-
@@ -175,15 +175,15 @@

新加坡生娃和养娃的重要时间线记录

-
diff --git a/page/3/index.html b/page/3/index.html index 9562b9ddf..8b88a80b2 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -95,15 +95,15 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

MySQL使用mysqldump导出和导入数据常用命令

-
@@ -135,15 +135,15 @@

新加坡生小孩的医院和流程费用介绍

-
@@ -155,15 +155,15 @@

MicroK8s vs K3s vs minikube 本地k8s学习环境快速搭
-
@@ -175,15 +175,15 @@

新加坡幼儿园和托儿所的报名准备经验分享 -

diff --git a/page/4/index.html b/page/4/index.html index 7c48df8a6..a7237e253 100644 --- a/page/4/index.html +++ b/page/4/index.html @@ -95,15 +95,15 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

GitHub上关注的部分开源项目

-
@@ -135,15 +135,15 @@

中国驾照转新加坡驾照流程和BTT考试经验分享
-
@@ -155,15 +155,15 @@

System Design 学习路径

-
@@ -175,15 +175,15 @@

IPv6与IPv4的基础知识学习分享

-
diff --git a/page/5/index.html b/page/5/index.html index 7abf8b122..326fac625 100644 --- a/page/5/index.html +++ b/page/5/index.html @@ -95,15 +95,15 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

新加坡申请PR永久居民和SC公民的流程介绍

-
@@ -135,15 +135,15 @@

新加坡租房搬家买房装修的经历分享

-
@@ -155,15 +155,15 @@

Linux性能测试和优化实践笔记

-
@@ -175,15 +175,15 @@

新加坡IRAS居民个人报税减税和SRS退休辅助计
-
diff --git a/page/6/index.html b/page/6/index.html index 49f9fbd5a..c8035d2da 100644 --- a/page/6/index.html +++ b/page/6/index.html @@ -95,15 +95,15 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

3proxy安装配置实践

-
@@ -135,15 +135,15 @@

AdGuard过滤规则分享

-
@@ -155,15 +155,15 @@

kubeconfig多配置文件切换工具推荐

-
@@ -175,15 +175,15 @@

Docker从入门到实践

-
diff --git a/page/7/index.html b/page/7/index.html index d76549608..a0ef08612 100644 --- a/page/7/index.html +++ b/page/7/index.html @@ -95,15 +95,15 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

使用ssh config作为ssh代理轻松管理内网服务器 -

@@ -135,15 +135,15 @@

SSH使用密钥登录并禁止口令登录实践

-
@@ -155,15 +155,15 @@

新加坡阳台安装Ziptrack和Invisible Grille使用经历
-
@@ -175,15 +175,15 @@

从国内跳槽至新加坡工作的经验分享

-
diff --git a/page/8/index.html b/page/8/index.html index 10ef5add9..b11986ada 100644 --- a/page/8/index.html +++ b/page/8/index.html @@ -95,15 +95,15 @@

Keep Calm and Carry On

-
@@ -115,15 +115,15 @@

MacBook macOS 从小白到入门

-
@@ -135,15 +135,15 @@

中文文案排版指北

-
@@ -155,15 +155,15 @@

macOS升级后开机卡在进度条和唤醒时黑屏的解
-
diff --git a/post/buy/index.html b/post/buy/index.html index 2a5291540..42a98d324 100644 --- a/post/buy/index.html +++ b/post/buy/index.html @@ -259,9 +259,9 @@

- + 下一篇:
- Terragrunt与Terraform双剑合璧的奇效 + Terraform学习路径

diff --git a/post/ezship/index.html b/post/ezship/index.html index 69f333ebf..c41d63d78 100644 --- a/post/ezship/index.html +++ b/post/ezship/index.html @@ -279,7 +279,7 @@

You may contact our hotline during our working hours

(65) 6567 8880

-

Mondays-Saturdays: 10:00am - 6:00pm
or email to us at
service@ezbuy.com

+

Mondays-Saturdays: 10:00am - 6:00pm
or email to us at service@ezbuy.com

Please note that our hotlines is not available on Sundays & Public holidays.

https://ezbuy.sg/help/orderrelated

中国新加坡双向物流备选

diff --git a/post/fliggy/index.html b/post/fliggy/index.html index 097c5b966..e2076379f 100644 --- a/post/fliggy/index.html +++ b/post/fliggy/index.html @@ -155,7 +155,7 @@

myclub@minyounhotels.com

+

我选择主动发邮件和酒店提前1个月沟通自己的需求,myclub@minyounhotels.com

  1. 是否可以升级至套房,长这么大还没体验过
  2. 早上7点前离开酒店是否可以提前准备早餐或者打包早餐
  3. diff --git a/post/git/index.html b/post/git/index.html index fbe786555..a3efef63c 100644 --- a/post/git/index.html +++ b/post/git/index.html @@ -199,7 +199,7 @@

    git@192.168.53.168/VT.git +git clone git+ssh://git@192.168.53.168/VT.git clone 远程仓库 @@ -303,7 +303,7 @@

    git@192.168.53.168/VT.git +git remote add origin git+ssh://git@192.168.53.168/VT.git 增加远程定义(用于 push/pull/fetch) diff --git a/post/hexo/index.html b/post/hexo/index.html index 6af4b4613..b8283bdd4 100644 --- a/post/hexo/index.html +++ b/post/hexo/index.html @@ -126,7 +126,7 @@

    前言阮一峰 - 喜欢写Blog的人,会经历三个阶段

第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。
第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。

-

更新历史

2024年10月03日 - 更新macOS M系列芯片升级hexo@7.3.0和node@22
2023年03月13日 - 升级hexo@6.3.0和node@18
2021年10月17日 - 更新macOS Node.js从16/14降级为12解决hexo g生成空文件问题
2020年09月06日 - 更新macOS下部署Hexo 5.0步骤,重构文章内容
2015年11月18日 - 推荐iissnan的主题,完善细节内容
2015年09月03日 - 完善Windows 10安装Hexo中的细节
2015年03月22日 - 更新Windows下Hexo 3.0安装和升级
2015年03月10日 - 增加Hexo 3.0降级 2.8
2014年12月19日 - 完善内容
2014年12月09日 - 更新Hexo配置修改部分
2014年06月19日 - 更新全部基础架构,待完善配置修改部分
2014年06月17日 - 更新部分Hexo建站过程,待完善
2014年05月29日 - 撰写初稿

+

更新历史

2024年10月03日 - 更新macOS M系列芯片升级hexo@7.3.0和node@22
2023年03月13日 - 升级hexo@6.3.0和node@18
2021年10月17日 - 更新macOS Node.js从16/14降级为12解决hexo g生成空文件问题
2020年09月06日 - 更新macOS下部署Hexo 5.0步骤,重构文章内容
2015年11月18日 - 推荐iissnan的主题,完善细节内容
2015年09月03日 - 完善Windows 10安装Hexo中的细节
2015年03月22日 - 更新Windows下Hexo 3.0安装和升级
2015年03月10日 - 增加Hexo 3.0降级 2.8
2014年12月19日 - 完善内容
2014年12月09日 - 更新Hexo配置修改部分
2014年06月19日 - 更新全部基础架构,待完善配置修改部分
2014年06月17日 - 更新部分Hexo建站过程,待完善
2014年05月29日 - 撰写初稿

阅读原文 - https://wsgzao.github.io/post/hexo/


macOS M系列芯片

如何安装brew等基础环境请参考
MacBook从mac intel升级到apple silicon - https://wsgzao.github.io/post/macbook-from-mac-intel-to-apple-silicon/

diff --git a/post/macbook-from-mac-intel-to-apple-silicon/index.html b/post/macbook-from-mac-intel-to-apple-silicon/index.html index bf6a93f64..f9abd0872 100644 --- a/post/macbook-from-mac-intel-to-apple-silicon/index.html +++ b/post/macbook-from-mac-intel-to-apple-silicon/index.html @@ -244,10 +244,10 @@

diff --git a/post/macos/index.html b/post/macos/index.html index 6e7db98ba..d13704b4c 100644 --- a/post/macos/index.html +++ b/post/macos/index.html @@ -407,9 +407,9 @@

- + 下一篇:
- 新加坡宽带套餐选择推荐和路由器配置经验分享 + Google mtail配合Prometheus和Grafana实现自定义日志监控

diff --git a/post/mtail/index.html b/post/mtail/index.html index bdf995033..d19e33a26 100644 --- a/post/mtail/index.html +++ b/post/mtail/index.html @@ -396,10 +396,10 @@

diff --git a/post/singapore-broadband/index.html b/post/singapore-broadband/index.html index e78a3930c..d976147a5 100644 --- a/post/singapore-broadband/index.html +++ b/post/singapore-broadband/index.html @@ -32,16 +32,17 @@ + - - + + - + @@ -111,7 +112,7 @@

- +

@@ -120,14 +121,48 @@

文章目录 -
  1. 1. 前言
  2. 2. 更新历史
  3. 3. 新加坡宽带选择结论
  4. 4. 新加坡宽带套餐对比
  5. 5. 新加坡宽带测速
  6. 6. Singtel使用体验
    1. 6.1. 购买经历
    2. 6.2. 合约转让或者提前解约
    3. 6.3. Singtel路由器设置方法
  7. 7. 新加坡网络的特点
+
  1. 1. 前言
  2. 2. 更新历史
  3. 3. 2024年新加坡宽带购买建议
  4. 4. 新加坡宽带选择结论
  5. 5. 新加坡宽带套餐对比
  6. 6. 新加坡宽带测速
  7. 7. Singtel使用体验
    1. 7.1. 购买经历
    2. 7.2. 合约转让或者提前解约
    3. 7.3. Singtel路由器设置方法
  8. 8. 新加坡网络的特点
-->

前言

原本没有计划写新加坡个人宽带,但是在经历过Singtel合约转让以及续费并且手动debug登录光猫修改路由器配置后,我决定把自己了解到的信息和大家做下分享,而且由于新加坡疫情从2020年初到现在对所有人最重要的影响改变就是习惯WFH,除了房子以外宽带的可靠性其实决定了大家在家办公的舒适程度。这篇文章想和大家分享的不单纯是新加坡宽带套餐选择,更重要的是分享下在新加坡上网的经验之谈。

-

更新历史

2021年09月07日 - 初稿

+

更新历史

2024年10月06日 - 更新新加坡宽带10Gbps购买建议
2021年09月07日 - 初稿

阅读原文 - https://wsgzao.github.io/post/singapore-broadband/


+

2024年新加坡宽带购买建议

+

Singtel已经下线1Gbps宽带,新用户压根没有选择的权利,调研了下现阶段各个运营商的套餐后,我还是续约2年留在Singtel

+
+

威胁不给保留1Gbps就换运营商后Singtel同意39.89价格续费,续约理由如下

+
    +
  1. Singtel价格偏贵,但延迟较低,运行一直很稳定从没出过问题,稳定对经常WFH的用户来说很重要
  2. +
  3. 更换运营商还要单独支付Netlink Trust (NLT)和Optical Network Terminal (ONT),如果质量不靠谱会浪费较多时间成本
  4. +
  5. 按新加坡政府的宽带提升规划是10Gbps,那么目前的2Gbps、2.5Gbps、5Gbps在我看来也是过渡形态,WiFi 6升级WiFi 7也需要时间普及硬件设备
  6. +
  7. 如果我是新用户那么StarHub 25新币5Gbps,Simba 29.99新币10Gbps或许价格上对我会有吸引力,但作为老用户我有自己的需求还是选择耐心等等,让子弹再飞一会
  8. +
+

新加坡宽带没有那么复杂,像我用着Singtel送的老款光猫+WiFi 5/6路由器使用有线Mesh组网依然老当益壮,全屋信号覆盖

+
    +
  1. 对办公/游戏/Netflix有高标准稳定性要求,首先就是要选择有口皆碑靠谱的运营商,不要贪图便宜
  2. +
  3. 其次是带宽比如至少1Gbps起步,对Cloudflare家庭建站或者NAS上传下载有追求至可以升级至最新的10Gbps,搭配万兆家用交换机,减少短板,好马配好鞍
  4. +
  5. 最后才是布线+路由器,先考虑配电间到各个房间的布线至少6类千兆网线+有线Mesh组网,老房子可能还是百兆网线,折中方案是无线Mesh组网,比如主流Mesh WiFi 6/7
  6. +
  7. 大神可以继续刷固件或者旁路由网关控制家庭网络,软件层面玩法多样就不展开了
  8. +
+

然后新加坡手机网络+家用带宽成本其实也不高

+
    +
  • 移动运营商我从来新加坡选择的是Zero1,背后Singtel,每月7新币无限流量限速,除了没有eSIM稳定使用至今,海外Roaming免费接收短信都正常
  • +
  • 新加坡三大运营商Singtel/StarHub/M1旗下的虚拟运营商选择已经很多了,中国移动CMLink(Singtel)和中国联通CUniqSG(StarHub)也都可以考虑
  • +
  • 宽带选择Singtel,从一开始租房到买房搬家relocation,每月40新币1Gbps,用送的路由器合理搭配,从来没有稳定性问题,够用了
  • +
  • 如果大家选择其他运营商单纯买宽带就好,从国内买个小米Mesh傻瓜式无线组网,成本可能都不要500人民币
  • +
+

远程访问的方案

+
    +
  1. 远程访问理想的方案:公网IP(IPv4/IPv6)+ Wireguard + DDNS
  2. +
  3. 没公网第三方中转方案:CloudFlare Zero Trust、Tailscale、NetBird
  4. +
  5. 低延迟远程串流控制推荐试下Parsec、网易GameViewer
  6. +
+

DDNS v Tailscale v Cloudflared

+

Best Broadband in Singapore For Your Household Needs: Singtel vs M1 vs StarHub vs MyRepublic & More

+

Best SIM-Only Plans in Singapore (July 2024): Singtel, M1, Starhub, GOMO and More

+

新加坡宽带选择结论

我选择Singtel宽带

@@ -392,18 +427,18 @@

@@ -426,7 +461,7 @@

文章目录 -
  1. 1. 前言
  2. 2. 更新历史
  3. 3. 新加坡宽带选择结论
  4. 4. 新加坡宽带套餐对比
  5. 5. 新加坡宽带测速
  6. 6. Singtel使用体验
    1. 6.1. 购买经历
    2. 6.2. 合约转让或者提前解约
    3. 6.3. Singtel路由器设置方法
  7. 7. 新加坡网络的特点
+
  1. 1. 前言
  2. 2. 更新历史
  3. 3. 2024年新加坡宽带购买建议
  4. 4. 新加坡宽带选择结论
  5. 5. 新加坡宽带套餐对比
  6. 6. 新加坡宽带测速
  7. 7. Singtel使用体验
    1. 7.1. 购买经历
    2. 7.2. 合约转让或者提前解约
    3. 7.3. Singtel路由器设置方法
  8. 8. 新加坡网络的特点
diff --git a/post/singapore-ltvp/index.html b/post/singapore-ltvp/index.html index 7376bb8d6..961de8207 100644 --- a/post/singapore-ltvp/index.html +++ b/post/singapore-ltvp/index.html @@ -150,7 +150,7 @@

PR申请LTVP

https://www.ica.gov.sg/reside/LTVP/apply

-

ICA_Visit_Pass@ica.gov.sg

+

ICA_Visit_Pass@ica.gov.sg

Long Term Visit Pass即长期访问签证,是新加坡移民局为外国人颁发的可以在新加坡长期居住的准证,可以自由出入新加坡,期限从一年到五年不等。

如果申请者符合以下条件,则可以申请办理长期访问通行证:

    diff --git a/post/singapore-pr/index.html b/post/singapore-pr/index.html index bfbadac83..c1674bedf 100644 --- a/post/singapore-pr/index.html +++ b/post/singapore-pr/index.html @@ -216,8 +216,8 @@

    关于PR申请期间搬家修改住址需要更新信息,可以直接Email ICA

    -

    把需要更新的扫描件发给ICA_PR@ica.gov.sg,邮件标题可以写”Updates documents for PR application EPR-20XX-PRE-XXXXX“(PR申请记录号码)。通常会有人工回复的,说是收到了

    -

    ICA_PR@ica.gov.sg
    ICA_Feedback@ica.gov.sg

    +

    把需要更新的扫描件发给ICA_PR@ica.gov.sg,邮件标题可以写”Updates documents for PR application EPR-20XX-PRE-XXXXX“(PR申请记录号码)。通常会有人工回复的,说是收到了

    +

    ICA_PR@ica.gov.sg
    ICA_Feedback@ica.gov.sg

    A) Applicant / Sponsor’s full name:

    B) Applicant /Sponsor’s NRIC/FIN :

    C) Application Reference Number (if any):

    @@ -300,7 +300,7 @@

    https://www.ica.gov.sg/application/singapore-citizenship/becoming-a-singapore-citizen

    补交材料或者遇到相关问题,可以通过邮件联系

    -

    ICA_Citizenship_Unit@ica.gov.sg

    +

    ICA_Citizenship_Unit@ica.gov.sg

    新加坡公民申请攻略

    想入籍新加坡,还得先写两篇小作文?公民申请全攻略附上!

    申请LTVP

    Long Term Visit Pass即长期访问签证,是新加坡移民局为外国人颁发的可以在新加坡长期居住的准证,可以自由出入新加坡,期限从一年到五年不等。

    diff --git a/post/singapore/index.html b/post/singapore/index.html index 8a3e67888..a5b3578c7 100644 --- a/post/singapore/index.html +++ b/post/singapore/index.html @@ -542,7 +542,7 @@

    chinaemb_sg@mfa.gov.cn

    +

    Email: chinaemb_sg@mfa.gov.cn

    办公时间:周一至周五(节假日除外)

    上午 9:00-11:30

    设定GIRO自动缴费

    GIRO (General Interbank Recurring Order) 是一个自动缴款的机制,可以用来自动扣缴以下费用。

    @@ -698,8 +698,8 @@

    关于PR申请期间搬家修改住址需要更新信息,可以直接Email ICA

    -

    把需要更新的扫描件发给ICA_PR@ica.gov.sg,邮件标题可以写”Updates documents for PR application EPR-20XX-PRE-XXXXX“(PR申请记录号码)。通常会有人工回复的,说是收到了

    -

    ICA_PR@ica.gov.sg
    ICA_Feedback@ica.gov.sg

    +

    把需要更新的扫描件发给ICA_PR@ica.gov.sg,邮件标题可以写”Updates documents for PR application EPR-20XX-PRE-XXXXX“(PR申请记录号码)。通常会有人工回复的,说是收到了

    +

    ICA_PR@ica.gov.sg
    ICA_Feedback@ica.gov.sg

    A) Applicant / Sponsor’s full name:

    B) Applicant /Sponsor’s NRIC/FIN :

    C) Application Reference Number (if any):

    diff --git a/post/terraform/index.html b/post/terraform/index.html index b7e0bd39a..dbb84b426 100644 --- a/post/terraform/index.html +++ b/post/terraform/index.html @@ -484,18 +484,18 @@

    diff --git a/post/terragrunt/index.html b/post/terragrunt/index.html index 3afc5c186..f9d0ea79f 100644 --- a/post/terragrunt/index.html +++ b/post/terragrunt/index.html @@ -484,18 +484,18 @@

    diff --git a/post/tiktok-referral/index.html b/post/tiktok-referral/index.html index 1b278fbdb..4378d0717 100644 --- a/post/tiktok-referral/index.html +++ b/post/tiktok-referral/index.html @@ -276,9 +276,9 @@

    - + 下一篇:
    - MacBook从mac intel升级到apple silicon + 新加坡宽带套餐选择推荐和路由器配置经验分享
    diff --git a/post/x11/index.html b/post/x11/index.html index ffbb5f00c..5fad70d23 100644 --- a/post/x11/index.html +++ b/post/x11/index.html @@ -220,10 +220,10 @@

    diff --git a/sitemap.txt b/sitemap.txt index 1e5c4ad82..c578d60fd 100644 --- a/sitemap.txt +++ b/sitemap.txt @@ -1,3 +1,4 @@ +https://wsgzao.github.io/post/singapore-broadband/ https://wsgzao.github.io/post/lrzsz/ https://wsgzao.github.io/post/macbook-from-mac-intel-to-apple-silicon/ https://wsgzao.github.io/post/hexo/ @@ -32,210 +33,209 @@ https://wsgzao.github.io/post/krew/ https://wsgzao.github.io/post/kubeconfig/ https://wsgzao.github.io/post/coredns/ https://wsgzao.github.io/post/proxychains/ -https://wsgzao.github.io/post/phpmyadmin/ https://wsgzao.github.io/post/osi/ https://wsgzao.github.io/post/parted/ +https://wsgzao.github.io/post/phpmyadmin/ https://wsgzao.github.io/post/ping/ -https://wsgzao.github.io/post/pipenv/ https://wsgzao.github.io/post/pip/ https://wsgzao.github.io/post/postman/ +https://wsgzao.github.io/post/pipenv/ https://wsgzao.github.io/post/prometheus-nginx/ -https://wsgzao.github.io/post/prometheus/ https://wsgzao.github.io/post/prometheus-redis/ +https://wsgzao.github.io/post/prometheus/ https://wsgzao.github.io/post/punctuation/ https://wsgzao.github.io/post/puppet/ -https://wsgzao.github.io/post/pypiserver/ https://wsgzao.github.io/post/pycharm/ +https://wsgzao.github.io/post/pypiserver/ https://wsgzao.github.io/post/python-2-6-update-to-2-7/ https://wsgzao.github.io/post/python/ https://wsgzao.github.io/post/qps/ -https://wsgzao.github.io/post/redfish/ https://wsgzao.github.io/post/raid/ +https://wsgzao.github.io/post/redfish/ +https://wsgzao.github.io/post/redis/ https://wsgzao.github.io/post/regex/ +https://wsgzao.github.io/post/rhel-upgrade/ https://wsgzao.github.io/post/quanwai/ -https://wsgzao.github.io/post/redis/ https://wsgzao.github.io/post/rockmongo/ -https://wsgzao.github.io/post/rhel-upgrade/ +https://wsgzao.github.io/post/rpmbuild/ +https://wsgzao.github.io/post/rsync/ https://wsgzao.github.io/post/samba/ +https://wsgzao.github.io/post/securecrt/ https://wsgzao.github.io/post/scribe/ -https://wsgzao.github.io/post/rsync/ -https://wsgzao.github.io/post/rpmbuild/ -https://wsgzao.github.io/post/scrapy/ https://wsgzao.github.io/post/rps/ -https://wsgzao.github.io/post/securecrt/ -https://wsgzao.github.io/post/sersync/ -https://wsgzao.github.io/post/singapore-broadband/ https://wsgzao.github.io/post/service-names-port-numbers/ +https://wsgzao.github.io/post/scrapy/ +https://wsgzao.github.io/post/sersync/ https://wsgzao.github.io/post/solarflare/ https://wsgzao.github.io/post/splunk/ +https://wsgzao.github.io/post/singapore/ https://wsgzao.github.io/post/sre-vs-devops/ +https://wsgzao.github.io/post/sre/ +https://wsgzao.github.io/post/ssh-config/ https://wsgzao.github.io/post/ssh/ -https://wsgzao.github.io/post/singapore/ https://wsgzao.github.io/post/sshpass/ -https://wsgzao.github.io/post/sre/ +https://wsgzao.github.io/post/static-routes/ +https://wsgzao.github.io/post/stay-hungry-stay-foolish/ https://wsgzao.github.io/post/storage-performence/ https://wsgzao.github.io/post/swap/ -https://wsgzao.github.io/post/ssh-config/ https://wsgzao.github.io/post/sysctl/ -https://wsgzao.github.io/post/stay-hungry-stay-foolish/ +https://wsgzao.github.io/post/system-design/ https://wsgzao.github.io/post/tcpdump/ -https://wsgzao.github.io/post/terraform-azure/ -https://wsgzao.github.io/post/static-routes/ https://wsgzao.github.io/post/teaming/ -https://wsgzao.github.io/post/terraform-tencentcloud/ -https://wsgzao.github.io/post/tftpd32/ -https://wsgzao.github.io/post/thailand/ +https://wsgzao.github.io/post/terraform-azure/ +https://wsgzao.github.io/post/terraform/ https://wsgzao.github.io/post/thinkpad/ https://wsgzao.github.io/post/thinkpillow/ -https://wsgzao.github.io/post/terraform/ -https://wsgzao.github.io/post/system-design/ -https://wsgzao.github.io/post/vim/ +https://wsgzao.github.io/post/thailand/ +https://wsgzao.github.io/post/tftp/ +https://wsgzao.github.io/post/tftpd32/ https://wsgzao.github.io/post/trimlog/ -https://wsgzao.github.io/post/vmware-compatibility-guide/ -https://wsgzao.github.io/post/vagrant/ +https://wsgzao.github.io/post/url/ https://wsgzao.github.io/post/virtualenv/ -https://wsgzao.github.io/post/vmware-fusion/ +https://wsgzao.github.io/post/vagrant/ +https://wsgzao.github.io/post/vmware-compatibility-guide/ https://wsgzao.github.io/post/vmware-vsphere-client/ -https://wsgzao.github.io/post/url/ https://wsgzao.github.io/post/vscode/ +https://wsgzao.github.io/post/vim/ https://wsgzao.github.io/post/wdr8600/ +https://wsgzao.github.io/post/vsftpd/ +https://wsgzao.github.io/post/vmware-fusion/ +https://wsgzao.github.io/post/windows-batch/ +https://wsgzao.github.io/post/windows-update/ https://wsgzao.github.io/post/weread/ https://wsgzao.github.io/post/windows/ -https://wsgzao.github.io/post/wisdom-tooth/ -https://wsgzao.github.io/post/windows-update/ https://wsgzao.github.io/post/winsshfs/ -https://wsgzao.github.io/post/vsftpd/ -https://wsgzao.github.io/post/windows-batch/ https://wsgzao.github.io/post/x11/ +https://wsgzao.github.io/post/wisdom-tooth/ https://wsgzao.github.io/post/xtrabackup/ -https://wsgzao.github.io/post/yum/ -https://wsgzao.github.io/post/yaml/ https://wsgzao.github.io/post/zabbix-alert-wechat/ https://wsgzao.github.io/post/zabbix-docker/ -https://wsgzao.github.io/post/zabbix-proxy/ -https://wsgzao.github.io/post/zabbix-mysql-partition/ -https://wsgzao.github.io/post/tftp/ https://wsgzao.github.io/post/zabbix-faq/ -https://wsgzao.github.io/post/zabbix-upgrade/ +https://wsgzao.github.io/post/zabbix-mysql-partition/ +https://wsgzao.github.io/post/yum/ +https://wsgzao.github.io/post/yaml/ https://wsgzao.github.io/post/zabbix-ha/ +https://wsgzao.github.io/post/zabbix-proxy/ +https://wsgzao.github.io/post/zabbix-upgrade/ https://wsgzao.github.io/post/zabbix/ https://wsgzao.github.io/post/ziptrack/ https://wsgzao.github.io/post/zookeeper/ +https://wsgzao.github.io/post/terraform-tencentcloud/ https://wsgzao.github.io/post/ac18/ +https://wsgzao.github.io/post/3proxy/ +https://wsgzao.github.io/post/1point3acres/ +https://wsgzao.github.io/post/anaconda/ https://wsgzao.github.io/post/acme/ https://wsgzao.github.io/post/adguard/ -https://wsgzao.github.io/post/anaconda/ https://wsgzao.github.io/post/agile/ -https://wsgzao.github.io/post/android/ -https://wsgzao.github.io/post/autopep8/ https://wsgzao.github.io/post/ansible-windows/ -https://wsgzao.github.io/post/bash-json/ -https://wsgzao.github.io/post/1point3acres/ -https://wsgzao.github.io/post/autoyast/ https://wsgzao.github.io/post/bash-recursive/ -https://wsgzao.github.io/post/bonding/ +https://wsgzao.github.io/post/bash-json/ https://wsgzao.github.io/post/bong/ -https://wsgzao.github.io/post/cciss/ +https://wsgzao.github.io/post/bonding/ https://wsgzao.github.io/post/buy/ https://wsgzao.github.io/post/centos/ +https://wsgzao.github.io/post/cciss/ https://wsgzao.github.io/post/certbot/ -https://wsgzao.github.io/post/3proxy/ +https://wsgzao.github.io/post/android/ https://wsgzao.github.io/post/chrome-extensions/ -https://wsgzao.github.io/post/bash/ +https://wsgzao.github.io/post/cisco-anyconnect/ https://wsgzao.github.io/post/cobbler/ +https://wsgzao.github.io/post/bash/ +https://wsgzao.github.io/post/codis/ https://wsgzao.github.io/post/cpupower/ +https://wsgzao.github.io/post/autopep8/ https://wsgzao.github.io/post/csshx/ -https://wsgzao.github.io/post/cisco-anyconnect/ -https://wsgzao.github.io/post/codis/ https://wsgzao.github.io/post/curl/ +https://wsgzao.github.io/post/cygwin/ https://wsgzao.github.io/post/django/ -https://wsgzao.github.io/post/docker-localtime/ -https://wsgzao.github.io/post/devops/ https://wsgzao.github.io/post/duoshuo/ https://wsgzao.github.io/post/easybcd/ -https://wsgzao.github.io/post/efk/ +https://wsgzao.github.io/post/docker-localtime/ +https://wsgzao.github.io/post/autoyast/ https://wsgzao.github.io/post/elk/ -https://wsgzao.github.io/post/esxi/ +https://wsgzao.github.io/post/devops/ https://wsgzao.github.io/post/epel/ +https://wsgzao.github.io/post/esxi/ https://wsgzao.github.io/post/ethtool/ -https://wsgzao.github.io/post/exhibitor/ -https://wsgzao.github.io/post/chinese-copywriting-guidelines/ -https://wsgzao.github.io/post/cygwin/ +https://wsgzao.github.io/post/efk/ +https://wsgzao.github.io/post/fio/ +https://wsgzao.github.io/post/game/ https://wsgzao.github.io/post/fliggy/ -https://wsgzao.github.io/post/find/ https://wsgzao.github.io/post/gitlab/ https://wsgzao.github.io/post/glasses/ -https://wsgzao.github.io/post/goaccess/ -https://wsgzao.github.io/post/game/ -https://wsgzao.github.io/post/gogs/ https://wsgzao.github.io/post/golang/ -https://wsgzao.github.io/post/hexo-deploy/ https://wsgzao.github.io/post/grafana/ -https://wsgzao.github.io/post/fio/ +https://wsgzao.github.io/post/hexo-deploy/ +https://wsgzao.github.io/post/hexo-jacman/ https://wsgzao.github.io/post/hexo-scroll-to-top/ +https://wsgzao.github.io/post/homebrew-bundle/ +https://wsgzao.github.io/post/homebrew-update/ https://wsgzao.github.io/post/homebrew/ +https://wsgzao.github.io/post/goaccess/ +https://wsgzao.github.io/post/gogs/ https://wsgzao.github.io/post/hpqlocfg/ https://wsgzao.github.io/post/htop/ -https://wsgzao.github.io/post/homebrew-update/ -https://wsgzao.github.io/post/hexo-jacman/ -https://wsgzao.github.io/post/https/ -https://wsgzao.github.io/post/influxdb/ -https://wsgzao.github.io/post/homebrew-bundle/ +https://wsgzao.github.io/post/exhibitor/ +https://wsgzao.github.io/post/chinese-copywriting-guidelines/ https://wsgzao.github.io/post/insurance-xiaobang/ -https://wsgzao.github.io/post/ip2location/ https://wsgzao.github.io/post/insurance/ +https://wsgzao.github.io/post/infoscale/ +https://wsgzao.github.io/post/ip2location/ +https://wsgzao.github.io/post/iptables-log/ https://wsgzao.github.io/post/iptables/ +https://wsgzao.github.io/post/https/ https://wsgzao.github.io/post/ipv6/ -https://wsgzao.github.io/post/iptables-log/ https://wsgzao.github.io/post/jbod/ -https://wsgzao.github.io/post/jenkins-plugins/ -https://wsgzao.github.io/post/infoscale/ +https://wsgzao.github.io/post/jenkins-import/ https://wsgzao.github.io/post/jenkins/ https://wsgzao.github.io/post/jinja/ +https://wsgzao.github.io/post/jenkins-plugins/ https://wsgzao.github.io/post/kickstart/ -https://wsgzao.github.io/post/jenkins-import/ https://wsgzao.github.io/post/keepalived/ https://wsgzao.github.io/post/kumamon/ +https://wsgzao.github.io/post/find/ https://wsgzao.github.io/post/laravel/ -https://wsgzao.github.io/post/linbell/ -https://wsgzao.github.io/post/linux-memory/ https://wsgzao.github.io/post/lang/ +https://wsgzao.github.io/post/linux-memory/ https://wsgzao.github.io/post/linux-performance/ -https://wsgzao.github.io/post/loki/ -https://wsgzao.github.io/post/linux/ -https://wsgzao.github.io/post/logrotate/ -https://wsgzao.github.io/post/lvm/ +https://wsgzao.github.io/post/linbell/ https://wsgzao.github.io/post/linux-kernel-update/ +https://wsgzao.github.io/post/logrotate/ +https://wsgzao.github.io/post/linux/ https://wsgzao.github.io/post/ltmp/ +https://wsgzao.github.io/post/influxdb/ +https://wsgzao.github.io/post/lvm/ https://wsgzao.github.io/post/lvs-dr/ https://wsgzao.github.io/post/lvs-nat/ -https://wsgzao.github.io/post/lvs-keepalived/ -https://wsgzao.github.io/post/lvs/ +https://wsgzao.github.io/post/lvs-tun/ https://wsgzao.github.io/post/macos-mysql/ -https://wsgzao.github.io/post/mariadb-upgrade/ -https://wsgzao.github.io/post/macbook/ +https://wsgzao.github.io/post/lvs-keepalived/ +https://wsgzao.github.io/post/loki/ https://wsgzao.github.io/post/megacli64/ https://wsgzao.github.io/post/monit/ +https://wsgzao.github.io/post/movie/ https://wsgzao.github.io/post/mpstat/ https://wsgzao.github.io/post/mtail/ -https://wsgzao.github.io/post/movie/ https://wsgzao.github.io/post/mtr/ https://wsgzao.github.io/post/multipath/ -https://wsgzao.github.io/post/nbu/ -https://wsgzao.github.io/post/netperf/ https://wsgzao.github.io/post/myip/ +https://wsgzao.github.io/post/nbu/ https://wsgzao.github.io/post/nc/ +https://wsgzao.github.io/post/netperf/ https://wsgzao.github.io/post/network-recycle-bin/ -https://wsgzao.github.io/post/nginx/ -https://wsgzao.github.io/post/ntfs-3g/ https://wsgzao.github.io/post/nginx-default-server/ -https://wsgzao.github.io/post/lvs-tun/ -https://wsgzao.github.io/post/ntp/ +https://wsgzao.github.io/post/nginx/ https://wsgzao.github.io/post/nohup/ -https://wsgzao.github.io/post/oracle-sql/ +https://wsgzao.github.io/post/ntp/ +https://wsgzao.github.io/post/okr/ +https://wsgzao.github.io/post/lvs/ https://wsgzao.github.io/post/oracle-instant-client/ +https://wsgzao.github.io/post/ntfs-3g/ +https://wsgzao.github.io/post/oracle-sql/ https://wsgzao.github.io/post/os/ -https://wsgzao.github.io/post/okr/ +https://wsgzao.github.io/post/mariadb-upgrade/ +https://wsgzao.github.io/post/macbook/ https://wsgzao.github.io/post/openstack/ https://wsgzao.github.io/ https://wsgzao.github.io/categories/%E7%94%9F%E6%B4%BB-Life/ diff --git a/sitemap.xml b/sitemap.xml index 0ce807957..eee3c63de 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,6 +1,15 @@ + + https://wsgzao.github.io/post/singapore-broadband/ + + 2024-10-12 + + monthly + 0.6 + + https://wsgzao.github.io/post/lrzsz/ @@ -308,7 +317,7 @@ - https://wsgzao.github.io/post/phpmyadmin/ + https://wsgzao.github.io/post/osi/ 2023-02-27 @@ -317,7 +326,7 @@ - https://wsgzao.github.io/post/osi/ + https://wsgzao.github.io/post/parted/ 2023-02-27 @@ -326,7 +335,7 @@ - https://wsgzao.github.io/post/parted/ + https://wsgzao.github.io/post/phpmyadmin/ 2023-02-27 @@ -344,7 +353,7 @@ - https://wsgzao.github.io/post/pipenv/ + https://wsgzao.github.io/post/pip/ 2023-02-27 @@ -353,7 +362,7 @@ - https://wsgzao.github.io/post/pip/ + https://wsgzao.github.io/post/postman/ 2023-02-27 @@ -362,7 +371,7 @@ - https://wsgzao.github.io/post/postman/ + https://wsgzao.github.io/post/pipenv/ 2023-02-27 @@ -380,7 +389,7 @@ - https://wsgzao.github.io/post/prometheus/ + https://wsgzao.github.io/post/prometheus-redis/ 2023-02-27 @@ -389,7 +398,7 @@ - https://wsgzao.github.io/post/prometheus-redis/ + https://wsgzao.github.io/post/prometheus/ 2023-02-27 @@ -416,7 +425,7 @@ - https://wsgzao.github.io/post/pypiserver/ + https://wsgzao.github.io/post/pycharm/ 2023-02-27 @@ -425,7 +434,7 @@ - https://wsgzao.github.io/post/pycharm/ + https://wsgzao.github.io/post/pypiserver/ 2023-02-27 @@ -460,15 +469,6 @@ 0.6 - - https://wsgzao.github.io/post/redfish/ - - 2023-02-27 - - monthly - 0.6 - - https://wsgzao.github.io/post/raid/ @@ -479,7 +479,7 @@ - https://wsgzao.github.io/post/regex/ + https://wsgzao.github.io/post/redfish/ 2023-02-27 @@ -488,7 +488,7 @@ - https://wsgzao.github.io/post/quanwai/ + https://wsgzao.github.io/post/redis/ 2023-02-27 @@ -497,7 +497,7 @@ - https://wsgzao.github.io/post/redis/ + https://wsgzao.github.io/post/regex/ 2023-02-27 @@ -506,7 +506,7 @@ - https://wsgzao.github.io/post/rockmongo/ + https://wsgzao.github.io/post/rhel-upgrade/ 2023-02-27 @@ -515,7 +515,7 @@ - https://wsgzao.github.io/post/rhel-upgrade/ + https://wsgzao.github.io/post/quanwai/ 2023-02-27 @@ -524,7 +524,7 @@ - https://wsgzao.github.io/post/samba/ + https://wsgzao.github.io/post/rockmongo/ 2023-02-27 @@ -533,7 +533,7 @@ - https://wsgzao.github.io/post/scribe/ + https://wsgzao.github.io/post/rpmbuild/ 2023-02-27 @@ -551,7 +551,7 @@ - https://wsgzao.github.io/post/rpmbuild/ + https://wsgzao.github.io/post/samba/ 2023-02-27 @@ -560,7 +560,7 @@ - https://wsgzao.github.io/post/scrapy/ + https://wsgzao.github.io/post/securecrt/ 2023-02-27 @@ -569,7 +569,7 @@ - https://wsgzao.github.io/post/rps/ + https://wsgzao.github.io/post/scribe/ 2023-02-27 @@ -578,7 +578,7 @@ - https://wsgzao.github.io/post/securecrt/ + https://wsgzao.github.io/post/rps/ 2023-02-27 @@ -587,7 +587,7 @@ - https://wsgzao.github.io/post/sersync/ + https://wsgzao.github.io/post/service-names-port-numbers/ 2023-02-27 @@ -596,7 +596,7 @@ - https://wsgzao.github.io/post/singapore-broadband/ + https://wsgzao.github.io/post/scrapy/ 2023-02-27 @@ -605,7 +605,7 @@ - https://wsgzao.github.io/post/service-names-port-numbers/ + https://wsgzao.github.io/post/sersync/ 2023-02-27 @@ -632,7 +632,7 @@ - https://wsgzao.github.io/post/sre-vs-devops/ + https://wsgzao.github.io/post/singapore/ 2023-02-27 @@ -641,7 +641,7 @@ - https://wsgzao.github.io/post/ssh/ + https://wsgzao.github.io/post/sre-vs-devops/ 2023-02-27 @@ -650,7 +650,7 @@ - https://wsgzao.github.io/post/singapore/ + https://wsgzao.github.io/post/sre/ 2023-02-27 @@ -659,7 +659,7 @@ - https://wsgzao.github.io/post/sshpass/ + https://wsgzao.github.io/post/ssh-config/ 2023-02-27 @@ -668,7 +668,7 @@ - https://wsgzao.github.io/post/sre/ + https://wsgzao.github.io/post/ssh/ 2023-02-27 @@ -677,7 +677,7 @@ - https://wsgzao.github.io/post/storage-performence/ + https://wsgzao.github.io/post/sshpass/ 2023-02-27 @@ -686,7 +686,7 @@ - https://wsgzao.github.io/post/swap/ + https://wsgzao.github.io/post/static-routes/ 2023-02-27 @@ -695,7 +695,7 @@ - https://wsgzao.github.io/post/ssh-config/ + https://wsgzao.github.io/post/stay-hungry-stay-foolish/ 2023-02-27 @@ -704,7 +704,7 @@ - https://wsgzao.github.io/post/sysctl/ + https://wsgzao.github.io/post/storage-performence/ 2023-02-27 @@ -713,7 +713,7 @@ - https://wsgzao.github.io/post/stay-hungry-stay-foolish/ + https://wsgzao.github.io/post/swap/ 2023-02-27 @@ -722,7 +722,7 @@ - https://wsgzao.github.io/post/tcpdump/ + https://wsgzao.github.io/post/sysctl/ 2023-02-27 @@ -731,7 +731,7 @@ - https://wsgzao.github.io/post/terraform-azure/ + https://wsgzao.github.io/post/system-design/ 2023-02-27 @@ -740,7 +740,7 @@ - https://wsgzao.github.io/post/static-routes/ + https://wsgzao.github.io/post/tcpdump/ 2023-02-27 @@ -758,16 +758,7 @@ - https://wsgzao.github.io/post/terraform-tencentcloud/ - - 2023-02-27 - - monthly - 0.6 - - - - https://wsgzao.github.io/post/tftpd32/ + https://wsgzao.github.io/post/terraform-azure/ 2023-02-27 @@ -776,7 +767,7 @@ - https://wsgzao.github.io/post/thailand/ + https://wsgzao.github.io/post/terraform/ 2023-02-27 @@ -803,7 +794,7 @@ - https://wsgzao.github.io/post/terraform/ + https://wsgzao.github.io/post/thailand/ 2023-02-27 @@ -812,7 +803,7 @@ - https://wsgzao.github.io/post/system-design/ + https://wsgzao.github.io/post/tftp/ 2023-02-27 @@ -821,7 +812,7 @@ - https://wsgzao.github.io/post/vim/ + https://wsgzao.github.io/post/tftpd32/ 2023-02-27 @@ -839,7 +830,7 @@ - https://wsgzao.github.io/post/vmware-compatibility-guide/ + https://wsgzao.github.io/post/url/ 2023-02-27 @@ -848,7 +839,7 @@ - https://wsgzao.github.io/post/vagrant/ + https://wsgzao.github.io/post/virtualenv/ 2023-02-27 @@ -857,7 +848,7 @@ - https://wsgzao.github.io/post/virtualenv/ + https://wsgzao.github.io/post/vagrant/ 2023-02-27 @@ -866,7 +857,7 @@ - https://wsgzao.github.io/post/vmware-fusion/ + https://wsgzao.github.io/post/vmware-compatibility-guide/ 2023-02-27 @@ -884,7 +875,7 @@ - https://wsgzao.github.io/post/url/ + https://wsgzao.github.io/post/vscode/ 2023-02-27 @@ -893,7 +884,7 @@ - https://wsgzao.github.io/post/vscode/ + https://wsgzao.github.io/post/vim/ 2023-02-27 @@ -911,7 +902,7 @@ - https://wsgzao.github.io/post/weread/ + https://wsgzao.github.io/post/vsftpd/ 2023-02-27 @@ -920,7 +911,7 @@ - https://wsgzao.github.io/post/windows/ + https://wsgzao.github.io/post/vmware-fusion/ 2023-02-27 @@ -929,7 +920,7 @@ - https://wsgzao.github.io/post/wisdom-tooth/ + https://wsgzao.github.io/post/windows-batch/ 2023-02-27 @@ -947,7 +938,7 @@ - https://wsgzao.github.io/post/winsshfs/ + https://wsgzao.github.io/post/weread/ 2023-02-27 @@ -956,7 +947,7 @@ - https://wsgzao.github.io/post/vsftpd/ + https://wsgzao.github.io/post/windows/ 2023-02-27 @@ -965,7 +956,7 @@ - https://wsgzao.github.io/post/windows-batch/ + https://wsgzao.github.io/post/winsshfs/ 2023-02-27 @@ -983,7 +974,7 @@ - https://wsgzao.github.io/post/xtrabackup/ + https://wsgzao.github.io/post/wisdom-tooth/ 2023-02-27 @@ -992,7 +983,7 @@ - https://wsgzao.github.io/post/yum/ + https://wsgzao.github.io/post/xtrabackup/ 2023-02-27 @@ -1001,7 +992,7 @@ - https://wsgzao.github.io/post/yaml/ + https://wsgzao.github.io/post/zabbix-alert-wechat/ 2023-02-27 @@ -1010,7 +1001,7 @@ - https://wsgzao.github.io/post/zabbix-alert-wechat/ + https://wsgzao.github.io/post/zabbix-docker/ 2023-02-27 @@ -1019,7 +1010,7 @@ - https://wsgzao.github.io/post/zabbix-docker/ + https://wsgzao.github.io/post/zabbix-faq/ 2023-02-27 @@ -1028,7 +1019,7 @@ - https://wsgzao.github.io/post/zabbix-proxy/ + https://wsgzao.github.io/post/zabbix-mysql-partition/ 2023-02-27 @@ -1037,7 +1028,7 @@ - https://wsgzao.github.io/post/zabbix-mysql-partition/ + https://wsgzao.github.io/post/yum/ 2023-02-27 @@ -1046,7 +1037,7 @@ - https://wsgzao.github.io/post/tftp/ + https://wsgzao.github.io/post/yaml/ 2023-02-27 @@ -1055,7 +1046,7 @@ - https://wsgzao.github.io/post/zabbix-faq/ + https://wsgzao.github.io/post/zabbix-ha/ 2023-02-27 @@ -1064,7 +1055,7 @@ - https://wsgzao.github.io/post/zabbix-upgrade/ + https://wsgzao.github.io/post/zabbix-proxy/ 2023-02-27 @@ -1073,7 +1064,7 @@ - https://wsgzao.github.io/post/zabbix-ha/ + https://wsgzao.github.io/post/zabbix-upgrade/ 2023-02-27 @@ -1109,7 +1100,7 @@ - https://wsgzao.github.io/post/ac18/ + https://wsgzao.github.io/post/terraform-tencentcloud/ 2023-02-27 @@ -1118,7 +1109,7 @@ - https://wsgzao.github.io/post/acme/ + https://wsgzao.github.io/post/ac18/ 2023-02-27 @@ -1127,7 +1118,7 @@ - https://wsgzao.github.io/post/adguard/ + https://wsgzao.github.io/post/3proxy/ 2023-02-27 @@ -1136,7 +1127,7 @@ - https://wsgzao.github.io/post/anaconda/ + https://wsgzao.github.io/post/1point3acres/ 2023-02-27 @@ -1145,7 +1136,7 @@ - https://wsgzao.github.io/post/agile/ + https://wsgzao.github.io/post/anaconda/ 2023-02-27 @@ -1154,7 +1145,7 @@ - https://wsgzao.github.io/post/android/ + https://wsgzao.github.io/post/acme/ 2023-02-27 @@ -1163,7 +1154,7 @@ - https://wsgzao.github.io/post/autopep8/ + https://wsgzao.github.io/post/adguard/ 2023-02-27 @@ -1172,7 +1163,7 @@ - https://wsgzao.github.io/post/ansible-windows/ + https://wsgzao.github.io/post/agile/ 2023-02-27 @@ -1181,7 +1172,7 @@ - https://wsgzao.github.io/post/bash-json/ + https://wsgzao.github.io/post/ansible-windows/ 2023-02-27 @@ -1190,7 +1181,7 @@ - https://wsgzao.github.io/post/1point3acres/ + https://wsgzao.github.io/post/bash-recursive/ 2023-02-27 @@ -1199,7 +1190,7 @@ - https://wsgzao.github.io/post/autoyast/ + https://wsgzao.github.io/post/bash-json/ 2023-02-27 @@ -1208,7 +1199,7 @@ - https://wsgzao.github.io/post/bash-recursive/ + https://wsgzao.github.io/post/bong/ 2023-02-27 @@ -1226,7 +1217,7 @@ - https://wsgzao.github.io/post/bong/ + https://wsgzao.github.io/post/buy/ 2023-02-27 @@ -1235,7 +1226,7 @@ - https://wsgzao.github.io/post/cciss/ + https://wsgzao.github.io/post/centos/ 2023-02-27 @@ -1244,7 +1235,7 @@ - https://wsgzao.github.io/post/buy/ + https://wsgzao.github.io/post/cciss/ 2023-02-27 @@ -1253,7 +1244,7 @@ - https://wsgzao.github.io/post/centos/ + https://wsgzao.github.io/post/certbot/ 2023-02-27 @@ -1262,7 +1253,7 @@ - https://wsgzao.github.io/post/certbot/ + https://wsgzao.github.io/post/android/ 2023-02-27 @@ -1271,7 +1262,7 @@ - https://wsgzao.github.io/post/3proxy/ + https://wsgzao.github.io/post/chrome-extensions/ 2023-02-27 @@ -1280,7 +1271,7 @@ - https://wsgzao.github.io/post/chrome-extensions/ + https://wsgzao.github.io/post/cisco-anyconnect/ 2023-02-27 @@ -1289,7 +1280,7 @@ - https://wsgzao.github.io/post/bash/ + https://wsgzao.github.io/post/cobbler/ 2023-02-27 @@ -1298,7 +1289,7 @@ - https://wsgzao.github.io/post/cobbler/ + https://wsgzao.github.io/post/bash/ 2023-02-27 @@ -1307,7 +1298,7 @@ - https://wsgzao.github.io/post/cpupower/ + https://wsgzao.github.io/post/codis/ 2023-02-27 @@ -1316,7 +1307,7 @@ - https://wsgzao.github.io/post/csshx/ + https://wsgzao.github.io/post/cpupower/ 2023-02-27 @@ -1325,7 +1316,7 @@ - https://wsgzao.github.io/post/cisco-anyconnect/ + https://wsgzao.github.io/post/autopep8/ 2023-02-27 @@ -1334,7 +1325,7 @@ - https://wsgzao.github.io/post/codis/ + https://wsgzao.github.io/post/csshx/ 2023-02-27 @@ -1352,7 +1343,7 @@ - https://wsgzao.github.io/post/django/ + https://wsgzao.github.io/post/cygwin/ 2023-02-27 @@ -1361,7 +1352,7 @@ - https://wsgzao.github.io/post/docker-localtime/ + https://wsgzao.github.io/post/django/ 2023-02-27 @@ -1370,7 +1361,7 @@ - https://wsgzao.github.io/post/devops/ + https://wsgzao.github.io/post/duoshuo/ 2023-02-27 @@ -1379,7 +1370,7 @@ - https://wsgzao.github.io/post/duoshuo/ + https://wsgzao.github.io/post/easybcd/ 2023-02-27 @@ -1388,7 +1379,7 @@ - https://wsgzao.github.io/post/easybcd/ + https://wsgzao.github.io/post/docker-localtime/ 2023-02-27 @@ -1397,7 +1388,7 @@ - https://wsgzao.github.io/post/efk/ + https://wsgzao.github.io/post/autoyast/ 2023-02-27 @@ -1415,7 +1406,7 @@ - https://wsgzao.github.io/post/esxi/ + https://wsgzao.github.io/post/devops/ 2023-02-27 @@ -1433,7 +1424,7 @@ - https://wsgzao.github.io/post/ethtool/ + https://wsgzao.github.io/post/esxi/ 2023-02-27 @@ -1442,7 +1433,7 @@ - https://wsgzao.github.io/post/exhibitor/ + https://wsgzao.github.io/post/ethtool/ 2023-02-27 @@ -1451,7 +1442,7 @@ - https://wsgzao.github.io/post/chinese-copywriting-guidelines/ + https://wsgzao.github.io/post/efk/ 2023-02-27 @@ -1460,7 +1451,7 @@ - https://wsgzao.github.io/post/cygwin/ + https://wsgzao.github.io/post/fio/ 2023-02-27 @@ -1469,7 +1460,7 @@ - https://wsgzao.github.io/post/fliggy/ + https://wsgzao.github.io/post/game/ 2023-02-27 @@ -1478,7 +1469,7 @@ - https://wsgzao.github.io/post/find/ + https://wsgzao.github.io/post/fliggy/ 2023-02-27 @@ -1505,7 +1496,7 @@ - https://wsgzao.github.io/post/goaccess/ + https://wsgzao.github.io/post/golang/ 2023-02-27 @@ -1514,7 +1505,7 @@ - https://wsgzao.github.io/post/game/ + https://wsgzao.github.io/post/grafana/ 2023-02-27 @@ -1523,7 +1514,7 @@ - https://wsgzao.github.io/post/gogs/ + https://wsgzao.github.io/post/hexo-deploy/ 2023-02-27 @@ -1532,7 +1523,7 @@ - https://wsgzao.github.io/post/golang/ + https://wsgzao.github.io/post/hexo-jacman/ 2023-02-27 @@ -1541,7 +1532,7 @@ - https://wsgzao.github.io/post/hexo-deploy/ + https://wsgzao.github.io/post/hexo-scroll-to-top/ 2023-02-27 @@ -1550,7 +1541,7 @@ - https://wsgzao.github.io/post/grafana/ + https://wsgzao.github.io/post/homebrew-bundle/ 2023-02-27 @@ -1559,7 +1550,7 @@ - https://wsgzao.github.io/post/fio/ + https://wsgzao.github.io/post/homebrew-update/ 2023-02-27 @@ -1568,7 +1559,7 @@ - https://wsgzao.github.io/post/hexo-scroll-to-top/ + https://wsgzao.github.io/post/homebrew/ 2023-02-27 @@ -1577,7 +1568,7 @@ - https://wsgzao.github.io/post/homebrew/ + https://wsgzao.github.io/post/goaccess/ 2023-02-27 @@ -1586,7 +1577,7 @@ - https://wsgzao.github.io/post/hpqlocfg/ + https://wsgzao.github.io/post/gogs/ 2023-02-27 @@ -1595,7 +1586,7 @@ - https://wsgzao.github.io/post/htop/ + https://wsgzao.github.io/post/hpqlocfg/ 2023-02-27 @@ -1604,7 +1595,7 @@ - https://wsgzao.github.io/post/homebrew-update/ + https://wsgzao.github.io/post/htop/ 2023-02-27 @@ -1613,7 +1604,7 @@ - https://wsgzao.github.io/post/hexo-jacman/ + https://wsgzao.github.io/post/exhibitor/ 2023-02-27 @@ -1622,7 +1613,7 @@ - https://wsgzao.github.io/post/https/ + https://wsgzao.github.io/post/chinese-copywriting-guidelines/ 2023-02-27 @@ -1631,7 +1622,7 @@ - https://wsgzao.github.io/post/influxdb/ + https://wsgzao.github.io/post/insurance-xiaobang/ 2023-02-27 @@ -1640,7 +1631,7 @@ - https://wsgzao.github.io/post/homebrew-bundle/ + https://wsgzao.github.io/post/insurance/ 2023-02-27 @@ -1649,7 +1640,7 @@ - https://wsgzao.github.io/post/insurance-xiaobang/ + https://wsgzao.github.io/post/infoscale/ 2023-02-27 @@ -1667,7 +1658,7 @@ - https://wsgzao.github.io/post/insurance/ + https://wsgzao.github.io/post/iptables-log/ 2023-02-27 @@ -1685,7 +1676,7 @@ - https://wsgzao.github.io/post/ipv6/ + https://wsgzao.github.io/post/https/ 2023-02-27 @@ -1694,7 +1685,7 @@ - https://wsgzao.github.io/post/iptables-log/ + https://wsgzao.github.io/post/ipv6/ 2023-02-27 @@ -1712,7 +1703,7 @@ - https://wsgzao.github.io/post/jenkins-plugins/ + https://wsgzao.github.io/post/jenkins-import/ 2023-02-27 @@ -1721,7 +1712,7 @@ - https://wsgzao.github.io/post/infoscale/ + https://wsgzao.github.io/post/jenkins/ 2023-02-27 @@ -1730,7 +1721,7 @@ - https://wsgzao.github.io/post/jenkins/ + https://wsgzao.github.io/post/jinja/ 2023-02-27 @@ -1739,7 +1730,7 @@ - https://wsgzao.github.io/post/jinja/ + https://wsgzao.github.io/post/jenkins-plugins/ 2023-02-27 @@ -1757,7 +1748,7 @@ - https://wsgzao.github.io/post/jenkins-import/ + https://wsgzao.github.io/post/keepalived/ 2023-02-27 @@ -1766,7 +1757,7 @@ - https://wsgzao.github.io/post/keepalived/ + https://wsgzao.github.io/post/kumamon/ 2023-02-27 @@ -1775,7 +1766,7 @@ - https://wsgzao.github.io/post/kumamon/ + https://wsgzao.github.io/post/find/ 2023-02-27 @@ -1793,7 +1784,7 @@ - https://wsgzao.github.io/post/linbell/ + https://wsgzao.github.io/post/lang/ 2023-02-27 @@ -1811,7 +1802,7 @@ - https://wsgzao.github.io/post/lang/ + https://wsgzao.github.io/post/linux-performance/ 2023-02-27 @@ -1820,7 +1811,7 @@ - https://wsgzao.github.io/post/linux-performance/ + https://wsgzao.github.io/post/linbell/ 2023-02-27 @@ -1829,7 +1820,7 @@ - https://wsgzao.github.io/post/loki/ + https://wsgzao.github.io/post/linux-kernel-update/ 2023-02-27 @@ -1838,7 +1829,7 @@ - https://wsgzao.github.io/post/linux/ + https://wsgzao.github.io/post/logrotate/ 2023-02-27 @@ -1847,7 +1838,7 @@ - https://wsgzao.github.io/post/logrotate/ + https://wsgzao.github.io/post/linux/ 2023-02-27 @@ -1856,7 +1847,7 @@ - https://wsgzao.github.io/post/lvm/ + https://wsgzao.github.io/post/ltmp/ 2023-02-27 @@ -1865,7 +1856,7 @@ - https://wsgzao.github.io/post/linux-kernel-update/ + https://wsgzao.github.io/post/influxdb/ 2023-02-27 @@ -1874,7 +1865,7 @@ - https://wsgzao.github.io/post/ltmp/ + https://wsgzao.github.io/post/lvm/ 2023-02-27 @@ -1901,7 +1892,7 @@ - https://wsgzao.github.io/post/lvs-keepalived/ + https://wsgzao.github.io/post/lvs-tun/ 2023-02-27 @@ -1910,7 +1901,7 @@ - https://wsgzao.github.io/post/lvs/ + https://wsgzao.github.io/post/macos-mysql/ 2023-02-27 @@ -1919,7 +1910,7 @@ - https://wsgzao.github.io/post/macos-mysql/ + https://wsgzao.github.io/post/lvs-keepalived/ 2023-02-27 @@ -1928,7 +1919,7 @@ - https://wsgzao.github.io/post/mariadb-upgrade/ + https://wsgzao.github.io/post/loki/ 2023-02-27 @@ -1937,7 +1928,7 @@ - https://wsgzao.github.io/post/macbook/ + https://wsgzao.github.io/post/megacli64/ 2023-02-27 @@ -1946,7 +1937,7 @@ - https://wsgzao.github.io/post/megacli64/ + https://wsgzao.github.io/post/monit/ 2023-02-27 @@ -1955,7 +1946,7 @@ - https://wsgzao.github.io/post/monit/ + https://wsgzao.github.io/post/movie/ 2023-02-27 @@ -1982,7 +1973,7 @@ - https://wsgzao.github.io/post/movie/ + https://wsgzao.github.io/post/mtr/ 2023-02-27 @@ -1991,7 +1982,7 @@ - https://wsgzao.github.io/post/mtr/ + https://wsgzao.github.io/post/multipath/ 2023-02-27 @@ -2000,7 +1991,7 @@ - https://wsgzao.github.io/post/multipath/ + https://wsgzao.github.io/post/myip/ 2023-02-27 @@ -2018,7 +2009,7 @@ - https://wsgzao.github.io/post/netperf/ + https://wsgzao.github.io/post/nc/ 2023-02-27 @@ -2027,7 +2018,7 @@ - https://wsgzao.github.io/post/myip/ + https://wsgzao.github.io/post/netperf/ 2023-02-27 @@ -2036,7 +2027,7 @@ - https://wsgzao.github.io/post/nc/ + https://wsgzao.github.io/post/network-recycle-bin/ 2023-02-27 @@ -2045,7 +2036,7 @@ - https://wsgzao.github.io/post/network-recycle-bin/ + https://wsgzao.github.io/post/nginx-default-server/ 2023-02-27 @@ -2063,7 +2054,7 @@ - https://wsgzao.github.io/post/ntfs-3g/ + https://wsgzao.github.io/post/nohup/ 2023-02-27 @@ -2072,7 +2063,7 @@ - https://wsgzao.github.io/post/nginx-default-server/ + https://wsgzao.github.io/post/ntp/ 2023-02-27 @@ -2081,7 +2072,7 @@ - https://wsgzao.github.io/post/lvs-tun/ + https://wsgzao.github.io/post/okr/ 2023-02-27 @@ -2090,7 +2081,7 @@ - https://wsgzao.github.io/post/ntp/ + https://wsgzao.github.io/post/lvs/ 2023-02-27 @@ -2099,7 +2090,7 @@ - https://wsgzao.github.io/post/nohup/ + https://wsgzao.github.io/post/oracle-instant-client/ 2023-02-27 @@ -2108,7 +2099,7 @@ - https://wsgzao.github.io/post/oracle-sql/ + https://wsgzao.github.io/post/ntfs-3g/ 2023-02-27 @@ -2117,7 +2108,7 @@ - https://wsgzao.github.io/post/oracle-instant-client/ + https://wsgzao.github.io/post/oracle-sql/ 2023-02-27 @@ -2135,7 +2126,16 @@ - https://wsgzao.github.io/post/okr/ + https://wsgzao.github.io/post/mariadb-upgrade/ + + 2023-02-27 + + monthly + 0.6 + + + + https://wsgzao.github.io/post/macbook/ 2023-02-27 @@ -2155,7 +2155,7 @@ https://wsgzao.github.io/ - 2024-10-03 + 2024-10-12 daily 1.0 @@ -2165,28 +2165,28 @@ https://wsgzao.github.io/categories/%E7%94%9F%E6%B4%BB-Life/ - 2024-10-03 + 2024-10-12 weekly 0.2 https://wsgzao.github.io/categories/%E5%AD%A6%E4%B9%A0-Study/ - 2024-10-03 + 2024-10-12 weekly 0.2 https://wsgzao.github.io/categories/%E8%BD%AF%E4%BB%B6-Soft/ - 2024-10-03 + 2024-10-12 weekly 0.2 https://wsgzao.github.io/categories/Hexo/ - 2024-10-03 + 2024-10-12 weekly 0.2