added http tunnel, socks proxy logics