bostr

A nostr relay bouncer

BSD-3-CLAUSE License

Stars
78

Bot releases are visible (Hide)

bostr - 3.0.7 Latest Release

Published by Yonle 5 months ago

Code cleaning and fix bug.

What's new?

  • Code: Separated session event handlings code into separate function code.
  • Fix NIP-42 authentication in bostr <-> upstream relay

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull origin stable
npm i

For bun runtime installation, upgrading could be done with the following:

git pull origin stable
bun install

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.6...3.0.7

bostr - 3.0.6

Published by Yonle 5 months ago

Major change on worker code that improves a little bit of performance.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull origin stable
npm i

For bun runtime installation, upgrading could be done with the following:

git pull origin stable
bun install

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.5...3.0.6

bostr - 3.0.5

Published by Yonle 5 months ago

Instead of closing, Nuke. Just nuke.

If you just upgraded to 3.0.4-1, This update is major fix ONLY for 3.0.4-1.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull origin stable
npm i

For bun runtime installation, upgrading could be done with the following:

git pull origin stable
bun install

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.3...3.0.5

bostr - 3.0.4-1

Published by Yonle 5 months ago

Be good.

What's new

  • Closing websocket connections instead of terminating it.
  • Worker.ref() being called. Making the worker never exit
  • Some change on loading module. Just a change of name.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull origin stable
npm i

For bun runtime installation, upgrading could be done with the following:

git pull origin stable
bun install

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.3...3.0.4-1

bostr - 3.0.3

Published by Yonle 5 months ago

Nothing really new here other than making it works with bun runtime.

Changelog from 3.0.2 to 3.0.3

  • 14efdaf http & worker: handle max_client_subs properly
  • 845aa5b worker: fix bug where subscription limit is not being handled properly
  • d9d3b78 http page: handle x-forwarded-proto properly
  • 014d469 bouncer connection to relays: tell ConnID in header
  • b99795f worker: do not reconnect to cache relays/loadbalancer bouncers if status code ix 4xx
  • 533f3e6 worker_bouncer: use .splice(, 1) for removing instead of just delete
  • a187fed worker: newsess: rehandle loadbalancer config handling
  • 701fbe6 index.js (keeper): Detect Bun runtime environment

Upgrading

You don't need to if you're in 3.0.2-5.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.2...3.0.3

bostr - 3.0.2-5

Published by Yonle 5 months ago

5th revision after failed attempt on 4th revision. This revision includes major bugfix.

What's new?

  • Fix bug on crash after removing upstream relays to prevent further reconnection due to blocking.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.2-3...3.0.2-5

bostr - 3.0.2-3

Published by Yonle 5 months ago

This is a small revision that contains minor bug fix and introduction to ConnID in user agent header.

What's new?

  • ConnID in User Agent. See 014d469. Don't worry, It does not expose your IP.
  • Fix for HTTP page where handling x-forwarded-proto is not being handled properly

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.2-2...3.0.2-3

bostr - 3.0.2-2

Published by Yonle 5 months ago

This is a small revision for bugfix on subscription limit handling. 3.0.0 to 3.0.2-1 is affected to this bug.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.2-1...3.0.2-2

bostr - 3.0.2 revision 1

Published by Yonle 5 months ago

This is a revision for grammar fixes in version 3.0.2. See full changelog at version 3.0.2

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.2...3.0.2-1

bostr - 3.0.2

Published by Yonle 5 months ago

It's a small release that contains improvements and option for setting limit. Useful for public bouncer.

What's new?

  • Reveal who we are in User-Agent. This tells the upstream relay of what bouncer we are connecting from and what is the maintainer of the bouncer server
  • Config option: max_conn_per_ip. Set maximum incoming connections per IP.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.1...3.0.2

bostr - 3.0.1

Published by Yonle 5 months ago

It's an small release that contains bugfix and improvements.

