Learn how to route Python SFTP file transfers through a QuotaGuard Static IP using Paramiko and QGTunnel.
# install required pip
pip install paramiko
# install QGTunnel
curl https://s3.amazonaws.com/quotaguard/qgtunnel-latest.tar.gz | tar xzQUOTAGUARDSTATIC_URL=... bin/qgtunnel python app.pyBe sure to set QUOTAGUARDSTATIC_URL to your proxy URL from the QuotaGuard Dashboard. Either the HTTP or the SOCKS URL will work because the QGTunnel program will convert to the right port number.
docker build -t qg-static-python-sftp-paramiko-example .
docker run -e QUOTAGUARDSTATIC_URL=... qg-static-python-sftp-paramiko-example#/usr/bin/env python
import paramiko
if __name__ == '__main__':
tport = paramiko.Transport(('test.rebex.net',2222))
tport.connect(username='demo',password='password')
sftp = paramiko.SFTPClient.from_transport(tport)
sftp.get('readme.txt','readme.txt')
sftp.close()
tport.close()
FROM python:latest
#install paramiko
RUN pip install -U pip && \
pip install paramiko
WORKDIR /app
#install qgtunnel
RUN curl https://s3.amazonaws.com/quotaguard/qgtunnel-latest.tar.gz | tar xz
ENV QGTUNNEL_DEBUG true
COPY .qgtunnel .qgtunnel
COPY app.py app.py
COPY .run.sh .run.sh
ENTRYPOINT [ "/bin/bash", "/app/.run.sh" ]