diff -uNr apt-2.1.18/methods/http.cc apt-2.1.18.mod/methods/http.cc
--- apt-2.1.18/methods/http.cc	2021-01-13 18:37:30.000000000 +0200
+++ apt-2.1.18.mod/methods/http.cc	2021-02-03 22:06:04.242782879 +0200
@@ -341,7 +341,26 @@
       Req << "Proxy-Authorization: Basic "
 	  << Base64Encode(Proxy.User + ":" + Proxy.Password) << "\r\n";
 
-   Req << "User-Agent: " << Owner->ConfigFind("User-Agent", "Debian APT-HTTP/1.3 (" PACKAGE_VERSION ")") << "\r\n";
+   // Determine the actual installation prefix to send as part of user-agent string.
+   // Mirrors can use this information to distinguish legit Termux installations from
+   // third parties using Termux repositories.
+   char binPath[PATH_MAX] = {0};
+   ssize_t binPathLen = readlink("/proc/self/exe", binPath, sizeof(binPath)-1);
+   if (binPathLen != -1) {
+      binPath[binPathLen] = '\0';
+
+      char *aptMethodsSub = strstr(binPath, "/lib/apt/methods");
+      if (aptMethodsSub) {
+         // Cut /lib/apt/methods.. from prefix, if possible.
+         aptMethodsSub[0] = '\0';
+      }
+   } else {
+      // Use hardcoded as fallback.
+      // Mostly useless as will help to detect only binary-patched apt.
+      strncpy(binPath, "@TERMUX_PREFIX@", PATH_MAX - 1);
+   }
+
+   Req << "User-Agent: Debian APT-HTTP/1.3 (" PACKAGE_VERSION ") Termux (@TERMUX_APP_PACKAGE@; install-prefix:" << binPath <<")" << "\r\n";
 
    Req << "\r\n";
 
@@ -954,8 +973,23 @@
       Req << "Authorization: Basic "
 	 << Base64Encode(Uri.User + ":" + Uri.Password) << "\r\n";
 
-   Req << "User-Agent: " << ConfigFind("User-Agent",
-		"Debian APT-HTTP/1.3 (" PACKAGE_VERSION ")");
+   char binPath[PATH_MAX] = {0};
+   ssize_t binPathLen = readlink("/proc/self/exe", binPath, sizeof(binPath)-1);
+   if (binPathLen != -1) {
+      binPath[binPathLen] = '\0';
+
+      char *aptMethodsSub = strstr(binPath, "/lib/apt/methods");
+      if (aptMethodsSub) {
+         // Cut /lib/apt/methods.. from prefix, if possible.
+         aptMethodsSub[0] = '\0';
+      }
+   } else {
+      // Use hardcoded as fallback.
+      // Mostly useless as will help to detect only binary-patched apt.
+      strncpy(binPath, "@TERMUX_PREFIX@", PATH_MAX - 1);
+   }
+
+   Req << "User-Agent: Debian APT-HTTP/1.3 (" PACKAGE_VERSION ") Termux (@TERMUX_APP_PACKAGE@; install-prefix:" << binPath << ")";
 
 #ifdef HAVE_SYSTEMD
    if (ConfigFindB("User-Agent-Non-Interactive", false))
