跳转到主要内容

一个小型服务器,用于检查用户的IP是否在受信任的Fenix网络中。

项目描述

Fenix fenix-checker

一个小型服务器,用于检查用户的IP是否在受信任的Fenix网络中。由ipv6widgetstandard-konektivity.cz使用。

依赖关系

  • Python >= 3.6
  • pyaml >= 17
  • psycopg2 >= 2.7.4

安装

$ virtualenv -p `which python3.6` .venv
$ source .venv/bin/activate
$ pip install fenix_checker
$ cp config.example.yml config.yml
$ $EDITOR config.yml # set DB credentials

在生产环境中运行

uWSGI

$ uwsgi --master --single-interpreter --threads 2 --http :5000 -H .venv -w fenix_checker.server

GUnicorn

$ gunicorn -w 2 -k gevent --timeout 160 -n netmetr-proxy fenix_checker:server:app

用法

GET /
-> 200
   {"result": 1}

结果是

  • 0 表示非Fenix网络
  • >= 1 表示Fenix网络

在传递到数据库之前,使用Python的ipaddress模块验证IP

GET /  # with client IP somehow spoofed to eg. "127.0.0.1'); DROP TABLE networks;"
-> 400
  {"error": "Invalid IP"}

开发

文件更改时自动重新加载服务器

$ FLASK_APP=fenix_checker/server.py FLASK_DEBUG=1 flask run

Python代码的代码检查

$ flake8 --config=.flake8rc *py

许可证

GPLv3

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

fenix-checker-0.1.4.tar.gz (16.5 kB 查看哈希值)

上传时间 源代码

由以下支持