Giter VIP home page Giter VIP logo

node-red-contrib-whin's Introduction

Deprecation Notice:

The back-end supporting these node-red modules will be going EOL on Nov 2022.

node-red-contrib-whin is deleted from npm and node-red flow palette as of Oct 25th, 2022. No new installs are allowed.

We have re-engineered the service and migrated to a new version of the back-end, now it can support the (huge) number of requests that whin had to handle daily. We thought the right path was to code it from scratch using all we learnt from our mistakes (and yours :) ), and this is why a new project is launched.

New nodes are released and can be installed following this guide: https://flows.nodered.org/node/@inutil-labs/node-red-whin-whatsapp

We do appreciate all the support from whin v1 users over the last years; as the project got bigger, we reached a point were we needed to set a rate-limit policy to protect the availability of the service. Please, forgive us if you were banned or blacklisted; we did it as a way to preserve the availability of the service for those users that use it with care. The good news is the new release will NOT blacklist anyone, there is a rate limit machanism embeded that will prevent abuse and performance degradation.

The reloaded version of whin is node-red friendly, and includes a lot of new features; it is still done by tinkers for tinkers.

Summary

Node-red nodes that allow users to keep a 2-way Whatsapp communication with one's mobile. The package includes three nodes:

  • whin-send, to send out whatsapp texts from your NR flows to your whatsapp number.
  • whin-receive, to inject whatsapp texts from within whatsapp into node-red flows.
  • whin-confirm, think of it as a confirmation gate; when used in the middle of a flow, you can request permission to proceed the execution of the flow.

Install:

NPM

Your first choice should be using the Palette in node-red Editor.

If you are more confortable using the terminal, cd to the user directory and run this command:

npm install node-red-contrib-whin

Set-up and Usage:

Before using this node, we strongly recommend you read the FAQ first: https://github.com/inUtil-info/node-red-contrib-whin/wiki/FAQ

The three nodes described above share a configuration node that stores your phone and private token. To get your token, just send a text Whatsapp with your mobile to +34 613 164 997 including the word signup, and you will get your token in a response text.

If you click on this link: https://wa.me/34613164997?text=signup all you need is click send from within whatsapp and you'll get your token.

signup

To set up whin: open the configuration node and fill in the fields Phone and Token, and you'll be all set.

  • Phone field has the following format: countrycode and number, without spaces; example for Spain: 346XXYYYZZZ
  • Token field has the following format: hex string, with 40 characters, no spaces; example: 21f5da020bad5919d1fba72e74c15da5881efb4a

Note that the Phone and Token values are linked, this means that the node wont work if the phone number used to get the token is not matching the one you used to get the token. This is to prevent spam.

The token is valid for 30 days. Everytime you send a whatsapp message using whin-send node, Time-To-Live is reset to 30 days. Keep using the service from time to time, and it won't expire. If for whatever reason you do not use the service for 30 days, your token will be removed from the cache. Dont panic, you can get a new token repeating the signup process.

Set-up and usage flow:

whin-nodes

Types of messages:

At the moment, the only type of messages we route are text messages (UTF8 strings). This is not preventing you from sending json data, or any other data format you stringify first.

Whin Nodes:

When you install node-red-contrib-whin package, you will get the following Nodes available on node-red Palette under the Network category: whin-receive, whin-send and whin-confirm. These Nodes rely on a configuration Node called whin-config (not visible on the editor Palette).

Configuration Node:

This node will be used to enter your credentials as shown below; each credentials pair (phone and token) will be available and shared among all whin nodes. These are the fields that you need to complete to set up the whin-config node:

config-node

Bear in mind:

  • Do NOT include '+' before your countrycode,
  • Do NOT include a '-', or any other character or space (anything which is not a number) as part of your phone number.
  • If you do not know, or are not sure of, which is your country code check this: https://countrycode.org/
  • Make sure the token has no spaces before or after:

config-node2

Sender Node (whin-send):

This is the node we recomend you start using. If you completed and saved the config, you are all set. Just select the configuration (next to Auth on the pic): sender-node

Wire an inject node to whin-send, press inject, and you should receive a whatsapp including the text. Anything that comes in whin-send as data payload will be sent.

sender-node2

Receiver Node (whin-receive):

Whin-receive node will allow you sending whatsapps to your node-red environment, any text message you send to the whin number used to sign-up and get the token, will be received and treated as message payload by whin-receive. You might create your own syntax to trigger stuff in your NR. Switching on lights or music, disconnect the alarm or run a sales report. Sky is the limit.

