Hexo批处理脚本更新,通过zerotier实现免费简易内网穿透

因为不知道写啥,就更新一些以前的东西吧

  • Hexo批处理脚本
    原文:使用批处理和Joplin执行并优化Hexo博客工作流程
    更新脚本内容:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    @echo off
    setlocal EnableDelayedExpansion
    goto start
    :ac
    rem 请设置%targetlable%变量,以确保正常跳转至目标位置
    cls
    color 0F
    goto %targetlabel%
    :start
    if "%targetlabel%"=="" (set "targetlabel=start"&&goto ac)
    echo ------------------------------------------------
    echo 1.【完整】执行完整的检查和推送blog流程
    echo 2.【快速】快速上载blog
    echo 3.【预览】本地预览
    echo 4.单独执行指令
    echo 5.【标准】执行快速标准推送
    echo 6.【本地部署】执行标准推送,但部署到本地而非GitHub
    echo ------------------------------------------------
    echo.
    choice /c 123456
    if "%errorlevel%"=="6" goto ldeploy
    if "%errorlevel%"=="5" goto std
    if "%errorlevel%"=="4" goto new
    if "%errorlevel%"=="3" (set "targetlabel=local"&&goto ac)
    if "%errorlevel%"=="2" (set "targetlabel=fast"&&goto ac)
    if "%errorlevel%"=="1" (set "targetlabel=full"&&goto ac)
    pause&exit
    :ldeploy
    REM 这一段是部署在本地,也就是复制一遍;可以根据情况改成复制到共享文件夹中
    echo.
    echo ------------------------------------------------
    echo 清理缓存...
    cmd /c "hexo clean" >nul
    echo 生成页面...
    cmd /c "hexo g" >nul
    echo 复制必要资源...
    cmd /c "xcopy D:\blog\source\_posts\_resources D:\blog\public\blog\_resources\ /e /s /y" >nul
    echo 部署到本地服务器路径...
    cmd /c "xcopy D:\blog\public\ D:\server\blog1\ /e /s /y" >nul
    echo 上传结束,打开网页中...
    cmd /c "start C:\Users\zjxdiu\Downloads\实时工具\hfs.exe"
    start http://127.0.0.1/
    echo ------------------------------------------------
    echo 完成,按任意键退出...
    pause
    exit
    :std
    echo.
    echo ------------------------------------------------
    echo 启动本地预览...
    cmd /c "hexo clean & hexo g & xcopy D:\blog\source\_posts\_resources D:\blog\public\blog\_resources\ /e /s /y & echo 2>D:\blog\.deploy_git\.nojekyll & start http://localhost:4000/ & hexo s"
    echo ------------------------------------------------
    echo 上载到远程服务器...
    echo ------------------------------------------------
    cmd /c "hexo d"
    echo ------------------------------------------------
    echo 完成,按任意键退出...
    pause
    exit
    :new
    echo 正在创建新的cmd实例...
    echo ------------------------------------------------
    echo 命令提示:
    echo hexo clean
    echo hexo g
    echo hexo s
    echo hexo d
    echo ------------------------------------------------
    start cmd
    echo 按任意键返回菜单...
    pause >nul
    set "targetlabel=start"&&goto ac
    :local
    echo ------------------------------------------------
    echo 本地预览模式
    echo ------------------------------------------------
    echo 启动预览...
    cmd /c "hexo clean & hexo g & xcopy D:\blog\source\_posts\_resources D:\blog\public\blog\_resources\ /e /s /y & echo 2>D:\blog\.deploy_git\.nojekyll & start http://localhost:4000/ & hexo s"
    echo 按任意键返回菜单...
    pause >nul
    set "targetlabel=start"&&goto ac
    :fast
    echo ------------------------------------------------
    echo 快速上载blog
    echo ------------------------------------------------
    cmd /c "hexo clean & hexo g & xcopy D:\blog\source\_posts\_resources D:\blog\public\blog\_resources\ /e /s /y & echo 2>D:\blog\.deploy_git\.nojekyll & hexo d"
    echo ------------------------------------------------
    echo 完成,2秒后退出...
    ping localhost -n 3 >nul
    exit
    :full
    echo ------------------------------------------------
    echo 完整流程向导
    echo0为确定,按1为跳过
    echo ------------------------------------------------
    goto clean
    :clean
    echo 第一步:清理缓存
    choice /c 01
    if "%errorlevel%"=="2" goto generate
    cmd /c "hexo clean"
    goto generate
    :generate
    echo ------------------------------------------------
    echo 第二步:生成页面
    choice /c 01
    if "%errorlevel%"=="2" goto check
    cmd /c "xcopy D:\blog\source\_posts\_resources D:\blog\public\blog\_resources\ /e /s /y & echo 2>D:\blog\.deploy_git\.nojekyll & hexo g"
    goto check
    :check
    echo ------------------------------------------------
    echo 第三步:本地预览
    choice /c 01
    if "%errorlevel%"=="2" goto deploy
    start http://localhost:4000/
    cmd /c "hexo s"
    goto deploy
    :deploy
    echo ------------------------------------------------
    echo 第四步:上传到远程服务器
    choice /c 01
    if "%errorlevel%"=="2" goto done
    cmd /c "hexo d"
    goto done
    :done
    echo ------------------------------------------------
    echo 流程已完成,按任意键返回菜单...
    pause >nul
    set "targetlabel=start"&&goto ac

  • Zerotier内网穿透
    网上有一些教程,但是不够简洁易懂,所以写一个。
  1. 进入官网控制台注册一个账号,可以不用现场注册,直接微软账号登录即可。
  2. 选择 Create A Network
  3. 点击刚创建的网络,进入配置界面
    • Name随便写一个方便你记的名字
    • Description是介绍,可以写详细信息,如果以后忘了网络是干啥的可以看这个回顾
    • Access Control建议选Private,这样你就拥有完全的管理权限
    • 下面的IP直接自动即可,或者手动选一个跟你目前局域网IP不冲突的地址段
    • IPv6 Auto-Assign根据情况选择,如果你们的网络成员都具有广域网ipv6连接则勾选第一项,否则不管
    • 最后复制Network ID,就是一串数字和字母组成的字符串,发给你的成员
      【以上步骤只需要网络管理员进行,成员不需要】
      【以下内容每个人都要执行】
  4. 下载Zerotier:下载链接
  5. 安装并从开始菜单里启动
  6. 等任务栏出现程序图标,右键,选择Join New Network
  7. 输入刚才的Network ID,确定
    • 如果弹出询问弹窗,例如防火墙、是否启用网络发现等,均允许
  8. 等待几分钟,进入系统设置检查IP是否获取成功
    • 分配成功说明连接成功,否则继续等待
  9. 【重要】任意成员加入网络时,需要进入官网控制台给成员左侧的Auth打勾,只有打勾的成员才能获取到IP并加入网络,否则无法连接
  10. 在控制台页面可以看到每个人的虚拟局域网IP,这个地址一旦分配就不会自动更改,因此你甚至可以做个DNS记录方便大家记()
  11. ping一下成员的IP,确定连接通顺
  12. 完成!现在你们已经相当于在一个局域网里了,只不过游戏房间和服务器可能不会自动查找到,手动输入地址即可。

查询精神状态

最近玩LLM有点上瘾,推荐一个chatGLM项目Github地址,可以部署在本地运行的对话机器人,这个62亿参数的模型只需要6G显存就能运行(当然,是N卡),可以说非常好玩了()

还想换个主题,或者再开一个功能更全面一些的,这个极简博客就当正式文章和简历发布地点。
就这样吧,最近作业很多但是都写完了,没有压力就没有折腾的欲望和动力(T_T)


Hexo批处理脚本更新,通过zerotier实现免费简易内网穿透
https://zjxdiu.github.io/blog/随记20230501/
作者
zjxdiu
发布于
2023年5月1日
许可协议