Skip to content

Latest commit

 

History

History
301 lines (219 loc) · 17.3 KB

README.md

File metadata and controls

301 lines (219 loc) · 17.3 KB

如果您觉得这个项目不错的话可以在右上角给颗⭐吗?您的支持是我最大的动力,方便分享给更多的朋友吗?


通知与更新

更新 代表有新的内容增加,您可以更新也可以继续使用之前的版本
修复 代表有错误已经修复完毕需要您执行相关命令解决相应的问题
通知 代表有新的内容或信息需要您了解
具体内容和命令请前往 Wiki 查看通知

  • 2021/3/06 22:10 通知 ㅤ全面取消本项目所使用的代理,重新启用Gitee命令。

  • 2021/3/05 21:20 修复 ㅤ修复了 Linux 版本在 3月4号 版本更新中的遗留问题,由于本人的疏忽在删除 manual-update 脚本后忘记修改了定时文件,请所有使用 Linux 版本的朋友前往 Wiki 查看具体命令修复此问题。

  • 2021/3/05 20:30 更新 ㅤ更新了 diy 自定义脚本,新加入了部分活动。

  • 2021/3/05 19:00 修复 ㅤ接到活动脚本作者的通知,由于某个活动脚本编写错误导致死循环,示意用户删除该脚本后重新拉取,请所有朋友前往 Wiki 查看具体命令修复此问题。

  • 2021/3/04 1:30 更新
    ㅤ去除了 manual-update 脚本,将其功能移入至 git_pull 原版一键更新脚本中,更新了对应教程注意今后使用新命令,配置文件新增同步 Diy 脚本功能,已推送新版 Docker 镜像且支持了更多的架构,最新版本的镜像ID为 2f6bf791cf7c ,如果您不想重新部署可通过对应版本《使用与更新》教程之<更新教程>的第4条命令升级现有版本,此次更新内容较少,主要为项目结构调整,感谢您的理解与支持。

  • 2021/3/02 16:00 通知 ㅤ目前项目已增设 Issues 专题供您提交自己关于diy脚本的需求,如果您想推荐某位作者的第三方活动脚本将其加入到本项目diy脚本中,您可以在其下方留言。

  • 2021/2/25 01:00 通知 ㅤ更换了执行 run-all.sh 一键执行所有活动脚本的命令,注意今后使用新命令。


《JD薅羊毛》一键部署 For Linux

  • 用途:通过自动化脚本参与JD商城的各种活动从而获取京豆用于购物抵扣,还可通过某些活动免费领取商品
  • 适用平台:PC、VPS (虚拟专用服务器) 、NAS 、软路由
  • 适用环境:Linux & Docker Server

ㅤㅤTelegram 通知频道: t.me/jd_freefuck

ㅤㅤ码云Gitee 同步更新: 点击此处访问

特别声明:

  • 本仓库发布的项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

  • 本项目内所有资源文件,禁止任何公众号、自媒体进行任何形式的转载、发布。

  • SuperManito 对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害。

  • 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播,SuperManito 对于由此引起的任何隐私泄漏或其他后果概不负责。

  • 请勿将项目中的任何内容用于商业或非法目的,否则后果自负。

  • 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明、所有权证明,我将在收到认证文件后删除相关脚本。

  • 任何以任何方式查看此项目的人或直接或间接使用该项目的任何脚本的使用者都应仔细阅读此声明。

  • SuperManito 保留随时更改或补充此免责声明的权利,一旦使用并复制了任何相关脚本或项目的规则,则视为您已接受此免责声明。

  • 您必须在下载后的 24小时 内从计算机中完全删除以上内容。


您使用或者复制了本仓库且本人制作的任何脚本,则视为 已接受 此声明,请仔细阅读


