Coder Social home page Coder Social logo

xiaozhun / go-whatsapp-web-multidevice Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aldinokemal/go-whatsapp-web-multidevice

0.0 0.0 0.0 254 KB

API for Golang Whatsapp Web MultiDevice Version, Support UI & Webhook

Go 58.61% HTML 40.88% Dockerfile 0.51%

go-whatsapp-web-multidevice's Introduction

Go Whatsapp API Multi Device Version

buddy pipeline release version
release windows release linux release macos

Feature

  • Send whatsapp via http API, docs/openapi.yml for more details
  • Compress image before send
  • Compress video before send
  • Change OS name become your app (it's the device name when connect via mobile)
    • --os=Chrome or --os=MyApplication
  • Basic Auth (able to add multi credentials)
    • --basic-auth=kemal:secret,toni:password,userName:secretPassword, or you can simplify
    • -b=kemal:secret,toni:password,userName:secretPassword
  • Customizable port and debug mode
    • --port 8000
    • --debug true
  • Auto reply message
    • --autoreply="Don't reply this message"
  • Webhook for received message
    • --webhook="http://yourwebhook.site/handler", or you can simplify
    • -w="http://yourwebhook.site/handler"
  • For more command ./main --help

Required (without docker)

  • Mac OS:
    • brew install vips
    • brew install ffmpeg
    • export CGO_CFLAGS_ALLOW="-Xpreprocessor"
  • Linux:
    • sudo apt update
    • sudo apt install libvips-dev
    • sudo apt install ffmpeg
  • Windows (not recomended, prefer using WSL):

How to use

Basic

  1. Clone this repo git clone https://github.com/aldinokemal/go-whatsapp-web-multi-device
  2. open via cmd/terminal
  3. run cd src
  4. run go run main.go
  5. open http://localhost:3000
  6. run go run main.go --help for more detail flags

Docker (you don't need to install in required)

  1. Clone this repo git clone https://github.com/aldinokemal/go-whatsapp-web-multi-device
  2. open via cmd/terminal
  3. run docker-compose up -d --build
  4. open http://localhost:3000

Build your own binary

  1. Clone this repo git clone https://github.com/aldinokemal/go-whatsapp-web-multi-device
  2. open via cmd/terminal
  3. run go install github.com/markbates/pkger/cmd/pkger@latest
  4. run cd src
  5. run
    1. Linux & MacOS: pkger && go build -o whatsapp
    2. Windows (CMD, not PowerShell): pkger.exe && go build -o whatsapp.exe
  6. run
    1. Linux & MacOS: ./whatsapp
      1. run ./whatsapp --help for more detail flags
    2. Windows: .\whatsapp.exe or you can double-click it
      1. run .\whatsapp.exe --help for more detail flags
  7. open http://localhost:3000 in browser

Production Mode (docker)

docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages aldinokemal2104/go-whatsapp-web-multidevice --autoreply="Dont't reply this message please"

Production Mode (binary)

You can fork or edit this source code !

Current API

You can check docs/openapi.yml for detail API, furthermore you can generate HTTP Client from this API using openapi-generator

Feature Menu Method URL
Login GET /app/login
Logout GET /app/logout
Reconnect GET /app/reconnect
User Info GET /user/info
User Avatar GET /user/avatar
User My Group List GET /user/my/groups
User My Privacy Setting GET /user/my/privacy
Send Message POST /send/message
Send Image POST /send/image
Send File POST /send/file
Send Video POST /send/video
Send Contact POST /send/contact
Send Link POST /send/link
Send Location POST /send/location
Revoke Message POST /message/:message_id/revoke
✅ = Available
❌ = Not Available Yet

App User Interface

  1. Homepage Homepage
  2. Login Login
  3. Send Message Send Message
  4. Send Image Send Image
  5. Send File Send File
  6. Send Video Send Video
  7. Send Contact Send Contact
  8. Send Location Send Location
  9. Revoke Message Revoke Message
  10. User Info User Info
  11. User Avatar User Avatar
  12. My Privacy My Privacy
  13. My Group My Group
  14. Auto Reply Auto Reply
  15. Basic Auth Prompt Basic Auth

Mac OS NOTE

  • Please do this if you have an error (invalid flag in pkg-config --cflags: -Xpreprocessor) export CGO_CFLAGS_ALLOW="-Xpreprocessor"

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.