From 27f2a98225a3cb6b317cb76410273dc087d674f4 Mon Sep 17 00:00:00 2001 From: Alexis Bernard Date: Thu, 14 Mar 2024 16:04:58 +0100 Subject: [PATCH] Version 0.4.0 --- CHANGELOG.md | 6 +++--- Gemfile.lock | 4 ++-- README.md | 21 ++++++++++++++------- active_hashcash_dashboard.png | Bin 0 -> 71806 bytes lib/active_hashcash/version.rb | 2 +- 5 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 active_hashcash_dashboard.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 5234b4e..dc99971 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # Changelog of ActiveHashcash -## [Unreleased] +## 0.3.0 - 2024-03-14 -- Increase complexity logarithmicly to slowdown brute force attacks -- Add mountable dashboard to list latest stamps +- Increase complexity automatically to slowdown brute force attacks +- Add mountable dashboard to list latest stamps and most frequent IP addresses - Store stamps into the database instead of Redis - Fix ActiveHashcash::Store#add? by converting stamp to a string diff --git a/Gemfile.lock b/Gemfile.lock index ca0caf1..71f71d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - active_hashcash (0.2.0) + active_hashcash (0.3.0) rails (>= 5.2.0) GEM @@ -164,7 +164,7 @@ GEM rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) - rake (13.0.6) + rake (13.1.0) rdoc (6.5.0) psych (>= 4.0.0) reline (0.3.9) diff --git a/README.md b/README.md index 8d9cee7..2bc2327 100644 --- a/README.md +++ b/README.md @@ -67,8 +67,7 @@ end To customize some behaviour, you can override most of the methods which begins with `hashcash_`. Simply have a look to `active_hashcash.rb`. -From versiom 0.3.0, spent stamps are now stored into a relational database instead of Redis. -This prevents from spending stamp more than once. +Stamps are stored into into the database to prevents from spending them more than once. You must run a migration: ``` @@ -76,11 +75,13 @@ rails active_hashcash:install:migrations rails db:migrate ``` -## Dashboard +### Dashboard There is a mountable dahsboard which allows to see all spent stamps. It's not mandatory, but useful for monitoring purpose. +![ActiveHashcash dashboard](active_hashcash_dashboard.png "ActiveHashcash dashboard") + ```ruby # config/routes.rb mount ActiveHashcash::Engine, at: "hashcash" @@ -125,7 +126,6 @@ authenticate :user, -> (u) { u.admin? } do # Supposing there is a User#admin? me end ``` - ### Before version 0.3.0 You must have Redis in order to prevent double spent stamps. Otherwise it will be useless. @@ -134,13 +134,20 @@ You can also manually set the URL with `ActiveHashcash.redis_url = redis://user: You should call `ActiveHashcash::Store#clean` once a day, to remove expired stamps. +To upgrade from 0.2.0 you must run the migration : + +``` +rails active_hashcash:install:migrations +rails db:migrate +``` + ## Complexity Complexity is the most important parameter. By default its value is 20 and requires most of the time 5 to 20 seconds to be solved on a decent laptop. The user won't wait that long, since he needs to fill the form while the problem is solving. Howevever, if your application includes people with slow and old devices, then consider lowering this value, to 16 or 18. -You can change the minimum complexity, either with `ActiveHashcash.bits = 20` or by overriding the method `hashcash_bits` in you controller. +You can change the minimum complexity with `ActiveHashcash.bits = 20`. Since version 0.3.0, the complexity increases with the number of stamps spent during le last 24H from the same IP address. Thus it becomes very efficient to slow down brute force attacks. @@ -150,7 +157,7 @@ Thus it becomes very efficient to slow down brute force attacks. The JavaScript implementation is 10 to 20 times slower than the official C version. I first used the SubtleCrypto API but it is surprisingly slower than a custom SHA1 implementation. Maybe I did in an unefficient way 2df3ba5? -Another idea would be to compile the work algortihm in wasm. +Another idea would be to compile the work algorithm in wasm. Unfortunately, I'm not a JavaScript expert. Maybe you have good JS skills to optimize it? @@ -164,4 +171,4 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/BaseSe The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). -Made by Alexis Bernard at [Base Secrète](https://basesecrete.com). +Made by Alexis Bernard at [RorVsWild](https://www.rorvswild.com). diff --git a/active_hashcash_dashboard.png b/active_hashcash_dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..ea996c133a8e064845e6db1030587b7ece1668d5 GIT binary patch literal 71806 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 NQCv=}R7CH~e*>VY&AI>p literal 0 HcmV?d00001 diff --git a/lib/active_hashcash/version.rb b/lib/active_hashcash/version.rb index ba5410e..de13f12 100644 --- a/lib/active_hashcash/version.rb +++ b/lib/active_hashcash/version.rb @@ -1,3 +1,3 @@ module ActiveHashcash - VERSION = "0.2.0" + VERSION = "0.3.0" end