mmpg-rout


Namemmpg-rout JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2025-09-03 20:49:28
maintainerNone
docs_urlNone
authorValfrido Novais
requires_python>=3.8
licenseNone
keywords route windows gateway networking impala bisp pmmg
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mmpg-rout

Biblioteca Python para gerenciar rotas de host no **Windows**, útil para cenários em que você precisa garantir que o tráfego para um destino (por exemplo, `dlmg.prodemge.gov.br`) seja direcionado para um gateway específico (exemplo: `10.14.56.1`).

---

## 📦 Instalação

Você pode instalar a partir do TestPyPI (ou futuramente PyPI oficial):

```powershell
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple mmpg-rout
```

Se estiver desenvolvendo localmente (na pasta do projeto):

```powershell
pip install -e .
```

Isso instalará o pacote no ambiente atual (conda/venv/etc.).

---

## 🚀 Uso no código Python

### Exemplo simples:

```python
from mmpg_rout import ensure_host_route

# Cria rota temporária (só até reiniciar)
ensure_host_route("dlmg.prodemge.gov.br", "10.14.56.1")

# Cria rota persistente (fica gravada no Windows)
ensure_host_route("dlmg.prodemge.gov.br", "10.14.56.1", persist=True)
```

* `hostname` → domínio ou IP do destino.
* `nexthop` → gateway da sua rede local.
* `persist=True` → mantém a rota mesmo após reiniciar.

### Integração em projetos que usam ODBC

Basta garantir a rota antes de conectar:

```python
from mmpg_rout import ensure_host_route
import pyodbc

# Garante a rota
ensure_host_route("dlmg.prodemge.gov.br", "10.14.56.1")

# Agora conecta normalmente
conn = pyodbc.connect("Driver={Cloudera ODBC Driver for Impala};...etc...")
```

Assim, qualquer código que rodar dentro desse ambiente já terá a rota configurada.

---

## 💻 Uso via CLI (linha de comando)

Após instalar o pacote, o comando `mmpg-rout` ficará disponível no terminal.

```powershell
# Rota temporária (só até reiniciar)
mmpg-rout --host dlmg.prodemge.gov.br --nexthop 10.14.56.1

# Rota persistente (precisa rodar PowerShell como administrador)
mmpg-rout --host dlmg.prodemge.gov.br --nexthop 10.14.56.1 --persist
```

### Funcionamento do modo persistente

Se você usar `--persist`, o Windows salva a rota de forma definitiva. Isso significa que **qualquer programa** (Python, navegador, ODBC, etc.) que tentar acessar o host especificado **sempre usará o gateway configurado**, sem precisar alterar o código.

### Verificando as rotas atuais:

```powershell
route print
```

### Removendo uma rota manualmente:

```powershell
route delete 10.100.62.20
```

*(substitua pelo IP real do host que foi resolvido)*

---

## 🔧 Alterando gateway ou máscara

Se precisar mudar o gateway, basta recriar a rota:

```python
ensure_host_route("dlmg.prodemge.gov.br", "NOVO_GATEWAY", persist=True)
```

Ou pela CLI:

```powershell
mmpg-rout --host dlmg.prodemge.gov.br --nexthop NOVO_GATEWAY --persist
```

A máscara usada é sempre `/32` (`255.255.255.255`) porque a rota é criada para **um único host**.

---

## ❌ Desinstalação

Para remover a biblioteca do ambiente Python:

```powershell
pip uninstall mmpg-rout
```

Para remover a rota persistente do Windows:

```powershell
route delete 10.100.62.20
```

---

## 📌 Resumo das opções

* **No código**: garante a rota a cada execução.
* **Via CLI (temporário)**: funciona até reiniciar o PC.
* **Via CLI (persistente)**: fica registrado no Windows e vale para todos os programas.

---

## 📖 Observações importantes

* Requer execução em Windows.
* Para rotas persistentes, o PowerShell precisa estar aberto como **Administrador**.
* Expor o host `10.100.62.20` ou o gateway **não representa risco de segurança**, pois são endereços de rede interna (não roteáveis na internet).

---

## 👨‍💻 Autor

* **Valfrido Novais**
  PMMG · MMPG NOVAIS

