Skip to content

sessionjs/client

Repository files navigation

Session.js

Session.js is JavaScript library for programmatic usage of Session messenger by OXEN. Supports server and browser environment with built-in proxy network module. Shipped with TypeScript definitions. Tested with bun:test. Written with blazingly fast Bun, a modern runtime for JavaScript and alternative to Node.js. This package cannot be used with Node.js, it uses a better runtime instead of it. It can also be used with most bundlers that support modern syntax. Now with vanilla noble instead of wasm libsodium and bytebuffer!

Session.js allows you to create:

  • Highly optimized Session bots (hundreds of bots in a single app)
  • Custom Session clients (web-based and native with JS backend)
  • Automation tools for Session

Important

I'm looking for a job! Interested in hiring me? Visit cv.hloth.dev to review my resume & CV.

Features

  • On-demand polling — you decide when to get new messages and whether instance should poll them (and poll settings like frequency) or work just for sending
  • Per-instance storage and network settings — you can attach persistant storage to instance or use in-memory storage for throwaway one-time instances
  • Session.js can be used in browser, keeping private keys on client-side and doing network requests on server-side. See this in action with my full-featured Session Web client!

Project roadmap.

Getting started

Visit documentation website for guide: https://sessionjs.github.io/docs/

Donate

hloth.dev/donate · Tor: hlothdevzkti6suoksy7lcy7hmpxnr3msu5waokzaslsi2mnx5ouu4qd.onion/donate

PGP-signed list of my crypto wallets: hloth.dev/donate-pgp-signed.txt · Tor: hlothdevzkti6suoksy7lcy7hmpxnr3msu5waokzaslsi2mnx5ouu4qd.onion/donate-pgp-signed.txt

Acknowledgements

License

MIT