рдЗрд╕ рдиреЛрдЯ рдХреЗ рд╕рд╛рде рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 15-рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдп рдХрдИ рдШрдВрдЯреЛрдВ рддрдХ рдЦрд┐рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдПрдХ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдореЗрдВ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдиреЛрдЯреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ rassusolivat рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рдЧ рд░рд╣рд╛ рдерд╛ - Ctrl+C
рдФрд░ Ctrl+V
рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛: рдХрд╛рд░реНрдЯ рдореЗрдВ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдХрд╛рдлреА рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдФрд░ [text](http://example.com)
рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рд┐рдВрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдЪрд▓реЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
рд╣рд╛рдерд╛рдкрд╛рдИ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ
рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд▓рд┐рдВрдХ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╣реИрдВ - рдмрд▓реНрдХрд┐ рдЕрд╕реНрдкрд╖реНрдЯред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ , рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЯреЗрдмрд▓реЗрдЯ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдФрд░ рднреА рдЕрдзрд┐рдХ рддрдирд╛рд╡рдкреВрд░реНрдг рд╣реИред
, ? : . , .
xclip
, . :
text/plain
UTF8_STRING
STRING
TEXT
application/x-td-field-text
application/x-td-field-tags
, Firefox:
text/html
text/_moz_htmlcontext
text/_moz_htmlinfo
UTF8_STRING
COMPOUND_TEXT
TEXT
STRING
text/plain;charset=utf-8
text/plain
text/x-moz-url-priv
- Libre Office Writer:
application/x-openoffice-embed-source-xml;windows_formatname="Star Embed Source (XML)"
text/rtf
text/richtext
text/html
text/plain;charset=utf-16
application/x-openoffice-objectdescriptor-xml;windows_formatname="Star Object Descriptor (XML)";classname="8BC6B165-B1B2-4EDD-aa47-dae2ee689dd6";typename="LibreOffice 6.0 Text Document";viewaspect="1";width="16999";height="2995";posx="0";posy="0"
text/plain;charset=utf-8
UTF8_STRING
STRING
application/x-libreoffice-internal-id-5387
, , . , , . , -, , - , Qt , , - . 5 , - .
-, , . , , , . . .
, , . ? PyPI 31 "telegram". Telethon тАФ , , , , , , , MTProto .
, . , , , .
from telethon.sync import TelegramClient
import socks
api_id = 11111
api_hash = '...'
proxy=(socks.SOCKS4, '127.0.0.1', 9050)
with TelegramClient('anon', api_id, api_hash, proxy=proxy, timeout=60) as client:
print(client.get_me().stringify())
тАж - , . , HACKERMAN, . , .
We need to do deeper
, , Tor, :
$ curl -XGET httpbin.org/ip --socks5 localhost:9050
, тАФ . , , Telethon. ? PySocks. , -. , . ...
Traceback (most recent call last):
File "test.py", line 110, in <module>
print("HTTP: " + opener.open("http://httpbin.org/ip").read().decode())
File "/usr/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "test.py", line 94, in http_open
return self.do_open(build, req)
File "/usr/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/usr/lib/python3.6/http/client.py", line 1254, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1300, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1249, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1036, in _send_output
self.send(msg)
File "/usr/lib/python3.6/http/client.py", line 974, in send
self.connect()
File "test.py", line 55, in connect
((socket.IPPROTO_TCP, socket.TCP_NODELAY, 1),))
File "/usr/lib/python3/dist-packages/socks.py", line 200, in create_connection
proxy_username, proxy_password)
File "/usr/lib/python3/dist-packages/socks.py", line 322, in set_proxy
username.encode() if username else None,
AttributeError: 'int' object has no attribute 'encode'
тАж ? https , ! тАж 6 ? :(
15-20 - , тАФ , . -c , . : , .
, , , . ? , - Telethon? , , . -:
DEBUG:telethon.network.mtprotosender:Connection attempt 2...
WARNING:telethon.network.mtprotosender:Attempt 2 at connecting failed: ProxyConnectionError: Error connecting to SOCKS4 proxy 127.0.0.1:9050: [Errno 115] Operation now in progress
? EINPROGRESS
, connect. , , ( ) , . : Tor . , 10- , 5 , тАж
, , , , , -. тАФ Telethon. Telethon PySocks.
-
: -. тАФ , , . Telethon . : , . , , . : - Telethon.
, - , , : . , .
- s.setblocking(False)
+ s.settimeout(timeout)
, , , . , , PR.
, , ? - , , . , , , . - : , :
api_key
api_hash
, /, ? , Telethon тАФ . , ? , ? - ?
( ) Vault, , , тАж , , . . :
?)
...
тАж keyring. plain-text, , . .
, , тАФ , тАФ , , . 50 , 10, тАФ , . - .
, , - , . !