What's new?

  • For loadbalancer only mode, List bounced relays from other bouncers that provided in loadbalancers in config.
  • Fixed NIP-42 in bostr (authorized_keys should work properly now)
  • Fix deflate compression still being enabled even after disabled in config

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/3.0.0...3.0.1

bostr - 3.0.0

Published by Yonle 5 months ago

This is a major bostr release after version 2 with massive code changes, including tweaks, performance improvements, more efficiencies, and also bugfixes.

What's new?

  • Performance: Separated one of CPU intensive code in bouncer.js as a worker code, allowing for multithreading which consume less CPU performance than the previous singlethreading.
  • Performance: Added 2 optional ws dependencies that could improve performance
  • Code: Replace codes that utilizes Map() as Objects. Just to try busting myth whenever object is actually faster than Map. Let's see.
  • Bugfixes: auth.js did not worked properly with only noscraper being set. Now should works.
  • Improvement: Removed some code that only consumes memory and do exactly nobody would like to do. These config is now deprecated as it's now doing nothing: broadcast_ratelimit, incomming_ratelimit
  • Feature: Added max_known_events configuration. See config.js.example for details

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g [email protected]

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

There are new configuration that you could configure for reducing memory usage. Check config.js.example, edit your existing config,

Then restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/2.1.5-6...3.0.0

bostr - 2.1.5-6

Published by Yonle 6 months ago

Just an small release that seems helpful for bouncer that has a configured cache relay.

What's new?

  • Improved EOSE handling for cache relays.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g bostr@latest

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

You will need to change approved_publishers as allowed_publishers in your config.

Then, restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/2.1.5-5...2.1.5-6

bostr - 2.1.5-5

Published by Yonle 6 months ago

Error in internal nostr-tools code that causes bostr crashes on certain filters.

Added a code to handle error in nostr-tools function.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g bostr@latest

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

You will need to change approved_publishers as allowed_publishers in your config.

Then, restart your bouncer to apply update.

bostr - 2.1.5-4

Published by Yonle 6 months ago

bostr - 2.1.5 revision 1

Published by Yonle 6 months ago

This is an statistics fix release for 2.1.5.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g bostr@latest

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

You will need to change approved_publishers as allowed_publishers in your config.

Then, restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/2.1.5...2.1.5-1

bostr - 2.1.5

Published by Yonle 7 months ago

So, How many events you've got for months, Mr. Bouncer?

What's new?

  • Bouncer statistics
  • Fix ratelimit handling

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g bostr@latest

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

You will need to change approved_publishers as allowed_publishers in your config.

Then, restart your bouncer to apply update.

Full Changelog: https://github.com/Yonle/bostr/compare/2.1.4...2.1.5

bostr - 2.1.4

Published by Yonle 7 months ago

Little code improvement, small but major bugfix (again), And to combat scraper that consume server bandwidth, too.

What's new?

  • noscraper option in config to only allow client that support NIP-42 to use bouncer. This was used for combat scraper
  • Fix improper bouncing with save mode
  • Small code improvement

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g bostr@latest

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

and then restart your bouncer.

Author comment

雪花飘飘北风啸啸
天地一片苍茫
一剪寒梅傲立雪中
只为一人飘香
爱我所爱无愿无悔
此情常留心间

Full Changelog: https://github.com/Yonle/bostr/compare/2.1.3...2.1.4

bostr - 2.1.3

Published by Yonle 7 months ago

Just a small update for adding the old feature.

What's new

  • Reintroduced cache_relays. You could use it to speed up event deliveries.
  • Fix on bostr closing an already opened subscription.

Upgrading

For npm installation, upgrading could be done with the following:

npm i -g bostr@latest

or

npm i -g https://github.com/Yonle/bostr.git

For source code installation, upgrading could be done with the following:

git pull
npm i

and then restart your bouncer.

Full Changelog: https://github.com/Yonle/bostr/compare/2.1.1...2.1.3

bostr - 2.1.2

Published by Yonle 7 months ago