Mel -- A scalable asynchronous event-driven jobs engine
Pond -- Crystal WaitGroups without channels or counters
Shield v0.7.0 released
Shield is a comprehensive security solution for Lucky framework. It features robust authentication and authorization, including user registrations, logins and logouts, password resets and more.
Links: Source | Documentation | Changelog
Quick Start
Get started quickly using Penny -- a Lucky application scaffold that gets you up and running with Shield.
Upgrading
See penny.diff
for some of the changes you might need to make in your existing app.
Shield v0.6.0 adds support for @LuckyFramework v0.25.0
Shield is a comprehensive security solution for Lucky framework. It features robust authentication and authorization, including user registrations, logins and logouts, password resets and more.
Get started using Meth: Meth is a Lucky application scaffold that gets you up and running with Shield.
Version 0.6.0 adds support for Lucky v0.25.0, and drops support for earlier versions.
This version improves on features introduced in earlier versions, and fixes a few bugs.
Find source and documentation on GitHub:
Cryflare -- A Low-level API Client for Cloudflare® v4
Cryflare is a low-level API client for Cloudflare® v4. It features an intuitive interface that maps perfectly to the Cloudflare API.
Source: https://github.com/GrottoPress/cryflare
Examples
# Create a new client
client = Cryflare::Client.new(
email: "cloudflare-email",
key: "cloudflare-api-key"
)
# Get zone by name
client.zones.index(name: "grottopress.com") do |response|
if response.success?
response.result.try &.first?.try do |zone|
puts zone.id
puts zone.name
puts zone.owner.name
# ...
end
else
response.errors.each do |error|
puts error.code
puts error.message
end
end
end
# Create new DNS record
client.dns_records.create(
"zone-id",
type: "A",
name: "example.com",
content: "127.0.0.1",
ttl: 120
) do |response|
if response.success?
response.result.try do |dns_record|
puts dns_record.id
puts dns_record.name
puts dns_record.content
# ...
end
else
response.errors.each do |error|
puts error.code
puts error.message
end
end
end
# Delete firewall rule
client.firewall_rules.destroy("zone-id", "rule-id") do |response|
if response.success?
response.result.try do |firewall_rule|
puts firewall_rule.id
# ...
end
else
response.errors.each do |error|
puts error.code
puts error.message
end
end
end
Shield v0.5.0 – Login idle timeout, Pwned Passwords, and more...
Shield is a comprehensive security solution for Lucky framework. It features robust authentication and authorization, including user registrations, logins and logouts, password resets and more.
Version 0.5.0 adds the ability to automatically log a user out after a set period of inactivity. This does not require any user interaction -- Shield sends a Refresh
response header to force a reload of the page after the login times out, which triggers the action pipe that terminates the session.
We added a new Avram::Validations.validate_not_pwned
method that checks that given passwords do not appear in a known data breach, using the Pwned Passwords API.
https://forum.crystal-lang.org/t/shield-v0-5-0-login-idle-timeout-pwned-passwords-and-more/2723
Shield v0.4.0 Presents RFC 6750 Bearer Logins (API Tokens)
Shield is a comprehensive security solution for Lucky framework. It features robust authentication and authorization, including user registrations, logins and logouts, password resets and more.
Version 0.4.0 enables authentication via access tokens, per RFC 6750. Any registered user may create bearer logins, and delegate some or all of their rights to them in the form of scopes...
https://forum.crystal-lang.org/t/shield-v0-4-0-presents-rfc-6750-bearer-logins-api-tokens/2678
Shield -- Comprehensive security for Lucky framework
Shield is a comprehensive security solution for Lucky framework. It features robust authentication and authorization, including user registrations, logins and logouts, password resets and more.
Find source and documentation on GitHub: https://github.com/grottopress/shield
Envy: Load environment variables from YAML
Envy loads and sets environment variables from YAML. It supports all YAML data types, including arrays and hashes.
Envy loads environment variables only once per application life-cycle. This avoids the overhead of reading and parsing YAML files on every single request.