# 【记录】搭建流量统计工具 Shynet

Last updated on March 25, 2024 pm

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

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

## 搭建 Shynet

- 反向代理服务

    1

    mkdir -p ~/app/shynet && cd ~/app/shynet && nano docker-compose.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

    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

- 配置环境变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    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

- 配置管理账号

    1
    2
    3
    4

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

## 配置混淆

    1
    2
    3

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

## 配置 Hexo

- 搭建 Hexo
- 编辑 `scripts/custom.js`, 内容如下

    1
    2
    3
    4

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

#hexo
【记录】搭建流量统计工具 Shynet
https://hexo.limour.top/Building-a-traffic-statistics-tool-Shynet
Author
Limour
Posted on
March 25, 2024
Updated on
March 25, 2024
Licensed under
【记录】使用acme.sh签发泛域名证书 Previous
【记录】Linux 设置个人热点 Next

#### Search

Keyword