Commit Graph

245 Commits

Author SHA1 Message Date
Alexander Bersenev
51b2482dec support domains which send several tls records, but print warning 2023-02-27 00:40:25 +05:00
Alexander Bersenev
a978eae922 ignore all new rpc calls instead of closing connection 2023-02-20 14:37:16 +05:00
Alexander Bersenev
88c8c57a44 add handling of some unknown new rpc 2023-02-17 20:16:52 +05:00
Alexander Bersenev
b26873176a compat with python3.10 2022-05-09 00:00:14 +05:00
Alexander Bersenev
6e8e8b63b2 add check if returned ipv6 address is correct 2021-03-02 17:04:54 +05:00
Erfan
0283d6264a set the home domain instead of IP (#231)
* set the home domain

set the home domain for the proxy, has an influence only on the log message

* fixed a bug
2020-08-09 13:51:43 +05:00
Allineer
18a80e52cd metrics: broken pipe fix (#210)
I think, this fixes my issue #208.
2020-03-29 22:18:33 +05:00
Alexander Bersenev
37d570f8dc handle unknown ips, e.g. from unix sockets 2020-03-05 13:55:10 +05:00
Alexander Bersenev
8f48e9ef65 fix the missing constant 2020-02-27 19:17:15 +05:00
Alexander Bersenev
76bc2253eb small code style fixes 2020-02-25 20:41:08 +05:00
Alexander Bersenev
07bd9b795a handle bad secrets in configs 2020-02-25 02:41:49 +05:00
Alexander Bersenev
1cad031947 make dataflow functions top level functions for better speed and memory consumption 2020-02-23 03:03:15 +05:00
Alexander Bersenev
923dac842b handle broken pipe error 2020-02-17 12:18:13 +05:00
Alexander Bersenev
1a63fdae11 add an option to ignore time skew 2020-02-15 17:12:15 +05:00
Alexander Bersenev
c7b6dcf3c2 save the utilitary task as a variable to prevent early garbage collecting 2020-02-14 18:58:25 +05:00
Alexander Bersenev
a95b1ec3c1 fix typo 2020-02-13 18:21:09 +05:00
Alexander Bersenev
49bc5d1f3b get rid of "socket.send() raised exception" messages 2020-02-13 18:14:37 +05:00
Alexander Bersenev
8b26cc843d catch IncompleteReadError while handling a bad client 2020-02-13 14:22:32 +05:00
Alexander Bersenev
c48cacce83 add statisctics about up/down traffic 2020-02-12 16:28:18 +05:00
Alexander Bersenev
2bb0ef0b1f simplify initialization and stats 2020-02-12 15:41:05 +05:00
Alexander Bersenev
f5ee5db86f use asyncio.all_tasks on new pythons 2020-02-11 19:10:43 +05:00
Alexander Bersenev
66ac871a74 remove the hackish logic against replay attacks because it stopped to work with new android clients
see https://github.com/alexbers/mtprotoproxy/issues/183
2020-01-16 19:05:18 +05:00
Alexander Bersenev
93ad268d48 add ip logging 2019-11-29 17:30:10 +05:00
Alexander Bersenev
d41b4abf35 MODES option instead of SECURE_ONLY and TLS_ONLY 2019-11-22 02:05:05 +05:00
Alexander Bersenev
7f19b3f78d more secure defaul settings 2019-11-19 05:22:49 +05:00
Alexander Bersenev
0549fd7200 increase the connection pool size 2019-11-19 05:00:53 +05:00
Alexander Bersenev
fd75ca3cf9 remove loop argument from create server for compatibility with Python 3.8 2019-11-14 02:43:10 +05:00
Alexander Bersenev
522b0cfe75 move more logic to pooled connection 2019-11-13 02:56:05 +05:00
Alexander Bersenev
4a4d449a34 init pooled connections to save one more round trip time 2019-11-13 02:31:51 +05:00
Alexander Bersenev
8c15fc8fe0 use socket from pool in the creation order 2019-11-12 04:31:47 +05:00
Alexander Bersenev
e436792992 introduce connection pool to reduce pings 2019-11-12 03:53:10 +05:00
K900
07759f67cb Fix running on Python 3.8 (#161)
3.8 removes the asyncio.streams re-export of `IncompleteReadError`, so just access it directly from `asyncio`, like everywhere else in the code already does.
2019-11-11 16:04:14 +05:00
Alexander Bersenev
f525cc9611 more strict validation of tls domain 2019-10-30 22:27:46 +05:00
dasmfm
c010543889 Prefix for Prometheus metrics (#151)
Added default prefix for Prometheus metrics.
2019-10-09 14:35:02 +05:00
Alexander Bersenev
027ee2713b use tls-only mode in the default config 2019-10-08 14:44:09 +05:00
Alexander Bersenev
3c4c92cdb2 adjust stats duration bucket sizes 2019-10-08 14:42:03 +05:00
Alexander Bersenev
3ef826cd6b more logical name for connection duration 2019-09-21 23:55:53 +05:00
Alexander Bersenev
9ec1e543bd expose the length of connections as metrics 2019-09-21 23:17:00 +05:00
Alexander Bersenev
fae04ed3c7 do not export proxy links by default 2019-09-20 18:57:37 +05:00
Alexander Bersenev
25685f370c reword the link desc 2019-09-20 18:10:37 +05:00
Alexander Bersenev
1feb8e5fc7 export proxy links as metrics 2019-09-20 17:52:30 +05:00
Alexander Bersenev
5e488203a2 check for socks mode before importing uvloop 2019-09-20 17:26:30 +05:00
Alexander Bersenev
94fd98a1fb correct spelling 2019-09-20 17:19:33 +05:00
Alexander Bersenev
4c5b0803fa add upstream socks proxy consistency checks 2019-09-20 17:17:16 +05:00
Alexander Bersenev
8fa8aabc8e ability to specify socks user and pass 2019-09-20 16:13:06 +05:00
Alexander Bersenev
f2fbaa923b refactor upstream proxy handling 2019-09-20 16:06:59 +05:00
Alexander Bersenev
79eaabdd23 move socks handling in the config parsing 2019-09-20 15:40:33 +05:00
Alexander Bersenev
23c7b0d53b make the socks module optional 2019-09-20 15:38:18 +05:00
pasha-zzz
516600a32d Add support for upstream SOCKS5 proxy (#143) 2019-09-20 15:28:29 +05:00
Alexander Bersenev
5fcd1c0158 change metrics pushes to pulls 2019-09-19 02:27:57 +05:00