2013-05-27 25 views
5

Tôi đã viết hai (2.x) script Python để thực hiện những điều sau:script Python trên DD-WRT Router nhúng

  1. Tuỳ chỉnh Proxy server (nhập khẩu optparse, ConfigParser, TLDextract, SocketServer ...)
  2. quản trị web cho proxy (nhập khẩu flask, ConfigParser, netifaces ...)

Những đều hiện đang chạy trên một pi Raspberry (Raspian), tuy nhiên tôi đang tìm kiếm một số lời khuyên về một số tùy chọn về cách làm cho chúng chạy trên một bộ định tuyến DDWRT (v24).

Suy nghĩ của tôi là một trong hai:

  1. Cài đặt python và thư viện cần thiết trên DDWRT. Trong khi tôi đã tìm thấy một số bằng chứng rằng python có thể được cài đặt thông qua ipkg (trên lưu trữ USB) tôi không rõ làm thế nào để có được các thư viện nhập khẩu cần thiết được cài đặt quá?

  2. Tạo nhị phân độc lập với python (ví dụ: PyInstaller) để chạy trên DDWRT. Tôi đã do dự đi xuống con đường này như tôi tưởng tượng rằng tôi cần phải thực hiện nhiệm vụ trên một DDWRT chạy Python (tức là trở lại suy nghĩ 1), và cũng như thế nào nó sẽ xử lý các thư viện nhập khẩu?

  3. Tương tự như điểm 1: Biên dịch hình ảnh OpenWRT tùy chỉnh bao gồm tất cả các gói Python yêu cầu. Điều này có vẻ giống như một công việc phức tạp.

Đánh giá cao bất kỳ lời khuyên nào bạn có thể có.

Trả lời

1

Bạn sẽ cần phải sử dụng phần mềm tối ưu để nhận các gói và cài đặt chúng vào bộ định tuyến của mình. Có một hướng dẫn rất tốt trên DD-WRT website. Thông qua optware bạn có thể cài đặt các gói python khác nhau. Hãy nhớ rằng chạy bình và một máy chủ proxy trên một bộ định tuyến DDWRT với một số lượng hạn chế bộ nhớ có thể không phải là ý tưởng tốt nhất.

+0

Đồng ý về mối quan tâm về hiệu suất, tuy nhiên, hãy thử dùng thử. Đối với các gói python tôi đã cài đặt truyền thống thông qua pip, và không nhìn thấy chúng cũng như pip như các gói có sẵn cho DD/OpenWRT - bất kỳ suy nghĩ nào tốt nhất để có được những thứ như ConfigParser được cài đặt? – MrDB

+1

Bạn có thể cần phải thực hiện thủ công sau đó. Cá nhân tôi chỉ nhận được các gói phần mềm và sử dụng nó như là một thư viện địa phương trong dự án của bạn hơn là cài đặt nó. –