Package Details: mtproxy-git 47.dc0c7f3-2

Git Clone URL: (read-only, click to copy)
Package Base: mtproxy-git
Description: Proxy server for Telegram messaging app
Upstream URL:
Licenses: GPLv2, LGPLv2
Submitter: None
Maintainer: legeana
Last Packager: legeana
Votes: 6
Popularity: 0.009269
First Submitted: 2018-05-31 12:40 (UTC)
Last Updated: 2020-07-08 11:07 (UTC)

Latest Comments

1 2 Next › Last »

shervinkh commented on 2020-07-07 23:27 (UTC)

The latest version does not compile with gcc-10. One needs to add "-fcommon" to CFLAGS and/or LDFLAGS in the Makefile in order to compile successfully.

Nebulosa commented on 2019-12-07 19:09 (UTC) (edited on 2019-12-07 19:09 (UTC) by Nebulosa)

Yep, that was my mistake. Thanks a lot!

legeana commented on 2019-12-04 22:53 (UTC) (edited on 2019-12-04 22:55 (UTC) by legeana)

Hi Nebulosa, the service files sets EnvironmentFile to /etc/mtproxy.conf, could you please take a look if you have every single variable present there? /etc/mtproxy.conf should look similar to:


Are you able to run it without service file?

$ /usr/bin/mtproto-proxy --port=XXX --http-ports=YYY --mtproto-secret=ZZZ --aes-pwd=/var/lib/mtproxy/secret.conf /var/lib/mtproxy/multi.conf

Do you have ipv6 enabled/disabled by any chance? Could it be somehow affecting the startup?

If the binary fails to run with just a command line (without systemd) you could also try to run it with strace, aka strace -f -s 100000 actual_command and see where it fails.

Nebulosa commented on 2019-12-03 18:27 (UTC) (edited on 2019-12-03 18:37 (UTC) by Nebulosa)

Smthg wrong with parameter substitution in mtproxy.service:

mtproxy.service - Telegram proxy server

Loaded: loaded (/usr/lib/systemd/system/mtproxy.service; disabled; vendor preset: disabled)

Active: failed (Result: exit-code)

Process: 29148 ExecStart=/usr/bin/mtproto-proxy --user=${USER} --port=${STATS_PORT} --http-ports=${CLIENT_PORT} --mtproto-secret=${SECRET} --aes-pwd=/var/lib/mtproxy/secret.conf $ARGS /var/lib/mtproxy/multi.conf (code=exited, status=2)

Main PID: 29148 (code=exited, status=2)

systemd[1]: mtproxy.service: Service RestartSec=100ms expired, scheduling restart.

systemd[1]: mtproxy.service: Scheduled restart job, restart counter is at 3.

systemd[1]: Stopped Telegram proxy server.

systemd[1]: mtproxy.service: Start request repeated too quickly.

systemd[1]: mtproxy.service: Failed with result 'exit-code'.

systemd[1]: Failed to start Telegram proxy server.

legeana commented on 2019-11-18 22:05 (UTC)

Unfortunately it's too too late to fix that :)

dronskii commented on 2019-11-18 22:02 (UTC)

Sorry, shouldn't have been so hasty to upload my patch. Thanks for making it better. BTW the commit message should've been "removed pid is 16 bit assertion" - i miswrote...

legeana commented on 2019-11-18 13:17 (UTC) (edited on 2019-11-18 13:17 (UTC) by legeana)

Hi Yaroslav, thank you for the patch. I've mostly applied the patch you crafted with the exception of few details.

  1. The group base-devel is assumed to be already installed when building with makepkg. Members of this group should not be included in makedepends array.

  2. try-restart instead of restart in order to avoid bringing the service up if it is not already running.

  3. ExecStartPost instead of ExecStart to emphasize the post-update nature of the command.

dronskii commented on 2019-11-15 10:59 (UTC) (edited on 2019-11-15 13:12 (UTC) by dronskii)

