372 Commits

Author SHA1 Message Date
Yonle
2d5f953d3f http.js: fix perMessageDeflate websocket compression still enabled
despite it's being disabled in config.

Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-16 19:33:09 +07:00
Yonle
1a3bac81b5 code: internal auth handling: improve the way of how it works
- Try not to renew ${authKey} variable after auth
- Call _auth() only after ${authenticated} and ${!sessStarted} is passed
  (_auth() is for telling the worker thread the authenticated user
  pubkey)
- In worker_bouncer.js, If csess[m.id].pubkey === m.pubkey, We do not
  need to do another reAUTH to these relays.

Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-16 18:45:55 +07:00
Yonle
02d58cfba3 package.json: set version to 3.0.1
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-16 18:35:08 +07:00
Yonle
8665374a66 fix authorized_keys don't work on npub string & make private_keys accept npub string
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-16 18:34:07 +07:00
Yonle
34ab5f6013 http.js: fix regex & method of getting websocket URLs from bouncer
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-13 16:36:52 +07:00
Yonle
396bd3f7bb fix code at commit 649c425
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-13 07:09:17 +07:00
Yonle
4848e1d0a7 defaultconf comment: fix typo for a4adf49 2024-05-13 06:39:21 +07:00
Yonle
a4adf49738 defaultconf comment: add both note and attention for loadbalancer section 2024-05-13 06:36:12 +07:00
Yonle
649c425e42 http.js: try fetch loadbalancers relay list
Ref: https://github.com/Yonle/bostr/issues/19

Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-13 06:33:56 +07:00
Yonle
b420125e63 defaultconf comment: eose_timeout is no longer available
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 21:16:30 +07:00
Yonle
88cb575ee4 bostr_cli: change missing field check text
Signed-off-by: Yonle <yonle@lecturify.net>
3.0.0
2024-05-12 16:11:51 +07:00
Yonle
33e17b23d7 testworker: try use different sid for test
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 16:11:31 +07:00
Yonle
dc96f87515 code comments: remove some old comments and try improve some existing one
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 16:07:38 +07:00
Yonle
b6f490ab4a defaultconf comment: another explanation for max_known_events
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 11:59:52 +07:00
Yonle
9cba4108ba cli: add testworker
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 10:10:56 +07:00
Yonle
5375f98241 http.js: if there's no config.perMessageDeflate, default it to true
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 10:02:31 +07:00
Yonle
167d0d8927 defaultconf comment: The CPU usage may equally intensive even with deflate compression disabled. So removing the comment
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 08:14:32 +07:00
Yonle
e5a5c78ad6 defaultconf: set perMessageDeflate as on
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-12 08:08:40 +07:00
Yonle
ab98804bdd defaultconf: set max_known_events default as 5000
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 19:06:22 +07:00
Yonle
7e54d9a209 bouncer: fix duplicates being forwarded to client.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 19:04:15 +07:00
Yonle
1e235a94d0 README: small fix of text
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 18:03:49 +07:00
Yonle
65cddf8030 bouncer: trigger EOSE according to max_known_events value if available
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 14:07:35 +07:00
Yonle
63a653ae51 conf & bouncer: introducing max_known_events configuration
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 13:44:25 +07:00
Yonle
c8dfe77fc8 bouncer: forgot to tell the ident that worker should delete
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 13:12:39 +07:00
Yonle
32c6a93370 deps: add optional package for another speed: utf-8-validate
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 12:11:52 +07:00
Yonle
82689f7c50 deps: need more speed? there you go. bufferutil for ws dep
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 12:01:05 +07:00
Yonle
62c79c1180 bouncer: bugfix of EVENT write did not work due to lack of allowed_publishers check.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 11:35:09 +07:00
Yonle
e8c5abedfd bouncer: just don't leave every single orphan unresolved Promises being lonely in memory
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 11:19:00 +07:00
Yonle
bd425a9e5a bouncer: just poke ready function if session is already prepared
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 11:01:53 +07:00
Yonle
bc4784bfe0 bouncer: improve session & idents handling
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 10:59:10 +07:00
Yonle
6bf93d5be6 connections: try not use noDelay & allowSynchronousEvents
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 10:30:08 +07:00
Yonle
8fc6c71d8e bouncer: try set sessStarted = true first
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 10:24:59 +07:00
Yonle
4923d263f2 code cleaning and features removal
The following configurations is removed due to flawed memory issues:
- broadcast_ratelimit
- incomming_ratelimit

Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-11 10:19:27 +07:00
Yonle
d499135428 processtitle: Set as "Bostr (keeper)" for init code.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 19:08:00 +07:00
Yonle
81fd6ebfac bouncer: remove event retransmitting
bostr already connected to relays before client is connecting to an
bouncer. So this feature is no longer needed.

Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 18:46:43 +07:00
Yonle
b6af5af30b code: replace Map() with Object just to try busting the myth
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 18:35:05 +07:00
Yonle
e5851cdcf1 another bugfix for auth.js with non-working noscraper mode
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 17:25:40 +07:00
Yonle
60c1674fd6 fix auth.js didn't work with noscraper
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 17:23:23 +07:00
Yonle
e1fbfbf06d package.json: bump version & set new version 3.0.0
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 15:00:12 +07:00
Yonle
3bf1b4ebba defaultconf: run with single clusters as it already running in 2 threads 2024-05-10 14:59:00 +07:00
Yonle
a7f86d28b2 defaultconf: add more comment into clusters section
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 14:53:05 +07:00
Yonle
f6baf0c53b bouncer: split code into two separate processes with upstream comms to be a worker
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-10 13:18:05 +07:00
Yonle
fc57162955 defaultconf: run bostr in numbers of clusters based of available parallelism / CPU cores
Signed-off-by: Yonle <yonle@lecturify.net>
2024-05-05 23:16:19 +07:00
Yonle
a3ae67a2c4 bouncer: improve NIP-42 compatibilities
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-28 21:20:25 +07:00
Yonle
07bca8d9cf feat: bouncer load balancer
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-28 21:01:58 +07:00
Yonle
ec6beb21aa packagejson: bump to revision 6
Signed-off-by: Yonle <yonle@lecturify.net>
2.1.5-6
2024-04-23 22:53:21 +07:00
Yonle
5bcb547586 defaultconf: disable deflate compression by default
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-23 22:52:20 +07:00
Yonle
97e6293150 try to improve handling EOSE for cached relays
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-23 19:54:44 +07:00
Yonle
bc0ff44ad0 README: yo will den make wut?
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-17 20:30:41 +07:00
Yonle
9b6533e068 README: instruction for docker users that runs bostr with different port
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-17 20:18:10 +07:00