# KeeneticPy
[![Boyut](https://img.shields.io/github/repo-size/keyiflerolsun/KeeneticPy?logo=git&logoColor=white&label=Boyut)](#)
[![Görüntülenme](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/keyiflerolsun/KeeneticPy&title=Görüntülenme)](#)
<a href="https://KekikAkademi.org/Kahve" target="_blank"><img src="https://img.shields.io/badge/☕️-Kahve Ismarla-ffdd00" title="☕️ Kahve Ismarla" style="padding-left:5px;"></a>
[![PyPI](https://img.shields.io/pypi/v/KeeneticPy?logo=pypi&logoColor=white&label=PyPI)](https://pypi.org/project/KeeneticPy)
[![PyPI - Yüklenme](https://img.shields.io/pypi/dm/KeeneticPy?logo=pypi&logoColor=white&label=Yüklenme)](https://pypi.org/project/KeeneticPy)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/KeeneticPy?logo=pypi&logoColor=white&label=Wheel)](https://pypi.org/project/KeeneticPy)
[![Python Version](https://img.shields.io/pypi/pyversions/KeeneticPy?logo=python&logoColor=white&label=Python)](#)
[![Lisans](https://img.shields.io/pypi/l/KeeneticPy?logo=gnu&logoColor=white&label=Lisans)](#)
[![Durum](https://img.shields.io/pypi/status/KeeneticPy?logo=windowsterminal&logoColor=white&label=Durum)](#)
[![PyPI Yükle](https://github.com/keyiflerolsun/KeeneticPy/actions/workflows/pypiYukle.yml/badge.svg)](https://github.com/keyiflerolsun/KeeneticPy/actions/workflows/pypiYukle.yml)
**Python Lib for Keenetic Routers**
> _`RCI` / `PROC`_
[![ForTheBadge made-with-python](https://ForTheBadge.com/images/badges/made-with-python.svg)](https://www.python.org/)
[![ForTheBadge built-with-love](https://ForTheBadge.com/images/badges/built-with-love.svg)](https://GitHub.com/keyiflerolsun/)
## 🚀 Kurulum
```bash
# Yüklemek
pip install KeeneticPy
# Güncellemek
pip install -U KeeneticPy
```
## <img src="https://www.akashtrehan.com/assets/images/emoji/terminal.png" height="32" align="center"> Kullanım
### Keenetic Sınıfını Oluşturma
Keenetic router'ınıza bağlanmak için aşağıdaki gibi bir `Keenetic` sınıfı örneği oluşturun:
```python
from KeeneticPy import Keenetic
modem = Keenetic(user="admin", password="cokomellisifre", panel="http://192.168.1.1")
```
### Yedekleme Yapma
Modem yapılandırma yedeği oluşturmak için `backup` fonksiyonunu kullanabilirsiniz. Aşağıdaki örnekte, maksimum 2 yedek dosyası saklanacaktır:
```python
modem.backup(maks_backup=2)
```
### Sistem ve Sürüm Bilgilerini Görüntüleme
Modeminizin sistem ve sürüm bilgilerini almak için `system` ve `version` metodlarını kullanabilirsiniz:
```python
print(modem.system())
print(modem.version())
```
### Arayüz Bilgilerini Görüntüleme
Modeminizin DSL ve PPPoE arayüz bilgilerini görüntülemek için:
```python
print(modem.interface()["Dsl0"])
print(modem.interface()["PPPoE0"])
```
### Global IP Bilgilerini Almak
Router'ınızın global IP bilgilerini almak için:
```python
print(modem.global_ip())
```
### DSL İstatistiklerini Görüntüleme
DSL bağlantınızla ilgili detaylı istatistikleri almak için:
```python
print("n".join(modem.dsl_stats()["parse"]["message"]))
```
### Hotspot Üzerindeki Bağlı Cihazları Listeleme
Modeminizdeki Hotspot üzerinden bağlı cihazları görüntülemek için:
```python
print(modem.hosts())
```
### DSL Bağlantısını Sıfırlama
DSL bağlantınızı sıfırlamak için:
```python
print(modem.dsl_reset())
```
### Statik Rotaları Yönetme
#### Arayüz İsimlerini Listeleme:
Modeminizin tanımlı arayüz isimlerini, türlerini ve açıklamalarını almak için:
```python
interface_names = modem.get_interface_names()
print(interface_names)
```
#### Statik Rota Ekleme:
Bir statik rota eklemek için `add_static_route` metodunu kullanabilirsiniz:
> Arayüz (interface) ismini doğru şekilde ayarladığınızdan emin olun. Arayüz isimlerini [.get_interface_names()](#arayüz-i̇simlerini-listeleme) fonksiyonunu kullanarak öğrenebilirsiniz.
```python
modem.add_static_route(comment="example.com", host="192.168.1.100", interface="Wireguard2")
```
#### Statik Rota Silme:
Eklenmiş bir statik rotayı silmek için `del_static_route` metodunu kullanabilirsiniz:
```python
modem.del_static_route(comment="example.com", host="192.168.1.100", interface="Wireguard2")
```
#### **kwargs Kullanımı ile Statik Rota Silme:
Mevcut statik rotalarınızdan belirli bir yoruma sahip olanları silmek için:
```python
routes = modem.get_static_routes()
for route in routes:
print(route)
if route.get("comment") == "bakalim.io":
print(modem.del_static_route(**route))
```
### Domain veya ASN ile Rota Ekleme
#### Domain ile Rota Ekleme:
Belirli bir domain için statik rota eklemek:
> Arayüz (interface) ismini doğru şekilde ayarladığınızdan emin olun. Arayüz isimlerini [.get_interface_names()](#arayüz-i̇simlerini-listeleme) fonksiyonunu kullanarak öğrenebilirsiniz.
```python
modem.add_route_with_domain(domain="example.com", interface="Wireguard2")
```
#### ASN ile Rota Ekleme:
Belirli bir ASN için statik rota eklemek:
> Arayüz (interface) ismini doğru şekilde ayarladığınızdan emin olun. Arayüz isimlerini [.get_interface_names()](#arayüz-i̇simlerini-listeleme) fonksiyonunu kullanarak öğrenebilirsiniz.
```python
modem.add_route_with_asn(asn=32934, interface="Wireguard2")
```
***
Bu örnekler, KeeneticPy paketini nasıl kullanabileceğinizi ve çeşitli modem işlevlerini nasıl yönetebileceğinizi gösterir. Daha fazla bilgi için kaynak koduna göz atabilirsiniz.
***
## 💸 Bağış Yap
**[☕️ Kahve Ismarla](https://KekikAkademi.org/Kahve)**
## 🌐 Telif Hakkı ve Lisans
* *Copyright (C) 2023 by* [keyiflerolsun](https://github.com/keyiflerolsun) ❤️️
* [GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007](https://github.com/keyiflerolsun/KeeneticPy/blob/master/LICENSE) *Koşullarına göre lisanslanmıştır..*
## ♻️ İletişim
*Benimle iletişime geçmek isterseniz, **Telegram**'dan mesaj göndermekten çekinmeyin;* [@keyiflerolsun](https://t.me/KekikKahve)
##
> **[@KekikAkademi](https://t.me/KekikAkademi)** *için yazılmıştır..*
Raw data
{
"_id": null,
"home_page": "https://github.com/keyiflerolsun/KeeneticPy",
"name": "KeeneticPy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "KeeneticPy, KekikAkademi, keyiflerolsun",
"author": "keyiflerolsun",
"author_email": "keyiflerolsun@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/3c/db/bf8f9ab18e2f0a492e361509f30bafcadbd219060b26f7234996b2f5c329/keeneticpy-2.5.tar.gz",
"platform": null,
"description": "# KeeneticPy\n\n[![Boyut](https://img.shields.io/github/repo-size/keyiflerolsun/KeeneticPy?logo=git&logoColor=white&label=Boyut)](#)\n[![G\u00f6r\u00fcnt\u00fclenme](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/keyiflerolsun/KeeneticPy&title=G\u00f6r\u00fcnt\u00fclenme)](#)\n<a href=\"https://KekikAkademi.org/Kahve\" target=\"_blank\"><img src=\"https://img.shields.io/badge/\u2615\ufe0f-Kahve Ismarla-ffdd00\" title=\"\u2615\ufe0f Kahve Ismarla\" style=\"padding-left:5px;\"></a>\n\n[![PyPI](https://img.shields.io/pypi/v/KeeneticPy?logo=pypi&logoColor=white&label=PyPI)](https://pypi.org/project/KeeneticPy)\n[![PyPI - Y\u00fcklenme](https://img.shields.io/pypi/dm/KeeneticPy?logo=pypi&logoColor=white&label=Y\u00fcklenme)](https://pypi.org/project/KeeneticPy)\n[![PyPI - Wheel](https://img.shields.io/pypi/wheel/KeeneticPy?logo=pypi&logoColor=white&label=Wheel)](https://pypi.org/project/KeeneticPy)\n\n[![Python Version](https://img.shields.io/pypi/pyversions/KeeneticPy?logo=python&logoColor=white&label=Python)](#)\n[![Lisans](https://img.shields.io/pypi/l/KeeneticPy?logo=gnu&logoColor=white&label=Lisans)](#)\n[![Durum](https://img.shields.io/pypi/status/KeeneticPy?logo=windowsterminal&logoColor=white&label=Durum)](#)\n\n[![PyPI Y\u00fckle](https://github.com/keyiflerolsun/KeeneticPy/actions/workflows/pypiYukle.yml/badge.svg)](https://github.com/keyiflerolsun/KeeneticPy/actions/workflows/pypiYukle.yml)\n\n**Python Lib for Keenetic Routers**\n\n> _`RCI` / `PROC`_\n\n[![ForTheBadge made-with-python](https://ForTheBadge.com/images/badges/made-with-python.svg)](https://www.python.org/)\n[![ForTheBadge built-with-love](https://ForTheBadge.com/images/badges/built-with-love.svg)](https://GitHub.com/keyiflerolsun/)\n\n## \ud83d\ude80 Kurulum\n\n```bash\n# Y\u00fcklemek\npip install KeeneticPy\n\n# G\u00fcncellemek\npip install -U KeeneticPy\n```\n\n## <img src=\"https://www.akashtrehan.com/assets/images/emoji/terminal.png\" height=\"32\" align=\"center\"> Kullan\u0131m\n\n### Keenetic S\u0131n\u0131f\u0131n\u0131 Olu\u015fturma\n\nKeenetic router'\u0131n\u0131za ba\u011flanmak i\u00e7in a\u015fa\u011f\u0131daki gibi bir `Keenetic` s\u0131n\u0131f\u0131 \u00f6rne\u011fi olu\u015fturun:\n\n```python\nfrom KeeneticPy import Keenetic\n\nmodem = Keenetic(user=\"admin\", password=\"cokomellisifre\", panel=\"http://192.168.1.1\")\n```\n\n### Yedekleme Yapma\n\nModem yap\u0131land\u0131rma yede\u011fi olu\u015fturmak i\u00e7in `backup` fonksiyonunu kullanabilirsiniz. A\u015fa\u011f\u0131daki \u00f6rnekte, maksimum 2 yedek dosyas\u0131 saklanacakt\u0131r:\n\n```python\nmodem.backup(maks_backup=2)\n```\n\n### Sistem ve S\u00fcr\u00fcm Bilgilerini G\u00f6r\u00fcnt\u00fcleme\n\nModeminizin sistem ve s\u00fcr\u00fcm bilgilerini almak i\u00e7in `system` ve `version` metodlar\u0131n\u0131 kullanabilirsiniz:\n\n```python\nprint(modem.system())\nprint(modem.version())\n```\n\n### Aray\u00fcz Bilgilerini G\u00f6r\u00fcnt\u00fcleme\n\nModeminizin DSL ve PPPoE aray\u00fcz bilgilerini g\u00f6r\u00fcnt\u00fclemek i\u00e7in:\n\n```python\nprint(modem.interface()[\"Dsl0\"])\nprint(modem.interface()[\"PPPoE0\"])\n```\n\n### Global IP Bilgilerini Almak\n\nRouter'\u0131n\u0131z\u0131n global IP bilgilerini almak i\u00e7in:\n\n```python\nprint(modem.global_ip())\n```\n\n### DSL \u0130statistiklerini G\u00f6r\u00fcnt\u00fcleme\n\nDSL ba\u011flant\u0131n\u0131zla ilgili detayl\u0131 istatistikleri almak i\u00e7in:\n\n```python\nprint(\"n\".join(modem.dsl_stats()[\"parse\"][\"message\"]))\n```\n\n### Hotspot \u00dczerindeki Ba\u011fl\u0131 Cihazlar\u0131 Listeleme\n\nModeminizdeki Hotspot \u00fczerinden ba\u011fl\u0131 cihazlar\u0131 g\u00f6r\u00fcnt\u00fclemek i\u00e7in:\n\n```python\nprint(modem.hosts())\n```\n\n### DSL Ba\u011flant\u0131s\u0131n\u0131 S\u0131f\u0131rlama\n\nDSL ba\u011flant\u0131n\u0131z\u0131 s\u0131f\u0131rlamak i\u00e7in:\n\n```python\nprint(modem.dsl_reset())\n```\n\n### Statik Rotalar\u0131 Y\u00f6netme\n\n#### Aray\u00fcz \u0130simlerini Listeleme:\n\nModeminizin tan\u0131ml\u0131 aray\u00fcz isimlerini, t\u00fcrlerini ve a\u00e7\u0131klamalar\u0131n\u0131 almak i\u00e7in:\n\n```python\ninterface_names = modem.get_interface_names()\nprint(interface_names)\n```\n\n#### Statik Rota Ekleme:\n\nBir statik rota eklemek i\u00e7in `add_static_route` metodunu kullanabilirsiniz:\n> Aray\u00fcz (interface) ismini do\u011fru \u015fekilde ayarlad\u0131\u011f\u0131n\u0131zdan emin olun. Aray\u00fcz isimlerini [.get_interface_names()](#aray\u00fcz-i\u0307simlerini-listeleme) fonksiyonunu kullanarak \u00f6\u011frenebilirsiniz.\n\n```python\nmodem.add_static_route(comment=\"example.com\", host=\"192.168.1.100\", interface=\"Wireguard2\")\n```\n\n#### Statik Rota Silme:\n\nEklenmi\u015f bir statik rotay\u0131 silmek i\u00e7in `del_static_route` metodunu kullanabilirsiniz:\n\n```python\nmodem.del_static_route(comment=\"example.com\", host=\"192.168.1.100\", interface=\"Wireguard2\")\n```\n\n#### **kwargs Kullan\u0131m\u0131 ile Statik Rota Silme:\n\nMevcut statik rotalar\u0131n\u0131zdan belirli bir yoruma sahip olanlar\u0131 silmek i\u00e7in:\n\n```python\nroutes = modem.get_static_routes()\n\nfor route in routes:\n print(route)\n if route.get(\"comment\") == \"bakalim.io\":\n print(modem.del_static_route(**route))\n```\n\n### Domain veya ASN ile Rota Ekleme\n\n#### Domain ile Rota Ekleme:\n\nBelirli bir domain i\u00e7in statik rota eklemek:\n> Aray\u00fcz (interface) ismini do\u011fru \u015fekilde ayarlad\u0131\u011f\u0131n\u0131zdan emin olun. Aray\u00fcz isimlerini [.get_interface_names()](#aray\u00fcz-i\u0307simlerini-listeleme) fonksiyonunu kullanarak \u00f6\u011frenebilirsiniz.\n\n```python\nmodem.add_route_with_domain(domain=\"example.com\", interface=\"Wireguard2\")\n```\n\n#### ASN ile Rota Ekleme:\n\nBelirli bir ASN i\u00e7in statik rota eklemek:\n> Aray\u00fcz (interface) ismini do\u011fru \u015fekilde ayarlad\u0131\u011f\u0131n\u0131zdan emin olun. Aray\u00fcz isimlerini [.get_interface_names()](#aray\u00fcz-i\u0307simlerini-listeleme) fonksiyonunu kullanarak \u00f6\u011frenebilirsiniz.\n\n```python\nmodem.add_route_with_asn(asn=32934, interface=\"Wireguard2\")\n```\n\n***\n\nBu \u00f6rnekler, KeeneticPy paketini nas\u0131l kullanabilece\u011finizi ve \u00e7e\u015fitli modem i\u015flevlerini nas\u0131l y\u00f6netebilece\u011finizi g\u00f6sterir. Daha fazla bilgi i\u00e7in kaynak koduna g\u00f6z atabilirsiniz.\n\n***\n\n## \ud83d\udcb8 Ba\u011f\u0131\u015f Yap\n\n**[\u2615\ufe0f Kahve Ismarla](https://KekikAkademi.org/Kahve)**\n\n## \ud83c\udf10 Telif Hakk\u0131 ve Lisans\n\n* *Copyright (C) 2023 by* [keyiflerolsun](https://github.com/keyiflerolsun) \u2764\ufe0f\ufe0f\n* [GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007](https://github.com/keyiflerolsun/KeeneticPy/blob/master/LICENSE) *Ko\u015fullar\u0131na g\u00f6re lisanslanm\u0131\u015ft\u0131r..*\n\n## \u267b\ufe0f \u0130leti\u015fim\n\n*Benimle ileti\u015fime ge\u00e7mek isterseniz, **Telegram**'dan mesaj g\u00f6ndermekten \u00e7ekinmeyin;* [@keyiflerolsun](https://t.me/KekikKahve)\n\n##\n\n> **[@KekikAkademi](https://t.me/KekikAkademi)** *i\u00e7in yaz\u0131lm\u0131\u015ft\u0131r..*\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "Python Lib for Keenetic Routers",
"version": "2.5",
"project_urls": {
"Homepage": "https://github.com/keyiflerolsun/KeeneticPy"
},
"split_keywords": [
"keeneticpy",
" kekikakademi",
" keyiflerolsun"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "23b94b4548b6cc3a4996f4e6fb8f88875fbff36cb6a49d6406573e02ed479f19",
"md5": "32d05ed63da0e69a034a43ef696056de",
"sha256": "a58b1572986927eddb9665abb0f80a609eff77010a8150759af756be5163c04e"
},
"downloads": -1,
"filename": "KeeneticPy-2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "32d05ed63da0e69a034a43ef696056de",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 19781,
"upload_time": "2024-08-08T22:47:57",
"upload_time_iso_8601": "2024-08-08T22:47:57.388897Z",
"url": "https://files.pythonhosted.org/packages/23/b9/4b4548b6cc3a4996f4e6fb8f88875fbff36cb6a49d6406573e02ed479f19/KeeneticPy-2.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3cdbbf8f9ab18e2f0a492e361509f30bafcadbd219060b26f7234996b2f5c329",
"md5": "1f97655625af4902be1ba6bd36d7245b",
"sha256": "151115b7b7f1a31221a8c2119bf93f0d7fdcee223340202acfa511cad3f9030d"
},
"downloads": -1,
"filename": "keeneticpy-2.5.tar.gz",
"has_sig": false,
"md5_digest": "1f97655625af4902be1ba6bd36d7245b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 21752,
"upload_time": "2024-08-08T22:47:58",
"upload_time_iso_8601": "2024-08-08T22:47:58.923657Z",
"url": "https://files.pythonhosted.org/packages/3c/db/bf8f9ab18e2f0a492e361509f30bafcadbd219060b26f7234996b2f5c329/keeneticpy-2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-08 22:47:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "keyiflerolsun",
"github_project": "KeeneticPy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "keeneticpy"
}