receiver-node

Confirmation Node (whin-confirm):

This node sends a request to get an active user confirmation; when answered, you will get the response as an output of the node. There's a max time to answer on whatsapp, if you reach the time without answering, the output payload will contain a time-out msg.

whin-confirm node will take two inputs: a question and a time period. The question goes on the msg.payload property and a time-to-live (ttl) in the msg.ttl property (this integer number is treated as time, expressed in miliseconds). These are the two inputs expected.

When the node is triggered, it will send you a whatsapp with the question you entered on the payload, and you will have a time to answer it (yes/no). If you click "Yes" on whatsapp, you will get a "YES" as output of the node. If you click "No", you will get a "NO" on node-red output. If you reach the ttl and provide no answer, the node will default to a "Time-out" message.

Each transaction is unique, meaning that you can only get one output after each trigger: YES, NO or Time-out

We like to think of it as the SMS / push-notifications you get from your bank these days, but answered with a simple button. The main use-case here is allowing you to "authorize" the execution of a flow branch that you don't want to run without manual intervention on node-red.

confirm-node

Be mindful that if there is a whin-receive node running in parallel, the response will flow through both listeners. In that case, you might notice a difference. whin-confirm will output Yes, No, or TimeOut while your whin-receive node will receive whatever the answer is together with a 'unique request identifier'. That's the raw response.

There's plenty of use-cases where one wants to grant permission to a flow, like: door opening, a server restart based on some alert / timing. In plain english: You get the request, you authorise, decline or ignore it.

The backend controls the message expirity as well and, should you exahust the ttl, will respond directly in your phone and won't send the response back to node-red.

confirm-node2

Sample Flows:

We are including a very simple flow that will send a whatsapp, you can use it to bootstrap your own use cases.

Before inporting this flow, make sure you added the node-red-contrib-whin node on your palette:

palette

You can inport this simple flow, just edit the config fields; add your phone/token pair, and you will get a whatsapp message when you click on the inject node.

