2024-03-25-【记录】搭建流量统计工具-Shynet.md 2.1 KB


title: 【记录】搭建流量统计工具 Shynet urlname: Building-a-traffic-statistics-tool-Shynet index_img: https://api.limour.top/randomImg?d=2024-03-25 12:52:28 date: 2024-03-25 20:52:28

tags: hexo

Shynet 是一款用 python 编写的现代、隐私友好、无需Cookie或JS即可工作的网络流量统计工具。

相比 Umami, Shynet 支持通过 1 pixel 的图像进行统计,而不依赖 JS, 并且 Shynet 统计的信息更加详细。

最终效果

搭建 Shynet

  • 反向代理服务

    mkdir -p ~/app/shynet && cd ~/app/shynet && nano docker-compose.yml
    
    version: '3.6'
     
    services:
    shynet:
    image: milesmcc/shynet:latest
    restart: always
    env_file:
      - .env
    volumes:
      - ./db:/var/local/shynet/db/
      - /etc/localtime:/etc/localtime:ro
     
    networks:
    default:
    external: true
    name: ngpm
    
  • 配置环境变量

    wget -O .env https://github.com/milesmcc/shynet/raw/master/TEMPLATE.env
    # 注释掉 .env 中 PostgreSQL 相关的部分,启用 SQLITE 相关的部分
    # 注释掉 .env 中 Email 相关的部分
    # 按说明生成 DJANGO_SECRET_KEY
    # 修改 ALLOWED_HOSTS 和 CSRF_TRUSTED_ORIGINS
    # 语言换成中文 LANGUAGE_CODE=zh-cn
    # 时区换成上海 TIME_ZONE=Asia/Shanghai
    mkdir -p db && chmod 777 db
    sudo docker-compose up -d
    # 反代 shynet:8080
    
  • 配置管理账号

    sudo docker-compose exec -it shynet ./manage.py registeradmin <your email>
    # 控制台输出如下信息
    # Email address: <your email>
    # Password: <Password>
    

    配置混淆

    sub_filter 'https://xxx/ingress/' 'https://xxx/vue/';
    sub_filter_once off;
    sub_filter_types application/javascript;
    

    配置 Hexo

  • 搭建 Hexo

  • 编辑 scripts/custom.js, 内容如下

    // shynet 统计
    hexo.extend.injector.register('head_begin', `
    <script defer src="https://xxxx/vue/xxxx/script.js"></script>
    `);