创建 Aliyun镜像仓库

首先根据aliyun官方文档创建位于 中国香港的镜像仓库:文档地址

登录Google Cloud Shell拉取镜像

docker pull  images 
docker images  #记下需要推送的ImageId

推送镜像到阿里云镜像仓库

docker login --username=用户名  registry.cn-hongkong.aliyuncs.com           #登录仓库
docker tag [ImageId] registry.cn-hongkong.aliyuncs.com/命名空间/仓库名称:[镜像版本号]
docker push registry.cn-hongkong.aliyuncs.com/命名空间/仓库名称:[镜像版本号]

境内服务器快速拉取镜像

docker pull registry.cn-hongkong.aliyuncs.com/命名空间/仓库名称:[镜像版本号]

参考文档

1.使用GoogleCloudShell解决99%的镜像拉取问题
2.使用个人版实例推送拉取镜像
3.Docker基本操作

Win修改网络适配器网络名称

注册表定位到
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles文件夹下
选择需要修改的网络适配器即可

Docker安装

Ubuntu

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Debian

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

卸载docker

sudo apt remove docker-desktop
    rm -r $HOME/.docker/desktop
    sudo rm /usr/local/bin/com.docker.cli
    sudo apt-get remove docker docker-engine docker.io containerd runc
    sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin             
    docker-ce-rootless-extras
    #删除映像、容器,卷
    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd

配置docker镜像源

mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": [
        "https://0b27f0a81a00f3560fbdc00ddd2f99e0.mirror.swr.myhuaweicloud.com",
        "https://ypzju6vq.mirror.aliyuncs.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }
    EOF
    systemctl daemon-reload
    systemctl restart docker

