2013-05-27 9 views
5

ich geschrieben habe zwei Python (2.x) Skripte folgendes auszuführen:Python-Skripte auf DD-WRT Embedded Router

  1. Benutzerdefinierte Proxy-Server (Importe optparse, ConfigParser, TLDextract, Socket ...)
  2. Web Admin für Proxy (Importe Flasche, ConfigParser, netifaces ...)

Diese werden sowohl zur Zeit auf einem Raspberry Pi (Raspian) ausgeführt wird, aber auf einige Optionen einige Ratschläge ich suche, wie man Holen Sie diese auf einem DDWRT-Router (v24).

Meine Gedanken sind entweder:

  1. Python installieren und benötigten Bibliotheken auf DDWRT. Während ich einige Beweise gefunden habe, dass Python über ipkg (auf USB-Speicher) installiert werden kann, ist mir nicht klar, wie man die erforderlichen importierten Bibliotheken auch installiert?

  2. Erstellen Sie eine Python-unabhängige Binärdatei (z. B. PyInstaller), die auf DDWRT ausgeführt wird. Ich zögere, diesen Weg zu gehen, da ich mir vorstelle, dass ich die Aufgabe an einem DDWRT ausführen müsste, auf dem Python läuft (d. H. Zurück zu Gedanken 1), und auch, wie es mit den importierten Bibliotheken umgehen würde.

  3. Ähnlich wie Punkt 1: Kompilieren Sie ein benutzerdefiniertes OpenWRT-Abbild, das alle erforderlichen Python-Pakete enthält. Dies scheint ein komplexes Stück Arbeit zu sein.

Schätzen Sie alle Ratschläge, die Sie haben können.

Antwort

1

Sie müssen Optware verwenden, um die Pakete zu erhalten und sie auf Ihrem Router zu installieren. Es gibt ein sehr gutes Tutorial über die DD-WRT website. Über Optware können Sie die verschiedenen Python-Pakete installieren. Beachten Sie, dass das Ausführen von flash und eines Proxyservers auf einem DDWRT-Router mit einer begrenzten Speichermenge möglicherweise nicht die beste Idee ist.

+0

Vereinbaren Sie die Performance-Bedenken, wollen Sie es aber versuchen. Für die Python-Pakete habe ich diese traditionell über pip installiert, sehe sie aber nicht als verfügbare Pakete für DD/OpenWRT - irgendwelche Gedanken, wie man am besten Dinge wie ConfigParser installiert? – MrDB

+1

Sie müssen es möglicherweise dann manuell tun. Persönlich würde ich nur das Paket und verwenden Sie es als lokale Bibliothek in Ihrem Projekt, anstatt es zu installieren. –