Refactorizar DeployHiddenService
This commit is contained in:
parent
e49d8484a2
commit
0d8f0ec5ee
1 changed files with 25 additions and 11 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue