From ae618ea4786e7eb4cbac6bc317f6b0e2b8513bbc Mon Sep 17 00:00:00 2001 From: Sergey Prokhorov Date: Mon, 26 Aug 2019 20:12:24 +0200 Subject: [PATCH] Use ipv4 when querying IP lookup service Also, replace broken IP lookup service with some others --- src/mtp_config.erl | 4 +++- src/mtproto_proxy.app.src | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mtp_config.erl b/src/mtp_config.erl index fcbb4a7..b33f552 100644 --- a/src/mtp_config.erl +++ b/src/mtp_config.erl @@ -261,8 +261,10 @@ http_get(Url) -> {ok, Vsn} = application:get_key(mtproto_proxy, vsn), UserAgent = "MTProtoProxy/" ++ Vsn ++ " (+https://github.com/seriyps/mtproto_proxy)", Headers = [{"User-Agent", UserAgent}], + %% XXX: ipfamily only works on OTP >= 20.3.4; see OTP 2dc08b47e6a5ea759781479593c55bb5776cd828 {ok, {{_, 200, _}, _, Body}} = - httpc:request(get, {Url, Headers}, [{timeout, 3000}], []), + httpc:request(get, {Url, Headers}, [{timeout, 3000}], + [{socket_opts, [{ipfamily, inet}]}]), {ok, Body}. random_choice(L) -> diff --git a/src/mtproto_proxy.app.src b/src/mtproto_proxy.app.src index 9f2f1cb..35d6fe4 100644 --- a/src/mtproto_proxy.app.src +++ b/src/mtproto_proxy.app.src @@ -31,8 +31,9 @@ %% 2nd one will be tried and so on {ip_lookup_services, ["http://ipv4.seriyps.ru/", - "https://digitalresistance.dog/myIp", - "http://ipv4.myexternalip.com/raw"]}, + "http://v4.ident.me/", + "http://ipv4.icanhazip.com/", + "https://digitalresistance.dog/myIp"]}, %% {external_ip, "YOUR.SERVER.EXTERNAL.IP"}, %% Interface to listen for incoming connections