Referencia de la API de ZeroFrame

Wrapper

Estos comandos son manejados por el marco del wrapper y no se envían al servidor mediante websocket

wrapperConfirm message, [button_caption]

Mostrar una notificación con el botón de confirmación

Parámetro Descripción
message El mensaje que desea mostrar
button_caption (opcional) Leyenda del botón de confirmación (predeterminado: OK)

Respuesta: Es cierta si se hace clic en el botón

Ejemplo:

# Delete site
siteDelete: (address) ->
    site = @sites[address]
    title = site.content.title
    if title.length > 40
        title = title.substring(0, 15)+"..."+title.substring(title.length-10)
    @cmd "wrapperConfirm", ["¿Estas seguro? <b>#{title}</b>", "Delete"], (confirmed) =>
        @log "Deleting #{site.address}...", confirmed
        if confirmed
            $(".site-#{site.address}").addClass("deleted")
            @cmd "siteDelete", {"address": address}

wrapperInnerLoaded

Aplica el archivo windows.location.hash a la url de la página. Llame cuando la página esté completamente cargada para saltar al punto de anclaje deseado.


wrapperGetLocalStorage

Respuesta: Almacenamiento local del navegador para el sitio

Ejemplo:

@cmd "wrapperGetLocalStorage", [], (res) =>
    res ?= {}
    @log "Local storage value:", res

wrapperGetState

Respuesta: Objeto de estado del historial actual del explorador


wrapperNotification type, message, [timeout]

Muestra una notificación

Parámetro Descripción
type Valores posibles: info, error, done
message El mensaje que quieres mostrar
timeout (optional) Oculta el mensaje después de este intervalo (mili-segundos)

Respuesta: Ninguna

Ejemplo:

@cmd "wrapperNotification", ["done", "¡Tu registración a sido enviada!", 10000]

wrapperOpenWindow url, [target], [specs]

Navega o abre una nueva ventana emergente.

Parámetro Descripción
url Url de la pagina abierta
target (opcional) Nombre de la ventana destinada
specs (opcional) Propiedades especiales de la ventana (mira: window.open specs)

Ejemplo:

@cmd "wrapperOpenWindow", ["https://zeronet.io", "_blank", "width=550,height=600,location=no,menubar=no"]

wrapperPermissionAdd permission

Solicita un nuevo permiso para el sitio

Parámetro Descripción
permission Nombre del permiso (ej. Merger:ZeroMe)

wrapperPrompt message, [type]

Muestra la entrada de texto del usuario

Parámetro Descripción
message El mensaje que quieres mostrar
type (optional) El tipo de entrada (determinado: text)

Respuesta: Texto ingresado en la entrada

Ejemplo:

# Prompt the private key
@cmd "wrapperPrompt", ["Ingresa tu llave privada:", "password"], (privatekey) =>
    $(".publishbar .button").addClass("loading")
    # Enviar firma a content.json y publicar solicitud al servidor
    @cmd "sitePublish", [privatekey], (res) =>
        $(".publishbar .button").removeClass("loading")
        @log "Publish result:", res

wrapperPushState state, title, url

Cambia el url y añade una nueva entrada al historial del explorador. Mira: pushState JS method_

Parámetro Descripción
state Estado del objeto javascript
title Titulo de la pagina
url Url de la pagina

Respuesta: Ninguna

@cmd "wrapperPushState", [{"scrollY": 100}, "Pagina de perfil", "Perfil"]

wrapperReplaceState state, title, url

Cambia el url sin añadir una nueva entrada al historial del explorador. Mira: replaceState JS method_

Parámetro Descripción
state Estado del objeto javascript
title Titulo de la pagina
url Url de la pagina

Respuesta: Ninguna

@cmd "wrapperReplaceState", [{"scrollY": 100}, "Pagina de Perfil", "Perfil"]

wrapperSetLocalStorage data

Asigna el alojamiento local de datos del explorador para el sitio

