262 Commits

Author SHA1 Message Date
Yonle
0b729440a8 RELEASE: 2.1.5
Signed-off-by: Yonle <yonle@lecturify.net>
2.1.5
2024-04-09 10:42:21 +07:00
Yonle
06609b4370 statistic: oops. 2024-04-06 14:44:16 +07:00
Yonle
9621855efb statistic: make the legend description a bit clear
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-06 14:40:31 +07:00
Yonle
7417f23fd5 statistic: add raw_rx
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-06 14:38:06 +07:00
Yonle
19cc63cc81 bouncer: warn when config is still using approved_publishers
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-05 14:24:45 +07:00
Yonle
7dc735171b http: make it a bit understandable
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-05 10:35:00 +07:00
Yonle
d8b2a8388b bouncer: count fail for unexpected status code too.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-05 10:30:18 +07:00
Yonle
83dc69bfd7 bouncer: fix ratelimit & stats handling
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-04 21:52:10 +07:00
Yonle
e9f79114d0 bouncer: forget to put rx into global statistics.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-04 21:37:58 +07:00
Yonle
63a404d3ae feat: add bouncer statistics
Signed-off-by: Yonle <yonle@lecturify.net>
2024-04-04 21:33:11 +07:00
Yonle
a9335bf52e RELEASE: 2.1.4
Signed-off-by: Yonle <yonle@lecturify.net>
2.1.4
2024-03-30 15:11:18 +07:00
Yonle
427777307a bouncer: fixbug on handling invalid relay response
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-29 07:58:20 +07:00
Yonle
5a95821cc9 bouncer: change code on variable names, and handling iterate from relays instead of doing .forEach
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-28 22:13:24 +07:00
Yonle
d3eeb37717 bouncer: fix pendingEOSE being deleted before all relays sends EOSE
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-28 08:33:44 +07:00
Yonle
7eaafe5906 packagejson: set new devel version
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-28 08:33:01 +07:00
Yonle
857ad0ba05 defaultconf: add some note that nosvraper field also block unauthorized EVENT
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-27 23:28:59 +07:00
Yonle
2972624c49 bouncer & defaultconf: change nobot to noscraper
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-27 23:23:53 +07:00
Yonle
dfdc5fbcc4 bouncer: if nobot is being set, don't perform request for bot/scraper/crawler/similiar.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-27 23:15:16 +07:00
Yonle
406dcecb63 defaultconf: new field: nobot
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-27 23:14:09 +07:00
Yonle
6105dc86d6 RELEASE: 2.1.3
Signed-off-by: Yonle <yonle@lecturify.net>
2.1.3
2024-03-23 13:39:38 +07:00
Yonle
be9b0698b8 bouncer: override opened subscription when requested.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-23 13:38:54 +07:00
Yonle
3ea250a248 RELEASE: 2.1.2
Signed-off-by: Yonle <yonle@lecturify.net>
2.1.2
2024-03-23 13:25:00 +07:00
Yonle
0e7fc38d45 exampleconfig: wording.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-23 12:12:22 +07:00
Yonle
4afe82b342 bouncer: just slam EOSE from cache relay. idc
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-23 12:06:41 +07:00
Yonle
cab31feb4f packagejson: set version as 2.1.2-dev for next release
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-23 11:56:33 +07:00
Yonle
9d07840f67 bouncer: skip check if same event already transmitted & only store to cache relay if not received before
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-23 11:55:14 +07:00
Yonle
6d9987486e bouncer: add caching feature back.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-22 23:54:37 +07:00
Yonle
03fa26838a RELEASE: 2.1.1
Signed-off-by: Yonle <yonle@lecturify.net>
2.1.1
2024-03-21 22:20:27 +07:00
Yonle
7fa955dc25 bouncer: fix multiple EOSE being sent when received very new event. 2024-03-21 22:20:16 +07:00
Yonle
91efce8bbf RELEASE: 2.1.0 2.1.0 2024-03-21 22:13:04 +07:00
Yonle
391c11f9b0 update README 2024-03-21 22:12:53 +07:00
Yonle
db0c88a2b7 bouncer: log info about OK, NOTICE, and CLOSED message when log_about_relays is true 2024-03-21 22:12:31 +07:00
Yonle
63ee61a4e1 npmignore: don't include config.js
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-21 21:47:08 +07:00
Yonle
9dc1f71d0e RELEASE: 2.0.11
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-21 21:45:04 +07:00
Yonle
ae3f5888c2 bouncer: fix multiple EOSE bypassing when using save mode.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-21 17:54:22 +07:00
Yonle
948207806d feat(bouncer): add option for adjusting numbers of idle sessions.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-18 23:57:53 +07:00
Yonle
b0b3d98c9e log: tell to logger if an IP is now known as something.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-18 22:51:32 +07:00
Yonle
99dc6bc6a2 fix bug on idle connection closing.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-18 22:51:32 +07:00
Yonle
d6cfdcb6ad try to make idle session and wait for a client to take over it
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-18 22:51:32 +07:00
Yonle
2bf62c6551 defaultconf: use only 1 cluster by default.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-18 22:51:02 +07:00
Yonle
c23fb716ce RELEASE: 2.0.10
Signed-off-by: Yonle <yonle@lecturify.net>
2.0.10
2024-03-12 17:39:43 +07:00
Yonle
f80f78bb95 Revert "bouncer: rehandle how handling EOSE works."
This reverts commit 20aab1a79c881597030802769d1fde21f88d7fb9.
2024-03-12 17:37:12 +07:00
Yonle
148ae31b47 Revert "bouncer: try use Set() for connectedRelays counting instead."
This reverts commit 2bf91f8603485710bcf81324eb5338bc0f1bfe9f.
2024-03-12 17:37:06 +07:00
Yonle
7a39b3aa26 RELEASE: 2.0.9
Small fix, Small improvements.