项目声明:

  • 本项目开源免费使用,如果您在其它任何地方发现以 付费 的形式 传播与使用 请积极抵制并向我反馈。

  • 本项目代码各处均有注释其含义,所有脚本中没有附加、偷跑任何互助码,无任何第三方链接,无任何私利。

  • 本项目基于 Evine 前辈开发的源码而制作,包括 Docker 版所使用的镜像,后续的维护与更新均建立于此之上。

  • 本项目所使用的活动脚本均由 lxk0301 大佬提供,我不是活动脚本的开发者,所有与活动相关的问题均与我无关。

  • 如果您对活动脚本提出疑问或建议想要反馈您的问题,请咨询活动脚本作者,我可能无法为您提供有价值的信息。

  • 为了维持本项目的稳定运作,请不要 传播与使用 被第三者修改过的本项目中的脚本,不要滥用 平台资源 。 ㅤ


请ㅤㅤ认ㅤㅤ真ㅤㅤ阅ㅤㅤ读ㅤㅤ教ㅤㅤ程ㅤ,ㅤ90%ㅤㅤ的ㅤㅤ问ㅤㅤ题ㅤㅤ都ㅤㅤ能ㅤㅤ找ㅤㅤ到ㅤㅤ答ㅤㅤ案


一、前言

1. 本项目根据安装平台区分为 LinuxDocker 两个版本,分别提供对应的脚本与教程

2. Linux 为系统直装版本,适配常用 GNU/Linux 发行版,仅适用于在 PC VPS 平台部署

3. Docker 为容器版本,且为通用版本,建议用于在 NAS 软路由 平台部署,占用资源较低

4. 两版本的《部署教程》与《使用教程》均不相同,不要错误、重复使用,请认真阅读所有教程


二、项目部署


下面是 Linux 版本的部署教程,执行命令前请认真阅读注释内容,不要执行错误的命令!


Linux 版本

仅支持 DebianRedhat 发行版和及其衍生发行版
尽量使用最新的稳定版系统,并且安装语言使用 简体中文
否则请使用 Docker 通用版本部署此项目
附: Windows10 安装 WSL Ubuntu 教程

部署前需知与准备工作:

  1. 执行命令前请检查您的系统是否联网,并请切换至 root 用户,切换命令为 sudo -i
  2. 如果您使用的是 CentOS 系统且最小化安装,请通过 SSH 的方式进入到终端。
  3. 本项目默认安装目录为 /opt/jd ,如果您不想安装到该目录请自行下载部署脚本并更改相关变量手动部署。
  4. 由于某些组件的安装受国外网络影响,如果部署失败或遇到报错请再次尝试,否则请严格按照模板提交至 Issues 寻求帮助。
  5. 若您使用 VPS 平台,部署前请进入您所使用平台提供商的防火墙功能,检查是否已开放相关端口、允许HTTP/HTTPS流量通过等设置。
  6. 控制面板 功能的初始用户名为 useradmin,初始密码为 supermanito,部署成功后可通过 http://内部或外部IP地址:5678 访问
  7. 如果您的网络环境暴露在了公网(例如 VPS 用户),请根据《使用与更新》教程更改 控制面板 的用户名和密码。

更换国内源:(选择执行)

