tproxy support for script cli args

Ouverte
#5 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
cli

Piste de recherche

Commencez par lire tproxy.app.run et tproxy.config, puis comparez-les avec le workaround dproxy.py et l’exemple transparent2.py dans l’issue. Suivez le cheminement des arguments jusqu’au script appelé et définissez comment les arguments supplémentaires doivent être transmis et consultés sans nécessiter argparse. La tâche est terminée lorsqu’un script appelé peut recevoir et utiliser des arguments supplémentaires de la ligne de commande via tproxy.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

extend tproxy such that command line arguments can be passed all the way to the called script.

Current workaround:

assume the following command line (notice the extra --remote argument):

$ dproxy.py --daemon --log-file=MyLogFile.log --bind=127.0.0.1:5678 --remote=130.130.130.130:6789 transparent2.py

where dproxy.py replaces tproxy by supporting the --remote cli argument as follows:

from tproxy.app import run
from tproxy.config import *
import os

class RemoteAddress(Setting):
    name = "remote"
    section = "the address of the remote host"
    cli = ["-r", "--remote"]
    meta = "REMOTEADDRESS"
    default = "127.0.0.1:8080"
    validator = validate_string
    desc = """\
        address of remote host to connect to
        """
run() 

while transparent2.py would look as follows:

import argparse

# parse the arguments
parser          = argparse.ArgumentParser()
parser.add_argument('--remote',     dest='remote',      action='store', type=str, default=None)
args, remainder = parser.parse_known_args()

ip, port        = args.remote.split(':')

def proxy(data):
    return {'remote': (ip, int(port))}

although this approach works, it's still nicer if tproxy would provide support for extra cli arguments and possibly facilitate access to them without going through argparse in the called script.

Langage dominant
Python
Étoiles
269
Forks
33
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de benoitc/tproxy

Toutes les issues de benoitc/tproxy

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.