Parámetro Descripción
data Cualquier estructura de datos que quieres almacenar para el sitio

Respuesta: Ninguna

Ejemplo:

Page.local_storage["topic.#{@topic_id}_#{@topic_user_id}.visited"] = Time.timestamp()
Page.cmd "wrapperSetLocalStorage", Page.local_storage

wrapperSetTitle title

Asigna el titulo del sitio

Parámetro Descripción
title Nuevo titulo de pestaña del explorador

Respuesta: Ninguna

Ejemplo:

Page.cmd "wrapperSetTitle", "newtitle"

wrapperSetViewport viewport

Asigna la etiqueta de meta datos del viewport del contenido (requerido para sitios móviles)

Parámetro Descripción
viewport La etiqueta de meta datos del viewport del contenido

Respuesta: Ninguna

Ejemplo:

# Solicitar la clave privada
@cmd "wrapperSetViewport", "width=device-width, initial-scale=1.0"

UiServer

El UiServer es para ZeroNet lo que para las paginas web normales es la configuración LAMP.

El UiServer hará todo el trabajo 'backend' (por ejemplo: consultar el DB, acceder a archivos, etc.). Estas son las llamadas de la API que necesitará para dinamizar su sitio.

certAdd domain, auth_type, auth_user_name, cert

Añade un nuevo certificado al usuario actual.

Parámetro Descripción
domain Dominio emisor del certificado
auth_type Tipo de autenticación utilizado en el registro
auth_user_name Nombre de usuario utilizado en el registro
cert El cert en sí: auth_address#auth_type/auth_user_name Cadena firmada por el propietario del sitio cert

Respuesta: "ok", "Not changed" o {"error": error_message}

Ejemplo:

@cmd "certAdd", ["zeroid.bit", auth_type, user_name, cert_sign], (res) =>
    $(".ui").removeClass("flipped")
    if res.error
        @cmd "wrapperNotification", ["error", "#{res.error}"]

certSelect accepted_domains

Muestra el selector de certificado.

Parámetro Descripción
accepted_domains Lista de dominios que son aceptados por el sitio como proveedor de autorización

Respuesta: Ninguna

Ejemplo:

@cmd "certSelect", {"accepted_domains": ["zeroid.bit"]}

channelJoin channel

Solicita notificaciones acerca de los eventos del sitio.

Parámetro Descripción
channel Canal a unirse

Respuesta: Ninguna

Channels:

  • siteChanged (joined by default)
    Events: peers_added, file_started, file_done, file_failed

Ejemplo:

# Wrapper websocket conexión lista
onOpenWebsocket: (e) =>
    @cmd "channelJoinAllsite", {"channel": "siteChanged"}

# Ruta de solicitudes y mensajes entrantes
route: (cmd, data) ->
    if cmd == "setSiteInfo"
        @log "Site changed", data
    else
        @log "Unknown command", cmd, data

Ejemplo de dato de evento

{
    "tasks":0,
    "size_limit":10,
    "address":"1RivERqttrjFqwp9YH1FviduBosQPtdBN",
    "next_size_limit":10,
    "event":[ "file_done", "index.html" ],
    [...] # Lo mismo que siteInfo return dict
}


dbQuery query

Ejecutar una consulta en la caché de SQL

Parámetro Descripción
query Comando de consulta de SQL

Respuesta: Resultado de la consulta

Ejemplo:

@log "Updating user info...", @my_address
Page.cmd "dbQuery", ["SELECT user.*, json.json_id AS data_json_id FROM user LEFT JOIN json USING(path) WHERE path='#{@my_address}/data.json'"], (res) =>
    if res.error or res.length == 0 # Db no está listo todavía o Ningún usuario encontrado
        $(".head-user.visitor").css("display", "")
        $(".user_name-my").text("Visitor")
        if cb then cb()
        return

    @my_row = res[0]
    @my_id = @my_row["user_id"]
    @my_name = @my_row["user_name"]
    @my_max_size = @my_row["max_size"]

