MatsuriDayo / nekoray

Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
https://matsuridayo.github.io/
GNU General Public License v3.0
11.21k stars 1.11k forks source link

需要什么技术知识基础才能达到开发和理解代码? #1241

Closed smallflowercat1995 closed 2 days ago

smallflowercat1995 commented 3 months ago

我探索了文档编译过程,为自己的arm64 postmarketOS编译了主程序,效果挺好,我突然感兴趣了。 我想试着学习开发工具,可以告诉我我应该学习什么技术基础才能达到开发类似nekoray的程度?可以告诉我吗?谢谢你 以下是我编译的过程,程序的世界真的很有意思,我也想拥有能开发工具的技术啊


### 编译使用 nekoray gui
### 安装依赖
sudo apk add git build-base cmake ninja gcc g++ qt5-qtbase-dev qt5-qtsvg-dev qt5-qttools-dev qt5-qtx11extras-dev go wayvnc

clone源码

git clone https://github.com/MatsuriDayo/nekoray.git --recursive cd nekoray

获取c++相关依赖

./libs/build_deps_all.sh

编译主程序

mkdir build cd build cmake -GNinja .. ninja

返回上层目录

cd -

编译内核

bash libs/get_source.sh GOOS=linux GOARCH=arm64 bash libs/build_go.sh

复制内核

cp -fv deployment/linux-arm64/launcher build/ cp -fv deployment/linux-arm64/nekobox_core build/ cp -fv deployment/linux-arm64/nekoray_core build/

下载规则

curl -fLso build/geoip.dat "https://fastly.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat" curl -fLso build/geosite.dat "https://fastly.jsdelivr.net/gh/v2fly/domain-list-community@release/dlc.dat" curl -fLso build/geoip.db "https://fastly.jsdelivr.net/gh/SagerNet/sing-geoip@release/geoip.db" curl -fLso build/geosite.db "https://fastly.jsdelivr.net/gh/SagerNet/sing-geosite@release/geosite.db"

启动界面化

cd build ./launcher



![截屏2024-03-24 17 38 06](https://github.com/MatsuriDayo/nekoray/assets/144557489/d0a7aecf-12dd-4a0b-b652-c281e311fc72)