Repositório: [github.com/ValfridoNovais/mmpg-rout](https://github.com/ValfridoNovais/mmpg-rout)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mmpg-rout",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "route, windows, gateway, networking, impala, bisp, pmmg",
    "author": "Valfrido Novais",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/04/b3/28216f8d71e1b8cfe939b06fdc0850aec4358078861d665f453e254302c9/mmpg_rout-0.2.0.tar.gz",
    "platform": null,
    "description": "# mmpg-rout\r\n\r\nBiblioteca Python para gerenciar rotas de host no **Windows**, \u00fatil para cen\u00e1rios em que voc\u00ea precisa garantir que o tr\u00e1fego para um destino (por exemplo, `dlmg.prodemge.gov.br`) seja direcionado para um gateway espec\u00edfico (exemplo: `10.14.56.1`).\r\n\r\n---\r\n\r\n## \ud83d\udce6 Instala\u00e7\u00e3o\r\n\r\nVoc\u00ea pode instalar a partir do TestPyPI (ou futuramente PyPI oficial):\r\n\r\n```powershell\r\npip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple mmpg-rout\r\n```\r\n\r\nSe estiver desenvolvendo localmente (na pasta do projeto):\r\n\r\n```powershell\r\npip install -e .\r\n```\r\n\r\nIsso instalar\u00e1 o pacote no ambiente atual (conda/venv/etc.).\r\n\r\n---\r\n\r\n## \ud83d\ude80 Uso no c\u00f3digo Python\r\n\r\n### Exemplo simples:\r\n\r\n```python\r\nfrom mmpg_rout import ensure_host_route\r\n\r\n# Cria rota tempor\u00e1ria (s\u00f3 at\u00e9 reiniciar)\r\nensure_host_route(\"dlmg.prodemge.gov.br\", \"10.14.56.1\")\r\n\r\n# Cria rota persistente (fica gravada no Windows)\r\nensure_host_route(\"dlmg.prodemge.gov.br\", \"10.14.56.1\", persist=True)\r\n```\r\n\r\n* `hostname` \u2192 dom\u00ednio ou IP do destino.\r\n* `nexthop` \u2192 gateway da sua rede local.\r\n* `persist=True` \u2192 mant\u00e9m a rota mesmo ap\u00f3s reiniciar.\r\n\r\n### Integra\u00e7\u00e3o em projetos que usam ODBC\r\n\r\nBasta garantir a rota antes de conectar:\r\n\r\n```python\r\nfrom mmpg_rout import ensure_host_route\r\nimport pyodbc\r\n\r\n# Garante a rota\r\nensure_host_route(\"dlmg.prodemge.gov.br\", \"10.14.56.1\")\r\n\r\n# Agora conecta normalmente\r\nconn = pyodbc.connect(\"Driver={Cloudera ODBC Driver for Impala};...etc...\")\r\n```\r\n\r\nAssim, qualquer c\u00f3digo que rodar dentro desse ambiente j\u00e1 ter\u00e1 a rota configurada.\r\n\r\n---\r\n\r\n## \ud83d\udcbb Uso via CLI (linha de comando)\r\n\r\nAp\u00f3s instalar o pacote, o comando `mmpg-rout` ficar\u00e1 dispon\u00edvel no terminal.\r\n\r\n```powershell\r\n# Rota tempor\u00e1ria (s\u00f3 at\u00e9 reiniciar)\r\nmmpg-rout --host dlmg.prodemge.gov.br --nexthop 10.14.56.1\r\n\r\n# Rota persistente (precisa rodar PowerShell como administrador)\r\nmmpg-rout --host dlmg.prodemge.gov.br --nexthop 10.14.56.1 --persist\r\n```\r\n\r\n### Funcionamento do modo persistente\r\n\r\nSe voc\u00ea usar `--persist`, o Windows salva a rota de forma definitiva. Isso significa que **qualquer programa** (Python, navegador, ODBC, etc.) que tentar acessar o host especificado **sempre usar\u00e1 o gateway configurado**, sem precisar alterar o c\u00f3digo.\r\n\r\n### Verificando as rotas atuais:\r\n\r\n```powershell\r\nroute print\r\n```\r\n\r\n### Removendo uma rota manualmente:\r\n\r\n```powershell\r\nroute delete 10.100.62.20\r\n```\r\n\r\n*(substitua pelo IP real do host que foi resolvido)*\r\n\r\n---\r\n\r\n## \ud83d\udd27 Alterando gateway ou m\u00e1scara\r\n\r\nSe precisar mudar o gateway, basta recriar a rota:\r\n\r\n```python\r\nensure_host_route(\"dlmg.prodemge.gov.br\", \"NOVO_GATEWAY\", persist=True)\r\n```\r\n\r\nOu pela CLI:\r\n\r\n```powershell\r\nmmpg-rout --host dlmg.prodemge.gov.br --nexthop NOVO_GATEWAY --persist\r\n```\r\n\r\nA m\u00e1scara usada \u00e9 sempre `/32` (`255.255.255.255`) porque a rota \u00e9 criada para **um \u00fanico host**.\r\n\r\n---\r\n\r\n## \u274c Desinstala\u00e7\u00e3o\r\n\r\nPara remover a biblioteca do ambiente Python:\r\n\r\n```powershell\r\npip uninstall mmpg-rout\r\n```\r\n\r\nPara remover a rota persistente do Windows:\r\n\r\n```powershell\r\nroute delete 10.100.62.20\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udccc Resumo das op\u00e7\u00f5es\r\n\r\n* **No c\u00f3digo**: garante a rota a cada execu\u00e7\u00e3o.\r\n* **Via CLI (tempor\u00e1rio)**: funciona at\u00e9 reiniciar o PC.\r\n* **Via CLI (persistente)**: fica registrado no Windows e vale para todos os programas.\r\n\r\n---\r\n\r\n## \ud83d\udcd6 Observa\u00e7\u00f5es importantes\r\n\r\n* Requer execu\u00e7\u00e3o em Windows.\r\n* Para rotas persistentes, o PowerShell precisa estar aberto como **Administrador**.\r\n* Expor o host `10.100.62.20` ou o gateway **n\u00e3o representa risco de seguran\u00e7a**, pois s\u00e3o endere\u00e7os de rede interna (n\u00e3o rote\u00e1veis na internet).\r\n\r\n---\r\n\r\n## \ud83d\udc68\u200d\ud83d\udcbb Autor\r\n\r\n* **Valfrido Novais**\r\n  PMMG \u00b7 MMPG NOVAIS\r\n\r\nReposit\u00f3rio: [github.com/ValfridoNovais/mmpg-rout](https://github.com/ValfridoNovais/mmpg-rout)\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/ValfridoNovais/mmpg-rout",
        "Issues": "https://github.com/ValfridoNovais/mmpg-rout/issues",
        "Repository": "https://github.com/ValfridoNovais/mmpg-rout"
    },
    "split_keywords": [
        "route",
        " windows",
        " gateway",
        " networking",
        " impala",
        " bisp",
        " pmmg"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ceb69fe481ff1934bbe35e553e976cec19a25642af20546d683c22a06f50d1b0",
                "md5": "0b3853150451b86e866cea3296ac9457",
                "sha256": "4b76557a6c8eeedeade9b5ee328dca9c3a284857cf9063d7c26b98be7c16a6d2"
            },
            "downloads": -1,
            "filename": "mmpg_rout-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0b3853150451b86e866cea3296ac9457",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4306,
            "upload_time": "2025-09-03T20:49:27",
            "upload_time_iso_8601": "2025-09-03T20:49:27.882946Z",
            "url": "https://files.pythonhosted.org/packages/ce/b6/9fe481ff1934bbe35e553e976cec19a25642af20546d683c22a06f50d1b0/mmpg_rout-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "04b328216f8d71e1b8cfe939b06fdc0850aec4358078861d665f453e254302c9",
                "md5": "42cd6252619a7d3f0083a859ee86fb0d",
                "sha256": "a446a42b9c5fbc70984eed0a2d8288e66442be63ef073d8017896b3ebd904a0c"
            },
            "downloads": -1,
            "filename": "mmpg_rout-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "42cd6252619a7d3f0083a859ee86fb0d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4272,
            "upload_time": "2025-09-03T20:49:28",
            "upload_time_iso_8601": "2025-09-03T20:49:28.942649Z",
            "url": "https://files.pythonhosted.org/packages/04/b3/28216f8d71e1b8cfe939b06fdc0850aec4358078861d665f453e254302c9/mmpg_rout-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-03 20:49:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ValfridoNovais",
    "github_project": "mmpg-rout",
    "github_not_found": true,
    "lcname": "mmpg-rout"
}
        
Elapsed time: 0.75460s