网易云音乐签到刷播放量脚本,Go 语言实现。

Overview

ncmlu

NCM 任务执行脚本,Go 版本。

希望能够帮忙点一个 Star ^_^

GitHub Workflow Status GitHub

Implements

  • 登录
  • 签到
  • 获取推荐歌单
  • 获取歌单内所有歌曲
  • 刷播放量
  • 日志文件
  • 间隔执行
  • 自定义歌单
  • 路由

Usage

  1. 跳转 Release 页面下载对应操作系统的压缩包,如 Windows 环境下载 ncmlu_xxx_Windows_x86_64.tar.gz

  2. 解压压缩包,得到可执行文件,如 Windows 下的ncmlu.exe文件

  3. 创建配置文件config.yaml

  4. 将可执行文件(如ncmlu.exe)与config.yaml文件放在同一目录下

  5. 按如下方式配置config.yaml文件,注意空格和缩进:

    单账号:

    accounts:
      - phone: 1111111111 	# 修改为账号的手机号
        passwd: 'xxxxxxxxx'	# 修改为对应的密码,为防止解析错误,建议使用半角引号包裹;密码支持 32 位小写 MD5 格式,同样支持明文
        expired: 2021-09-05	# 到期时间,如设置为 2021-09-05 则当天及之后不会再执行该账号的任务
        only_sign: false	# 是否只执行签到,设置为 true 则仅执行签到任务
        unstable: false # 不稳定选项,设置为 true 则可以使用非推荐歌单刷歌,增加刷歌成功数量(可能导致日推混乱)
    

    多账号(规则与单账号相同):

    accounts:
      - phone: 1111111111
        passwd: 'xxxxxxxxx'
        expired: 2021-09-05
        only_sign: false
        unstable: false
      - phone: 1111111111
        passwd: 'xxxxxxxxx'
        expired: 2021-09-05
        only_sign: false
        unstable: false
      - phone: 1111111111
        passwd: 'xxxxxxxxx'
        expired: 2021-09-05
        only_sign: false
        unstable: false
      - phone: 1111111111
        passwd: 'xxxxxxxxx'
        expired: 2021-09-05
        only_sign: false
        unstable: false
    
  6. 双击可执行文件(如ncmlu.exe)执行脚本

  7. 查看当前目录下的新文件ncmlu.log,可以得到输出结果

自定义歌单

注意:使用自定义歌单时,不会获取每日的推荐歌单刷歌,如需取消自定义歌单,删除或注释增加的playlist字段即可。

config.yaml配置文件修改为如下格式,多账号同理:

playlist:
  - 4234112
  - 4312424
accounts:
  - phone: 1342412432
    passwd: "xxxxxx"
    expired: 2022-09-06
    only_sign: false

playlist列表填写需要使用的歌单 ID,可指定单个或多个,可以通过下图方式获得:

image-20210906181506108

Deployment

Linux 服务器部署

  1. Release 页面下载ncmlu_xxx_Linux_x86_64.tar.gz压缩包,

  2. 将 tar.gz 压缩包中的ncmlu可执行文件提取至服务器某一目录,再将项目中的config.yaml文件复制到同一目录(也可手动创建文件)

  3. 按照前文所述规则填写config.yaml文件配置

  4. 在同一目录下创建run.sh文件,填写如下内容:

    # 这里的 /path_to 需要改为ncmlu文件所在的目录的绝对路径
    cd /path_to
    ./ncmlu

    如:

    # 该路径仅为举例,请勿直接用于自己的服务器
    cd /home/secriy/task
    ./ncmlu
  5. 输入命令crontab -e,在打开的编辑器中填写一行内容(/path_to 同样需要更改):

    0 2 * * * bash /path_to/run.sh
    

    其中,0 2 * * *表示每天的凌晨 2 点 0 分执行,如有需要可以修改,例如:

    30 5 * * * bash /home/secriy/task/run.sh
    

    即每天的 5 点 30 分执行。

  6. 保存修改

Linux 下宝塔面板部署

如果有宝塔面板,首先按照上一条Linux 服务器部署的前四步操作,最后在宝塔面板的定时任务里创建一个定时任务,执行的指令填写bash /path_to/run.sh

Issues
  • 好像不行了😂

    好像不行了😂

    今天刚开始还可以登录 就是返回值的是 type 1 登录失败什么的 错误代码是 二百多 记不清了.

    现在登录失败了 2022-04-26 22:11:21.4588 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": context deadline exceeded

    opened by kkkkxl 6
  • 爆了

    爆了

    2021-11-06 20:42:40.4252 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": read tcp 192.168.31.190:10445->103.126.92.132:443: wsarecv: An existing connection was forcibly closed by the remote host.

    opened by Lemonawa 2
  • 执行报错有解吗?

    执行报错有解吗?

    Linux环境下跑的 出现一个证书类报错 报错日志如下 2021-10-12 21:29:41.4195 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": x509: certificate signed by unknown authority 请问有知道是什么问题的吗 是否有解

    opened by zhaoxp520 2
  • 执行之后日志显示错误

    执行之后日志显示错误

    2021-10-03 01:05:24.9092 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": read tcp 192.168.103.117:42918->59.111.19.33:443: read: connection reset by peer 2021-10-03 01:07:35.8545 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": read tcp 192.168.103.117:54842->59.111.160.195:443: read: connection reset by peer 2021-10-03 01:09:54.1923 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": read tcp 192.168.103.117:56050->59.111.160.195:443: read: connection reset by peer 2021-10-03 01:10:26.1801 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": read tcp 192.168.103.117:44402->59.111.19.33:443: read: connection reset by peer 2021-10-03 01:16:24.6637 ERROR ncm/ncm.go:51 Post "https://music.163.com/weapi/login/cellphone": read tcp 192.168.103.117:57390->59.111.160.195:443: read: connection reset by peer

    opened by waleraye 2
Releases(v0.5)
Owner
Secriy
The world is a fine place and worth fighting for.
Secriy