What's New?
===========
- Fix bugs on the following:
  - handle error on missing config field for blocked_publishers
  - fix AUTH request is being sent even with empty private_keys
- Improvements on handling EOSE.

Signed-off-by: Yonle <yonle@lecturify.net>
2.0.9
2024-03-10 08:55:18 +07:00
Yonle
2bf91f8603 bouncer: try use Set() for connectedRelays counting instead. 2024-03-10 08:50:18 +07:00
Yonle
20aab1a79c bouncer: rehandle how handling EOSE works.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-10 08:13:42 +07:00
Yonle
348830c577 bouncer: absurd harmless bug that does not harm anyone but technically annoying
As it turns out, private_keys !== {} is not enough.
When i do some experiment in Node.js REPL to find out the cause why the
heck bouncer.js still sends AUTH to user even with private_keys being
empty ({}), This absurd result happens:

  Welcome to Node.js v20.11.1.
  Type ".help" for more information.
  > {} === {}
  false
  > {} !== {}
  true
  > {} != {}
  true
  > {} == {}
  false

What the fuck..

Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-02 18:07:30 +07:00
Yonle
f148914ed8 bouncer: handle error on missing config field for blocked_publishers
Signed-off-by: Yonle <yonle@lecturify.net>
2024-03-02 17:42:02 +07:00
Yonle
ce0533cc6e RELEASE: 2.0.8
Small and useful improvements and a little bit touch on moderations.

- Improvements on receiving new events in save mode (a.k.a. pause_on_limit)

Firewall / moderation things:
- A way to block an event owner's pubkey to have the event published
  into your bouncer. Useful to stop annoying actors to abuse your
  bouncer or in moderated nostr relay.

- Ability to block an IP address to connect into the bouncer's websocket.
  Useful to stop scrappers to constantly dig in your bouncer

I am not going to focus much on moderation however. So please bear in mind
that if you ask too much to add moderation stuffs into bostr, It will be
an different project. Because that's not what the goal of this project
for.

As of now i am still focusing to improve the save mode (pause_on_limit).

Signed-off-by: Yonle <yonle@lecturify.net>
2.0.8
2024-03-01 12:04:05 +07:00
Yonle
67f16ff247 feat(bouncer): Tell upstream relays the client IP address if needed.
Signed-off-by: Yonle <yonle@lecturify.net>
2024-02-28 22:49:23 +07:00