Refactorizar DeployHiddenService

This commit is contained in:
f 2021-08-01 21:54:12 -03:00
parent e49d8484a2
commit 0d8f0ec5ee

View file

@ -1,18 +1,32 @@
# frozen_string_literal: true
# Genera una versión onion
# Alojar el sitio como un servicio oculto de Tor, que en realidad es un
# link simbólico al DeployLocal.
class DeployHiddenService < DeployWww
def deploy
return true if fqdn.blank?
super
end
def fqdn
values[:onion]
end
validates :hostname, format: { with: /\A[a-f0-9]{56}.onion\z/ }
# Los servicios ocultos son su propio transporte cifrado y
# autenticado.
#
# @return [String]
def url
'http://' + fqdn
"http://#{hostname}"
end
# Los onions no son creados por Sutty sino por Tor y enviados luego a
# través de la API. El hostname por defecto es un nombre temporal que
# se parece a una dirección OnionV3.
#
# TODO: En el panel se muestra esta dirección como si fuera la real.
#
# @return [String]
def default_hostname
"#{SecureRandom.hex(28)}.onion"
end
private
def implements_hostname_validation?
true
end
end