安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/$(curl -Ls         "https://api.github.com/repos/docker/compose/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')/docker-compose-linux-x86_64" -o /usr/bin/docker-compose

chmod +x /usr/bin/docker-compose

Docker应用部署

Microsoft 365 E5 Renew X

docker run -d -p 1066:1066 -e TZ=Asia/Shanghai --name RenewX  gladtbam/ms365_e5_renewx:latest
    docker exec -it ms365 /bin/bash
    cd Deploy
    vim Config.xml

Bitwardenrs

docker run -d  --restart unless-stopped  -e ADMIN_TOKEN=password -e     WEBSOCKET_ENABLED=true -v /Bitwarden:/data/ -p 5418:80 -p 3012:3012 --name     bitwardenrs vaultwarden/server:latest

    docker stop bitwardenrs

    docker rm -f bitwardenrs

    docker run -d  --restart unless-stopped  -e ADMIN_TOKEN=password -e SIGNUPS_ALLOWED=false -e WEBSOCKET_ENABLED=true -v /Bitwarden:/data/ -p 5418:80 -p 3012:3012 --name bitwardenrs vaultwarden/server:latest
    password.json

Cloudreve

cd /root

    mkdir cloudreve

    cd cloudreve

    mkdir -vp cloudreve/{uploads,avatar} \
    && touch cloudreve/conf.ini \
    && touch cloudreve/cloudreve.db \
    && mkdir -p aria2/config \
    && mkdir -p data/aria2 \
    && chmod -R 777 data/aria2

    vim docker-compose.yml

    version: "3.8"
    services:
      cloudreve:
        container_name: cloudreve
        image: cloudreve/cloudreve:latest
        restart: unless-stopped
        ports:
          - "5212:5212"
        volumes:
          - temp_data:/data
          - ./cloudreve/uploads:/cloudreve/uploads
          - ./cloudreve/conf.ini:/cloudreve/conf.ini
          - ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
          - ./cloudreve/avatar:/cloudreve/avatar
        depends_on:
          - aria2
      aria2:
        container_name: aria2
        image: p3terx/aria2-pro
        restart: unless-stopped
        environment:
          - RPC_SECRET=Badgirl.
          - RPC_PORT=6800
        volumes:
          - ./aria2/config:/config
          - temp_data:/data
    volumes:
      temp_data:
        driver: local
        driver_opts:
          type: none
          device: $PWD/data
          o: bind

    docker-compose up -d

    docker-compose down

    docker pull cloudreve/cloudreve  #拉取新镜像

签到面板

docker run -d --name qiandao -p 8923:80 -v     $(pwd)/qiandao/config:/usr/src/app/config a76yyyy/qiandao

    mkdir /root/qddb && docker cp qiandao:/usr/src/app/config/database.db     /root/qddb/database.db #备份数据库

    docker cp database.db qiandao:/usr/src/app/config/ #恢复数据库

青龙面板

docker run -dit \
  -v /root/ql/data:/ql/data \
  -p 5700:5700 \
  -m 512m \
  --cpus=0.2 \
  --memory-reservation=256m \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  whyour/qinglong:2.11.3

# Dailycheckin

docker exec -it qinglong bash 

apk add --no-cache gcc g++ python3-dev py-pip mysql-dev linux-headers libffi-dev         openssl-dev

pip3 install dailycheckin --upgrade

mkdir /ql/scripts && touch /ql/scripts/config.json && vi /ql/scripts/config.json       #写入配置文件

新建任务
名称 dailycheckin 
命令 task dailycheckin
cron 0 8 * * * 

# 京东拉库

ql repo https://github.com/KingRan/KR.git "jd_|jx_|jdCookie" "activity|backUp"     "^jd[^_]|USER|utils|function|sign|sendNotify|ql|magic|JDJR"
0 */12 * * *

ql repo https://github.com/zero205/JD_tencent_scf.git "jd_|jx_|jdCookie"     "backUp|icon" "^jd[^_]|USER|sendNotify|sign_graphics_validate|JDJR|JDSign|ql" "main"
0 */12 * * *

ql repo https://github.com/gys619/jdd.git "jd_|jx_|jddj_|gua_|getJDCookie|wskey"     "activity|backUp"     "^jd[^_]|USER|utils|ZooFaker_Necklace|JDJRValidator_|sign_graphics_validate|jddj_coo    kie|function|ql|magic|JDJR|JD" "main"
0 */12 * * *

ql repo https://github.com/ccwav/QLScript2.git "jd_" "NoUsed" "ql|sendNotify"
0 */12 * * *

ql repo https://github.com/smiek2121/scripts.git "gua_" ""     "ZooFaker_Necklace.js|JDJRValidator_Pure.js|sign_graphics_validate.js|cleancart_acti    vity.js|jdCookie.js|sendNotify.js"
0 */12 * * *

ql repo https://github.com/okyyds/yyds.git "jd_|jx_|gua_|jddj_|jdCookie"     "activity|backUp"     "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_gra    phics_validate|ql|JDSignValidator" "master"

ql repo https://github.com/okyyds/yydspure.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_gra    phics_validate|ql|JDSignValidator" "master"
0 */12 * * *

ql repo https://github.com/shufflewzc/faker3.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_gra    phics_validate|ql|JDSignValidator" "main"
0 */12 * * *

依赖
NodeJS    axios  png-js jsdom  date-fns moment
Python3    PyExecJS

变量
JD_COOKIE=[pt_key=xxx; pt_pin=xxx;pt_token=xxx;]

#BiliBili
新建任务
名称 B站拉库
命令 ql repo https://github.com/RayWangQvQ/BiliBiliToolPro.git "bili_task_" 
cron * * * 31 12 *

变量
Ray_DailyTaskConfig__NumberOfCoins=     #投币数量
Ray_Serilog__WriteTo__11__Args__corpId=   #企业微信corpId
Ray_Serilog__WriteTo__11__Args__agentId=  #企业微信agentId
Ray_Serilog__WriteTo__11__Args__secret=   #企业微信secret

#爱奇艺
https://github.com/ioutime/Aiqiyi_Sign/blob/master/local_action.py ##源文件

新建脚本文件 iqiyi.py

写入脚本内容

编辑 cookie token

新建任务 

名称 爱奇艺

命令 task iqiyi.py

定时 1 0 * * *

SpeedTest

docker run -d --name st --restart always -p 80:80 adolfintel/speedtest

docker报错

Failed to start docker.service

容器启动时没有设置–restart参数,则通过下面命令进行更新

docker update --restart=always [容器名]

科技lion脚本

curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh

SSHD的配置优化

服务端

vim /etc/ssh/sshd_config
    
    PermitRootLogin yes
    PasswordAuthentication yes
    PrintLastLog no
    
    sed -i '/pam_motd.so/ s/^/#/g' /etc/pam.d/sshd
    #重启sshd (三条都可
    service ssh restart
    systemctl restart sshd
    /etc/init.d/ssh restart

客户端

ssh -o ServerAliveInterval=60  username@host

配置ssh密钥登陆

 ssh-keygen -t ed25519
    #四次回车 密钥默认生成路径:~/.ssh/id_ed25519,公钥与之对应为:~/.ssh/id_ed25519.pub
    type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh username@host "cat >> .ssh/authorized_keys" #Windows上的Terminal(使用OpenSSH)
    ssh-copy-id -i ~/.ssh/id_ed25519.pub username@host #Linux

修复openssh-server错误

每次执行apt 命令都会提示

Setting up openssh-server (1:8.4p1-5+deb11u1) …
dpkg: error processing package openssh-server (--configure):
installed openssh-server package post-installation script subprocess was killed by signal (Terminated)
rescue-ssh.target is a disabled or a static unit, not starting it.
Errors were encountered while processing:
openssh-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
三行命令即可修复

    cd /var/lib/dpkg/info
    rm openssh*
    dpkg --configure -a

dpkg 修复命令

dpkg --remove --force-remove-reinstreq 包名
    示例:dpkg --remove --force-remove-reinstreq openssh openssh-server openssh-client

IPTABLES开放所有端口

    iptables -P INPUT ACCEPT   
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT

软连接与硬链接

ln -s file file1 制作一个软连接(file1是一个软连接,指向file)
    ln file file2 制作一个硬连接(file2是一个硬连接,指向file)
    
    软连接相当于快捷方式,存的是路径;
    硬链接则指向文件系统的索引结点(inode),相同的inode值对应磁盘上的同一份文件。
    硬连接file2的inode值和原文件file的inode的值相同,
    软连接file1的inode的值和原文件file的inode的值不相同,软连接file1相当于在磁盘上新建了一个文件,而这个文件的内容是原文件的路径。

python3改为python

    #直接apt install python-is-python3即可
    whereis python
    rm -rf /usr/bin/python
    rm -rf /usr/bin/pip
    ln -s /usr/bin/pip3 /usr/bin/pip
    ln -s /usr/bin/python3 /usr/bin/python #注意这里的python3改为上面whereis python显示安装的python3版本号

21年年末无意间了解到单线多拨
正好发现校园网是本地UAC认证之后就可上网
可以通过多账号拨号无限叠加网速
于是在放假后 正式上班的那一天
在拼夕夕上250入了redmi ax6s
请输入图片描述
到手之后由于上班没时间折腾
放在家里当了两个月的WIFI中继工具
一直到今年2月中旬辞职 才真正有时间折腾路由
当时之所以买ax6s 是因为openwrt官网已经有了这个设备的支持页面
官方论坛也有大佬流出的编译好的固件
但这固件是ax3200(ax6s的海外版本-版本号rb01),而ax6s版本号是rb03
比较恶心的是rb01当时(今年2月)就有放出开发telnet的固件,从而可以
破解ssh进而刷入openwrt,在这之前只能通过拆机用编程器将固件强行写入闪存
刷入openwrt,机缘巧合的是,当我在小米论坛吐槽不久之后(仅仅三天)
恩山论坛就有人发帖分享了ax6s开放telnet的开发版1.2.7固件
请输入图片描述
更巧的是吐槽贴被评论仅仅两小时零三分之后,恩山上就分享了开发版的固件(合理怀疑doge)
很快啊,有了开发版固件之后,按照GitHub上的教程破解ssh,破解root密码,刷入恩山大佬适配的
rb03版固件,终于是用上了openwrt

刷机教程

默认官方固件后台地址: 192.168.31.1

进入后台 登陆后在右下角复制设备SN码

计算root密码: https://miwifi.dev/ssh

常用设置->系统状态->手动升级 中 上传 1.2.7开发板固件
win+r输出cmd
键入 telnet 192.168.31.1
用户名: root
密码: 上面计算好的密码

复制下面的代码

nvram set ssh_en=1 && nvram set uart_en=1 && nvram set boot_wait=on && nvram set bootdelay=3 && nvram set flag_try_sys1_failed=0 && nvram set flag_try_sys2_failed=1
nvram set flag_boot_rootfs=0 && nvram set "boot_fw1=run boot_rd_img;bootm"
nvram set flag_boot_success=1 && nvram commit && /etc/init.d/dropbear enable && /etc/init.d/dropbear start...

这时已经完成了ssh的破解
下载Winscp
请输入图片描述
安装完成后 新建会话 协议选择 SCP 主机名:192.168.31.1 用户名:root 密码:上面计算好的密码
默认进入/root目录 双击地址栏 键入/tmp 拖入名称为factory.bin的底包 这时Win+r 键入cmd ssh [email protected]
输入下面代码

mtd -r write /tmp/factory.bin firmware

路由器会自动重启 刷机时亮黄灯
刷机完毕时 蓝灯闪烁 浏览器键入10.0.0.1
系统>备份>升级 刷写新的固件下
选择刷写固件 上传名为sysupgrade.bin的固件 不保留配置
点击继续 路由器重启 蓝灯闪烁 刷入成功

默认管理地址: http://10.0.0.1

默认密码: root