• douyin-barrage.js 抖音直播漂屏弹幕显示用户名称
    netnr 2024-12-20 45
    // 暴力猴 https://greasyfork.org/zh-CN/scripts/521309
    
    // ==UserScript==
    // @name         douyin_barrage
    // @namespace    https://github.com/netnr
    // @icon         https://zme.ink/favicon.svg
    // @version      2024.12.21.1011
    // @description  抖音直播漂屏弹幕显示用户名称
    // @author       netnr
    // @license      MIT
  • dockerfile-runtime 基于发布包构建 asp.net 7 docker 镜像,很快
    netnr 2024-12-09 41
    # 经实践,在 docker 构建下载太慢,执行 dotnet restore 慢又不缓存
    # 先在本地发布包再把 Dockerfile 放到发布包目录下构建
    # 非首次下载运行时环境约 5s 构建完成
    
    # 运行时环境
    FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS runtime
    WORKDIR /app
    
    # 复制本地发布文件到运行时镜像
    COPY . .
  • dockerfile-build-runtime 构建 asp.net 7 docker 镜像,较慢
    netnr 2024-12-09 50
    # 使用 .NET 8 SDK 作为构建环境
    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
    WORKDIR /src
    
    # 复制项目文件并还原依赖项
    COPY . .
    RUN dotnet restore "Netnr.Admin.Web/Netnr.Admin.Web.csproj"
    
    # 设置工作目录为主项目目录
    WORKDIR /src/Netnr.Admin.Web
  • modify_extension.bat bat 修改文件扩展名,jpeg 改为 jpg
    netnr 2024-11-27 56
    @echo off
    setlocal enabledelayedexpansion
    
    for %%f in (*.jpeg) do (
        set "filename=%%~nf"
        ren "%%f" "!filename!.jpg"
    )
    
    endlocal
  • mysqlbinlog.sh mysql binlog 日志查询
    netnr 2024-07-09 399
    # 根据时间范围查询
    # -vv 查看二进制日志
    # 保证 binlog.0000xx 包含日期
    
    mysqlbinlog -vv --start-datetime="2024-07-09 10:13:39" --stop-datetime="2024-07-09 10:13:40" /var/lib/mysql/mysql-bin.000024
    
    # 根据位置过滤
    mysqlbinlog --start-position=123 --stop-position=456 /var/lib/mysql/mysql-bin.000001
    
    # 二进制日志文件名称
  • mongodb-started.md MongoDB 安装、上手
    netnr 2024-07-09 393
    ### 安装
    ```
    vi /etc/yum.repos.d/mongodb-org-7.0.repo
    ```
    创建,输入以下内容
    ```
    [mongodb-org-7.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/
    gpgcheck=1
  • install-clickhouse.sh 安装 ClickHouse
    netnr 2024-04-05 402
    # ref https://clickhouse.com/docs/en/install
    
    # docker 方式
    docker run --restart=always --name clickhouse \
      --ulimit nofile=262144:262144 \
      --volume=$PWD/data:/var/lib/clickhouse \
      -p 8123:8123 \
      -p 9000:9000 \
      -e CLICKHOUSE_USER=default \
      -e CLICKHOUSE_PASSWORD=123456 \
  • autorun.inf 制作U盘图标
    netnr 2024-03-13 380
    # 在 U盘 根目录新建 autorun.inf 文件并添加如下内容
    [autorun]
    icon=autorun.ico
    
    # 在根目录放置图标文件 autorun.ico
    # 配置完成后下次才开始生效
    
    # 设置系统级隐藏文件,避免误删
    attrib +H +S autorun.inf
    attrib +H +S autorun.ico
  • install-dm.sh 安装达梦数据
    netnr 2024-02-28 380
    # 方式一:Docker 安装
    # 下载 docker 包并载入
    docker load -i dm8_20241230_x86_rh6_64_rq_single.tar
    # 启动,默认账号密码 SYSDBA/SYSDBA_dm001 ,更多信息查看容器内环境变量 env 或 cat /opt/env.sh
    docker run -d -p 5236:5236 --name dm8 --privileged=true --restart=always \
    -e CASE_SENSITIVE=0 \
    -e UNICODE_FLAG=1 \
    -e LENGTH_IN_CHAR=1 \
    -e PAGE_SIZE=16 \
    -e LD_LIBRARY_PATH=/opt/dmdbms/bin \
  • mysql_general_log.sh MySQL 日志切割并存档
    netnr 2023-09-11 361
    #!/bin/bash
    
    # 日志文件路径、存档目录
    log_path="/package/mysqldata"
    archive_directory="/package/mysqldata/archive"
    
    mkdir -p ${archive_directory}
    # 移动日志文件到存档目录
    mv ${log_path}/general.log ${archive_directory}/general_$(date +%Y%m%d_%H%M%S).log
  • dpkg.sh 打包 deb
    netnr 2023-09-05 380
    # 结构
    pack_deb
    - DEBIAN # 打包配置文件夹
        - control # 必需,软件包的元数据信息,如名称、版本、作者、依赖关系等。
        - postinst # 安装后执行
        - postrm # 卸载后执行
    - opt/xops_server # 待打包软件目录,安装路径为 /opt/xops_server
    
    
    # 打包
  • nginx_log_slice.sh nginx 切割日志文件
    netnr 2023-03-24 360
    ## 创建一个 /home/root/nginx_log_slice.sh 文件,粘贴以下内容
    
    # 日志路径
    log_path=/package/log/
    # pid路径
    pid_path=/usr/local/nginx/logs/nginx.pid
    
    # 当天 yyyy-MM-dd
    today=$(date -d "now" +%Y%m%d)
  • ProxyChains.sh Linux 局部代理
    netnr 2023-03-01 360
    # 下载
    git clone https://github.com/rofl0r/proxychains-ng
    cd proxychains-ng
    # 安装 dnf install make gcc
    ./configure --prefix=/usr --sysconfdir=/etc
    make && make install && make install-config
    # 不安装运行
    ./proxychains4 -f src/proxychains.conf telnet google.com 80
    
    # 一键安装
  • download-pack.sh 利用服务器下载离线安装包
    netnr 2023-02-16 338
    # 以安装 openjdk-8-jre 为例
    apt search openjdk-8-jre # 搜索包
    # 仅下载,deb 包默认放到 /var/cache/apt/archives 目录内
    apt-get install -d -y openjdk-8-jre # 仅下载
    
    ls /var/cache/apt/archives # 查看目录
    
    # 打包目录
    cd /var/cache/apt && tar -zcvf openjdk-8-jre.tar.gz archives/
    # 拷贝包到需要安装的服务器, U盘或 scp -P 22 openjdk-8-jre.tar.gz remote_username@10.10.0.2:/remote_directory
  • linux-file.sh linux 文件相关命令
    netnr 2023-02-16 38
    ls # 查看文件列表
    ls -lh # 列表
    ls -lh --time-style=long-iso # 时间格式化 yyyy-mm-dd hh:mm:ss
    ls -lh --time-style '+%Y/%m/%d %H:%M:%S' # 自定义时间格式
    
    ls -lhS  # 由大到小排序
    ls -lhSr # 从小到大排序
    ls -lht  # 从新到旧
    ls -lhtr # 从旧到新
  • oracle-archivelog.sh Oracle 归档日志
    netnr 2023-02-16 55
    # 进入 oracle 用户
    su - oralce
    
    # 查看归档
    SQL> archive log list;
    # 查看归档路径及大小限制
    SQL> show parameter recover;
    # 看看归档日志(按百分比),超 90% 随时有宕机的危险
    SQL> select * from v$flash_recovery_area_usage;
    SQL> select * from v$recovery_file_dest;
  • asciinema-demo.cast asciinema demo https://github.com/asciinema/asciinema
    netnr 2023-02-16 50
    {"version": 2, "width": 81, "height": 20}
    [0.006808, "o", "> "]
    [0.8880290000000001, "o", "#"]
    [0.9601360000000001, "o", " "]
    [1.160145, "o", "W"]
    [1.343879, "o", "e"]
    [1.53569, "o", "l"]
    [1.631953, "o", "c"]
    [1.735633, "o", "o"]
    [1.808077, "o", "m"]
  • netstat-nc-iftop.sh netstat nc iftop 网络工具
    netnr 2022-10-26 361
    yum install net-tools # 安装 netstat
    yum install nc.x86_64 # 安装 nc
    
    apt install netcat # 安装 nc
    
    # 查看占用端口
    netstat -tunlp
    
    # tcp6 包含 ipv4? ref: https://unix.stackexchange.com/questions/496137
    cat /proc/sys/net/ipv6/bindv6only
  • boot.sh 开机启动
    netnr 2022-09-23 47
    # Windows 配置注册表(regedit)路径,用户登录后执行
    # 当前用户
    # HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    # 系统
    # HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    # 右键 》新建 》字符串值 》输入 key 和启动程序路径带参数
    
    
    # crontab 启动
    @reboot sleep 30; /home/root/boot.sh
  • MySQL-Encryption.sql MySQL 数据加密、解密
    netnr 2022-07-05 53
    -- 旧版本加密、解密(已弃用)
    INSERT INTO users (username, password) VALUES ('john', ENCODE('guessme', 'salt')); -- 写入加密
    SELECT username, DECODE(password,'salt') AS password FROM users WHERE username = 'john'; -- 查询解密
    
    -- 新版本加密、解密(安全级别、性能高)
    INSERT INTO users (username, password) VALUES ('steven', aes_encrypt('password', 'salt')); -- 写入加密
    SELECT username, aes_decrypt(password,'salt') AS password FROM users WHERE username = 'steven';  -- 查询解密
    
    SET block_encryption_mode = 'aes-256-cbc'; -- 修改加密模式
    -- 或添加到配置文件 /etc/my.cnf 重启服务
  • install-onlyoffice.sh 一键安装 ONLYOFFICE
    netnr 2022-05-31 379
    echo "### 安装 wget unzip"
    yum install wget unzip -y
    echo "### 移除旧的 oo"
    docker stop oo -t 0
    docker rm oo
    docker rmi onlyoffice/documentserver # 删除 oo 镜像
    rm -rf /home/onlyoffice/ # 清除目录
    echo "### 创建 oo 目录映射"
    mkdir -p /home/onlyoffice/logs && cd /home/onlyoffice/ && mkdir data lib db && pwd && ls # 创建目录
    docker info
  • backup_sqlserver.sh SQLServer 备份脚本 Linux
    netnr 2022-03-22 53
    # 配置参数(开始)===
    
    ymd=$(date +%Y%m%d)
    echo "日期:$ymd"
    echo
    keepday=5
    echo "保留最近天数:$keepday"
    echo
    dirsync="/package/autosync/sync"
    echo "同步目录:$dirsync"
  • backup_sqlserver.bat SQLServer 备份脚本 Windows
    netnr 2022-03-22 367
    @echo off
    
    :: 配置参数(开始)===
    
    set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
    echo 日期:%ymd%
    echo.
    set keepday=15
    echo 保留最近天数:%keepday%
    echo.
  • git filter-branch.sh GitHub 泄露密钥,彻底删除历史记录
    netnr 2022-03-04 393
    git filter-branch --force --index-filter "git rm --cached --ignore-unmatch -r 要删除的文件" --prune-empty --tag-name-filter cat -- --all
    # 遍历所有 commit,删除文件,重写历史 commit,项目顶层执行
    
    git push origin --all --force # 强行远程推送