fileDelete inner_path

Borrar un archivo

Parámetro Descripción
inner_path El archivo que quieres borrar

Respuesta: "ok" si se logro, de lo contrario un mensaje de error.


fileGet inner_path, [required], [format], [timeout]

Obtener el contenido del archivo

Parámetro Descripción
inner_path El archivo que quieres obtener
required (optional) Trata y espera por el archivo si este no existe. (determinado: True)
format (optional) Codificado de los datos de la respuesta. (texto o base64) (determinado: text)
timeout (optional) Tiempo máximo de espera para que los datos lleguen (determinado: 300)

Respuesta: El contenido del archivo

Ejemplo:

# Voto positivo en un tópico de ZeroTalk
submitTopicVote: (e) =>
    if not Users.my_name # No registrado
        Page.cmd "wrapperNotification", ["info", "Por favor, pide acceso antes de publicar."]
        return false

    elem = $(e.currentTarget)
    elem.toggleClass("active").addClass("loading")
    inner_path = "data/users/#{Users.my_address}/data.json"

    Page.cmd "fileGet", [inner_path], (data) =>
        data = JSON.parse(data)
        data.topic_votes ?= {} # Crear si no existe
        topic_address = elem.parents(".topic").data("topic_address")

        if elem.hasClass("active") # Añade voto positivo al tópico
            data.topic_votes[topic_address] = 1
        else # Remueve el voto positivo del tópico
            delete data.topic_votes[topic_address]

        # Escribir el archivo y publicarlo a otros pares
        Page.writePublish inner_path, Page.jsonEncode(data), (res) =>
            elem.removeClass("loading")
            if res == true
                @log "File written"
            else # Fallo
                elem.toggleClass("active") # Cambiar de vuelta

    return false

fileList inner_path

Lista de archivos en el directorio

Parámetro Descripción
inner_path El directorio que quieres listar

Respuesta: Lista de archivos en el directorio (recursivo)


fileQuery dir_inner_path, query

Comando simple de consulta de archivos json

Parámetro Descripción
dir_inner_path Patrón de archivos consultados
query Comando de consulta (opcional)

Respuesta: Contenido coincidente

Query examples:

  • ["data/users/*/data.json", "topics"]:Devuelve todos los temas nodos de todos los archivos de usuario
  • ["data/users/*/data.json", "comments.1@2"]: Respuestas user_data["comments"]["1@2"] Valor de todos los archivos de usuario
  • ["data/users/*/data.json", ""]: Devuelve todos los datos de los archivos de los usuarios
  • ["data/users/*/data.json"]: Devuelve todos los datos de los archivos de los usuarios (igual que anteriormente)

Ejemplo:

@cmd "fileQuery", ["data/users/*/data.json", "topics"], (topics) =>
    topics.sort (a, b) -> # Ordenar por fecha
        return a.added - b.added
    for topic in topics
        @log topic.topic_id, topic.inner_path, topic.title

fileRules inner_path

Devolver las reglas para el archivo

Parámetro Descripción
inner_path Directorio interno del archivo

Return: Contenido que encaja

Example result:

{
    "current_size": 2485,
    "cert_signers": {"zeroid.bit": ["1iD5ZQJMNXu43w1qLB8sfdHVKppVMduGz"]},
    "files_allowed": "data.json",
    "signers": ["1J3rJ8ecnwH2EPYa6MrgZttBNc61ACFiCj"],
    "user_address": "1J3rJ8ecnwH2EPYa6MrgZttBNc61ACFiCj",
    "max_size": 100000
}

Ejemplo:

@cmd "fileRules", "data/users/1J3rJ8ecnwH2EPYa6MrgZttBNc61ACFiCj/content.json", (rules) =>
    @log rules

fileWrite inner_path, content

Escribir archivo en el contenido

Parámetro Descripción
inner_path Directorio interno del archivo que quieres escribir
content_base64 Contenido que quieres escribir al archivo (base64 codificado)