bash <(curl -sSL https://gitee.com/SuperManito/JD-FreeFuck/raw/main/ReplaceMirror.sh)

注意:1. 此脚本为 LinuxMirror 一键更换国内源脚本,之前附加在旧版本部署脚本中现独立出来,
ㅤㅤㅤ2. 如果您使用的平台位于国外则不需要执行此命令,例如 Google Cloud Platform 用户,
ㅤㅤㅤ3. 此脚本并没有适配所有的 GNU/Linux 发行版,具体支持列表详见下方表格。

  • 可使用 LinuxMirror 一键更换国内源脚本的 GNU/Linux 发行版
系统 支持版本
Ubuntu 18.04 ~ 20.10
Debian 9.0 ~ 10.8
Kali 2019 ~ 2021.1
Fedora 28 ~ 33
CentOS 7.0 ~ 8.3

如果您的系统或版本不在此列表中则无法使用此脚本

脚本一键部署:

bash <(curl -sSL https://gitee.com/SuperManito/JD-FreeFuck/raw/main/install.sh)

再次提醒:请根据您使用的平台选择合适的版本,不要重复部署!

常见问题与帮助:

  1. 如果执行部署脚本命令后提示 Command 'curl' not found 则说明当前未安装 curl 软件包,安装命令如下:

    apt install -y curl 或 yum install -y curl
    
  2. 如果执行脚本部署命令后没有反应直接结束并跳回终端交互说明您的网络环境存在问题,请检查您的网络连通性。

  3. 如在拉取活动脚本时失败提示 ssh: connect to host gitee.com port 22: Connection timed out 是由于您使用平台的 22 端口不可用所导致,自行解决处理。

  4. 如在拉取活动脚本时失败提示 Repository more than 5 connections 是由于 Gitee 限制了每秒同时拉取项目的IP不能超过 5 个所导致,此报错为正常现象,重新执行更新命令即可。

  5. 部署成功后无法访问 控制面板 是由于 5678 端口外部不能访问所导致。

  6. 如果 控制面板 功能未安装成功可执行下面的命令重新安装:

    cd /opt/jd/panel
    npm install || npm install --registry=https://registry.npm.taobao.org
    npm install -g pm2
    pm2 start server.js
    


下面是 Docker 版本的部署教程,执行命令前请认真阅读注释内容,不要执行错误的命令!


Docker 版本

支持的架构:

amd64 arm64 arm/v8 arm/v7 arm/v6 ppc64le s390x

部署前需知与准备工作:

  1. 执行命令前请检查您的系统是否联网,并请切换至 root 用户,切换命令为 sudo -i
  2. 下面的教程涉及 容器技术 专业知识,执行命令前请先看 注释内容 ,若无法理解请先百度或向我咨询。
  3. 使用 NAS 软路由 的朋友请在终端执行下面教程中的命令,不要使用图形界面。
  4. 控制面板 功能的初始用户名为 useradmin,初始密码为 supermanito,部署成功后可通过 http://内部或外部IP地址:5678 访问
  5. 如果您的网络环境暴露在了公网(例如 VPS 用户),请根据《使用与更新》教程更改 控制面板 的用户名和密码。

安装 Docker Server 客户端:

curl -sSL https://get.daocloud.io/docker | sh

注意:大部分设备默认自带 Docker 客户端,如果没有安装请先执行此官方脚本一键安装。

下载镜像:

docker pull registry.cn-hangzhou.aliyuncs.com/supermanito/jd

注意:此镜像大约需要占用 239MB 的空闲存储空间,目前最新版本的镜像ID为 2f6bf791cf7c

启动容器:

docker run -dit \
-v /opt/jd/scripts:/jd/scripts `# 设置活动脚本的主机挂载目录为/opt/jd/scripts` \
-v /opt/jd/config:/jd/config `# 设置配置文件的主机挂载目录为/opt/jd/config` \
-v /opt/jd/log:/jd/log `# 设置日志的主机挂载目录为/opt/jd/log` \
-p 5678:5678 `# 设置端口映射,格式为 "主机端口:容器端口",主机端口号可自定义` \
-e ENABLE_HANGUP=true `# 启用挂机功能` \
-e ENABLE_WEB_PANEL=true `# 启用控制面板功能` \
--name jd `# 设置容器名为jd` \
--network bridge `# 设置网络为桥接,直连主机` \
--hostname jd `# 设置主机名为jd` \
--restart always `# 设置容器开机自启` \
registry.cn-hangzhou.aliyuncs.com/supermanito/jd

注意:1.如果是旁路由,容器网络类型需使用ㅤhost 模式,请将 --network bridge 参数改成 --network host
ㅤㅤㅤ2.如果设备不存在 opt 目录,请先通过命令 mkdir -p /opt/jd 创建主机目录,您也可以自定义此目录,
ㅤㅤㅤ3.如果您想将挂载目录替换为当前所在目录,将 /opt/jd 参数改成 $PWD 即可。

初始化容器:

docker logs -f jd

注意:请先执行此命令查看容器初始化进度,当输出 容器启动成功...... 字样即代表容器启动成功,此时通过命令 Ctrl + C 退出即可。

常见问题与帮助:

  1. 如在拉取活动脚本时失败提示 ssh: connect to host gitee.com port 22: Connection timed out 是由于您使用平台的 22 端口不可用所导致,自行解决处理。

  2. 如在拉取活动脚本时失败提示 Repository more than 5 connections 是由于 Gitee 限制了每秒同时拉取项目的IP不能超过 5 个所导致,此报错为正常现象,重新执行更新命令即可。

  3. 部署成功后无法访问 控制面板 是由于容器映射的 主机端口 (默认5678)外部不能访问所导致。

  4. 如果 控制面板 功能未安装成功可执行下面的命令重新安装:

    docker exec -it jd /bin/bash
    cd panel
    npm install || npm install --registry=https://registry.npm.taobao.org
    npm install -g pm2
    pm2 start server.js
    exit
    

三、配置项目


接下来需要您JD账户的“身份证”,它由 Cookie部分内容 组成,将它写入至配置文件中才可以开始使用
此部分教程的配置操作也可在 控制面板 功能中的 WEB网页 完成配置,可取代在终端输入命令


关于如何获取账号信息的途径:

  • 通过 控制面板 功能进入 WEB网页 手机APP扫码获取,获取后可直接在配置文件中配置 (优先推荐)
  • 通过浏览器开发工具获取,请前往 Wiki 查看具体的图文教程ㅤ点击此处前往
  • 通过浏览器扩展插件获取,请前往 Wiki 查看具体的图文教程ㅤ点击此处前往

所有方式获取的 Cookie 有效期均为1个月

1. 配置账户

  • 将获得的 Cookie部分内容 填入下面命令中的“双引号”内复制完整命令到终端并执行:

    sed -i '35c Cookie1=""' config/config.sh
    sed -i '36c Cookie2=""' config/config.sh
    sed -i '37c Cookie3=""' config/config.sh
    sed -i '38c Cookie4=""' config/config.sh
    sed -i '39c Cookie5=""' config/config.sh
    sed -i '40c Cookie6=""' config/config.sh
    

参考命令:sed -i '35c Cookie1="pt_pin=xxxxx;pt_key=xxxxxxx;"' config/config.sh

注意:1. 执行此命令前 Linux 版需要进入项目安装目录,Docker 版需要进入容器内。
ㅤㅤㅤ2. 此操作对应 控制面板 功能 首页 中的 35~40 行内容,具体教程查看注释内容。
ㅤㅤㅤ3. 用几个账号就执行几行命令,超出6个账号后需要自行在 config.sh 配置文件中创建变量。

2. 配置消息推送功能

详见 config.sh 配置文件中的注释教程,很详细......


四、使用项目

关于如何使用此项目,请前往至 Wiki 首页 ,项目后续的更新、修复命令都在其页面发布!

注意:您使用的哪个版本就用哪个版本的教程,不要混用,重要的事情说三遍!
ㅤㅤㅤ您使用的哪个版本就用哪个版本的教程,不要混用,重要的事情说三遍!
ㅤㅤㅤ您使用的哪个版本就用哪个版本的教程,不要混用,重要的事情说三遍!


五、卸载项目

Linux 版本

  • 停止控制面板运行

    pm2 stop /opt/jd/panel/server.js
    
  • 删除项目文件

    rm -rf /opt/jd
    
  • 卸载软件包

    apt/yum remove -y git perl moreutils nodejs npm
    

Docker 版本

  • 停止控制面板运行

    docker exec -it jd /bin/bash pm2 stop panel/server.js
    
  • 删除容器

    docker rm -f jd
    
  • 删除容器挂载目录

    rm -rf /opt/jd
    
  • 删除镜像

    docker rmi -f registry.cn-hangzhou.aliyuncs.com/supermanito/jd
    

若您 已接受 本项目声明,您必须在下载后的 24小时 内从计算机中完全删除相关内容。


六、帮助与支持

  • 如果您有意见与建议或者遇到问题需要我的协助,欢迎到 Issues 提交反馈
  • 为了提高效率快速解决您的问题,请严格按照模板提交,感谢您的理解与配合

赞赏码

微信赞赏码

开发不易、维护艰辛,如果您愿意支持此项目,可对我打赏,感激不尽!

由衷感谢各位大佬对此项目作出的贡献,感谢各位朋友提供的宝贵意见!


Stargazers over time

Stargazers over time


如果您觉得这个项目不错的话可以在右上角给颗⭐吗?您的支持是我最大的动力,方便分享给更多的朋友吗?