siper


Namesiper JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryTurkce API'li guvenlik duvari kutuphanesi
upload_time2025-08-25 17:23:25
maintainerNone
docs_urlNone
authorcyhperinios
requires_python>=3.10
licenseNone
keywords security firewall waf rate-limit turkish
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Siper — Türkçe API'li Güvenlik Duvarı Kütüphanesi

Modern, genişletilebilir ve performans odaklı bir güvenlik duvarı kütüphanesi.
Türkçe ve ASCII dostu API. JSON konfig, kural önceliği, karar önbelleği,
olay aboneliği (audit), gelişmiş filtreler, CLI ve middleware desteği.

## Kurulum

Kaynak koddan (yerel):

```bash
python -m pip install .
```

CLI komutu: `siper` (eski alias: `guvenlik`)

## Hızlı Başlangıç

```python
from siper import GuvenlikDuvari, Kural
from siper.filters import IPFiltre
from siper.guard import komut_gecir

komut_gecir("cyhperinios")
fw = GuvenlikDuvari(varsayilan="blok")
fw.kural_ekle(Kural([IPFiltre(izinli=["127.0.0.1"])], eylem="izin", ad="lokal"))

sonuc = fw.degerlendir(ip="127.0.0.1", port=80, protokol="TCP", yol="/", ek={"yontem": "GET"})
print(sonuc.eylem)  # izin
```

## JSON Konfig ile Kullanım

`ayar.json`
```json
{
  "varsayilan": "blok",
  "kurallar": [
    {
      "ad": "lokal",
      "eylem": "izin",
      "oncelik": 10,
      "durdur": true,
      "filtreler": [
        {"tip": "CIDRIPFiltre", "izinli": ["127.0.0.0/8"]}
      ]
    }
  ]
}
```

CLI:
```bash
siper cyhperinios --json-dosya ayar.json --test
# alias: guvenlik cyhperinios --json-dosya ayar.json --test
```

## Başlıca Özellikler

- Kural motoru: öncelik, durdur, ad, ayrıntılı `Sonuc` açıklamaları
- Filtreler: IP/CIDR, port/port aralığı, protokol, HTTP yöntem/yol glob
- Regex tabanlı denetimler: başlık/param/gövde (WAF için temel yapıtaşları)
- Hız sınırlandırma: sliding window ve Token Bucket (burst destekli)
- Bileşik filtreler: Ve/YaDa/Değil
- Karar önbelleği (TTL + LRU)
- Olay aboneliği (audit + JSON log)
- Middleware: FastAPI ve Flask
- CLI: JSON’dan yükle, test et

## Middleware Örnekleri

FastAPI:
```python
from fastapi import FastAPI
from siper.middleware.fastapi import GuvenlikFastAPIMiddleware
from siper import GuvenlikDuvari
from siper.guard import komut_gecir

komut_gecir("cyhperinios")
fw = GuvenlikDuvari(varsayilan="blok")
app = FastAPI()
app.add_middleware(GuvenlikFastAPIMiddleware, guard=fw)
```

Flask:
```python
from flask import Flask
from siper.middleware.flask import guvenlik_flask_middleware
from siper import GuvenlikDuvari
from siper.guard import komut_gecir

komut_gecir("cyhperinios")
fw = GuvenlikDuvari(varsayilan="blok")
app = Flask(__name__)
guvenlik_flask_middleware(app, fw)
```

## Gelişmiş Log ve Metrikler

```python
from siper.logging_conf import kur_json_logger, olay_gunluk_abonesi
from siper.utils.metrics import PrometheusAbone

logger = kur_json_logger()
fw.abone_ekle(olay_gunluk_abonesi(logger))
fw.abone_ekle(PrometheusAbone(prefix="siper"))
```

Prometheus desteği opsiyoneldir: `pip install prometheus-client`

## Güvenlik Notu — Komut Kapısı

Kütüphane, çalışmadan önce gizli komut ister:
```python
from siper.guard import komut_gecir
komut_gecir("cyhperinios")
```
`config.yukle*` fonksiyonlarında da doğrulama zorunludur.