Respuesta: "ok" si se logro, de lo contrario un mensaje de error.

Ejemplo:

writeData: (cb=null) ->
    # Codificar a json, codificar utf8
    json_raw = unescape(encodeURIComponent(JSON.stringify({"hello": "ZeroNet"}, undefined, '\t')))
    # Convertir a base64 y enviar
    @cmd "fileWrite", ["data.json", btoa(json_raw)], (res) =>
        if res == "ok"
            if cb then cb(true)
        else
            @cmd "wrapperNotification", ["error", "File write error: #{res}"]
            if cb then cb(false)

Nota: para escribir archivos que no estén todavía en content.json, debes tener "own": true en data/sites.json en el sitio que quieres escribir


serverInfo

Respuesta: Toda la información acerca del servidor

Ejemplo:

@cmd "serverInfo", {}, (server_info) =>
    @log "Server info:", server_info

Example return value:

{
    "debug": true, # Corriendo en modo de depuración
    "fileserver_ip": "*", # Servidor de archivos enlazar a
    "fileserver_port": 15441, # Puerto de servidor de archivos
    "ip_external": true, # Activo del modo pasivo
    "platform": "win32", # Sistema Operativo
    "ui_ip": "127.0.0.1", # UiServer vinculado a
    "ui_port": 43110, # Puerto UiServer (Web)
    "version": "0.2.5" # Versión
}

siteInfo

Respuesta: Toda la información acerca del sitio

Ejemplo:

@cmd "siteInfo", {}, (site_info) =>
    @log "Site info:", site_info

Example return value:

{
    "tasks": 0, # Número de archivos actualmente en descarga
    "size_limit": 10, # Límite de tamaño del sitio actual en MB
    "address": "1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr", # Dirección del sitio
    "next_size_limit": 10, # Límite de tamaño requerido por la suma de archivos del sitio
    "auth_address": "2D6xXUmCVAXGrbVUGRRJdS4j1hif1EMfae", # Dirección de Bitcoin del usuario actual
    "auth_key_sha512": "269a0f4c1e0c697b9d56ccffd9a9748098e51acc5d2807adc15a587779be13cf", # Obsoleta, no la utilice
    "peers": 14, # Pares del sitio
    "auth_key": "pOBdl00EJ29Ad8OmVIc763k4", # Obsoleta, no la utilice
    "settings":  {
        "peers": 13, # Saved peers num for sorting
        "serving": true, # Sitio habilitado
        "modified": 1425344149.365, # Ultima fecha de modificación de todos los archivos del sitio
        "own": true, # Own site
        "permissions": ["ADMIN"], # Permiso del sitio
        "size": 342165 # Tamaño total del sitio en bytes
    },
    "bad_files": 0, # Los archivos que necesitan ser descargados
    "workers": 0, # Descargas concurrentes actuales
    "content": { # Raiz de content.json
        "files": 12, # Numero de archivo, información detallada del archivo removida para reducir la transferencia de datos y parse time
        "description": "Este sitio",
        "title": "ZeroHello",
        "signs_required": 1,
        "modified": 1425344149.365,
        "ignore": "(js|css)/(?!all.(js|css))",
        "signers_sign": null,
        "address": "1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr",
        "zeronet_version": "0.2.5",
        "includes": 0
    },
    "cert_user_id": "zeronetuser@zeroid.bit", # Certificado actualmente seleccionado para el sitio
    "started_task_num": 1, # Ultimo número de archivos descargados
    "content_updated": 1426008289.71 # Tiempo de actualización de Content.json
}

sitePublish [privatekey], [inner_path], [sign]

Publicar un content.json del sitio

Parámetro Descripción
privatekey (opcional) Llave privada usada para el firmado (determinado: llave privada actual del usuario)
inner_path (opcional) Directorio interno del content.json que quieres publicar (determinado: content.json)
sign (opcional) Si es cierto entonces firma el content.json antes de publicarlo (determinado: Cierto)

