GithubHelp home page GithubHelp logo

Comments (17)

PalmerMontalvo avatar PalmerMontalvo commented on June 4, 2024 1

@PalmerMontalvo Your old phone number still don't work 2 days after this? #32 (comment)

Still doesn't work.

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024 1

Here is a considerable amount of data I managed to process:

Accounts tested : 218

Success - 114
Failed  - 104
  -> Unauthorized : 21
  -> Too many requests : 0
  -> Status [426] : 83

83 out of 218 installation IDs ( each of individual phone number ) get status code 426.

But these accounts worked before few days.

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

I too face the same issue.

I think this issue is similar to #23

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

I get this error:
https://paste.theostrich.eu.org/xepepitipu

AxiosError: Request failed with status code 426 at settle (/home/runner/truecaller-test-limitations/node_modules/axios/dist/node/axios.cjs:1909:12) at Unzip.handleStreamEnd (/home/runner/truecaller-test-limitations/node_modules/axios/dist/node/axios.cjs:2989:11) at Unzip.emit (node:events:525:35) at Unzip.emit (node:domain:489:12) at endReadableNT (node:internal/streams/readable:1359:12) { code: 'ERR_BAD_REQUEST', config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function], Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: AxiosHeaders { Accept: 'application/json, text/plain, */*', 'content-type': 'application/json; charset=UTF-8', 'accept-encoding': 'gzip', 'user-agent': 'Truecaller/11.75.5 (Android;10)', Authorization: 'Bearer a1i0xxxxxxxxstMb8' }, params: { q: '9912345678', countryCode: 'IN', type: 4, locAddr: '', placement: 'SEARCHRESULTS,HISTORY,DETAILS', encoding: 'json' }, method: 'get', url: 'https://search5-noneu.truecaller.com/v2/search', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype] { abort: [Function (anonymous)], aborted: [Function (anonymous)], connect: [Function (anonymous)], error: [Function (anonymous)], socket: [Function (anonymous)], timeout: [Function (anonymous)], finish: [Function: requestOnFinish] }, _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: true, socket: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, secureConnecting: false, _SNICallback: null, servername: 'search5-noneu.truecaller.com', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 9, connecting: false, _hadError: false, _parent: null, _host: 'search5-noneu.truecaller.com', _closeAfterHandlingError: false, _readableState: [ReadableState], _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: false, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: null, _requestCert: true, _rejectUnauthorized: true, parser: null, _httpMessage: [Circular *1], [Symbol(res)]: null, [Symbol(verified)]: true, [Symbol(pendingSession)]: null, [Symbol(async_id_symbol)]: 14, [Symbol(kHandle)]: null, [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: null, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(kCapture)]: false, [Symbol(kSetNoDelay)]: false, [Symbol(kSetKeepAlive)]: true, [Symbol(kSetKeepAliveInitialDelay)]: 60, [Symbol(kBytesRead)]: 658, [Symbol(kBytesWritten)]: 426, [Symbol(connect-options)]: [Object] }, _header: 'GET /v2/search?q=9912345678&countryCode=IN&type=4&locAddr=&placement=SEARCHRESULTS,HISTORY,DETAILS&encoding=json HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'content-type: application/json; charset=UTF-8\r\n' + 'accept-encoding: gzip\r\n' + 'user-agent: Truecaller/11.75.5 (Android;10)\r\n' + 'Authorization: Bearer a1i0MxxxxxxxxxxxxxxxxxxL6rstMb8\r\n' + 'Host: search5-noneu.truecaller.com\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 0, maxCachedSessions: 100, _sessionCache: [Object], [Symbol(kCapture)]: false }, socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/v2/search?q=9912345678&countryCode=IN&type=4&locAddr=&placement=SEARCHRESULTS,HISTORY,DETAILS&encoding=json', _ended: true, res: IncomingMessage { _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 4, _maxListeners: undefined, socket: [TLSSocket], httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [Array], rawTrailers: [], aborted: false, upgrade: false, url: '', method: null, statusCode: 426, statusMessage: 'unknown', client: [TLSSocket], _consuming: true, _dumped: false, req: [Circular *1], responseUrl: 'https://search5-noneu.truecaller.com/v2/search?q=9912345678&countryCode=IN&type=4&locAddr=&placement=SEARCHRESULTS,HISTORY,DETAILS&encoding=json', redirects: [], [Symbol(kCapture)]: false, [Symbol(kHeaders)]: [Object], [Symbol(kHeadersCount)]: 22, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]: 0 }, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'search5-noneu.truecaller.com', protocol: 'https:', _redirectable: Writable { _writableState: [WritableState], _events: [Object: null prototype], _eventsCount: 3, _maxListeners: undefined, _options: [Object], _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *1], _currentUrl: 'https://search5-noneu.truecaller.com/v2/search?q=9912345678&countryCode=IN&type=4&locAddr=&placement=SEARCHRESULTS,HISTORY,DETAILS&encoding=json', [Symbol(kCapture)]: false }, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kEndCalled)]: true, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [Array], 'content-type': [Array], 'accept-encoding': [Array], 'user-agent': [Array], authorization: [Array], host: [Array] }, [Symbol(kUniqueHeaders)]: null }, response: { status: 426, statusText: 'unknown', headers: AxiosHeaders { vary: 'Accept-Encoding', 'tc-event-id': '64afa10e85133f0001f4156e', date: 'Thu, 13 Jul 2023 07:00:30 GMT', 'content-type': 'application/json', 'x-envoy-upstream-service-time': '3', server: 'istio-envoy', via: '1.1 google', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', connection: 'close', 'transfer-encoding': 'chunked' }, config: { transitional: [Object], adapter: [Array], transformRequest: [Array], transformResponse: [Array], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: [Object], validateStatus: [Function: validateStatus], headers: [AxiosHeaders], params: [Object], method: 'get', url: 'https://search5-noneu.truecaller.com/v2/search', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: true, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: true, socket: [TLSSocket], _header: 'GET /v2/search?q=9912345678&countryCode=IN&type=4&locAddr=&placement=SEARCHRESULTS,HISTORY,DETAILS&encoding=json HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'content-type: application/json; charset=UTF-8\r\n' + 'accept-encoding: gzip\r\n' + 'user-agent: Truecaller/11.75.5 (Android;10)\r\n' + 'Authorization: Bearer a1i0M--xxxxxxxxxxxxxxxxxxxx7L6rstMb8\r\n' + 'Host: search5-noneu.truecaller.com\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/v2/search?q=9912345678&countryCode=IN&type=4&locAddr=&placement=SEARCHRESULTS,HISTORY,DETAILS&encoding=json', _ended: true, res: [IncomingMessage], aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'search5-noneu.truecaller.com', protocol: 'https:', _redirectable: [Writable], [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kEndCalled)]: true, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(kUniqueHeaders)]: null }, data: { status: 42601, message: 'Client must be upgraded' } } }

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

