apt install iperf3
docker search iperf3
docker pull mlabbe/iperf3
iperf3 -s #默认端口5201
TCP 下行测试:iperf3 -c 服务端IP -R
UDP 上行测试;iperf3 -c 服务端IP -u -b 300M
UDP 下行测试:iperf3 -c 服务端IP -u -b 500M
记录一次根据lxk0301大佬的仓库搭建京东自动签到的过程。
作者仓库地址:https://github.com/wisz2021/jd_docker
Docker-Compose
安装命令:
#Ubuntu
#安装Docker
sudo curl -sSL get.docker.com | sh
#安装Docker-Compose
sudo apt-get update && sudo apt-get install -y python3-pip curl vim git moreutils
pip3 install --upgrade pip
pip install docker-compose
jd_scripts
├── logs
├── my_crontab_list.sh
└── docker-compose.yml
#命令创建所需文件
mkdir -p jd_scripts/logs
nano ./jd_scripts/docker-compose.yml
docker-compose.yml文件内容:
jd_scripts:
image: lxk0301/jd_scripts
# 配置服务器资源约束。此例子中服务被限制为使用内存不超过200M以及cpu不超过0.2(单核的20%)
# 经过实际测试,建议不低于200M
# deploy:
# resources:
# limits:
# cpus: '0.2'
# memory: 200M
container_name: jd_scripts
restart: always
volumes:
- ./logs:/scripts/logs
tty: true
# 因为更换仓库地址可能git pull的dns解析不到,可以在配置追加hosts
extra_hosts:
- "gitee.com:180.97.125.228"
- "github.com:13.229.188.59"
- "raw.githubusercontent.com:151.101.228.133"
environment:
#脚本更新仓库地址,配置了会切换到对应的地址
- REPO_URL=git@gitee.com:lxk0301/jd_scripts.git
# 注意环境变量填写值的时候一律不需要引号(""或者'')下面这些只是事例,根据自己的需求增加删除
#jd cookies
# 例: JD_COOKIE=pt_key=XXX;pt_pin=XXX
- JD_COOKIE=
#微信server酱通
- PUSH_KEY=
#Bark App通知
- BARK_PUSH=
#telegram机器人通知
- TG_BOT_TOKEN=
- TG_USER_ID=
#钉钉机器人通知
- DD_BOT_TOKEN=
- DD_BOT_SECRET=
#企业微信机器人通知
- QYWX_KEY=
#京东种豆得豆
- PLANT_BEAN_SHARECODES=
#京东农场
# 例: FRUITSHARECODES=京东农场的互助码
- FRUITSHARECODES=
#京东萌宠
# 例: PETSHARECODES=东东萌宠的互助码
- PETSHARECODES=
# 宠汪汪的喂食数量
- JOY_FEED_COUNT=
#东东超市
# - SUPERMARKET_SHARECODES=
#兑换多少数量的京豆(20,或者1000京豆,或者其他奖品的文字)
# 例: MARKET_COIN_TO_BEANS=1000
- MARKET_COIN_TO_BEANS=
#是否开启debug模式打印日志
# 例: JD_DEBUG=false
- JD_DEBUG=
#如果设置了 RANDOM_DELAY_MAX ,则会启用随机延迟功能,延迟随机 0 到 RANDOM_DELAY_MAX-1 秒。如果不设置此项,则不使用延迟。
#并不是所有的脚本都会被启用延迟,因为有一些脚本需要整点触发。延迟的目的有两个,1是降低抢占cpu资源几率,2是降低检查风险(主要是1)
#填写数字,单位为秒,比如写为 RANDOM_DELAY_MAX=30 就是随机产生0到29之间的一个秒数,执行延迟的意思。
- RANDOM_DELAY_MAX=120
#新版docker单容器多账号自动互助(多账号删除下一行#开启)
#- ENABLE_AUTO_HELP=true
nano ./jd_scripts/my_crontab_list.sh
my_crontab_list.sh文件内容:
# 每3天的23:50分清理一次日志(互助码不清理,proc_file.sh对该文件进行了去重)
50 23 */3 * * find /scripts/logs -name '*.log' | grep -v 'sharecode' | xargs rm -rf
##############短期活动##############
# 小鸽有礼2(活动时间:2021年1月28日~2021年2月28日)
34 9 * * * node /scripts/jd_xgyl.js >> /scripts/logs/jd_jd_xgyl.log 2>&1
#女装盲盒 活动时间:2021-2-19至2021-2-25
5 7,23 19-25 2 * node /scripts/jd_nzmh.js >> /scripts/logs/jd_nzmh.log 2>&1
#京东极速版天天领红包 活动时间:2021-1-18至2021-3-3
5 0,23 * * * node /scripts/jd_speed_redpocke.js >> /scripts/logs/jd_speed_redpocke.log 2>&1
##############长期活动##############
# 签到
3 0,18 * * * cd /scripts && node jd_bean_sign.js >> /scripts/logs/jd_bean_sign.log 2>&1
# 东东超市兑换奖品
0,30 0 * * * node /scripts/jd_blueCoin.js >> /scripts/logs/jd_blueCoin.log 2>&1
# 摇京豆
0 0 * * * node /scripts/jd_club_lottery.js >> /scripts/logs/jd_club_lottery.log 2>&1
# 东东农场
5 6-18/6 * * * node /scripts/jd_fruit.js >> /scripts/logs/jd_fruit.log 2>&1
# 宠汪汪
15 */2 * * * node /scripts/jd_joy.js >> /scripts/logs/jd_joy.log 2>&1
# 宠汪汪喂食
15 */1 * * * node /scripts/jd_joy_feedPets.js >> /scripts/logs/jd_joy_feedPets.log 2>&1
# 宠汪汪偷好友积分与狗粮
13 0-21/3 * * * node /scripts/jd_joy_steal.js >> /scripts/logs/jd_joy_steal.log 2>&1
# 摇钱树
0 */2 * * * node /scripts/jd_moneyTree.js >> /scripts/logs/jd_moneyTree.log 2>&1
# 东东萌宠
5 6-18/6 * * * node /scripts/jd_pet.js >> /scripts/logs/jd_pet.log 2>&1
# 京东种豆得豆
0 7-22/1 * * * node /scripts/jd_plantBean.js >> /scripts/logs/jd_plantBean.log 2>&1
# 京东全民开红包
1 1 * * * node /scripts/jd_redPacket.js >> /scripts/logs/jd_redPacket.log 2>&1
# 进店领豆
10 0 * * * node /scripts/jd_shop.js >> /scripts/logs/jd_shop.log 2>&1
# 京东天天加速
8 */3 * * * node /scripts/jd_speed.js >> /scripts/logs/jd_speed.log 2>&1
# 东东超市
11 1-23/5 * * * node /scripts/jd_superMarket.js >> /scripts/logs/jd_superMarket.log 2>&1
# 取关京东店铺商品
55 23 * * * node /scripts/jd_unsubscribe.js >> /scripts/logs/jd_unsubscribe.log 2>&1
# 京豆变动通知
0 10 * * * node /scripts/jd_bean_change.js >> /scripts/logs/jd_bean_change.log 2>&1
# 京东抽奖机
11 1 * * * node /scripts/jd_lotteryMachine.js >> /scripts/logs/jd_lotteryMachine.log 2>&1
# 京东排行榜
11 9 * * * node /scripts/jd_rankingList.js >> /scripts/logs/jd_rankingList.log 2>&1
# 天天提鹅
18 * * * * node /scripts/jd_daily_egg.js >> /scripts/logs/jd_daily_egg.log 2>&1
# 金融养猪
12 * * * * node /scripts/jd_pigPet.js >> /scripts/logs/jd_pigPet.log 2>&1
# 点点券
20 0,20 * * * node /scripts/jd_necklace.js >> /scripts/logs/jd_necklace.log 2>&1
# 京喜工厂
20 * * * * node /scripts/jd_dreamFactory.js >> /scripts/logs/jd_dreamFactory.log 2>&1
# 东东小窝
16 6,23 * * * node /scripts/jd_small_home.js >> /scripts/logs/jd_small_home.log 2>&1
# 东东工厂
36 * * * * node /scripts/jd_jdfactory.js >> /scripts/logs/jd_jdfactory.log 2>&1
# 十元街
36 8,18 * * * node /scripts/jd_syj.js >> /scripts/logs/jd_syj.log 2>&1
# 京东快递签到
23 1 * * * node /scripts/jd_kd.js >> /scripts/logs/jd_kd.log 2>&1
# 京东汽车(签到满500赛点可兑换500京豆)
0 0 * * * node /scripts/jd_car.js >> /scripts/logs/jd_car.log 2>&1
# 领京豆额外奖励(每日可获得3京豆)
33 4 * * * node /scripts/jd_bean_home.js >> /scripts/logs/jd_bean_home.log 2>&1
# 微信小程序京东赚赚
10 11 * * * node /scripts/jd_jdzz.js >> /scripts/logs/jd_jdzz.log 2>&1
# 宠汪汪邀请助力
10 9-20/2 * * * node /scripts/jd_joy_run.js >> /scripts/logs/jd_joy_run.log 2>&1
# crazyJoy自动每日任务
10 7 * * * node /scripts/jd_crazy_joy.js >> /scripts/logs/jd_crazy_joy.log 2>&1
# 京东汽车旅程赛点兑换金豆
0 0 * * * node /scripts/jd_car_exchange.js >> /scripts/logs/jd_car_exchange.log 2>&1
# 导到所有互助码
47 7 * * * node /scripts/jd_get_share_code.js >> /scripts/logs/jd_get_share_code.log 2>&1
# 口袋书店
7 8,12,18 * * * node /scripts/jd_bookshop.js >> /scripts/logs/jd_bookshop.log 2>&1
# 京喜农场
0 9,12,18 * * * node /scripts/jd_jxnc.js >> /scripts/logs/jd_jxnc.log 2>&1
# 签到领现金
27 */4 * * * node /scripts/jd_cash.js >> /scripts/logs/jd_cash.log 2>&1
# 京喜app签到
39 7 * * * node /scripts/jx_sign.js >> /scripts/logs/jx_sign.log 2>&1
# 京东家庭号(暂不知最佳cron)
# */20 * * * * node /scripts/jd_family.js >> /scripts/logs/jd_family.log 2>&1
# 闪购盲盒
27 8 * * * node /scripts/jd_sgmh.js >> /scripts/logs/jd_sgmh.log 2>&1
# 京东秒秒币
10 7 * * * node /scripts/jd_ms.js >> /scripts/logs/jd_ms.log 2>&1
#美丽研究院
1 7,12,19 * * * node /scripts/jd_beauty.js >> /scripts/logs/jd_beauty.log 2>&1
#京东保价
1 0,23 * * * node /scripts/jd_price.js >> /scripts/logs/jd_price.log 2>&1
#京东极速版签到+赚现金任务
1 1,6 * * * node /scripts/jd_speed_sign.js >> /scripts/logs/jd_speed_sign.log 2>&1
# 删除优惠券(默认注释,如需要自己开启,如有误删,已删除的券可以在回收站中还原,慎用)
#20 9 * * 6 node /scripts/jd_delCoupon.js >> /scripts/logs/jd_delCoupon.log 2>&1
[RainBowText]编辑完记得保存[/RainBowText]
只需要pt_pin
和pt_key
这两个值
可参考教程:通过浏览器插件获取京东Cookie获取
将上面获取的pt_pin
和pt_key
填入docker-compose.yml
文件相应位置
如下图所示(多个账号的cookie使用&隔开):
在jd_scripts文件夹内执行此命令启动:docker-compose up -d
[RainBowText]注:每次修改docker-compose.yml文件之后要运行此命令使更改生效[/RainBowText]
命令 | 用法 |
---|---|
docker-compose logs | 打印日志 |
docker-compose pull | 更新镜像 |
docker-compose stop | 停止容器 |
docker-compose restart | 重启容器 |
docker-compose down | 停止并删除容器 |
命令 | 用法 |
---|---|
docker exec -it jd_scripts /bin/sh -c 'git -C /scripts pull && node /scripts/jd_bean_change.js' | 手动运行一脚本 |
docker exec -it jd_scripts /bin/sh -c 'env' | 查看设置的环境变量 |
docker exec -it jd_scripts /bin/sh -c 'git pull' | 手动更新jd_scripts仓库最新脚本 |
docker exec -it jd_scripts /bin/sh | 仅进入容器命令 |
rm -rf logs/*.log | 删除logs文件夹里面所有的日志文件 |
注:如果需获取第二个京东账号的cookie,不要在刚才的浏览器上面退出登录账号一(否则刚才获取的cookie会失效),需另外换一个浏览器(Chrome浏览器 ctr+shift+n 打开无痕模式也行),然后继续按上面步骤操作即可。]]>
万事开头难,之前一直没有安装过探针,今天试着安装了一下,才发现并没有想象中的那么复杂。第一次在Windows上安装,记录一下安装过程。
解压Nssm,复制所在路径
配置环境变量,如下图方式打开,把Nssm路径加到最后,注意: 和前面变量之间用英文;分开
管理员启动CMD
输入
nssm install <servername>
如:nssm install nezha
启动参数格式:
-i {AgentID} -s {Serverip}:{Port} -p {AgentKey} -d
注:
Serverip:哪吒探针服务端IP
填写完毕后, 点击 install servce
CMD界面输入nssm start nezha
,启动成功会有提示,启动失败请检查配置是否正确。
Nssm操作命令
操作 | 命令 |
---|---|
安装服务命令 | nssm install |
nssm install | |
nssm install | |
删除服务 | nssm remove |
nssm remove | |
nssm remove | |
启动、停止服务 | nssm start |
nssm stop | |
nssm restart | |
查询服务状态 | nssm status |
服务控制命令 | nssm pause |
nssm continue | |
nssm rotate |
哪吒探针 - Windows 客户端安装]]>
无需使用DNSpod和萌精灵等工具,实现自选IP。本文V2ray安装使用v2-ui,带有web面板不容易出错。
注册CloudFlare账号
购买顶级域名
VPS
可参考作者博客教程:https://blog.sprov.xyz/2019/08/03/v2-ui/
一键安装:bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
直接搜索FreeSSL申请免费SSL证书
大把教程
也可参考v2-ui作者教程:在 FreeSSL 上为你的域名申请免费 SSL 证书
打开v2-ui面板:http://服务器IP:65432
默认用户名密码:admin
添加账号:
参数设置:(端口填写443,图上红字写错了)
先将域名添加到CloudFlare,点击查找教程
添加DNS解析:
检查SSL加密模式是否为完全:
使用查找适合自己当前网络环境的优选Cloudflare Anycast IP工具:better-cloudflare-ip
这里以电脑版为例,其他版本设置方法相同
先将之前在v2-ui上创建的账号导入V2ray客户端:
修改配置:
[RainBowText]这里直接将选出来的IP填入服务器地址中,服务器地址填入伪装域名中达到流量走自选IP的效果,而不需要萌精灵等工具。[/RainBowText]
可以直接将自选IP通过DNS解析记录到一个二级域名,将二级域名直接填入V2ray客户端服务器地址中,也就是填写自选IP的位置。对于多个用户就可以直接更改DNS解析达到更改所有自选IP的效果。如下图:
apt-get update && sudo apt-get install software-properties-common -y
add-apt-repository ppa:qbittorrent-team/qbittorrent-stable
apt-get update && sudo apt-get install qbittorrent-nox -y
# 安装vim编辑器(新手建议学习使用nano)
apt-get install vim
# 新建并打开配置文件
apt-get install vim -y && vim /etc/systemd/system/qbittorrent-nox.service
复制以下到配置文件
[Unit]
Description=qBittorrent-nox
After=network.target
[Service]
User=root
Type=forking
RemainAfterExit=yes
ExecStart=/usr/bin/qbittorrent-nox -d
[Install]
WantedBy=multi-user.target
# 重新载入配置
systemctl daemon-reload
# 启动qbittorrent
systemctl start qbittorrent-nox
# 设置为开机启动
systemctl enable qbittorrent-nox
Qbittorrent安装并设置开机自启完成,默认登录地址服务器地址:8080
默认账号:admin
默认密码:adminadmin
操作 | 命令 |
---|---|
启动: | systemctl start qbittorrent-nox |
停止: | systemctl stop qbittorrent-nox |
状态: | systemctl status qbittorrent-nox |
脚本安装的Flexget使用普通用户操作,不使用root用户运行,操作的时候切换到普通用户即可;如果有非root账户,可跳过此步
# 说明:将命令中的sunpma用户替换成自行设定的用户
# 创建用户
useradd sunpma
# 设置密码
passwd sunpma
# 创建用户文件
mkdir /home/sunpma
# 切换用户
su sunpma
# 安装脚本
bash <(wget -qO- https://github.com/Aniverse/inexistence/raw/master/00.Installation/package/flexget/install)
# 配置脚本(自行设定后面的用户,密码,端口,然后粘贴运行即可)
bash <(wget -qO- https://github.com/Aniverse/inexistence/raw/master/00.Installation/package/flexget/configure) -u 用户 -p 密码 -w 端口
配置文件config.yml最好是本地创建好后上传到服务器,在SSH复制粘贴大概率会出错,本地也不要用TXT进行编辑,会导致编码不正确;
# 各种模板(用于下面任务执行时直接调用)
templates:
# 剩余空间模板,当path对应的路径的剩余空间小于space规定的数值的时候停止RSS下载
freespace:
free_space:
path: /
space: 10240
# 下载模板
#其中Path为下载地址,host无需修改,port为QB Web端口
qb:
qbittorrent:
path: /home/anony/download/
host: localhost
port: 2017
username: admin
password: adminadmin
# 体积过滤模板,min 是符合条件的最小种子体积,max 是符合条件的最大种子体积,单位均为 MB
# strict是表示在无法确定大小的情况下是否下载
size:
content_size:
min: 20
max: 102400
strict: no
# 任务(告诉Flexget怎么执行)
tasks:
# Web-HDSky 是任务名称,可以随便起
HDSky:
rss: https://hdsky.me/torrentrss.php
verify_ssl_certificates: no
if:
#此句表示标题中有HDSky就下载,类似可以设置多个
- "'HDSky' in title": accept
#此句表示标题中有HDSkyweb就不下载
- "'HDSkyweb' in title": reject
#此段表示执行上面预设的模板,可根据需要增删
template:
- freespace
- size
- qb
#此段表示在QB里添加种子标签HDSky
qbittorrent:
label: HDSky
#此部分表示每三分钟自动执行一次上面HDSky下任务,若用此方法自动执行,需将末尾no改为yes(推荐使用cron自动执行,下文会说到)
#tasks 处写要执行 RSS 的任务名称,minutes 3 表示每隔 3 分钟执行一次上述任务,可以针对不同的 tasks 采用不同的 RSS 周期
# schedules:
# - tasks: [HDSky,MTeam]
# interval:
# minutes: 3
# - tasks: [TTG]
### interval:
### minutes: 1
# WebUI设定(根据需要更改)
web_server:
port: 2021
web_ui: yes
# base_url: /flexget
# base_url 是为了反代设置的,需要使用反代的话就取消这个的注释
# 默认关闭schedules功能,使用cron进行RSS
schedules: no
使用 cron 的话,schedules 最好改成 no,正如以上设置默认的那样(schedules: no)
首先在 SSH 输入 crontab -e,选择一个文本编辑器,默认的 nano 即可 (nano 使用教程:http://man.linuxde.net/nano)
设置 2 分钟执行一次 RSS,就在文件的最底下输入(这里的数字 2 就是 2 分钟执行一次的意思) */2 * * * * /usr/local/bin/flexget execute
保存、退出,之后可以在 WebUI 中看 Log 来判断 Flexget 是否有在正常工作
命令 | 作用 |
---|---|
flexget -V | 查看Flexget版本 |
flexget check | 检查config.yml配置文件是否有格式错误 |
flexget execute | 正式RSS一次 |
flexget execute --learn | 正式RSS一次,但不下载种子,仅标记为已下载 |
flexget web passwd | 要设置的密码 |
flexget daemon start --daemonize | 开启 Webui 后台运行 |
which flexget | 查看flexget位置 |
crontab -e | 配置自动订阅 |
flexget status | 检查RSS订阅情况 |
flexget daemon reload-config | 修改配置文件后执行重新加载 |
su sunpma | 切换用户 |
如果安装有宝塔面板等,以上使用的端口别忘了放行。
另外可搭配自动删除脚本实现无干预刷流量,有时间再写这个吧
参考:]]>
SunPa'Blog
Githubusercontent
今日发现在宝塔面板中开启SSL后,Aria2 RPC协议设置成HTTPS后也连接不上。关闭SSL之后又可以了,想必是SSL配置问题。
以宝塔面板创建网站为例:
可以直接cp *.pem /config
:将证书复制到/config
Aria2.config
Aria2配置文件路径一般位于/root/.aria2/aria2.config
可用nano
命令打开编辑
#
更该完成后效果:
Ctrl+x
退出Nano编辑器,输入y
确定保存,按回车键确认保存命名称,之后重启Aria2
Aria2开启HTTPS会禁止HTTP访问,使用PanDownload时无法连接到远程主机。
下载地址:
VMware Workstation Pro (可选选择版本)
安装密钥:
VMware密钥
各发行版Linux下载地址:(包括Kali)
https://www.linux.org/pages/download/
Linux: 安装screen,git和最新的Rclone。如果是Debian/Ubuntu,直接输入以下命令:
sudo apt-get install screen git && curl https://rclone.org/install.sh | sudo bash
然后从Github下载代码并安装相关Python依赖包
sudo git clone https://github.com/xyou365/AutoRclone && cd AutoRclone && sudo pip3 install -r requirements.txt
首先开启Drive API并将credentials.json保存到你的AutoRclone目录下面
然后分三种情况
如果你之前没创建过项目, 直接运行
python3 gen_sa_accounts.py --quick-setup 5
创建6个项目(项目0到项目5)
开启相关的服务
创建600个service accounts(6个项目,每个项目100个)
将600个service accounts的授权文件下载到accounts文件夹下面
如果你已经有N个项目,现需要创建新的项目并在新的项目中创建service accounts,直接运行
python3 gen_sa_accounts.py --quick-setup 2 --new-only
额外创建2个项目(项目N+1到项目N+2)
开启相关的服务
创建200个service accounts(2个项目,每个项目100个)
将200个service accounts的授权文件下载到accounts文件夹下面
如果你想用已有的项目来创建service accounts(不创建新的项目),直接运行
python3 gen_sa_accounts.py --quick-setup -1 注意这会覆盖掉已有的service accounts
顺利完成后,AutoRclone文件下面的accounts文件夹下会有很多的json文件。
为了方便管理service accounts,也是为了让我们的Team Drive可以容纳更多的service accounts,我们这里用到了Google Groups。
Official limits to the members of Team Drive (Limit for individuals and groups directly added as members is 600).
对于G Suite管理员
1.按照官方步骤开启Directory API,将生成的json文件保存到credentials文件下。
2.在控制面版里面创建一个群组,创建好你会获得一个类似域名邮箱的地址sa@yourdomain.com
3.利用API将service accounts加入Google Groups
python3 add_to_google_group.py -g sa@yourdomain.com
如果想看参数的具体含义,直接运行
python3 add_to_google_group.py -h
对于普通Google账号
直接创建一个Google Group然后手动地将service accounts对应的邮箱地址(可以在json认证文件中找到)挨个加进去。但每次只能加10个,每24小时只能加100个。
将service accounts加入到源Team Drive
python3 add_to_team_drive.py -d SharedTeamDriveSrcID
将service accounts加入到目标Team Drive
python3 add_to_team_drive.py -d SharedTeamDriveDstID
准备工作都做好了,以后你只需要将项目文件夹拷贝到任何地方,进行此拷贝/上传步骤就可以啦
python3 rclone_sa_magic.py -s SourceID -d DestinationID -dp DestinationPathName -b 1 -e 600
如果想看参数的具体含义,直接运行python3 rclone_sa_magic.py -h
特别地,如果想多开,请用-p参数给不同的复制任务指定不同的端口
如果发现拷贝内容明显少于源Team Drive里面的内容,那么你可能碰到Bug了,请给上运行参数再加上--disable_list_r
如果你一开始就碰到了
Failed to rc: connection failed: Post http://localhost:5572/core/stats: dial tcp :5572: connectex: No connection could be made because the target machine actively refused it.
那么可能是权限或者路径导致Rclone任务都没跑起来,请观察日志文件log_rclone.txt,并结合如下简单命令检查出原因rclone --config rclone.conf size --disable ListR src001:,rclone --config rclone.conf size --disable ListR dst001:
上传
python3 rclone_sa_magic.py -sp YourLocalPath -d DestinationID -dp DestinationPathName -b 1 -e 600
]]>