Sign inSign up

talentlesshack/lava

By talentlesshack

Updated 7 months ago

igate prime and cellcom prime communicator

Image
Networking
Internet of things
Databases & storage
0

1.8K

talentlesshack/lava repository overview

this app communicates and collaborates with my other app kusha, to talk to a igate prime door controller. this is how it communicates with the kusha app:

(Note: currently the kusha app was specifically made for a Hp laptop that had a modem by fibocom using a intel chip i believe. the fibocom allowed communication via AT commands which is why i used it. i do not endorse using this app on a public ip, its too risky for somebody to get ahold of your door number and sneak in by self adding themselves to the door. Plus, i do not trust the security i added, its all vibecoded so it has huge issues which i dont have the time to fix.)

  1. (this is for sending sms) POST /sms/messages Headers: Content-Type: application/json, X-API-Key (optional) Body: { "number": "+countrycode12345678", "text": "Your message" } Response: { "status": "sent" }

  2. (this is for receiving messages) Get Inbox (new messages) GET /sms/inbox Headers: X-API-Key (optional) Response: { "messages": [ { "id": "...", "sender": "+countrycode...", "text": "...", "timestamp": "..." } ] }

  3. (this fetches all messages if they weren't deleted) Get All Messages GET /sms/messages Headers: X-API-Key (optional) Response: { "messages": [ ... ] }

  4. (this clears the storage for sim card sake) Clear Modem SIM Storage (v6.1.3+) DELETE /sms/modem Headers: X-API-Key (optional) Response: { "success": true }

so what does this app have? well it allows:

  1. sending caller ids
  2. deleting caller ids
  3. it has a phonebook where you can add names and things like is this a private number or not.
  4. it has tls and some security things.
  5. it has the entire library that i could find of igate commands embeddded into it under the tab 'advanced' . it can send those commands and receive replies from igate. (note2: i have not tested all the commands but the ones i tested do work and thats all the ones that are needed to set up the igate and input time ask if there are updates and caller ids etc.)
  6. it has a sms messaging tab that behaves like a phone so you can see messages back and forth to the igate prime device
  7. an audit log for seeing who made the changes and when.

the docker compose for lava is as follows:

services:
  lava:
    build: .
    image: lava:7.0.0
    container_name: lava
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      # Persistent data storage
      - lava-data:/app/data
    environment:
      - NODE_ENV=production
      - PORT=3000
      # Optional: Require HTTPS for session cookies (default: false for LAN/internal use)
      # - REQUIRE_HTTPS=true
      # Optional: Set a specific session secret (otherwise auto-generated)
      # - SESSION_SECRET=your-secure-secret-here
      # Optional: Set encryption key (otherwise auto-generated and stored in data volume)
      # - ENCRYPTION_KEY=your-64-char-hex-key
      # Optional: Enable TLS verification for external HTTPS requests (default: false for LAN use)
      # - VERIFY_TLS=true
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3000/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  lava-data:
    name: lava-data

Tag summary

Content type

Image

Digest

sha256:71ab7546c

Size

166.2 MB

Last updated

7 months ago

docker pull talentlesshack/lava