Skip to main content

Full-featured SSH tunnel & Cloudflare DNS management library and CLI

Project description

tunnelmate

🚀 پکیج جامع مدیریت تونل SSH + بروزرسانی خودکار Cloudflare (کتابخانه + CLI)

یک راهکار آسان و حرفه‌ای برای ایجاد، مدیریت و ریکانکت تونل‌های SSH همراه با ساخت اتوماتیک کلید، دریافت تنظیمات از فایل YAML/ENV/CLI و کار با API کلودفلر.


نصب

pip install .

استفاده به صورت ابزار خط فرمان (CLI)

tunnelmate \
  --remote-host example.com \
  --remote-port 2222 \
  --local-host localhost \
  --local-port 3000 \
  --remote-user root

اگر کلید SSH وجود نداشت خودش می‌سازد و public key را می‌دهد که روی سرور قرار بدهید!


استفاده به عنوان کتابخانه پایتون

from tunnelmate.core import SSHTunnel

tunnel = SSHTunnel(
    remote_host="example.com",
    remote_user="root",
    remote_port=2222,
    local_host="localhost",
    local_port=3000,
    key_path="/root/.ssh/id_ed25519"
)
tunnel.run_tunnel()

ویژگی‌ها

  • تولید خودکار کلید SSH اگر وجود نداشته باشد
  • ریکانکت خودکار در صورت قطع تونل
  • گرفتن پارامترها هم از CLI، هم YAML/ENV
  • API ساده برای Cloudflare (در cloudflare.py)
  • قابلیت سفارشی‌سازی و توسعه حرفه‌ای
  • مناسب اسکریپت‌ها و اتوماسیون DevOps

مثال بارگذاری کانفیگ از yaml

from tunnelmate.config import load_config

config = load_config("tunnels.yaml")
print(config)

بروزرسانی رکورد DNS کلودفلر

from tunnelmate.cloudflare import update_cname

resp = update_cname(zone_id, record_id, api_token, subdomain, target)
print(resp)

ساختار پوشه

ssh_tunneler/
  core.py         # هسته اجرای تونل SSH
  cli.py          # رابط خط فرمان
  config.py       # کانفیگ و لود خودکار از yaml/env
  cloudflare.py   # بروزرسانی رکورد کلودفل
  ssh_utils.py    # ابزار SSH (تولید کلید و ...)
  __init__.py
setup.py
README.md

👨🏻‍💻 توسعه‌دهنده: پارسا لکزیان
🤖 طراحی معماری: Tara AI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tunnelmate-1.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tunnelmate-1.0.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file tunnelmate-1.0.1.tar.gz.

File metadata

  • Download URL: tunnelmate-1.0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tunnelmate-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9fdff99841c1e15e0e8c375c24a7bb71965def1bcc40a8b88d29ae0672aa32a7
MD5 dc4f305333f2f4a13c3023fff8a0534c
BLAKE2b-256 f39b0da9253ddaa070ddb027080b329d88a88cbfefe558ea9430ae52955f500b

See more details on using hashes here.

File details

Details for the file tunnelmate-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: tunnelmate-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tunnelmate-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d9e09ec065614fe81e09f6c60ae32cf02eadce4f427237397ce9fb04ca340a5
MD5 3d46f8e4abbd804779f41c73327d57c7
BLAKE2b-256 3d59362b54889f6af40dcf415a3081716ba10c7ef70d5421a69084ce82a61799

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page