MY CODE:

import { createRequire } from 'module';
const require = createRequire(import.meta.url);
var truecallerjs = require("truecallerjs");

var search_data = {
  number: "9912345678",
  countryCode: "IN",
  installationId: "a1i0xxxxxxxxxxxxxxxxxxxtMb8",
};

var response = await truecallerjs.search(search_data);
console.log(response.json());

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

UPDATE:

When I try it with your python module truecallerpy it gives differerent output as:

{'errorCode': 401, 'errorMessage': 'Your previous login was expired.', 'data': None}

when I tried with new installation ID it worked fine

Any idea on why these two modules show different output?

And also I tested truecallerjs with expired installation ID, it gives Unauthorized 403 as usual. But code 426 is unusual

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

wait what https://github.com/sumithemmadi/truecallerpy/blob/7749987f99374262b777bbf9b86097dcdb8c67b1/truecallerpy/app.py#L117
👀

same error in truecallerpy too after removing that lines
{'status': 42601, 'message': 'Client must be upgraded'}

even curl return same response:

curl -A "Truecaller/12.15.6 (Android;10)" -H authorization:\ Bearer\ a1i0I--gxxxxxxxxxxxxxxxxxxsjtHSf https://search5-noneu.truecaller.com/v2/search?q=1234567890\&countryCode=IN\&type=4\&encoding=json

{'status': 42601, 'message': 'Client must be upgraded'}

Is there any validity period for installationIDs?
And I tried to login with same phone number and got new installationID that too didnt work, got same response

from truecallerjs.

PalmerMontalvo avatar PalmerMontalvo commented on June 4, 2024

@RabbitFored I just took a brand new phone number that I had never used before and this error did not occur. Most likely, the numbers are also checked for the amount of uses

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

@PalmerMontalvo Your old phone number still don't work 2 days after this?
#32 (comment)

from truecallerjs.

PalmerMontalvo avatar PalmerMontalvo commented on June 4, 2024

I also noticed that when generating keys using completely new numbers, 426 errors are also returned. Something might be wrong with the key generation phase.

from truecallerjs.

sumithemmadi avatar sumithemmadi commented on June 4, 2024

"Client must be upgraded," implies that the server requires the client to upgrade its protocol or version. It could be a problem with the HTTP version or the Truecaller version.

According to the error message, it is using HTTP version 1.1, but it doesn't specify the exact version to upgrade. The same HTTP version 1.1 works on my PC, but I don't know why it's not working on yours.

To troubleshoot the issue, you can try using different Node.js version or different device or different networks, I just want to know if the problem is with your pc or nodejs version or truecallerjs code . See if the same error persists, and please let me know.

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

If it is about http version then why only some selective accounts (all tested in same pc) get this error?

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

"Client must be upgraded," implies that the server requires the client to upgrade its protocol or version. It could be a problem with the HTTP version or the Truecaller version.

According to the error message, it is using HTTP version 1.1, but it doesn't specify the exact version to upgrade. The same HTTP version 1.1 works on my PC, but I know why it's not working on yours.

To troubleshoot the issue, you can try using different Node.js version or different device or different networks, I just want to know if the problem is with your pc or nodejs version or truecallerjs code . See if the same error persists, and please let me know.

Yeah, I tested with truecallerpy and curl both showed same response ( code 426 ), but if I use other installation ID it works fine. Only some ( 82 of 218 tested ) accounts get this error.

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

Any update on this issue?
@sumithemmadi

from truecallerjs.

sumithemmadi avatar sumithemmadi commented on June 4, 2024

Can you log in to the Truecaller app with the phone numbers that failed while logging in with Truecallerjs ?

from truecallerjs.

PalmerMontalvo avatar PalmerMontalvo commented on June 4, 2024

@sumithemmadi , yes but Truecaller app shows popup "Your account is temporarily blocked" and then you need to go through google captcha.

from truecallerjs.

RabbitFored avatar RabbitFored commented on June 4, 2024

Yeah, I too get something like this while I login using official Truecaller app.

IMG_20230723_230054
IMG_20230723_230111

from truecallerjs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.