Patched for newer systemd: removed 32-bit pid assertion, also restart proxy after config update. Also put Restart=on-failure in mtproxy.service: stats are borked in ipv6 mode, some assertions need fixing... Also added makedepends: not everybody has make/patch installed :-)

commit 68644e06ef88a0294151a4e63a6e11c37c242943 (HEAD -> master)
Author: Yaroslav Dronskiy <>
Date:   Fri Nov 15 13:49:11 2019 +0300

    Restart mtproxy after config update + remove 'pid is 32 bit' assertion

diff --git a/PKGBUILD b/PKGBUILD
index 8065417..da27a4a 100644
@@ -15,26 +15,29 @@
 # Maintainer: Aleksey Filippov <>

 pkgdesc="Proxy server for Telegram messaging app"
 arch=('i686' 'x86_64')
 license=('GPLv2' 'LGPLv2')
 depends=('curl' 'zlib')
+makedepends=('make' 'patch')
+    pid_assertion.patch
-         '6ceb39b6a8462bc21c0940fd6ca5650e'
+         '4a7fb1d2c7cd60563d13949dddd7f694'
-         'c08b4b281c1e8c8587b04743f70cff0d')
+         '1ee66acee6c42aca9160b9ccfe534bc3'
+         '50233354ac78d52280a93092b809f7aa')

 pkgver() {
@@ -42,6 +45,11 @@ pkgver() {
   echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)

+prepare() {
+    cd "$srcdir/$pkgname"
+    patch --forward --strip=1 --input="${srcdir}/pid_assertion.patch"
 build() {
   cd "$srcdir/$pkgname"
   make $MFLAGS
diff --git a/mtproxy-config.service b/mtproxy-config.service
index 7ec0135..1412e28 100644
--- a/mtproxy-config.service
+++ b/mtproxy-config.service
@@ -7,4 +7,5 @@
 ExecStart=/usr/bin/curl -s -o /var/lib/mtproxy/multi.conf
 ExecStart=/usr/bin/curl -s -o /var/lib/mtproxy/secret.conf
+ExecStart=/usr/bin/systemctl restart mtproxy.service
diff --git a/mtproxy.service b/mtproxy.service
index d91010d..3934b41 100644
--- a/mtproxy.service
+++ b/mtproxy.service
@@ -7,6 +7,7 @@
 ExecStart=/usr/bin/mtproto-proxy \
     --user=${USER} \
     --port=${STATS_PORT} \
diff --git a/pid_assertion.patch b/pid_assertion.patch
new file mode 100644
index 0000000..1e55b67
--- /dev/null
+++ b/pid_assertion.patch
@@ -0,0 +1,12 @@
+diff --git a/common/pid.c b/common/pid.c
+index 7bd4b8d..8904cc7 100644
+--- a/common/pid.c
++++ b/common/pid.c
+@@ -39,7 +39,6 @@ npid_t PID;
+ void init_common_PID (void) {
+   if (! {
+     int p = getpid ();
+-    assert (!(p & 0xffff0000));
+ = p;
+   }
+   if (!PID.utime) {

<deleted-account> commented on 2018-06-06 10:23 (UTC)

Good catch, thank you.

levitsky commented on 2018-06-06 10:11 (UTC) (edited on 2018-06-06 10:13 (UTC) by levitsky)

The main service fails to start on boot with a dependency error on my VPS:

systemd[1]: Dependency failed for Telegram proxy server.
systemd[1]: mtproxy.service: Job mtproxy.service/start failed with result 'dependency'

The failed dependency is actually mtproxy-config.service, which fails when called because the network is still not configured:

systemd[1]: Starting Updates Telegram configuration...
systemd[1]: mtproxy-config.service: Main process exited, code=exited, status=6/NOTCONFIGURED
systemd[1]: mtproxy-config.service: Failed with result 'exit-code'.
systemd[1]: Failed to start Updates Telegram configuration.

I fixed this by adding

in the mtproxy-config.service file.