Apple M4 Pro เป็นสภาพแวดล้อมที่ได้รับการกำหนดค่าสำหรับการสาธิต หลังจากได้รับเครื่องแล้วมันก็เพิ่มพลังและเริ่มตั้งค่า
ก่อนอื่นให้เปิด App Store และดาวน์โหลดและติดตั้ง XCode
เริ่ม Xcode และติดตั้งเครื่องมือบรรทัดคำสั่ง หรือเทอร์มินัลสามารถเรียกใช้งาน xcode-select --install
เทอร์มินัลดำเนินการ sudo spctl --master-disable มาสเตอร์เพื่อเปิดใช้งานโปรแกรมลายเซ็นของบุคคลที่สามหรือ Ad-Hoc ที่ทำงานอยู่
ถัดไปติดตั้ง HomeBrew ที่อยู่ดาวน์โหลดจะต้องมีพร็อกซีและเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง:
/bin/bash -c " $( curl -fsSL https://github.com/Homebrew/install/raw/master/install.sh ) "การดาวน์โหลดซอฟต์แวร์บางครั้งอาจไม่ประสบความสำเร็จ เรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่าเอเจนต์
echo ' export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git" ' >> ~ /.zprofile
echo ' export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git" ' >> ~ /.zprofile
export HOMEBREW_BREW_GIT_REMOTE= " https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git "
export HOMEBREW_CORE_GIT_REMOTE= " https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git " ติดตั้งเครื่องมือและไลบรารีต่อไปนี้
brew brew install graphviz libsoup pkg-config grep libsoup@2 plantuml apktool gstreamer libssh2 poetry aria2
gtk+3 libtasn1 poppler gtk4 libtiff protobuf libtool psutils autoconf harfbuzz libunibreak pup automake
helm libunistring awscli help2man libusb pycparser bash libusbmuxd pygobject3 bash-completion libusrsctp
bc binutils imagemagick bison [email protected] libx11 brotli jadx qemu ca-certificates jpeg-turbo libxext qt
quickjs capstone jq json-glib readline jsoncpp rename jsonrpc-glib libyaml repo lima reprepro colima
coreutils llvm ruby cryptography libarchive llvm@18 scrcpy curl lua sdl2 lz4 shared-mime-info dbus lzip simg2img
dbus-glib smali docker-completion make dtc dwarf mbedtls dwarfutils libedit sqlite libelf meson libevent
mitmproxy ffmpeg libffi file-formula libgcrypt flac libgee mpg123 tcpdump flex tesseract fontconfig ncurses
tesseract-lang freetype texinfo libimobiledevice ninja gawk libimobiledevice-glue node npm tree gcc u-boot-tools
gdbm libmagic nspr ucl gettext gh unifdef libnghttp2 nvm unzip libnghttp3 vala libnice vala-language-server git
glib openjdk vim glib-networking openjdk webp libpcap openjpeg wget gnu-sed libplist [email protected] gnupg
libpng openssl@3 x264 gnutls libpsl x265 go gobject-introspection pango xz googletest pcre2 youtube-dl gost perl
yt-dlp gperf z3 libslirp gradle pipx zip libsodium zstd p7zip jtool2 ios-deploy binwalk upx graphviz และ plantuml เป็นสิ่งจำเป็นสำหรับการวาดภาพ
ควรใช้ APK apktool และ smali
ใช้ซอฟต์แวร์ดาวน์โหลด aria2 , wget และ curl
go และ go-ios เป็นสิ่งจำเป็นสำหรับการพัฒนา Golang และ iOS
yt-dlp และ youtube-dl เป็นเครื่องมือบรรทัดคำสั่งสำหรับดาวน์โหลดวิดีโอ YouTube
ชุดคอมไพเลอร์ llvm และ gcc ใช้สำหรับการพัฒนาซอฟต์แวร์
lima และ colima ใช้วิธีการบรรทัดคำสั่งเพื่อจัดการเครื่องเสมือน
python , node ฯลฯ เป็นสภาพแวดล้อมพื้นฐานสำหรับการใช้งานซอฟต์แวร์ของบุคคลที่สามจำนวนมาก
scrcpy ใช้สำหรับการฉายหน้าจออุปกรณ์ Android
tesseract ใช้สำหรับการรับรู้ OCR
ffmpeg ใช้สำหรับการเข้ารหัสวิดีโอและการแปลงรหัสอันนี้เพียงพอแล้ว
ในหมู่พวกเขามีห้องสมุดจำนวนมากที่ใช้ในซอฟต์แวร์เหล่านี้และบางส่วนถูกใช้ในการพัฒนาโปรแกรม vala ฉันจะไม่แนะนำพวกเขาทีละคนที่นี่
ซอฟต์แวร์บางตัวต้องกำหนดค่าการเข้าสู่ระบบและตั้งค่าตัวแทน
นี่คือเครื่องมือบรรทัดคำสั่งอย่างเป็นทางการของ GitHub ซึ่งสะดวกมากในการจัดการคลังสินค้า คุณสามารถใช้หลังจากเข้าสู่ระบบ
gh auth loginตั้งกระจกของ PIP
export HOMEBREW_PIP_INDEX_URL= " https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple "
python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simpleตั้งกระจก NPM
npm config set registry https://registry.npmmirror.comติดตั้งเครื่องมือ NPM
npm install -g go-ios fridaแม้ว่าจะมีปลั๊กอิน VSCODE แต่การใช้เวอร์ชันบรรทัดคำสั่งนั้นเย็นกว่า
brew tap gitbito/bitocli
brew install bito-cliเรียกใช้คำสั่งเพื่อเข้าสู่ระบบแน่นอนคุณต้องลงทะเบียนบัญชีก่อนและถามคำถาม 20 ครั้งฟรีต่อวัน
bitoการทำฟังก์ชั่นนามแฝงและทุบตีสามารถเพิ่มความเร็วในการประมวลผลการดำเนินการบรรทัดคำสั่ง
cc () {
git rev-list --count $1
}
rebase () {
git rebase -i HEAD~ $1 && git push -f
}
status () {
git status
}
log () {
git log
}
push () {
git add --all && git commit -m " $1 " && git push
}
# squash 4 "update"
squash () {
git reset --soft HEAD~ $1 && git add --all && git commit -m " $2 . " && git push -f
}
touchm () {
find $1 -type f -exec touch -m {} ;
}
# rmall ~/ ".DS_Store"
rmall () {
find $1 -name $2 -exec rm {} ;
}
rmdsstore () {
find . -name " .DS_Store " -exec rm {} ;
}
# renameext jpg zip
renameext () {
rename " s/ $1 / $2 / " *
}
cls () {
/usr/bin/osascript -e ' tell application "System Events" to tell process "Terminal" to keystroke "k" using command down '
}
# xattrd ~/Downloads/1.app
xattrd () {
/usr/bin/xattr -r -d com.apple.quarantine $1
# or
/usr/bin/xattr -c $1
}
# random 32
random () {
echo $RANDOM | md5sum | head -c $1 ; echo ;
}
xattrd () {
if [[ -z $1 ]] ; then
echo xattrd path
return
fi
xattr -r -d com.apple.quarantine " $1 "
}
alias clean=cls
alias clear= " printf '33ce[3J' "
alias ll= " ls -al "
alias simlog= " tail -f ~/Library/Logs/CoreSimulator/*/system.log " ก่อนอื่นมันเป็น IDE ที่ใช้กันทั่วไปซึ่งติดตั้งตามความต้องการการพัฒนาส่วนบุคคล brew install android-studio pycharm clion goland
ซีรี่ส์ JB มีรุ่นชุมชนฟรี รุ่นมืออาชีพสามารถนำไปใช้ฟรีสำหรับโครงการโอเพนซอร์สและสามารถใช้เป็นเวลาหนึ่งปี นอกจากนี้คุณยังสามารถซื้อผ่านช่องทางอื่นหรือมีความกลมกลืน หากคุณมีเงื่อนไขขอแนะนำให้ซื้อเครื่องมือการผลิตใช้งานง่าย
brew install --cask cmake wireshark charles 1password disk-drill windows-app displays mitmproxy orbstack obs
flutter oracle-jdk usbimager flux utm balenaetcher phantomjs vienna beyond-compare visual-studio-code
ghidra raspberry-pi-imager github vnc-viewer hiddenbar crescendo iina cryptomator itraffic tabby termius
microsoft-office google-chrome xmind localsend 010-editor wechat qq telegram bilibili showyedge angry-ip-scanner
iterm2 sentinel battery microsoft-auto-update viz pearcleaner pdf-expert hex-fiend vmware-fusion raycast
ios-app-signer motrix listen1 bit-slicer clash-verge-rev qingg logseq ImageOptim Snipaste licecap wireshark , charles และ mitmproxy เป็นสิ่งจำเป็นสำหรับการคว้าแพ็คเก็ต
1password เป็นซอฟต์แวร์การจัดการรหัสผ่านที่ดีที่สุด
disk-drill เป็นเครื่องมือการจัดการดิสก์ที่ดี
windows-app เป็นซอฟต์แวร์การเชื่อมต่อระยะไกล 3389 ที่ผลิตโดย Micro-Software มันฟรีและใช้งานง่ายและฆ่าซอฟต์แวร์ที่จ่ายเงินให้คล้ายกันซึ่งผลิตโดย Apple
displays เป็นซอฟต์แวร์การจัดการความละเอียดเดสก์ท็อป
orbstack เป็นซอฟต์แวร์ฟรีที่รวมเครื่องเทียบท่าและเครื่องเสมือนและต้องติดตั้ง
obs เป็นซอฟต์แวร์การบันทึกหน้าจอโอเพนซอร์สและซอฟต์แวร์สตรีมมิ่งซึ่งใช้งานได้ดีที่สุดไม่ต้องสงสัยเลย
usbimager , balenaetcher และ raspberry-pi-imager เป็นเครื่องมือสำหรับการเผาภาพฮาร์ดดิสก์ ฉันมักจะใช้กลาง
flux เป็นเครื่องมือป้องกันดวงตาที่ปรับความสว่างของจอแสดงผลและอุณหภูมิสีโดยอัตโนมัติตามเวลาและเขตเวลา
vienna เป็นสมาชิก RSS ฟรีที่ฉันใช้ทุกวันเพื่อดูบล็อกและการอัปเดตที่เก็บเทคโนโลยี
beyond-compare และ 010-editor เป็นเครื่องมือที่ทรงพลังสำหรับการแก้ไขไฟล์และการเปรียบเทียบ
visual-studio-code เป็นตัวแก้ไขที่ต้องใช้ทุกวันและสามารถกล่าวได้ว่าเป็น IDE ซึ่งเป็นเครื่องมือที่นักพัฒนาทั่วโลกผลิตเช่น
ghidra เป็นเครื่องมือการสลายตัวแบบโอเพ่นซอร์สที่ใช้แทนที่ซอฟต์แวร์เชิงพาณิชย์ IDA Pro แต่ไม่สามารถสั่นคลอนตำแหน่งได้ในปัจจุบัน
github เป็นเครื่องมือจัดการรหัสที่เก็บอย่างเป็นทางการและใช้งานง่าย vnc-viewer เป็นเครื่องมือเชื่อมต่อระยะไกล VNC และมีดีกว่าไม่
hiddenbar ใช้เพื่อจัดการการแสดงผลและซ่อนไอคอนของแถบสถานะและใช้ได้ฟรี
crescendo เป็นส่วนขยายเคอร์เนลสำหรับพฤติกรรมและการวิเคราะห์เครือข่ายซึ่งเป็นเครื่องมือที่ทรงพลังสำหรับนักวิเคราะห์ความปลอดภัย
iina เป็นเครื่องเล่นวิดีโอโอเพนซอร์สที่ดีที่สุดไม่มีใคร
cryptomator เป็นเครื่องมือเข้ารหัสที่จำเป็นสำหรับการจัดการความลับเล็ก ๆ
itraffic ดูการรับส่งข้อมูลของกระบวนการในท้องถิ่นและจับซอฟต์แวร์ที่ส่งการรับส่งข้อมูล การอัปโหลดที่เป็นอันตรายมีความชัดเจนอย่างรวดเร็ว
tabby และ termius เป็นเครื่องมือเทอร์มินัลแบบโอเพนซอร์สฟรีและแบบชำระเงินซึ่งก็ดีและฉันก็ชอบ iterm2 ฟรี
microsoft-office เป็นชุดสำนักงานที่ผลิตโดย Microsoft และใช้โดยผู้คนทั่วโลก
google-chrome เป็นเบราว์เซอร์ Chrome ของ Google และยังใช้ทุกวัน
เครื่องมือการวาด xmind ถือเป็น guoguang
localsend เพื่อส่งผ่านไฟล์ข้ามแพลตฟอร์มฉันพึ่งพามัน
ไม่จำเป็นต้องพูด wechat และ qq
telegram เป็น IM ที่ดีที่สุดในโลก
bilibili เป็นสวรรค์ของทั้งสองมิติ
showyedge เป็นสิ่งจำเป็นสำหรับมัน มันแสดงสถานะที่แตกต่างกันของวิธีการป้อนข้อมูลในแถบสถานะที่มีเส้นสีต่างกันเพื่อให้ฉันรู้ว่าวิธีการอินพุตกำลังใช้อยู่โดยไม่ต้องสะกดรอยคอของฉันและดูแถบสถานะที่มุมขวาบน
angry-ip-scanner ใช้เพื่อสแกนข้อมูล IP และอุปกรณ์ในเครือข่ายท้องถิ่น สภาพแวดล้อมเครือข่ายที่มีอุปกรณ์จำนวนมากเป็นสิ่งจำเป็น
เครื่องมือภาพหน้า snip ฟรีที่ใช้งานง่าย
sentinel ก็เป็นสิ่งจำเป็นสำหรับผู้ใช้ Apple หากเครื่องมือของบุคคลที่สามที่ดาวน์โหลดบ่อยไม่มีลายเซ็นหรือลายเซ็น ADHOC มันจะแจ้งให้ทราบว่าพวกเขาได้รับความเสียหายและถูกลบ ใช้เครื่องมือนี้เพื่อลบข้อมูลเพิ่มเติมของไฟล์
battery เป็นซอฟต์แวร์การจัดการแบตเตอรี่ฟรี แบตเตอรี่ของ Apple มีราคาแพงดังนั้นจึงถูกต้องที่จะใช้เพื่อสังเกต
viz เป็นภาพหน้าจอโอเพ่นซอร์สและเครื่องมือสแกนรหัส QR หน้าจอซึ่งดูดีกว่า snip
pearcleaner เป็นซอฟต์แวร์การจัดการซอฟต์แวร์โอเพนซอร์ซ
pdf-expert เป็นสิ่งที่ต้องมีสำหรับการดู PDF
hex-fiend เป็นเครื่องมือแก้ไข hex ฟรี
utm และ vmware-fusion เป็นซอฟต์แวร์เสมือนจริงฟรีสำหรับการใช้งานส่วนตัว แต่ตอนนี้ฉันใช้ orbstack
raycast ใช้เพื่อแทนที่การค้นหาโฟกัสอย่างเป็นทางการซึ่งมีประโยชน์มาก
ios-app-signer เป็นเครื่องมือลายเซ็น IPA แต่คุณเพิ่งซื้อใบรับรองของคุณเองซึ่งมีราคาแพงมาก
motrix เป็นซอฟต์แวร์ดาวน์โหลดโอเพ่นซอร์สดังนั้นฉันไม่แนะนำ Thunder ที่นี่
listen1 เป็นเครื่องเล่นเพลงข้ามแพลตฟอร์มฟรีซึ่งรวมการค้นหาเพลงและฟังเพลง ฉันไม่แนะนำเครื่องเล่นเพลงในประเทศ
bit-slicer เป็นเครื่องมือค้นหาหน่วยความจำและคุณสามารถเข้าใจได้
clash-verge-rev เป็นผู้สืบทอดของ clash-for-windows
qingg Qingge เป็นวิธีการป้อนข้อมูลฟรีที่ดีที่สุด
logseq เป็นซอฟต์แวร์การจัดการโน้ตโอเพนซอร์สที่รองรับ markdown และใช้งานง่าย มันเป็นสิ่งทดแทน Typora
ImageOptim เป็นเครื่องมือบีบอัดภาพโอเพนซอร์สฟรี
Snipaste เป็นภาพหน้าจอข้ามแพลตฟอร์มที่ทรงพลังและเครื่องมือแผนที่ให้บริการเวอร์ชันฟรีส่วนบุคคลและเวอร์ชันที่ชำระเงิน
licecap เป็นเครื่องมือบันทึก GIF แบบโอเพ่นซอร์สแบบข้ามแพลตฟอร์ม
เครื่องมือทั่วไปบางอย่างยังต้องการการกำหนดค่าเพิ่มเติม
ใช้คำสั่งต่อไปนี้เพื่อติดตั้งปลั๊กอิน
code --install-extension asabil.mesonด้านล่างคือปลั๊กอินที่ฉันติดตั้ง
code --list-extensions
aaron-bond.better-comments
asabil.meson
atlassian.atlascode
bierner.markdown-mermaid
bito.bito
bpfdeploy.bpftrace
bpruitt-goddard.mermaid-markdown-syntax-highlighting
codeium.codeium
codezombiech.gitignore
cornell3110sp20.rml-highlighter
davidanson.vscode-markdownlint
dbaeumer.vscode-eslint
dotjoshjohnson.xml
eamodio.gitlens
eriklynd.json-tools
formulahendry.code-runner
foxundermoon.shell-format
genieai.chatgpt-vscode
github.codespaces
github.copilot
github.copilot-chat
github.github-vscode-theme
github.remotehub
github.vscode-github-actions
github.vscode-pull-request-github
gitpod.gitpod-desktop
golang.go
google.aidl-language
googlecloudtools.cloudcode
gruntfuggly.todo-tree
jebbs.plantuml
jeff-hykin.better-cpp-syntax
jock.svg
josephcz.vscode-markdown-mindmap-preview
josetr.cmake-language-support-vscode
jrieken.md-navigate
llvm-vs-code-extensions.vscode-clangd
mesonbuild.mesonbuild
ms-azuretools.vscode-docker
ms-ceintl.vscode-language-pack-zh-hans
ms-dotnettools.csharp
ms-dotnettools.vscode-dotnet-runtime
ms-kubernetes-tools.vscode-kubernetes-tools
ms-mssql.data-workspace-vscode
ms-mssql.mssql
ms-mssql.sql-bindings-vscode
ms-mssql.sql-database-projects-vscode
ms-python.autopep8
ms-python.debugpy
ms-python.isort
ms-python.python
ms-python.vscode-pylance
ms-vscode-remote.remote-containers
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode-remote.remote-wsl
ms-vscode-remote.vscode-remote-extensionpack
ms-vscode.azure-repos
ms-vscode.cmake-tools
ms-vscode.cpptools
ms-vscode.cpptools-extension-pack
ms-vscode.cpptools-themes
ms-vscode.hexeditor
ms-vscode.makefile-tools
ms-vscode.powershell
ms-vscode.remote-explorer
ms-vscode.remote-repositories
ms-vscode.remote-server
ms-vscode.vscode-typescript-next
msjsdiag.vscode-react-native
nicohlr.pycharm
osstekz.vala-code
prince781.vala
redhat.java
redhat.vscode-commons
redhat.vscode-xml
redhat.vscode-yaml
rogalmic.bash-debug
shakram02.bash-beautify
souche.vscode-mindmap
twxs.cmake
vadimcn.vscode-lldb
visualstudioexptteam.intellicode-api-usage-examples
visualstudioexptteam.vscodeintellicode
vscjava.vscode-gradle
vscjava.vscode-java-debug
vscjava.vscode-java-dependency
vscjava.vscode-java-pack
vscjava.vscode-java-test
vscjava.vscode-maven
vscode-icons-team.vscode-icons
webfreak.debug
xaver.clang-format
yzane.markdown-pdf
zainchen.json เริ่ม orbstack หนึ่งครั้ง จากนั้นกำหนดค่าไว้ในบรรทัดคำสั่ง
orb config docker
{
" registry-mirrors " : [
" https://docker.m.daocloud.io " ,
" https://hub.dftianyi.top " ,
" https://noohub.ru " ,
" https://huecker.io " ,
" https://dockerhub.timeweb.cloud " ,
" https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com " ,
" https://5tqw56kt.mirror.aliyuncs.com " ,
" https://docker.1panel.live " ,
" http://mirrors.ustc.edu.cn/ " ,
" http://mirror.azure.cn/ " ,
" https://hub.rat.dev/ " ,
" https://docker.ckyl.me/ " ,
" https://docker.chenby.cn " ,
" https://docker.hpcloud.cloud " ,
" https://docker.m.daocloud.io "
]
}ติดตั้งระบบ Ubuntu รุ่น ARM64 สำหรับใช้ประจำวัน
orb create ubuntu:jammy ubuntuการติดตั้งระบบ Ubuntu รุ่น X86_64 แก้สถานการณ์การใช้งาน X86_64
softwareupdate --install-rosetta --agree-to-license
orb create --arch amd64 ubuntu:jammy ubuntu64ส่วนขยายส่วนใหญ่ หน้าการเข้าถึงคือ: https://chromewebstore.google.com/detail/xxxx xxx เป็นรหัสส่วนขยาย
ส่วนขยายบางส่วนที่ฉันติดตั้งมีดังนี้
cfhdojbkjhnklbpkdaibdccddilifddb
anlikcnbgdeidpacdbdljnabclhahhmd
dodmmooeoklaejobgleioelladacbeki
ghbmnnjooekpmoecnnnilnnbdlolhkhi
mclkkofklkfljcocdinagocijmpgbhab
cpcifbdmkopohnnofedkjghjiclmhdah
legbfeljfbjgfifnkmpoajgpgejojooj
padekgcemlokbadohgkifijomclgjgif
kpdjmbiefanbdgnkcikhllpmjnnllbbc
lieodnapokbjkkdkhdljlllmgkmdokcm
ikhdkkncnoglghljlkmcimlnlhkeamad
bciglihaegkdhoogebcdblfhppoilclp
bpoadfkcbjbfhfodiogcnhhhpibjhbnh
dhdgffkkebhmkfjojejmpbldmpobfkfo สิ่งที่ใช้กันมากที่สุดคือ ClashX Pro และ clash-for-windows หลังดีกว่าดังนั้นฉันจะไม่ขยายที่นี่
ตามนิสัยการใช้งานส่วนบุคคลนอกจากนี้ยังมีซอฟต์แวร์ที่ต้องชำระเงินบางอย่างที่ต้องใช้ ตัวอย่างเช่น CleanMyMac X , Parallels Desktop , IDA Pro , Typora , Beyond Compare , paragon-extfs , paragon-ntfs , 010-editor ส่วนใหญ่สามารถติดตั้งผ่าน brew ยกเว้น IDA Pro คุณสามารถลองหรือซื้อได้หลังจากการติดตั้ง
Parallels Desktop มีราคาแพงมากในการสั่งซื้อปีละครั้งขึ้นอยู่กับความต้องการของคุณ
นี่เป็นเรื่องเกี่ยวกับ Office การใช้งาน "ฟรี" ของ Microsoft ไม่ได้ตรวจสอบอย่างเคร่งครัด เวอร์ชันที่ติดตั้งโดย brew สามารถใช้งานได้โดยไม่มี 2021 VL license บนอินเทอร์เน็ต การใช้ microsoft-auto-update สามารถอัพเกรดและอัปเดตได้อย่างสมบูรณ์แบบ หากเป็นไปได้ขอแนะนำให้ซื้อเวอร์ชันของแท้ซึ่งใช้งานง่ายและบันทึกปัญหา
https://brew.sh/
https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
https://code.visualstudio.com/docs/editor/extension-marketplace
https://docs.orbstack.dev/machines/
https://www.sweetscape.com/download/010Editor/
https://www.paragon-software.com/
https://developer.chrome.com/docs/extensions/how-to/distribute/install-extensions?hl=zh-cn
https://github.com/gitbito/cli
https://github.com/pypa/pipx