ZxwyWebSite / lx-source

lx-music-custom-source 洛雪音乐自定义解析源
MIT License
620 stars 73 forks source link

有个小白问题,如何在openwrt上运行? #33

Closed caoooooooooooooo closed 4 months ago

caoooooooooooooo commented 5 months ago

屏幕截图 2024-06-13 235807 我自己尝试了,但是报错,,搞不明白。我没学过go,请大佬们轻喷😭

ZxwyWebSite commented 4 months ago

看截图应该是已经装好Golang环境了 这个项目有些依赖需要额外下载,参考 .github/workflows/action.yml #Fetch Modules

  1. 首先确保当前网络可以访问CDN域名 r2eu.zxwy.link,然后是必要工具 wgetunzip
  2. 进入源码上级目录 (按照截图来说应该是 /mnt/sda1) 执行以下命令下载依赖,如无报错即为成功
    wget -q "https://r2eu.zxwy.link/gh/lx-source/static/ztool_20240525.zip" -O ztool.zip && unzip ztool.zip && rm ztool.zip
    wget -q "https://r2eu.zxwy.link/gh/lx-source/static/cr-go-sdk_20240525.zip" -O cr-go-sdk.zip && unzip cr-go-sdk.zip && rm cr-go-sdk.zip
  3. 如果不是 git clone 方式拉取仓库还需将源码目录的 go.mod 中最下方的
    github.com/ZxwyWebSite/ztool v0.0.1 => ./pkg/ztool // ../ztool
    // ↑ 改为 ↓
    github.com/ZxwyWebSite/ztool v0.0.1 => ../ztool
  4. 进入源码目录,执行以下命令编译(如果不使用CGO删掉 -linkmode external)
    go build -o lx-source -trimpath -buildvcs=false -ldflags "-s -w -linkmode external" -tags "go_json" .
  5. 如无报错会在当前目录生成可执行文件 lx-source,将其移动到合适位置后就可以删除源码了
  6. 之后 ./lx-source 运行即可

另外:今天有更新功能修复,建议使用最新版本尝试

最新版本尝试编译了几个MIPS架构的程序包,如有对应可尝试使用。

确认OpenWrt架构:https://www.ohyee.cc/post/note_compile_go_to_openwrt

caoooooooooooooo commented 4 months ago

我的openwrt架构是armv7,是否可以直接使用项目中的arm7软件包? 屏幕截图 2024-06-15 155504

ZxwyWebSite commented 4 months ago

可以。 https://r2eu.zxwy.link/gh/lx-source/v1.0.3.0614/lx-source-linux-arm7.zip

如果不能用 wget 就只能使用 ftp 或 U盘 把可执行文件拷贝过去了 大概率 unzip 也没有,还要先在电脑上解压好

按需求将程序移动到合适位置,然后进入程序所在目录执行以下命令启动

chmod +x lx-source-linux-arm7
./lx-source-linux-arm7

输入 Ctrl+C 退出程序,将配置文件 data/conf.ini[Main].Listen127.0.0.1 改为 0.0.0.0 或 本机ip 开启内网访问

其它配置参考简易使用教程 #23

我的海思盒子也是Armv7架构,配置相似应该可以直接使用

root@hi3798mv100:~# arch
armv7l
root@hi3798mv100:~# lscpu
Architecture:         armv7l
Byte Order:           Little Endian
CPU(s):               4
On-line CPU(s) list:  0,1,3
Off-line CPU(s) list: 2
Thread(s) per core:   1
Core(s) per socket:   3
Socket(s):            1
Vendor ID:            ARM
Model:                5
Model name:           Cortex-A7
Stepping:             r0p5
CPU max MHz:          1500.0000
CPU min MHz:          600.0000
BogoMIPS:             1169.81
Flags:                half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
root@hi3798mv100:~# cat /proc/cpuinfo
processor       : 0
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1169.81
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 1
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1175.96
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 3
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1175.96
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : bigfish
Revision        : 0000
Serial          : 0000000000000000
caoooooooooooooo commented 4 months ago

运行不起来,离谱 屏幕截图 2024-06-16 141841

Kanochann commented 4 months ago

运行不起来,离谱 屏幕截图 2024-06-16 141841

这问题前两天也折磨了我一会儿,目前大部分openWrt的c库使用的是musl,而项目中打包使用的是glibc库。自然是不能运行的,要在openWrt上运行要么就找一个或者自己编译一个使用glibc的openWrt,或者用docker这样的容器运行。