Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
erlang
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
erlang
Commits
42eb63f2
Unverified
Commit
42eb63f2
authored
Aug 08, 2019
by
Sergey Prokhorov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
README fixed and updated
parent
d5d8b0d9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
11 deletions
+19
-11
README.md
README.md
+19
-11
No files found.
README.md
View file @
42eb63f2
...
...
@@ -18,7 +18,7 @@ Features
*
Protection from
[
replay attacks
](
https://habr.com/ru/post/452144/
)
used to detect proxies in some countries
*
Automatic telegram configuration reload (no need for restarts once per day)
*
Most of the configuration options can be updated without service restart
*
Small codebase compared to official one
*
Small codebase compared to official one
, code is covered by automated tests
*
A lots of metrics could be exported (optional)
How to start - docker
...
...
@@ -36,7 +36,7 @@ docker run -d --network=host seriyps/mtproto-proxy
docker run
-d
--network
=
host seriyps/mtproto-proxy
-p
443
-s
d0d6e111bada5511fcce9584deadbeef
-t
dcbe8f1493fa4cd9ab300891c0b5b326
```
or via environmet variables
or via environme
n
t variables
```
bash
docker run
-d
--network
=
host
-e
MTP_PORT
=
443
-e
MTP_SECRET
=
d0d6e111bada5511fcce9584deadbeef
-e
MTP_TAG
=
dcbe8f1493fa4cd9ab300891c0b5b326 seriyps/mtproto-proxy
...
...
@@ -64,6 +64,8 @@ your server's OS (see below).
How to start OS-install - quick
-----------------------------------
You need at least Erlang version 20! Recommended OS is Ubuntu 18.04.
```
bash
sudo
apt
install
erlang-nox erlang-dev build-essential
git clone https://github.com/seriyps/mtproto_proxy.git
...
...
@@ -159,15 +161,15 @@ Logs can be found at
Settings
--------
All
possible documa
nted configuration options could be found
in
`src/mtproto_proxy.app.src`
. Do not edit this file!
All
available docume
nted configuration options could be found
in
[
src/mtproto_proxy.app.src
](
src/mtproto_proxy.app.src
)
. Do not edit this file!
To change configuration, edit
`config/prod-sys.config`
:
Comments in this file start
from
`%%`
.
Comments in this file start
with
`%%`
.
Default port is 1443 and default secret is
`d0d6e111bada5511fcce9584deadbeef`
.
Secret key and proxy URL will be printed on start.
Secret key and proxy URL
s
will be printed on start.
The easiest way to update config right now is to edit
`config/prod-sys.config`
and then re-install proxy by
...
...
@@ -186,7 +188,6 @@ To change default settings, change `mtproto_proxy` section of `prod-sys.config`
```
erlang
{
mtproto_proxy
,
%% see src/mtproto_proxy.app.src for examples.
%% DO NOT EDIT src/mtproto_proxy.app.src!!!
[
{
ports
,
[
#
{
name
=>
mtp_handler1
,
...
...
@@ -210,7 +211,6 @@ To do so, just add more configs to `ports` section, separated by comma, eg:
```
erlang
{
mtproto_proxy
,
%% see src/mtproto_proxy.app.src for examples.
%% DO NOT EDIT src/mtproto_proxy.app.src!!!
[
{
ports
,
[
#
{
name
=>
mtp_handler_1
,
...
...
@@ -253,19 +253,20 @@ If your server have low amount of RAM, try to set
```
erlang
{
upstream_socket_buffer_size
,
5120
},
{
downstream_socket_buffer_size
,
51200
},
{
replay_check
s_enabled
,
[]
},
{
replay_check
_session_storage
,
off
},
```
this may make proxy slower, it can start
consume
more CPU, will be vulnerable to replay attacks,
this may make proxy slower, it can start
to consume bit
more CPU, will be vulnerable to replay attacks,
but will use less RAM.
If your server have lots of RAM, you can make it faster (users will get higher uppload/download speed),
it will use less CPU and will be better protected from replay attacks, but will use more RAM:
```
erlang
{
max_connections
,
128000
},
{
upstream_socket_buffer_size
,
20480
},
{
downstream_socket_buffer_size
,
512000
},
{
replay_check
s_enabled
,
[
mtp_session_storage
]
},
{
replay_check
_session_storage
,
on
},
{
replay_check_session_storage_opts
,
#
{
max_memory_mb
=>
2048
,
max_age_minutes
=>
1440
}},
...
...
@@ -281,6 +282,13 @@ sudo sysctl 'net.ipv4.tcp_mem=179200 256000 384000'
Values for
`tcp_mem`
are in pages. Size of one page can be found by
`getconf PAGESIZE`
and is most
likely 4kb.
If you have installed proxy via Docker or use some NAT firewall settings, you may want to increase
netfilter conntrack limits to be at least the max number of connections you expect:
```
sudo sysctl net.netfilter.nf_conntrack_max=128000
```
Helpers
-------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment