Documentación: versión en inglés |
anuncio
agradecimiento especial
introducción
Efecto
Prepárese con anticipación
Configure la función de entrega de mensajes (admite entrega de correo electrónico/Telegram Bot/Enterprise WeChat/Server Sauce/Bark y otros métodos de entrega de mensajes)
Implementar a través de Docker Compose
Implementar a través de Docker (recomendado, uno de los métodos de implementación más simples)
Implementar a través de Heroku
Implementar a través del ferrocarril
Implementado a través de Koyeb (recomendado para usuarios que no tienen su propio servidor para usar esta solución, implementación con un solo clic)
Implementar a través de Mogenius (ya no es posible)
Implementado a través de varias funciones en la nube (actualmente cada plataforma ha activado el modo de carga y ha dejado de ser compatible)
Extraiga directamente el código fuente para su implementación
Lista de donaciones Lista de donaciones
Donación del patrocinador
Creencia
autor
Todos los contribuyentes
Lista de tareas pendientes
Otras implementaciones lingüísticas de este proyecto.
Expresiones de gratitud
Acuerdo de código abierto
Freenom 续期事务局
para comunicarse, realizar pruebas y recibir comentarios. Para unirse, puede visitar directamente https://t.me/freenom_auto_renew o escanear el código QR para unirse.Gracias a JetBrains por proporcionar una licencia de desarrollo de software de código abierto no comercial.
Gracias por la autorización de desarrollo de código abierto no comercial por parte de JetBrains.
Como todos sabemos, Freenom es el único comerciante del planeta que ofrece nombres de dominio de nivel superior gratuitos, pero deben renovarse anualmente y cada renovación puede durar hasta un año. Como solicité varios nombres de dominio y no se solicitaron al mismo tiempo, cada renovación fue una molestia, así que escribí este script de renovación automática.
Independientemente del éxito o fracaso de la renovación o de un error en la ejecución del programa, recibirás una notificación del script. Si se trata de una notificación relacionada con el éxito o fracaso de la renovación, la notificación incluirá los días de vencimiento del nombre de dominio no renovado y otros contenidos. Aquí se muestra el contenido del correo electrónico de notificación.
Debian
. La versión PHP
debe ser php7.3
o superior. Si tiene un entorno Docker
, puede ignorar esta restricción. Si no tiene un servidor, puede consultar este documento para implementarlo en varios entornos gratuitos.Gmail
, QQ邮箱
, 163邮箱
y Outlook邮箱
, el programa determinará automáticamente el tipo de buzón de envío y utilizará la configuración adecuada. Si está utilizando otro buzón de correo de terceros o un servicio de correo de creación propia, consulte los comentarios relacionados con la configuración del correo en el archivo .env.example para la configuración.送信邮箱
收信邮箱
anteriores son opcionales, porque el programa actualmente admite邮件送信
/ Telegram Bot
/企业微信
/ Server 酱
/ Bark
y otros métodos de envío de correo.送信邮箱
收信邮箱
solo están disponibles cuando se utiliza邮件送信
. Para otros métodos de envío, consulte la configuración de la función de envío a continuación. Aquí presentaremos el método de configuración de邮件送信
/ Telegram Bot
/企业微信
/ Server 酱
/ Bark
, así como la información requerida. Puede elegir cualquiera de los métodos de entrega para la configuración y saltar directamente al documento correspondiente. para verlo. Si es usuario de IOS, se recomienda utilizar el método de entrega de mensajes Bark
. Los usuarios de otras plataformas pueden elegir un método de entrega de mensajes aceptable según sus propias preferencias. No se recomienda utilizar Server 酱
Server 酱
para enviar mensajes. Server 酱
tiene un límite en la cantidad de mensajes enviados por día y debe ser miembro para ver directamente el contenido del mensaje. sitio web para ver el contenido. Todas estas son razones por las que no se recomienda. La misma configuración se puede utilizar directamente para enviar cartas a través de企业微信
. Al enviar cartas a través de企业微信
, puede ver el contenido de la carta directamente en el cliente WeChat normal.
Vaya rápidamente a la ubicación especificada del documento:
Entrega de correo
Bot de Telegrama
WeChat empresarial
salsa de servidor
entrega de corteza
A continuación se presentan las configuraciones de Gmail
, QQ邮箱
y 163邮箱
respectivamente. Solo necesita mirar las partes que necesita. Tenga en cuenta que tanto QQ邮箱
como 163邮箱
utilizan el método de账户加授权码
para iniciar sesión, y谷歌邮箱
utiliza el método de账户加密码
o账户加授权码
para iniciar sesión, tenga en cuenta. También quiero quejarme de que para los buzones nacionales, hay que gastar 10 centavos para enviar un mensaje de texto al proveedor del buzón para obtener el código de autorización.
(Haga clic para expandir o contraer)
Se recomienda activar el modo de privacidad del navegador antes de iniciar sesión en Gmail para realizar la configuración, para evitar no poder saltar a la dirección de configuración correcta cuando tiene varias cuentas de Gmail.
1. En设置>转发和POP/IMAP
, marque
Luego guarde los cambios.
2. Activa la verificación en dos pasos
Consulte la documentación oficial: active la verificación en dos pasos
3. Configure el uso de una contraseña específica de la aplicación para iniciar sesión en la dirección de correo electrónico
Consulte la documentación oficial: Inicie sesión con una contraseña específica de la aplicación
Dado que Gmail ya no admite "métodos de inicio de sesión inseguros", actualmente solo puedes iniciar sesión usando tu cuenta más una contraseña específica de la aplicación.
En设置>账户>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
, habilite POP3/SMTP服务
En este momento, el buzón QQ fraudulento le pedirá que envíe un mensaje de texto a Tencent usando su teléfono móvil. Después de enviarlo, haga clic en我已发送
Luego podrá ver su código de autorización de correo electrónico. Utilice su cuenta de correo electrónico y agregue el código de autorización para iniciar sesión. Escriba el código de autorización.
En设置>POP3/SMTP/IMAP
, habilite POP3/SMTP服务
y IMAP/SMTP服务
y guarde
Ahora haga clic en客户端授权密码
en la barra lateral y obtenga el código de autorización. La pantalla que ve puede ser diferente a la mía, porque ya obtuve el código de autorización, por lo que aquí solo hay un botón重置授权码
. Para obtener la autorización de acuerdo con las indicaciones del código del sitio web, NetEase es tan repugnante como Tencent, debe enviarle un mensaje de texto con su teléfono móvil para obtener el código de autorización.
163 Después de enviar la carta al buzón, si el destinatario no la recibe, puede buscarla en el spam.
Una vez completada la acción anterior, en el archivo .env
, establezca MAIL_USERNAME
y MAIL_PASSWORD
en su correo electrónico y contraseña (o token), establezca TO
en su correo electrónico de recepción y luego establezca el valor de MAIL_ENABLE
en 1
para habilitar la función de envío de mensajes del buzón. .
Los tres métodos de configuración del buzón se presentaron anteriormente. Si no desea utilizar la entrega de correo electrónico, cambie el valor de MAIL_ENABLE
en el archivo .env
en el directorio raíz a 0
para desactivar el método de envío de correo electrónico.
La parte de entrega del correo ha terminado.
Para conocer los pasos de configuración específicos de [Telegram Bot], consulte aquí
Para conocer los pasos de configuración específicos de [Enterprise WeChat], consulte aquí
Para conocer los pasos de configuración específicos de [Server Sauce], consulte aquí
Para conocer los pasos de configuración específicos de [Bark Send], consulte aquí
El espacio relacionado con la configuración de la función de mensajería está completo. Comencemos con varias formas de utilizar este proyecto. Se recomienda utilizar el método Docker sin preocuparse por el medio ambiente.
Tenga en cuenta que actualmente es una versión beta y solo admite la instalación en máquinas con arquitectura AMD64. Los usuarios de arm u otras arquitecturas deben tener paciencia y esperar actualizaciones posteriores. O si necesitas un servidor, puedes considerar VPS barato en Estados Unidos
Debian/Ubuntu (recomendado)
apt-get update -y ;
apt-get install -y wget vim git make ;
wget -qO- get.docker.com | bash ;
systemctl start docker ;
sudo systemctl enable docker.service ;
sudo systemctl enable containerd.service ;
docker version ;
DOCKER_COMPOSE_VER=2.24.3 ;
DOCKER_CONFIG=/usr/local/lib/docker ;
mkdir -p $DOCKER_CONFIG /cli-plugins ;
curl -SL https://github.com/docker/compose/releases/download/v ${DOCKER_COMPOSE_VER} /docker-compose-linux-x86_64 -o $DOCKER_CONFIG /cli-plugins/docker-compose ;
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose ;
docker compose version ;
CentOS
yum update -y ;
yum install -y wget vim make ;
wget -qO- get.docker.com | bash ;
systemctl start docker ;
sudo systemctl enable docker.service ;
sudo systemctl enable containerd.service ;
docker version ;
DOCKER_COMPOSE_VER=2.24.3 ;
DOCKER_CONFIG=/usr/local/lib/docker ;
mkdir -p $DOCKER_CONFIG /cli-plugins ;
curl -SL https://github.com/docker/compose/releases/download/v ${DOCKER_COMPOSE_VER} /docker-compose-linux-x86_64 -o $DOCKER_CONFIG /cli-plugins/docker-compose ;
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose ;
docker compose version ;
git clone https://github.com/luolongfei/freenom.git && cd freenom
3.1.1 Visita https://wit.ai
3.1.2 Inicie sesión con una cuenta de Facebook o registre una cuenta con una dirección de correo electrónico. Solo necesita una dirección de correo electrónico para registrarse.
3.1.3 Vaya a la pantalla https://wit.ai/apps y cree una nueva aplicación
3.1.4 Seleccione Inglés como idioma, cualquier nombre, seleccione Privado como tipo y créelo.
3.1.5 Vaya a la pantalla Administración > Configuración (https://wit.ai/apps//settings)
3.1.6 Copie el token de acceso del cliente; se debe escribir lo siguiente en el archivo .env, WIT_AI_KEY='Token de acceso del cliente que copió'
Modifique el contenido del archivo de configuración .env a su propia configuración. Si está actualizando desde una versión anterior, también puede copiar directamente la versión anterior de .env al directorio raíz de la nueva versión del proyecto, y el script lo hará. actualizarlo automáticamente. Para conocer el significado de la configuración, consulte las anotaciones en el archivo .env.example.
cp .env.example .env ;
vim .env ;
Una vez completada la modificación, ingrese :wq
para guardar y salir.
Nota: Los siguientes comandos deben ejecutarse en el directorio donde se encuentra docker-compose.yml para que sean válidos.
make up
Sí, es así de simple. Luego puede ejecutar make logs
para ver los registros en tiempo real.
Iniciar o actualizar a la última versión
make up
detener
make down
Ver registros en tiempo real
make logs
Limpiar el espacio que ocupan los contenedores
make clear
Reiniciar contenedor
make restart
La sección de implementación a través de Docker Compose finaliza.
Si tiene su propio servidor, este es el método de implementación más recomendado.
La dirección del almacén de Docker es: https://hub.docker.com/r/luolongfei/freenom Las estrellas también son bienvenidas. Las arquitecturas admitidas por esta imagen son linux/amd64
, linux/arm64
, linux/ppc64le
, linux/s390x
, linux/386
, linux/arm/v7
, linux/arm/v6
. En teoría, es compatible con群晖
,威联通
y树莓派
Y varios tipos de VPS
.
Actualice la fuente e instale el software (elija una de las siguientes dos líneas de comandos según su propio sistema)
Debian/Ubuntu
apt-get update && apt-get install -y wget vim make
CentOS
yum update && yum install -y wget vim make
Ejecute este comando para esperar a que Docker se instale automáticamente
wget -qO- get.docker.com | bash
Nota: Utilice un VPS con arquitectura KVM. El VPS con arquitectura OpenVZ no admite la instalación de Docker. Además, CentOS 8 no admite el uso de este script para instalar Docker. Para obtener más información sobre la instalación de Docker, consulte la guía de instalación oficial de Docker.
Inicie el servicio Docker
systemctl start docker
Verificar el estado de ejecución de Docker
systemctl status docker
Agregue el servicio Docker para que se inicie automáticamente al arrancar
systemctl enable docker
El comando es el siguiente
docker run -d --name freenom --restart always -v $( pwd ) :/conf -v $( pwd ) /logs:/app/logs luolongfei/freenom
O, si desea personalizar el tiempo de ejecución del script, el comando es el siguiente
docker run -d --name freenom --restart always -v $( pwd ) :/conf -v $( pwd ) /logs:/app/logs -e RUN_AT= " 11:24 " luolongfei/freenom
El comando anterior solo tiene un -e RUN_AT="11:24"
más que el anterior, donde 11:24
significa que la tarea de renovación se ejecutará a las 11:24 todos los días, hora de Beijing. Puede personalizar esta hora. El parámetro RUN_AT
aquí también admite el formato de hora en el comando CRON. Por ejemplo, -e RUN_AT="9 11 * * *"
significa que la tarea de renovación se ejecutará a las 11:09 hora de Beijing todos los días. para ejecutar la tarea todos los días, solo desea ejecutarla cada dos días. Se necesitan algunos días para ejecutarse, simplemente modifique el valor de RUN_AT
.
Nota: No se recomienda personalizar el tiempo de ejecución del script. Debido a que puede definir el mismo momento que muchas personas, esto puede hacer que todos inicien solicitudes al servidor de Freenom al mismo tiempo, lo que hace que Freenom no pueda brindar servicios de manera estable. Si no personaliza la hora, el programa especificará automáticamente un punto de tiempo aleatorio de 06 a 23 en punto, hora de Beijing, como hora de ejecución, y se volverá a especificar automáticamente cada vez que se reinicie el contenedor.
Orden | significado |
---|---|
ejecución de la ventana acoplable | Comience a ejecutar un contenedor |
-d parámetro | El contenedor se ejecuta en segundo plano y genera el ID del contenedor. |
--nombre del parámetro | Asigne un identificador al contenedor para facilitar operaciones futuras como iniciar, detener, eliminar, etc. |
--reiniciar parámetro | Configurar el tipo de inicio del contenedor, siempre significa iniciar automáticamente el contenedor cuando se reinicia el servicio Docker |
-v parámetro | Monte el volumen (volumen). Después de los dos puntos está la ruta del contenedor. Antes de los dos puntos está la ruta del host (solo se admiten rutas absolutas) $(pwd) representa el directorio actual. puedes reemplazarlo ${PWD} $(pwd) |
-e parámetro | Especificar variables de entorno en el contenedor. |
luolongfei/freenom | Este es el nombre de ruta completo de la imagen descargada desde Docker Hub. |
En este punto, su contenedor de renovación automática se está ejecutando. Después de ejecutar ls -a
, puede ver que hay un archivo .env
y un directorio logs
en su directorio actual. El directorio logs
almacena los registros del programa y .env
es el archivo de configuración. Ahora ejecute vim .env
directamente para cambiar todos los elementos de configuración en el archivo .env
por el suyo y guárdelo. Luego reinicie el contenedor. Si la configuración es correcta, pronto recibirá el correo electrónico correspondiente.
nombre de la variable | significado | valor predeterminado | ¿Es necesario? | Observación |
---|---|---|---|---|
FREENOM_USERNAME | cuenta gratuita | - | Sí | Solo se admiten cuentas de correo electrónico. Si es un usuario que inicia sesión con una cuenta social de terceros, vincule su correo electrónico en la página de administración de Freenom. Después de vincularlo, podrá iniciar sesión con su cuenta de correo electrónico. |
FREENOM_PASSWORD | contraseña gratuita | - | Sí | Es posible que sea necesario utilizar caracteres de escape en algunos caracteres especiales. Para obtener más información, consulte los comentarios en el archivo .env . |
MÚLTIPLES_CUENTAS | Soporte para múltiples cuentas | - | No | El formato de múltiples cuentas y contraseñas debe ser " <账户1>@<密码1>|<账户2>@<密码2>|<账户3>@<密码3> ", tenga cuidado de no omitir el símbolo "<>". no se puede combinar correctamente. Si se configuran varias cuentas, no es necesario configurar FREENOM_USERNAME y FREENOM_PASSWORD anteriores. |
CORREO_NOMBRE DE USUARIO | Cuenta de correo electrónico del robot | - | No | Admite Gmail , QQ邮箱 , 163邮箱 y Outlook邮箱 |
CORREO_CONTRASEÑA | Contraseña de correo electrónico del robot | - | No | Complete la contraseña específica de la aplicación Gmail y complete el código de autorización para QQ邮箱 o 163邮箱 |
A | Correo electrónico para recibir notificaciones | - | No | Su dirección de correo electrónico más utilizada, utilizada para recibir correos electrónicos relacionados con nombres de dominio enviados por direcciones de correo electrónico de robots |
CORREO_ENABLE | Si se debe habilitar la función de envío de correo electrónico | 0 | No | 1 : habilitar0 : No habilitado de forma predeterminada. Si se establece en 1 , la función de envío de correo está habilitada y las variables MAIL_USERNAME , MAIL_PASSWORD y TO anteriores se vuelven obligatorias. |
TELEGRAM_CHAT_ID | tu chat_id | - | No | Puedes obtener tu propia id enviando /start a @userinfobot |
TELEGRAM_BOT_TOKEN | token de tu Telegram bot | - | No | |
TELEGRAM_BOT_ENABLE | Si se debe habilitar la función push Telegram Bot | 0 | No | 1 : habilitar0 : No habilitado de forma predeterminada. Si se establece en 1 , se deben configurar las variables TELEGRAM_CHAT_ID y TELEGRAM_BOT_TOKEN anteriores. |
AVISO_FRECUENCIA | Frecuencia de notificación | 1 | No | 0 : Sólo cuando hay una operación de renovación1 : ejecutado cada vez |
NEZHA_SERVIDOR | La IP o el nombre de dominio del servidor de la sonda Nezha | - | No | |
NEZHA_PORT | Puerto del servidor de sonda Nezha | - | No | |
NEZHA_KEY | Clave especial del cliente de la sonda Nezha | - | No | |
NEZHA_TLS | Cifrado SSL/TLS del cliente de Nezha | - | No | 1 : habilitar0 : no habilitado |
Para obtener más significados de los elementos de configuración, consulte los comentarios en el archivo .env.example.
¿Cómo verificar que su configuración sea correcta?
Después de modificar y guardar el archivo .env
, ejecute docker restart freenom
para reiniciar el contenedor, espere unos 5 segundos y luego ejecute docker logs freenom
para ver el contenido de salida. Si hay una palabra执行成功
en el contenido de salida. significa que la configuración es correcta. Si no ha tenido tiempo de configurar la dirección de correo electrónico de entrega y otro contenido, primero puede desactivar la función de correo electrónico.
¿Cómo actualizar a la última versión o volver a implementar?
En el directorio donde se encuentra .env
, ejecute docker rm -f freenom
para eliminar el contenedor existente, luego ejecute docker rmi -f luolongfei/freenom
para eliminar la imagen anterior y luego ejecute el docker run -d --name freenom --restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs luolongfei/freenom
se puede volver a implementar, de modo que será el código más reciente después de la implementación. Por supuesto, el archivo .env
correspondiente a la nueva versión puede tener cambios. No te preocupes, el programa actualizará automáticamente el contenido del archivo .env
y migrará la configuración existente.
En una oración, ejecute el siguiente comando en el directorio donde se encuentra el archivo .env
para completar la actualización y la mejora:
docker rm -f freenom && docker rmi -f luolongfei/freenom && docker run -d --name freenom --restart always -v $( pwd ) :/conf -v $( pwd ) /logs:/app/logs luolongfei/freenom
Consulta el estado online y el tamaño del contenedor.
docker ps -as
Ver el registro de salida en ejecución del contenedor
docker logs freenom
Reiniciar contenedor
docker restart freenom
Detener la ejecución del contenedor
docker stop freenom
Quitar contenedor
docker rm -f freenom
Verifique la CPU, la memoria y otra información ocupada por el contenedor acoplable
docker stats --no-stream
Ver la versión de instalación de Docker y otra información
docker version
Reiniciar Docker (sin contenedor)
systemctl restart docker
Fin del contenido sobre la implementación de contenedores.
Heroku dejó de brindar servicios gratuitos el 28 de noviembre de 2022, así que olvídese de este artículo. Anuncio oficial: https://blog.heroku.com/next-chapter
Para conocer los pasos específicos sobre [Implementación mediante Heroku], consulte aquí
Railway actualizó sus términos de servicio y agregó un límite de uso mensual. Los nuevos términos de servicio dan como resultado un máximo de aproximadamente 21 días por mes. A menos que verifique su tarjeta de crédito, no existe dicho límite . Los términos y condiciones detallados se pueden encontrar aquí.
Para conocer los pasos específicos sobre [Implementación vía ferrocarril], consulte aquí
Se recomienda que los usuarios que no tengan servidores propios utilicen este plan de implementación. Este plan es completamente gratuito.
Para conocer los pasos específicos sobre [Implementación a través de Koyeb], consulte aquí
Después de leer el contenido específico del documento anterior y confirmar que puede hacerlo , puede hacer clic en el botón a continuación para intentar la implementación con un solo clic:
El paquete gratuito ha estado fuera de línea y ya no está disponible. #208
Todas las funciones de la nube utilizan el mismo paquete comprimido y se han procesado para comprobar su compatibilidad. La dirección de descarga es: https://github.com/luolongfei/freenom/releases/download/v0.5.1/freenom_scf.zip. Este documento actualizará la dirección de descarga del paquete comprimido aquí cuando se publique una nueva versión, así que no se preocupe, el paquete al que apunta la dirección de descarga que ve debe ser la última versión.
Después de la descarga, obtendrá un archivo zip. Coloque el archivo zip en cualquier directorio que pueda encontrar. Luego lo cargaremos en varias funciones de la nube en forma de archivos zip.
Para conocer los pasos específicos sobre [Implementación a través de Tencent Cloud Functions], consulte aquí
Para conocer pasos específicos sobre [implementación a través de funciones de Alibaba Cloud], consulte aquí
Para conocer los pasos específicos de [implementación a través de la función Huawei Cloud], consulte aquí
Para conocer los pasos específicos de [extraer directamente el código fuente para la implementación], consulte aquí
Si encuentra algún problema o error, puede enviar un problema (envíe issue
de acuerdo con el formato de la plantilla para que pueda reproducir rápidamente su problema; de lo contrario, el problema será ignorado si Freenom
cambia el algoritmo y causa esto). El proyecto dejará de ser válido, envíe un problema y avíseme a tiempo. Reparación y mantenimiento a largo plazo de este proyecto. star
de bienvenida ~
¡Muchas gracias a "estos usuarios" por patrocinar y apoyar este proyecto!
Si cree que este proyecto es útil para usted, considere patrocinar este proyecto para animarme a invertir más tiempo en mantenimiento y desarrollo. Si encuentra útil este proyecto, considere apoyarlo en el futuro. Su apoyo es muy apreciado.
PayPal: https://www.paypal.me/mybsdc
Cada vez que gastas dinero, estás votando por el tipo de mundo que quieres: Anna Lappe.
Fuera de tema: puede dejar un mensaje al patrocinar y el contenido del mensaje se mostrará en la pantalla de la lista de patrocinio. Si la imagen patrocinada no se muestra correctamente, visite: https://images.llfapp.com/pay.png
Su star
o赞助
es mi motivación para el mantenimiento a largo plazo de este proyecto. Agradezco sinceramente a todos los que me apoyan. "Cada vez que gastan dinero, están votando por el mundo que desean". Además, recomendar este proyecto a más personas también es una forma de apoyo. Cuanta más gente lo utilice, más motivación para actualizarlo.
Cree en el futuro y mantente "cuerdo".
La seriedad es cómo participamos en esta sociedad, y la seriedad es cómo cambiamos esta sociedad. ——Li Zhi
@anjumrafidofficial
(Para más idiomas, bienvenido a enviar relaciones públicas para actualizar esta lista)
MIT