## Lisans

MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "siper",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "security, firewall, waf, rate-limit, turkish",
    "author": "cyhperinios",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/9b/50/735f8ba07bba3a1fa41f9008f8bb50f4a32a244bba095d29392bf93f2ba8/siper-0.1.0.tar.gz",
    "platform": null,
    "description": "# Siper \u2014 T\u00fcrk\u00e7e API'li G\u00fcvenlik Duvar\u0131 K\u00fct\u00fcphanesi\r\n\r\nModern, geni\u015fletilebilir ve performans odakl\u0131 bir g\u00fcvenlik duvar\u0131 k\u00fct\u00fcphanesi.\r\nT\u00fcrk\u00e7e ve ASCII dostu API. JSON konfig, kural \u00f6nceli\u011fi, karar \u00f6nbelle\u011fi,\r\nolay aboneli\u011fi (audit), geli\u015fmi\u015f filtreler, CLI ve middleware deste\u011fi.\r\n\r\n## Kurulum\r\n\r\nKaynak koddan (yerel):\r\n\r\n```bash\r\npython -m pip install .\r\n```\r\n\r\nCLI komutu: `siper` (eski alias: `guvenlik`)\r\n\r\n## H\u0131zl\u0131 Ba\u015flang\u0131\u00e7\r\n\r\n```python\r\nfrom siper import GuvenlikDuvari, Kural\r\nfrom siper.filters import IPFiltre\r\nfrom siper.guard import komut_gecir\r\n\r\nkomut_gecir(\"cyhperinios\")\r\nfw = GuvenlikDuvari(varsayilan=\"blok\")\r\nfw.kural_ekle(Kural([IPFiltre(izinli=[\"127.0.0.1\"])], eylem=\"izin\", ad=\"lokal\"))\r\n\r\nsonuc = fw.degerlendir(ip=\"127.0.0.1\", port=80, protokol=\"TCP\", yol=\"/\", ek={\"yontem\": \"GET\"})\r\nprint(sonuc.eylem)  # izin\r\n```\r\n\r\n## JSON Konfig ile Kullan\u0131m\r\n\r\n`ayar.json`\r\n```json\r\n{\r\n  \"varsayilan\": \"blok\",\r\n  \"kurallar\": [\r\n    {\r\n      \"ad\": \"lokal\",\r\n      \"eylem\": \"izin\",\r\n      \"oncelik\": 10,\r\n      \"durdur\": true,\r\n      \"filtreler\": [\r\n        {\"tip\": \"CIDRIPFiltre\", \"izinli\": [\"127.0.0.0/8\"]}\r\n      ]\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nCLI:\r\n```bash\r\nsiper cyhperinios --json-dosya ayar.json --test\r\n# alias: guvenlik cyhperinios --json-dosya ayar.json --test\r\n```\r\n\r\n## Ba\u015fl\u0131ca \u00d6zellikler\r\n\r\n- Kural motoru: \u00f6ncelik, durdur, ad, ayr\u0131nt\u0131l\u0131 `Sonuc` a\u00e7\u0131klamalar\u0131\r\n- Filtreler: IP/CIDR, port/port aral\u0131\u011f\u0131, protokol, HTTP y\u00f6ntem/yol glob\r\n- Regex tabanl\u0131 denetimler: ba\u015fl\u0131k/param/g\u00f6vde (WAF i\u00e7in temel yap\u0131ta\u015flar\u0131)\r\n- H\u0131z s\u0131n\u0131rland\u0131rma: sliding window ve Token Bucket (burst destekli)\r\n- Bile\u015fik filtreler: Ve/YaDa/De\u011fil\r\n- Karar \u00f6nbelle\u011fi (TTL + LRU)\r\n- Olay aboneli\u011fi (audit + JSON log)\r\n- Middleware: FastAPI ve Flask\r\n- CLI: JSON\u2019dan y\u00fckle, test et\r\n\r\n## Middleware \u00d6rnekleri\r\n\r\nFastAPI:\r\n```python\r\nfrom fastapi import FastAPI\r\nfrom siper.middleware.fastapi import GuvenlikFastAPIMiddleware\r\nfrom siper import GuvenlikDuvari\r\nfrom siper.guard import komut_gecir\r\n\r\nkomut_gecir(\"cyhperinios\")\r\nfw = GuvenlikDuvari(varsayilan=\"blok\")\r\napp = FastAPI()\r\napp.add_middleware(GuvenlikFastAPIMiddleware, guard=fw)\r\n```\r\n\r\nFlask:\r\n```python\r\nfrom flask import Flask\r\nfrom siper.middleware.flask import guvenlik_flask_middleware\r\nfrom siper import GuvenlikDuvari\r\nfrom siper.guard import komut_gecir\r\n\r\nkomut_gecir(\"cyhperinios\")\r\nfw = GuvenlikDuvari(varsayilan=\"blok\")\r\napp = Flask(__name__)\r\nguvenlik_flask_middleware(app, fw)\r\n```\r\n\r\n## Geli\u015fmi\u015f Log ve Metrikler\r\n\r\n```python\r\nfrom siper.logging_conf import kur_json_logger, olay_gunluk_abonesi\r\nfrom siper.utils.metrics import PrometheusAbone\r\n\r\nlogger = kur_json_logger()\r\nfw.abone_ekle(olay_gunluk_abonesi(logger))\r\nfw.abone_ekle(PrometheusAbone(prefix=\"siper\"))\r\n```\r\n\r\nPrometheus deste\u011fi opsiyoneldir: `pip install prometheus-client`\r\n\r\n## G\u00fcvenlik Notu \u2014 Komut Kap\u0131s\u0131\r\n\r\nK\u00fct\u00fcphane, \u00e7al\u0131\u015fmadan \u00f6nce gizli komut ister:\r\n```python\r\nfrom siper.guard import komut_gecir\r\nkomut_gecir(\"cyhperinios\")\r\n```\r\n`config.yukle*` fonksiyonlar\u0131nda da do\u011frulama zorunludur.\r\n\r\n## Lisans\r\n\r\nMIT\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Turkce API'li guvenlik duvari kutuphanesi",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://pypi.org/project/siper/"
    },
    "split_keywords": [
        "security",
        " firewall",
        " waf",
        " rate-limit",
        " turkish"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fb1a8b0ca7a3cc9419c2607f20c49cee181472996f1eca5e5b54c82cf2d5613",
                "md5": "6f723d4dfeaa26c6c2b84526bafdec57",
                "sha256": "f8e337a2d82bd4cad55e6dd1baad0765ef4adbe058268572afe775d939cf09a6"
            },
            "downloads": -1,
            "filename": "siper-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6f723d4dfeaa26c6c2b84526bafdec57",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 25878,
            "upload_time": "2025-08-25T17:23:24",
            "upload_time_iso_8601": "2025-08-25T17:23:24.334816Z",
            "url": "https://files.pythonhosted.org/packages/7f/b1/a8b0ca7a3cc9419c2607f20c49cee181472996f1eca5e5b54c82cf2d5613/siper-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b50735f8ba07bba3a1fa41f9008f8bb50f4a32a244bba095d29392bf93f2ba8",
                "md5": "aa92754f5017f795e89346c462b5653e",
                "sha256": "aaa6ba3a9c378a6d8491a63e806545ccff564139ce787a8d228c4683ff5282d7"
            },
            "downloads": -1,
            "filename": "siper-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "aa92754f5017f795e89346c462b5653e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 18304,
            "upload_time": "2025-08-25T17:23:25",
            "upload_time_iso_8601": "2025-08-25T17:23:25.516161Z",
            "url": "https://files.pythonhosted.org/packages/9b/50/735f8ba07bba3a1fa41f9008f8bb50f4a32a244bba095d29392bf93f2ba8/siper-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-25 17:23:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "siper"
}
        
Elapsed time: 1.55006s