tribler.core.socks5.conversion ============================== .. py:module:: tribler.core.socks5.conversion Attributes ---------- .. autoapisummary:: tribler.core.socks5.conversion.SOCKS_VERSION tribler.core.socks5.conversion.SOCKS_AUTH_ANON tribler.core.socks5.conversion.SOCKS_AUTH_PWD tribler.core.socks5.conversion.ADDRESS_TYPE_IPV4 tribler.core.socks5.conversion.ADDRESS_TYPE_DOMAIN_NAME tribler.core.socks5.conversion.ADDRESS_TYPE_IPV6 tribler.core.socks5.conversion.REQ_CMD_CONNECT tribler.core.socks5.conversion.REQ_CMD_BIND tribler.core.socks5.conversion.REQ_CMD_UDP_ASSOCIATE tribler.core.socks5.conversion.REP_SUCCEEDED tribler.core.socks5.conversion.REP_GENERAL_SOCKS_SERVER_FAIL tribler.core.socks5.conversion.REP_CONNECTION_NOT_ALLOWED_BY_RULE_SET tribler.core.socks5.conversion.REP_NETWORK_UNREACHABLE tribler.core.socks5.conversion.REP_HOST_UNREACHABLE tribler.core.socks5.conversion.REP_CONNECTION_REFUSED tribler.core.socks5.conversion.REP_TTL_EXPIRED tribler.core.socks5.conversion.REP_COMMAND_NOT_SUPPORTED tribler.core.socks5.conversion.REP_ADDRESS_TYPE_NOT_SUPPORTED tribler.core.socks5.conversion.logger tribler.core.socks5.conversion.socks5_serializer Exceptions ---------- .. autoapisummary:: tribler.core.socks5.conversion.InvalidAddressException tribler.core.socks5.conversion.IPv6AddressError Classes ------- .. autoapisummary:: tribler.core.socks5.conversion.MethodsRequest tribler.core.socks5.conversion.MethodsResponse tribler.core.socks5.conversion.CommandRequest tribler.core.socks5.conversion.CommandResponse tribler.core.socks5.conversion.UdpPacket tribler.core.socks5.conversion.Socks5Address Module Contents --------------- .. py:data:: SOCKS_VERSION :value: 5 .. py:data:: SOCKS_AUTH_ANON :value: 0 .. py:data:: SOCKS_AUTH_PWD :value: 1 .. py:data:: ADDRESS_TYPE_IPV4 :value: 1 .. py:data:: ADDRESS_TYPE_DOMAIN_NAME :value: 3 .. py:data:: ADDRESS_TYPE_IPV6 :value: 4 .. py:data:: REQ_CMD_CONNECT :value: 1 .. py:data:: REQ_CMD_BIND :value: 2 .. py:data:: REQ_CMD_UDP_ASSOCIATE :value: 3 .. py:data:: REP_SUCCEEDED :value: 0 .. py:data:: REP_GENERAL_SOCKS_SERVER_FAIL :value: 1 .. py:data:: REP_CONNECTION_NOT_ALLOWED_BY_RULE_SET :value: 2 .. py:data:: REP_NETWORK_UNREACHABLE :value: 3 .. py:data:: REP_HOST_UNREACHABLE :value: 4 .. py:data:: REP_CONNECTION_REFUSED :value: 5 .. py:data:: REP_TTL_EXPIRED :value: 6 .. py:data:: REP_COMMAND_NOT_SUPPORTED :value: 7 .. py:data:: REP_ADDRESS_TYPE_NOT_SUPPORTED :value: 8 .. py:data:: logger .. py:class:: MethodsRequest Bases: :py:obj:`ipv8.messaging.lazy_payload.VariablePayload` A request for supported methods. .. py:attribute:: names :value: ['version', 'methods'] .. py:attribute:: format_list :value: ['B', 'list_of_chars'] .. py:attribute:: version :type: int .. py:attribute:: methods :type: list[int] .. py:class:: MethodsResponse Bases: :py:obj:`ipv8.messaging.lazy_payload.VariablePayload` A response for supported methods. .. py:attribute:: names :value: ['version', 'method'] .. py:attribute:: format_list :value: ['B', 'B'] .. py:attribute:: version :type: int .. py:attribute:: method :type: int .. py:class:: CommandRequest Bases: :py:obj:`ipv8.messaging.lazy_payload.VariablePayload` A request for commands to be executed. .. py:attribute:: names :value: ['version', 'cmd', 'rsv', 'destination'] .. py:attribute:: format_list :value: ['B', 'B', 'B', 'socks5_address'] .. py:attribute:: version :type: int .. py:attribute:: cmd :type: int .. py:attribute:: rsv :type: int .. py:attribute:: destination :type: ipv8.messaging.interfaces.udp.endpoint.DomainAddress | ipv8.messaging.interfaces.udp.endpoint.UDPv4Address .. py:class:: CommandResponse Bases: :py:obj:`ipv8.messaging.lazy_payload.VariablePayload` A reply to share the result of (an attempt at) executing a command. .. py:attribute:: names :value: ['version', 'reply', 'rsv', 'bind'] .. py:attribute:: format_list :value: ['B', 'B', 'B', 'socks5_address'] .. py:attribute:: version :type: int .. py:attribute:: reply :type: int .. py:attribute:: rsv :type: int .. py:attribute:: bind :type: ipv8.messaging.interfaces.udp.endpoint.DomainAddress | ipv8.messaging.interfaces.udp.endpoint.UDPv4Address .. py:class:: UdpPacket Bases: :py:obj:`ipv8.messaging.lazy_payload.VariablePayload` A general wrapper for UDP packets. .. py:attribute:: names :value: ['rsv', 'frag', 'destination', 'data'] .. py:attribute:: format_list :value: ['H', 'B', 'socks5_address', 'raw'] .. py:attribute:: rsv :type: int .. py:attribute:: frag :type: int .. py:attribute:: destination :type: ipv8.messaging.interfaces.udp.endpoint.DomainAddress | ipv8.messaging.interfaces.udp.endpoint.UDPv4Address .. py:attribute:: data :type: bytes .. py:class:: Socks5Address Bases: :py:obj:`ipv8.messaging.serialization.Packer`\ [\ :py:obj:`ipv8.messaging.interfaces.udp.endpoint.DomainAddress | tuple`\ , :py:obj:`Any`\ ] A socks5 address data packer. .. py:method:: pack(data: ipv8.messaging.interfaces.udp.endpoint.DomainAddress | tuple) -> bytes Pack the given data. :raises InvalidAddressException: if the data could not be packed. .. py:method:: unpack(data: bytes, offset: int, unpack_list: list, *args: Any) -> int Unpack the given bytes to an address. .. py:exception:: InvalidAddressException Bases: :py:obj:`Exception` An address could not be packed or unpacked. .. py:exception:: IPv6AddressError Bases: :py:obj:`NotImplementedError` An attempt was made to unpack an IPv6 address. .. py:method:: __str__() -> str Get the textual representation of this error. .. py:data:: socks5_serializer