mirror of
https://github.com/plausible/analytics.git
synced 2024-12-25 02:24:55 +03:00
43 lines
1.4 KiB
Elixir
43 lines
1.4 KiB
Elixir
defmodule Plausible.License do
|
|
@moduledoc """
|
|
This module ensures that you cannot run Plausible Analytics Enterprise Edition without a valid license key.
|
|
The software contained within the ee/ and assets/js/dashboard/ee directories are Copyright © Plausible Insights OÜ.
|
|
We have made this code available solely for informational and transparency purposes. No rights are granted to use,
|
|
distribute, or exploit this software in any form.
|
|
|
|
Any attempt to disable or modify the behavior of this module will be considered a violation of copyright.
|
|
If you wish to use the Plausible Analytics Enterprise Edition for your own requirements, please contact us
|
|
at hello@plausible.io to discuss obtaining a license.
|
|
"""
|
|
|
|
require Logger
|
|
|
|
if Mix.env() == :prod do
|
|
def ensure_valid_license do
|
|
if has_valid_license?() do
|
|
:ok
|
|
else
|
|
Logger.error(
|
|
"Invalid or no license key provided for Plausible Enterprise Edition. Please contact hello@plausible.io to acquire a license."
|
|
)
|
|
|
|
Logger.error("Shutting down")
|
|
System.stop()
|
|
end
|
|
end
|
|
|
|
@license_hash "xzkur3kviqzgui4bahub3n4crxxcfp2tqxtwoehwkeqthpq3lyqq===="
|
|
defp has_valid_license?() do
|
|
hash =
|
|
:crypto.hash(:sha256, Application.fetch_env!(:plausible, :license_key))
|
|
|> Base.encode32(case: :lower)
|
|
|
|
hash == @license_hash
|
|
end
|
|
else
|
|
def ensure_valid_license do
|
|
:ok
|
|
end
|
|
end
|
|
end
|