Alexander Bersenev
|
0614c35020
|
implement read timeout, if server sends nothing for 1 min, connection drops
|
2026-02-18 02:37:36 +05:00 |
|
Alexander Bersenev
|
368669a546
|
don't prefer ipv6 if using middle proxies, they are unstable
|
2026-02-18 02:10:55 +05:00 |
|
Alexander Bersenev
|
949ee12ed2
|
use utc timezone when getting the server time
|
2026-02-18 01:30:46 +05:00 |
|
Alexander Bersenev
|
1f7ce9e977
|
fix typos
|
2026-02-18 00:04:07 +05:00 |
|
Alexander Bersenev
|
8920faf650
|
better handling for server-side socket closing in connection pool
|
2026-02-17 21:14:42 +05:00 |
|
Alexander Bersenev
|
34f743858c
|
fix small bugs
|
2026-02-10 16:49:20 +05:00 |
|
Alexander Bersenev
|
375fee1535
|
update default proxy addresses
|
2025-11-18 04:27:47 +05:00 |
|
Alexander Bersenev
|
e0ea17978c
|
update client hello handling for newer tg clients
|
2025-11-18 03:46:19 +05:00 |
|
Alexander Bersenev
|
bc841cff48
|
change middle proxy default port from 80 to 8888
|
2024-11-12 01:08:57 +05:00 |
|
Alexander Bersenev
|
c89479000f
|
change ip of default second middle proxy server, it was updated on the telegram side
|
2024-09-21 02:51:18 +05:00 |
|
Alexander Bersenev
|
51b2482dec
|
support domains which send several tls records, but print warning
|
2023-02-27 00:40:25 +05:00 |
|
Alexander Bersenev
|
87f4370927
|
update ubuntu version in docker
|
2023-02-20 14:45:21 +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
|
446682521b
|
use newer Ubuntu and Python in Dockerfile
|
2022-05-09 00:05:24 +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 |
|
Alexander Bersenev
|
6076db9f8c
|
add certificates to Dockerfile
|
2020-06-17 15:45:47 +05:00 |
|
Alexander Bersenev
|
6560a6c1d2
|
use new ubuntu 20.04 as base image
|
2020-04-28 16:20:33 +05:00 |
|
Alexander Bersenev
|
ea3b8a44c3
|
restrict the logs size with 100MB
|
2020-03-17 03:11:13 +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
|
c2414c3487
|
simplify dockerfile
|
2020-02-13 15:08:01 +05:00 |
|
Alexander Bersenev
|
8b26cc843d
|
catch IncompleteReadError while handling a bad client
|
2020-02-13 14:22:32 +05:00 |
|
Alexander Bersenev
|
639dea5e8d
|
use debian image by default
|
2020-02-13 04:13:49 +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
|
c5344df0eb
|
Add wiki links to readme
|
2019-12-14 14:55:10 +05:00 |
|
Alexander Bersenev
|
93ad268d48
|
add ip logging
|
2019-11-29 17:30:10 +05:00 |
|
Alexander Bersenev
|
1c29465b6e
|
change comment in config
|
2019-11-22 02:11:41 +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 |
|
Alexander Bersenev
|
f525cc9611
|
more strict validation of tls domain
|
2019-10-30 22:27:46 +05:00 |
|
Alexander Bersenev
|
0a41479054
|
add copy instruction to docker-compose
|
2019-10-09 01:56:48 +05:00 |
|
Alexander Bersenev
|
5f206361f2
|
revert the last commit
|
2019-10-09 01:56:06 +05:00 |
|
Alexander Bersenev
|
6980bfd3be
|
add copy instruction to docker-compose
|
2019-10-09 01:52:09 +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 |
|
Alexander Bersenev
|
5fcd1c0158
|
change metrics pushes to pulls
|
2019-09-19 02:27:57 +05:00 |
|
Alexander Bersenev
|
781549f37f
|
update readme
|
2019-09-19 00:08:20 +05:00 |
|
Alexander Bersenev
|
dc1223fd90
|
add hanshake_timeout metric
|
2019-09-18 23:22:06 +05:00 |
|
Alexander Bersenev
|
0d52ae0bc7
|
rename metrics, add connects_all metric
|
2019-09-18 23:13:32 +05:00 |
|
Alexander Bersenev
|
2b1469985d
|
add an ability to export metrics to prometheus
|
2019-09-18 19:44:19 +05:00 |
|
Alexander Bersenev
|
4784491800
|
use only half of the digest as a key for used digest
|
2019-09-13 17:20:32 +05:00 |
|
Alexander Bersenev
|
7a2c6b9825
|
cast client port to int
|
2019-09-13 01:19:19 +05:00 |
|
Alexander Bersenev
|
37307a98fb
|
print replay attackers summary
|
2019-09-08 14:28:46 +05:00 |
|
Alexander Bersenev
|
02b39168c3
|
print the possible replay-attackers summary instead of every time
|
2019-09-08 14:12:06 +05:00 |
|
Alexander Bersenev
|
163e7b7cce
|
print a message about getting the cert
|
2019-09-08 03:12:19 +05:00 |
|
Alexander Bersenev
|
1ed13d9efa
|
get rid from annoying time skew messages, print summary instead
|
2019-09-08 02:01:23 +05:00 |
|
Alexander Bersenev
|
51c8d68271
|
disable the first bad packet heuristics if the tls-only mode activated, it has time-based protection instead
|
2019-09-08 01:09:44 +05:00 |
|
Alexander Bersenev
|
50cd74051f
|
add a message if uvloop is found
|
2019-08-30 16:05:08 +05:00 |
|
Alexander Bersenev
|
1d826866d1
|
print time skew message as one line
|
2019-08-26 17:00:34 +05:00 |
|
Alexander Bersenev
|
ff6b826e13
|
do not output canceled errors to get rid from scarry traceback on the proxy termination
|
2019-08-26 16:51:48 +05:00 |
|
Alexander Bersenev
|
3315ac1df6
|
add one more param into the undocummented mode of launch
|
2019-08-26 16:07:35 +05:00 |
|
Alexander Bersenev
|
4184875405
|
advice to use uvloop instead of PyPy interpreter. The uvloop gives a better speed and memory consumption
|
2019-08-25 03:05:45 +05:00 |
|
Alexander Bersenev
|
d34a15bca3
|
nicer exception printing
|
2019-08-23 23:55:26 +05:00 |
|
Alexander Bersenev
|
56bfab51d5
|
necer exception printing
|
2019-08-23 23:51:53 +05:00 |
|
Alexander Bersenev
|
4f8b1b16db
|
modify the workaround
|
2019-08-23 18:12:53 +05:00 |
|
Alexander Bersenev
|
27f5d249a7
|
add a workaround against the clients who send zero as their itimestamp
|
2019-08-23 17:19:03 +05:00 |
|
Alexander Bersenev
|
c51f6f85b8
|
correct the byte in the initial server hello
|
2019-08-23 05:24:18 +05:00 |
|
Alexander Bersenev
|
44a52bf958
|
remove the workaround
|
2019-08-23 02:19:21 +05:00 |
|
Alexander Bersenev
|
8520a26837
|
ability to disable replay protection
|
2019-08-23 01:59:53 +05:00 |
|
Alexander Bersenev
|
068996ab36
|
fix small typo
|
2019-08-23 01:45:54 +05:00 |
|
Alexander Bersenev
|
4faa96732f
|
workaround: the fifth telegram server doesn't answer on IPv6
|
2019-08-23 01:43:44 +05:00 |
|
Alexander Bersenev
|
bee0b3be6b
|
cache the ip address of mask host
|
2019-08-23 01:18:24 +05:00 |
|
Alexander Bersenev
|
09fec8ca99
|
Merge branch 'master' of github.com:alexbers/mtprotoproxy
|
2019-08-21 16:15:31 +05:00 |
|
Alexander Bersenev
|
25d76bee09
|
do not create the copy of cryptography adapter classes
|
2019-08-21 16:14:48 +05:00 |
|
Alexander Bersenev
|
a680b3e854
|
Update README.md
|
2019-08-21 03:06:20 +05:00 |
|
Alexander Bersenev
|
3fe87954a2
|
Update README.md
|
2019-08-21 02:50:34 +05:00 |
|
Alexander Bersenev
|
3fb3da139f
|
Update README.md
|
2019-08-21 02:05:57 +05:00 |
|
Alexander Bersenev
|
014e450e62
|
change readme
|
2019-08-21 02:03:55 +05:00 |
|
Alexander Bersenev
|
04491f8a6a
|
use hand-made random generator to make randoms more unpredictable
|
2019-08-20 01:58:19 +05:00 |
|