[{"id":"efd5d46d4d8baab4","type":"whin","z":"cb358f93.bea12","name":"","auth":"f160031f44835f95","x":350,"y":650,"wires":[["4703f7051e36f3da"]]},{"id":"8c62536e8bf67956","type":"inject","z":"cb358f93.bea12","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"hello from node-red-contrib-whin","payloadType":"str","x":175,"y":650,"wires":[["efd5d46d4d8baab4"]]},{"id":"4703f7051e36f3da","type":"debug","z":"cb358f93.bea12","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":520,"y":725,"wires":[]},{"id":"f160031f44835f95","type":"whin-config","name":"whin","phone":"your_phone_goes_here","token":"your_token_goes_here"}]

flow

Demo videos:

demo-video

Do you want more videos? check this playlist: https://www.youtube.com/playlist?list=PLY4sFY6dmLqxpt3SM5IagyMSdCAc6WNMP

Error handling:

There are two types of errors that you can get when using the nodes:

  1. Token - Number pair invalid. This means, very likely, that you did a mistake on your number / token values on the config node
  2. Token do not exist: You either did not complete the sign-up step, or your token has expired (due to 30 days of inactivity)

Known bugs on previous releases. Please update to latest release if you notice these:

Occasionally, whin-receive and whin-confirm do not start capturing messages unless a 'deploy' is executed even if there are no changes. whin-receive may show the listening status and yet messages may not arrive until a flow redeploy is executed. whin-confirm times out and does not show the confirmation.

Security:

While we have not implemented military-class security, we have done our best to secure data in transit and at rest. However, it's our recommendantion to read carefully the Security questions and answers on our FAQ first: https://github.com/inUtil-info/node-red-contrib-whin/wiki/FAQ

Terms of use:

The service is free, you do not need to register, and we do not gather any Personal Info. We understand that the user sending the sign-up message wishes to use the service. The service is just sending whatsapp messages to the number that orginated the request. We do not share the numbers using the service with anyone, nor we send messages to our users. For now there is an hourly rate limit set to 10 messages per user. When you reach 10 msg in one hour your msgs will not be delivered till the 1 hour timer is reset. Whin will send you a reminder of the limit. If you don't adjust how your runtime works and get to 50 msgs in 1 hr, your IP will be blocked. This is something we implemented as a consequence of the abuse usage of the service. If you wish to stop using the service, you just want to stop using the node and your token will be deleted after 30 days.

node-red-contrib-whin's People

Contributors

alsak0de avatar lu4t avatar sammachin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

sammachin

node-red-contrib-whin's Issues

error while installing whin---Cannot read property 'nodes' of null

`Failed to install: node-red-contrib-whin

Cannot read property 'nodes' of null

Check the log for more information

-----------------------------------------------------------
2022-02-02T10:45:03.596Z Install : node-red-contrib-whin 0.1.10

2022-02-02T10:45:04.698Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production [email protected]
2022-02-02T10:45:16.805Z [out] + [email protected]
2022-02-02T10:45:16.805Z [out] added 1 package from 1 contributor in 9.603s
2022-02-02T10:45:16.842Z rc=0


2022-02-02T10:47:11.783Z Install : node-red-contrib-whin 0.1.10

2022-02-02T10:47:12.815Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production [email protected]
2022-02-02T10:47:20.045Z [out] + [email protected]
2022-02-02T10:47:20.045Z [out] updated 1 package in 5.915s
2022-02-02T10:47:20.085Z rc=0


2022-02-02T10:54:59.786Z Install : node-red-contrib-whin 0.1.10

2022-02-02T10:55:00.820Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production [email protected]
2022-02-02T10:55:09.453Z [out] + [email protected]
2022-02-02T10:55:09.453Z [out] updated 1 package in 7.288s
2022-02-02T10:55:09.493Z rc=0`

image

Problem with payload

Hello. Im in trouble to send my payload to whatsapp.

As you can see in printscreen, im sending the payload to whatsapp and debug.. it is working well, the message is delivered ok in debug.

image

Here is my whin config:

image

And the only result I get in whatsapp is:

image

Which is not correct (this is not the payload).

Any ideia about this problem?!

Thanks

complete docs and icons

  • when whin is displayed on the nodered.org page, icons on the nodes are not loading.

  • when installed, nodes documentation when opened from the nodes panel of node-red is not showing up. Probably due to the addition of whin receive and confirm (when nodes were merged on a single package).

Issue with whin-recieve and whin-send using different number

Hi there, first of all i want to thank you for developing whin, it is indeed very useful. I have been testing the recieve node without success since Saturday afternoon. I tested whin-send today by triggering my flow from inside node red and recieved a response but from a different number. I wanted to know if there is an issue/update regarding whin or is it just temporary. Thanks in advance.

My number was blocked in whatsapp after 1 minutes after sending "signup"

I was try to get the token and sent message from whatsapp to number. But after 1 minutes from sending "signup" i was disconnected from whatsapp and now i cannot to connect to whatsapp at all. And all just i can see it just not a yellow lemon tree - i can see just message "your number was blocked, connect to support".
It seem like whatsapp dont like when somebody make nice services like this one.

Formato de numero de telefone no Brasil

A algum tempo foi adicionado um 9 aos números de telefone no Brasil, meu telefone é 98138xxxx (os x pra não passar meu numero aqui kkk), a integração só funciona se eu colocar sem o 9, exemplo 8138xxxx, que é o formato antigo, porém o whin-receive não me mostra nada nem de um jeito nem de outro, o whin-send funciona normalmente, sem o 9 claro, e o whin-confirm também, inclusive ao responder a pergunta do whin-confirm ela aparece no whin-receive, enfim creio possa ser algo com essa mudança de número de telefones pois com um numero a mais pode ser que a aplicação se perca, não sei, mas caso tenha resposta pra meu problema por favor responda pois quero muito usar essa integração no meu node-red, grato pela ajuda!

Bot does not forward messages - whin-receive doesn't work, even if it's on "listening to whatsapp" state.

Hello,

I turned on the "new" "self-deleting messages" feature in Whatsapp.

I immediately noticed that I can still receive messages, but I can't send messages to win-recieve in Node-Red.

The messages have two grey chops (normal condition).

After noticing this, I disabled the new feature, but unfortunately my messages are still not getting through to Node-Red.

Also the signup message does not work.

Is there a known fix for that?

Greetings,
Tobias Speiser

second Number

Hi,

i need a Token for a sekond Phone.

i send "signup"

the answer is

To use WHIN, you must first sign up to get your service token by sending the word signup.

Fallo al intentar enviar notificaciones desde Grafana

Estoy creando el webhook en grafana para enviar las notificaciones a whin. No se si creo mal el flujo o hago algo mal desde grafana, pero al intentar enviar un test, me da un error "Failed to send alert notifications". Adjunto el flujo y el webhook
Screenshot_20220401_120913
Screenshot_20220401_120934
¿Qué estoy haciendo mal?

Signup no response

As subject, as per today, send signup text from +62xxx to +34613164997 but no reply after more than 3 hours.

Does not work anymore.

I already signed up a few months ago, it worked perfectly. Since a few weeks I can't receive any messages and I always get:

To use WHIN, you must first sign up to get your service token by sending the word signup.

When I send "signup" I get the same message.

mqin.inutil.info not resolving

Hello,

I installed latest 0.1.13 version from the Palette. Generating the key works fine as well as sending messages.
However the receiver stays disconnected, and after checking the source code, I realized that the MQTT/WSS the node is trying to connect to (mqin.inutil.info) is not being resolved by DNS:

nslookup mqin.inutil.info
Server: 127.0.0.1
Address: 127.0.0.1#53

** server can't find mqin.inutil.info: NXDOMAIN

Is that an issue or has the service been abandoned, which makes this node deprecated?

Regards,

Kickouille

whin-groups

recibir mensajes de grupos donde esté whin.
por el momento solo receive.

mi propio gateway

Me gustaria usar whim para conectar whatsapp a otras aplicaciones y asi tener poder escribir mensajes y si es posible mandar fotos de whatsapp a telegram por ejemplo.
Ya he leido que whim no permite el uso de grupos. Seria posible usarlo en grupos con mi propio gateway? Como podria hacerlo?

Receiving multiple messages sent at once!!

Hi, I really like your work.
In the last few days I don't know what's been going on, but sometimes when I send a single message, whi - send returns me with multiple repeated messages. When trying to correct it thinking it could be one of my functions, it ended up that when I sent another message to the test, the whi-send returned more than 40 messages at the same time, this ended up causing my ip and number to be blocked. I would like to be analyzed the possibility of removing my number from the blocked list please, I would be very grateful. Thanks for all your contribution.
Any new information just ask what I'm willing to inform.

[Feature request] Ability to reset the whin-confirm node

In some scenarios, it would be desirable to be able to reset the whin-confirm node.

E.g. light on -> wait 2h -> question "Do I turn off the light?" (ttl 1h)
If in the meantime the light is turned off with a physical switch then I would like the node to be reset (stop awaiting response), as the question is not valid any more.

The reset could occur after the msg.reset (true) is received.

Could such an enhancement be implemented?

Error con update.

Hola luego de actualizar me tira esto cuando uso el nuevo nodo de recepcion de mensajes.

Error: Cannot find module 'mqtt'
Require stack:
- /home/pi/.node-red/node_modules/node-red-contrib-whin/whin.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/loader.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/index.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/index.js
- /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/index.js
- /usr/lib/node_modules/node-red/lib/red.js
- /usr/lib/node_modules/node-red/red.js

Mqtt error - help

Instal the pallet, works fine to send message! But for receive messages and confirmation appear the error:

Error: Cannot find module 'mqtt'
Require stack:

  • C:\Users\8350.node-red\node_modules\node-red-contrib-whin\whin.js
  • C:\Users\8350\AppData\Roaming\npm\node_modules\node-red\node_modules@node-red\registry\lib\loader.js
  • C:\Users\8350\AppData\Roaming\npm\node_modules\node-red\node_modules@node-red\registry\lib\index.js
  • C:\Users\8350\AppData\Roaming\npm\node_modules\node-red\node_modules@node-red\runtime\lib\nodes\index.js
  • C:\Users\8350\AppData\Roaming\npm\node_modules\node-red\node_modules@node-red\runtime\lib\index.js
  • C:\Users\8350\AppData\Roaming\npm\node_modules\node-red\lib\red.js
  • C:\Users\8350\AppData\Roaming\npm\node_modules\node-red\red.jsError: Cannot find module 'mqtt'

can you help me?

I sent more than 20 messages

I just installed the new function. I was testing inside the nodered, by accident I ended up passing 20 messages within 1h. What to do now?

Suggested implementations

Hello, I was delighted with these knots, I confess that if I had a few more things it would be perfect.

I'll leave some suggestions below:

  • Being able to send a list of options to whatsapp, similar to what we have on telegram.
  • Being able to add the BOT in any whatsapp group (I tried to send the signup within the group but he didn't respond), the idea is to be able to use the BOT in a group to be able to add it to the family group here at home lol.
  • Being able to send images or videos would be really cool too, I've seen myself sending an image from my home camera through HA.

Doubts:

  • If I lose the token for example, how do I recover it?
  • This BOT service is paid for by who, behind it, is some internet BOT used?

Anyway, I think that's it, thank you for your attention, if I have more ideas, I'll comment below. If you could rate any of them I would be very grateful.

The Brazilian community thanks you for your contribution!

Ser numero móvil remitente del mensaje.

Hola buenas tardes, quería saber si hay la posibilidad de que se nos permita ser el número remitente del mensaje de whatsapp a un destinatario cuyo numero esté agregado en el código con la finalidad de continuar ambos la comunicación desde el chat de la aplicación.
Muchas gracias.

Whin just sends "Hello [Signup]"

Whin was working great the last few Weeks. But today I recived again a "Hello" Message while at work. Back at Home i testet it: Every time I send something from Node Red i receive the "Hello, Please sign up" message (Screenshot at the end). When I signup again i just receive the same API Token again. The problem occurs on both of my phones (different number and Token)

Screenshot_20220226-195609

Error whin-confirm y whin-receive

Hola,

antes de nada agredecer vuestro software y servicio. Es genial. En mi caso estoy utilizando una Raspberry PI 3 B con Node Red . He instalado whin y whin-send funciona correctamente . Desafortunadamente whin-confirm y whin-receive no funcionan ( no recibo el mesaje en Node Red). Creo que debe ser porque cuando hago un deploy me sale siempre el siguiente error :

Error: Cannot find module 'mqtt'
Require stack:

  • /home/ubuntu/.node-red/node_modules/node-red-contrib-whin/whin.js
  • /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/loader.js
  • /usr/lib/node_modules/node-red/node_modules/@node-red/registry/lib/index.js
  • /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/index.js
  • /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/index.js
  • /usr/lib/node_modules/node-red/lib/red.js
  • /usr/lib/node_modules/node-red/red.js

Podeis ayudarme a corregir el problema.

Si la cosa es complicada lo pasaré a un colega* experto en Ubuntu y Java. Si es facil lo hare yo mismo . Muchas gracias.

*P.D. el colega es mi hijo

Saludos

Not receiving msgs after a while

@lu4t
1st - tnx for great plugin!!!

Installed it today, tested it and everything worked perfectly.
When I wanted to show off it to my wife after about 2 hours, suddenly the "whin-receive" node was not showing any output both in my phone and my wife's.
Node-red container restart didn't work.
modified-nodes deployment didn't work.
Only after full deployment, it gotbback to work.

Any Idea?

Cloudflare DDoS Protection triggered when sending from AWS

I'm running my Node-RED on AWS, whenever I try and send a message the response that comes back is a 503 and some HTML from the Cloudflare DDoS service. (see below)

It looks like this is a false positive because cloudflare is expecting to protect web pages being accessed from users not an API being accessed from somewhere like AWS.

Also the node doesn't handle this error well it just outputs a bit of the HTML rather than checking the statusCode that was returned.

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
  <meta name="robots" content="noindex, nofollow" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>Just a moment...</title>
  <style>
    html, body {width: 100%; height: 100%; margin: 0; padding: 0;}
    body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}
    h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}
    p {font-size: 20px; font-weight: 400; margin: 8px 0;}
    p, .attribution, {text-align: center;}
    #spinner {margin: 0 auto 30px auto; display: block;}
    .attribution {margin-top: 32px;}
    @keyframes fader     { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }
    @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }
    #cf-bubbles > .bubbles { animation: fader 1.6s infinite;}
    #cf-bubbles > .bubbles:nth-child(2) { animation-delay: .2s;}
    #cf-bubbles > .bubbles:nth-child(3) { animation-delay: .4s;}
    .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }
    a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }
    a:hover{color: #f4a15d}
    .attribution{font-size: 16px; line-height: 1.5;}
    .ray_id{display: block; margin-top: 8px;}
    #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; }
    #cf-hcaptcha-container { text-align:center;}
    #cf-hcaptcha-container iframe { display: inline-block;}
  </style>

      <meta http-equiv="refresh" content="35">
  <script>
    //<![CDATA[
    (function(){
      window._cf_chl_opt={
        cvId: "2",
        cType: "non-interactive",
        cNounce: "65484",
        cRay: "72252d94dde25c0b",
        cHash: "08adb96528ce818",
        cUPMDTk: "\/whin?__cf_chl_tk=KnLUPT4rRr.wWwZqGkeNNKivQxR.VRPi4mlpTBtz2x4-1656406259-0-gaNycGzNBuU",
        cFPWv: "g",
        cTTimeMs: "1000",
        cRq: {
          ru: "aHR0cHM6Ly93aGluLmludXRpbC5pbmZvL3doaW4=",
          ra: "Z290IChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2dvdCk=",
          rm: "UE9TVA==",
          d: "ZyYur5Oa2lM8cYo2T6FkUEbEEMa+8mwnT+AJ/2pMfp+eG2D5bHN8RGi8VOTZsaBXN8GG9mjDYW9LeXD3hcqF78Myhxog+b2kZW2/MbFL0XbHD0y+gK8gGThbN3FbeNKCSITaGlCsLbVtbEhG8RvBLuJsuZKQV4e9I/ubKN5yf0VbSRooYVel84Bo0mehlcJq4AI5hg+eeGoGxwY2y6+txc1tnCNx8o9zN1rIZZK0tc7fHIcqWJLy6GQU8moBvabz6KXG66hivW/f4gQ4CAc1sPD0nwKUKUKRFPBn2W9VuhEkpctPJVF4C99GXlPciIB84pB0BhuFjv40NYP6cXe0EaNQiS7SHuJ3AETLqOoTRQMJlYgxWibVGPxJj1otVLMsVYAIPSElTlj5+utbQFexR/oXmv3NkYDCLkXRnAkr5WaETb12bz7jOjJFu6AXmAnkZBtqJ/TK5LBA0CtjnSPjykCrdJgyx2k4atY6GF4iLdmv9zpKFhNjvaAM0OCmYxnrHXbfKiL/JznubaZVuWv/9ADI5vJZHtVRntFNRtTp8Y8=",
          t: "MTY1NjQwNjI1OS45NzkwMDA=",
          m: "WSDSkjMvsxlETho/qHwIDSytBZTbkZaPIVwdGpsSVEw=",
          i1: "KDrBXd9gdaPF3/ma3Z984A==",
          i2: "rRo5FxyoP16bMOn8Yna+Ng==",
          zh: "ErPgTtmOUr7iWp/65LIrgO67IABbKfB63/hIsUEyTPo=",
          uh: "Yu6zl3WxR/nq+NsQdIh5yupjkhH2WITlrRiE+Ji4bJg=",
          hh: "T5obsJA6i40foaIK1UOW5O3xMyfiLPhDgW9t8rNrM54=",
        }
      }
      window._cf_chl_enter = function(){window._cf_chl_opt.p=1};
    })();
    //]]>
  </script>
  

</head>
<body>
  <table width="100%" height="100%" cellpadding="20">
    <tr>
      <td align="center" valign="middle">
          <div class="cf-browser-verification cf-im-under-attack">
  <noscript>
    <h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1>
  </noscript>
  <div id="cf-content" style="display:none">
    
    <div id="cf-bubbles">
      <div class="bubbles"></div>
      <div class="bubbles"></div>
      <div class="bubbles"></div>
    </div>
    <h1><span data-translate="checking_browser">Checking your browser before accessing</span> whin.inutil.info.</h1>
    <!-- <a href="https://robinsonsdrlg.com/direct.php?tag=7">table</a> -->
    <div id="no-cookie-warning" class="cookie-warning" data-translate="turn_on_cookies" style="display:none">
      <p data-translate="turn_on_cookies" style="color:#bd2426;">Please enable Cookies and reload the page.</p>
    </div>
    <p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
    <p data-translate="allow_5_secs" id="cf-spinner-allow-5-secs" >Please allow up to 5 seconds&hellip;</p>
    <p data-translate="redirecting" id="cf-spinner-redirecting" style="display:none">Redirecting&hellip;</p>
  </div>
   
  <form class="challenge-form" id="challenge-form" action="/whin?__cf_chl_f_tk=KnLUPT4rRr.wWwZqGkeNNKivQxR.VRPi4mlpTBtz2x4-1656406259-0-gaNycGzNBuU" method="POST" enctype="application/x-www-form-urlencoded">
    <input type="hidden" name="md" value="PBxuRYoCyd.HWQZYpefzGKi.S6xjlTI.2ddIh7kgtLg-1656406259-0-AWiszdtW3vnoAkyofsm8XfDkelhRaZcWVvp04jx9nuogfJIjV3bMIRHQvYYLivUBGMuprER8gvyj8EfDBGPya8EzreuJ5hZyTQo8P3BAsWxsHig9voLM3V_x1v56BoJkQVFJQbS8CkjbWgSgOLp2yHlV6JA7bEgqIrnQBV6JwKr5qpk0UeaKHOzzlJiMXQ8dollBWdOf-CqsimqZNwfiPyiJsloJBeGtKVTF5z_WAqF4XtoHDi4X4NGqBj98_6lv-Np3TKTYXIz6UnDnqOpyYN6oe3bYmauHMWZ4JnFcdYg_L7oQXxQwG0lqGBjpAnN7jxb8BWdq1kTrDvn94CFxqPb24nbdB_6Eaa_rjvItbXeYsUSfosp6PbVj0-kN06XlE3VsM_5OmQKWhxzTLVd3xldGv1xf3EoHXdupLuZxE0p3eZFtTg5eOQh6QLP7qj8kf6PP1RKHWKjVUZ9NxBSKTQjXAlQq3Pk6x-8E8kd0WxhyHqCB9bg5DCvB_hsPWoett6w2IPWWEVtINfoGyGxTvN_rqIGZyurKCC9v8c65BpI4jrrscivLzFCk8WO3iRCYYQ" />
    <input type="hidden" name="r" value="3501.EUG5KGXuBhwaswSzI3fMujOQk75_4xuSnJ9_nQ-1656406259-0-AUB4b29APH7FV/QbqSg/KTF5qVUSrbsuzLcE8OR4rlWRHGoioWwKRR9alNd6sajtrVjyQswfg42xKEBbX17AKmb3ST1xTcg0CGXwRn53lp8CLNxdwRvwoXWkroEqaHU5wWbtsB4WOv39oohim3o0VV4h6Si3qlOBg13kApru4PDp1c3J90t+27s7OXwAsXuoqfrRxXVKbExo0RUR2ovPPn2CIcjZ0Zpiq+14RFiTF119q+4eDrOPr5V7KjpAh9gBJgynQAN8+uDMUHNHHG6kYhKvP4lh9vpyTonMLebE8GjkP4RzIt75hzUUaei+WN+sh78uakTN2rbq4dIokdmx1i2pB+Wd58R/DMZtEIbmPKJvLu0Kf3wESvK1CF+uOLmqxMMvh9oW160nEHJ+OEEsyWQvwvC4TRUT5p66M940LQQL5FynE8s52m7OgYAFs+N5eN7Fz6dPskToZAVOgGxUtDgU67RGtDkzcREmCDkVo3HmEYU7afUJoz+SONi2ojQbNOLrnO34JId5dHlzYJqLof2KR5qfqXqytiZTH44EQ9FZBfy4/eDaR7Alz5i1g9lbs4BsyjFg4gXk6s+5UF+28+YOejwqA76yip4FgzrjZHL+CBwhjzsEgBVQjEV7auHiidNwYW9H1c1FbDbbay97fEHAueOUL8Loiw6mO0rFq4VjnrgsixUHd15f+7CMC7ZTePKPCE71JXr22k095sRtiTMH+VmY/w29BS+2Yw6IIAYV+JvbR8ZbdDwGNbwrrcK+IaW/jxK6ohTdUAWwOh+6XUzwK7k4kj0ATIVD2n7yZ4thqs1wtt9YxHLtcoZMY1MjVKKHtlq5YVy4DD5gumgUOt/5wYxC7TgjxKHLDPKYsBA/V7xan0Zn7SJSgYKBHlB6VbnBmcdrhNQ/viN7Xgu2jsi5dGdsGu6CiEFUWo6opzgH6ogaCccwTLYnt/nDHQ8aKQkTUMrt/5eE++3KWq3VAoDzqtK2kwy4MTaWB2wtA8XbEngWv3Rm5MmuvLe0t0qSBRMPH8GoWb25dVGxHOru+CgUUksaNNgAN9lISC7bzYgEJlUaP3mmnRVXHwFvaJy0BZDoCAAWgqYKn1M6jIyV6+JRArvZivOCMgTwT+kQPvTzh7Tvlzz6iD2IQyAG2ZFKfWIsgsKfUK7G4wsvUc2pC4mxxE5CBU8pWNeioVgJZ/dkyjjDopwD0k0f21tpXC81+Fvcv6OtFjiEzwQTbIxEqXlhXqOoLN5xrT369jZGPrtLcPdwD066UnmmOsKALFtjx6vjrC7qKe7D2fni99P1EQC3WE7m49kXlyWto6H/9AC2j397Grs3pHceZ9vVI2fWnlw5AdWT4FUQV3qUzrDwVhljt7eJW89t9PsV2Ndpk6w/PNxC+xHDr3wHng1CcmL7S+Wlhr5rgNjr7LzsnQdJslBlDih0W1tpI+dz5dIwdBTZW9u6nQqRpfQK/BctbCvcOwhleDBU8clI7wp/bKquWWc+1HXrzCdQF+Gy2twkAZjSs2k2eCPMDYWZ5TFfQns7avXfx2d83v5g6brJFXwCFD3M5N47aD5Ab/dAElHjBAnL785TwA+sgaLKMFsGBOqBAxzZtPBhdVIZgheFTbiYHkGapQRzE3v5c69d3bDPnZAJoTwXe1UL/Pns1lQjao71pbycGJrq756DAH0WPKjGb3mQ02kwnmdwZ5LSIgc83D8C"/>
    <input type="hidden" value="f3a2f463e0768db0245dd64a8b663060" id="jschl-vc" name="jschl_vc"/>
    <!-- <input type="hidden" value="" id="jschl-vc" name="jschl_vc"/> -->
    <input type="hidden" name="pass" value="1656406260.979-cuavHqUpFF"/>
    <input type="hidden" id="jschl-answer" name="jschl_answer"/>
  </form>
       <script>
      //<![CDATA[
      (function(){
          var a = document.getElementById('cf-content');
          a.style.display = 'block';
          var isIE = /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent);
          var trkjs = isIE ? new Image() : document.createElement('img');
          trkjs.setAttribute("src", "/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=72252d94dde25c0b");
          trkjs.id = "trk_jschal_js";
          trkjs.setAttribute("alt", "");
          document.body.appendChild(trkjs);
          var cpo=document.createElement('script');
          cpo.type='text/javascript';
          cpo.src="/cdn-cgi/challenge-platform/h/g/orchestrate/jsch/v1?ray=72252d94dde25c0b";
          
          window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;
          window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, -window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;
          if (window._cf_chl_opt.cUPMDTk && window.history && window.history.replaceState) {
            var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;
            history.replaceState(null, null, "\/whin?__cf_chl_rt_tk=KnLUPT4rRr.wWwZqGkeNNKivQxR.VRPi4mlpTBtz2x4-1656406259-0-gaNycGzNBuU" + window._cf_chl_opt.cOgUHash);
            cpo.onload = function() {
              history.replaceState(null, null, ogU);
            };
          }
          
          document.getElementsByTagName('head')[0].appendChild(cpo);
        }());
      //]]>
    </script>

  
  <div id="trk_jschal_nojs" style="background-image:url('/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=72252d94dde25c0b')"> </div>