Respuesta: "ok" si se logro, de lo contrario un mensaje de error.

Ejemplo:

# Prompt the private key
@cmd "wrapperPrompt", ["Entra tu llave privada:", "password"], (privatekey) =>
    $(".publishbar .button").addClass("loading")
    # Send sign content.json and publish request to server
    @cmd "sitePublish", [privatekey], (res) =>
        $(".publishbar .button").removeClass("loading")
        @log "Publish result:", res

siteSign [privatekey], [inner_path]

Firma un content.json del sitio

Parámetro Descripción
privatekey (opcional) Llave privada usada para el firmado (determinado: llave privada actual del usuario)
inner_path (opcional) Directorio interno del content.json que quieres publicar (determinado: content.json)

Respuesta: "ok" si se logro, de lo contrario un mensaje de error.

Nota: Usa "stored" como "privatekey" si este esta definido en users.json (ej. sitios clonados)

Ejemplo:

if @site_info["privatekey"] # Llave privada almacenada en users.json
    @cmd "siteSign", ["stored", "content.json"], (res) =>
        @log "Sign result", res

siteUpdate address

Fuerza el chequeo y descarga del contenido cambiado de otros pares (solo es necesario si el usuario esta en el modo pasivo y esta usando una versión antigua de ZeroNet)

Parámetro Descripción
address Dirección del sitio que quieres actualizar (solo se permite en el sitio actual sin el permiso del ADMIN)

Respuesta: Ninguna

Ejemplo:

# Actualización manual del sitio para conexiones pasivas
updateSite: =>
    $("#passive_error a").addClass("loading").removeClassLater("loading", 1000)
    @log "Actualizando sitio..."
    @cmd "siteUpdate", {"address": @site_info.address}

Complemento: Encriptar Mensaje

userPublickey [index]

Obtener la llave publica especifica del usuario en el sitio

Parámetro Descripción
index (opcional) Sub-publickey within site (default: 0)

Respuesta: base64 llave publica codificada


eciesEncrypt text, [publickey], [return_aes_key]

Encrípta un texto usando una llave publicar

Parámetro Descripción
text Texto a encríptar
publickey (opcional) Indice de llave publica del usuario (int) o llave publica codificada en base64 (determinado: 0)
return_aes_key (opcional) Obtén la llave AES usada en la encriptación (determinado: falso)

Respuesta: Texto encriptado en el formato base64 o [Texto encriptado en el formato base64, llave AES en el formato base64]


eciesDecrypt params, [privatekey]

Trata de desencriptar la lista de textos

Parámetro Descripción
params Un texto o lista de textos encriptados
privatekey (opcional) Indice de llave privada de usuario (int) o llave privada codificada en base64 (determinado: 0)

Respuesta: Texto desencriptado o lista de textos desencriptados (nulo para decodificaciones fallidas)


aesEncrypt text, [key], [iv]

Encripta un texto usando la llave y el iv

Parámetro Descripción
text Un texto encriptado usando AES
key (opcional) Contraseña codificada en base64 (determinado: generar nueva)
iv (opcional) Iv codificado en base64 (determinado: generar nueva)

Respuesta: [llave codificada en base64, iv codificado en base64, texto encriptado codificado en base64]


aesDecrypt iv, encrypted_text, key

aesDecrypt encrypted_texts, keys

Desencriptar el texto usando la llave IV y AES

Parámetro Descripción
iv Iv en el formato base64
encrypted_text Texto encriptado en el formato Base64
encrypted_texts Lista de [iv codificado en base64, texto encriptado codificado en base64] pares
key Contraseña codificada en base64 para el texto
keys Llaves para decodificar (Intenta cada uno por cada pareja)

Respuesta: Texto decodificado o lista de textos descodificados


Complemento: Noticias

feedFollow feeds

Establecer consultas SQL seguidas.

La consulta SQL debería resultar en filas con columnas:

Field Descripción
type Tipo: publicación, artículo, comentario, mención
date_added Hora del evento
title Se mostrará la primera línea del evento
body Segunda y tercera línea del evento
url Enlace a la página de eventos
Parámetro Descripción
feeds Formato: {"nombre de la consulta": [consulta SQL, [param1, param2, ...], ...}, los parámetros se escaparán, unidos por , insertados en lugar de : params en la consulta Sql.

Respuesta: ok

Ejemplo:

# Sigue las publicaciones de ZeroBlog
query = "
    SELECT
     post_id AS event_uri,
     'post' AS type,
     date_published AS date_added,
     title AS title,
     body AS body,
     '?Post:' || post_id AS url
    FROM post
"
params = [""]
Page.cmd feedFollow [{"Posts": [query, params]}]

feedListFollow

Respuesta de los feeds de paginas seguidas

Respuesta: Los feeds actualmente seguidos en el mismo formato que en los comandos feedFollow


feedQuery [limit], [day_limit]

Ejecutar todo seguido consulta sql

Respuesta: El resultado de las consultas Sql siguientes

Parámetro Descripción
limit Límite de resultados por sitio seguido (valor predeterminado: 10)
day_limit Devolver no más antiguo que el número de estos días (predeterminado: 3)

Complemento: Sitio Combinado

mergerSiteAdd addresses

Iniciar la descarga de un nuevo sitio(s) combinado

Parámetro Descripción
addresses Dirección del sitio o lista de direcciones del sitio

mergerSiteDelete address

Detener la siembra y eliminar un sitio combinado

Parámetro Descripción
address Dirección del sitio

mergerSiteList [query_site_info]

Devolver sitios combinados.

Parámetro Descripción
query_site_info Si es cierto, devuelve información detallada del sitio para sitios fusionados

Complemento: Silenciar

muteAdd auth_address, cert_user_id, reason

Agregar nuevo usuario a la lista de silencio. (Requiere confirmación para sitios que no son ADMIN)

Parámetro Descripción
auth_address Nombre del directorio de los datos del usuario.
cert_user_id Cert nombre de usuario del usuario
reason Motivo del silenciamiento

Respuesta: Ok si está confirmado

Ejemplo:

Page.cmd("muteAdd", ['1GJUaZMjTfeETdYUhchSkDijv6LVhjekHz','helloworld@kaffie.bit','Spammer'])

muteRemove auth_address

Quitar un usuario de la lista de silencio. (Requiere confirmación para sitios que no son ADMIN)

Parámetro Descripción
auth_address Nombre del directorio de los datos del usuario.

Respuesta: Ok si está confirmado

Ejemplo:

Page.cmd("muteRemove", '1GJUaZMjTfeETdYUhchSkDijv6LVhjekHz')

muteList

Lista de usuarios silenciados. (Requiere permiso de ADMIN en el sitio)

Respuesta: Lista de usuarios silenciados


Complemento: Administrador de Archivos Opcional

optionalFileList [address], [orderby], [limit]

Devolver la lista de archivos opcionales

Parámetro Descripción
address La dirección del sitio que desea listar los archivos opcionales (predeterminado: sitio actual)
orderby Orden de los archivos opcionales devueltos (predeterminado: time_downloaded DESC)
limit Número máximo de archivos opcionales devueltos (predeterminado: 10)

Respuesta: Fila de la base de datos de los archivos opcionales: file_id, site_id, inner_path, hash_id, size, peer, uploaded, is_downloaded, is_pinned, time_added, time_downlaoded, time_accessed


optionalFileInfo inner_path

Consulta de información de archivo opcional de la base de datos

Parámetro Descripción
inner_path La ruta del archivo

Respuesta: Fila de la base de datos de los archivos opcionales: file_id, site_id, inner_path, hash_id, size, peer, uploaded, is_downloaded, is_pinned, time_added, time_downlaoded, time_accessed


optionalFilePin inner_path, [address]

Marcado (excluir de la limpieza automática de archivos automatizada) del archivo opcional descargado

Parámetro Descripción
inner_path La ruta del archivo
address Dirección del archivo (predeterminado: sitio actual)

optionalFileUnpin inner_path, [address]

Quitar marcado (incluir de la limpieza automática de archivos automatizada) del archivo opcional descargado

Parámetro Descripción
inner_path La ruta del archivo
address Dirección del archivo (predeterminado: sitio actual)

optionalFileDelete inner_path, [address]

Consultar un archivo opcional descargado

Parámetro Descripción
inner_path La ruta del archivo
address irección del archivo (predeterminado: sitio actual)

optionalLimitStats

Devolver el espacio en disco actualmente utilizado por los archivos opcionales

Respuesta: Límite, estadística del espacio usado y libre


actionOptionalLimitSet limit

Establecer el límite de archivos opcional

Parámetro Descripción
limit Ax espacio utilizado por los archivos opcionales en gb o por ciento del espacio utilizado

actionOptionalHelpList [address]

Lista de los directorios descargados automáticamente de los archivos opcionales

Parámetro Descripción
address Dirección del sitio que desea listar directorios ayudados (predeterminado: sitio actual)

Respuesta: Dict de directorios y descripciones auto-descargadas


actionOptionalHelp directory, title, [address]

Añadir directorio a la lista de descarga automática

Parámetro Descripción
directory Directorio que desea agregar a la lista de descarga automática
title Título de la entrada (se muestra en ZeroHello)
address Dirección del sitio al que desea agregar el directorio de descarga automática (predeterminado: sitio actual)

actionOptionalHelpRemove directory, [address]

Eliminar una entrada de descarga automática

Parámetro Descripción
directory Directorio que desea eliminar de la lista de descarga automática
address Dirección del sitio afectado (predeterminado: sitio actual)

actionOptionalHelpAll value, [address]

Ayuda a descargar cada nuevo archivo opcional cargado en el sitio

Parámetro Descripción
value Activar o desactivar la descarga automática
address Dirección del sitio afectado (predeterminado: sitio actual)

Comandos del administrador

(Requiere permiso de ADMIN en data / sites.json)


configSet key, value

Cree o actualice una entrada en el archivo de configuración de ZeroNet. (zeronet.conf de forma predeterminada)

Parámetro Descripción
key Nombre de entrada de la configuración
value Entrada de configuración del nuevo valor

Respuesta: Ok


certSet domain

Establezca el certificado usado para el sitio actual.

Parámetro Descripción
domain Dominio del emisor del certificado

Respuesta: Ninguna


channelJoinAllsite channel

Solicite notificaciones sobre los eventos de cada sitio.

Parámetro Descripción
channel Canal para unirse (ver channelJoin)

Respuesta: Ninguna


serverPortcheck

Comenzar a comprobar si el puerto está abierto

Respuesta: True (puerto abierto) o False (puerto cerrado)


serverShutdown

Deje de ejecutar el cliente ZeroNet.

Respuesta: Ninguna


serverUpdate

Vuelva a descargar ZeroNet de Github.

Respuesta: Ninguna


siteClone address, [root_inner_path]

Copie los archivos del sitio en uno nuevo.

Cada archivo y directorio se omitirá si tiene una versión predeterminada -default y la versión subfijada se copiará en su lugar.

Ej. Si tiene un directorio data y un directoriodata-default: El directorio data no será copiado y el directoriodata-default será renombrado a datos.

Parámetro Descripción
address Dirección del sitio desea clonar
root_inner_path El directorio fuente del nuevo sitio

Respuesta: Ninguna, redirecciona automáticamente a nuevo sitio en la terminación


siteList

Respuesta: Lista SiteInfo de todos los sitios descargados


sitePause address

Pausa la publicación del sitio

Parámetro Descripción
address La dirección del sitio desea pausar

Respuesta: Ninguna


siteResume address

Reanudar la publicación del sitio

Parámetro Descripción
address Dirección del sitio que desea reanudar

Respuesta: Ninguna