</div>

          
          <div class="attribution">
            DDoS protection by <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing/" target="_blank">Cloudflare</a>
            <br />
            <span class="ray_id">Ray ID: <code>72252d94dde25c0b</code></span>
          </div>
      </td>
     
    </tr>
  </table>
</body>
</html>

Messages sent by another number

Hello, thank you very much for your free service Whin, I greatly appreciate your usefulness. In the last few days I have received messages from Whin from another phone number: +34 605 797764 instead of +34 605 164997. I would like to know if I am doing something wrong on my side, or if it is a characteristic of the service itself. Some time ago the same thing happened, but it normalized after a few days. Thank you very much!

SelfHosted.

Amazing App , any way for can selfhosted whatsapp nodejs ? u have guide for this ? thx.

Whin-confirm don't send message to whatsapp

Hello friends, thank you very much for your work. When I trigger the whi-confirm node, I don't get anything on whatsapp. The other whi-send and whi-receive nodes work perfectly. Could you shed some light on what I might be doing incorrectly? Thank you very much.

Whin receive message problem

I have issue that I can receive messages only when I sent messages from web.whatsapp.com. When I'm traying to send message from whasapp android app it doesn't work. I checked it on 2 different phone numbers and 2 different smartphones - android 12 and updated whatsapp to newest one.
Whin send and confirm work without problem.

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.