Документация: английская версия |
объявление
Особая благодарность
введение
Эффект
Подготовьтесь заранее
Настройте функцию доставки сообщений (поддерживает доставку по электронной почте/Telegram Bot/Enterprise WeChat/Server Sauce/Bark и другие способы доставки сообщений)
Развертывание через Docker Compose
Развертывание через Docker (рекомендуется, один из самых простых способов развертывания)
Развертывание через Heroku
Развертывание по железной дороге
Развертывается через Koyeb (рекомендуется использовать это решение пользователям, у которых нет собственного сервера, развертывание в один клик)
Развертывание через Mogenius (больше невозможно)
Развертывается через различные облачные функции (на данный момент каждая платформа включила режим зарядки и отказалась от поддержки)
Непосредственное получение исходного кода для развертывания.
Список пожертвований Список пожертвований
Спонсорское пожертвование
Вера
автор
Все участники
Список дел
Другие языковые реализации этого проекта
Благодарности
Соглашение об открытом исходном коде
Freenom 续期事务局
для общения, тестирования и обратной связи. Чтобы присоединиться, вы можете напрямую посетить https://t.me/freenom_auto_renew или отсканировать QR-код, чтобы присоединиться:Благодарим JetBrains за предоставление лицензии на разработку некоммерческого программного обеспечения с открытым исходным кодом.
Благодарим JetBrains за разрешение на некоммерческую разработку с открытым исходным кодом.
Как мы все знаем, Freenom — единственный продавец на планете, который предоставляет бесплатные доменные имена верхнего уровня, но их необходимо продлевать ежегодно, причем каждое продление длится до одного года. Поскольку я подал заявку на несколько доменных имен, и они не были поданы одновременно, каждое продление было хлопотным, поэтому я написал этот скрипт автоматического продления.
Независимо от успеха или неудачи продления или ошибки в выполнении программы, вы получите уведомление от скрипта. Если это уведомление связано с успешным или неудачным продлением, оно будет включать дни истечения срока действия непродленного доменного имени и другое содержимое. Здесь показано содержание электронного письма с уведомлением.
Debian
. Версия PHP
должна быть php7.3
или выше. Если у вас есть среда Docker
, вы можете игнорировать это ограничение. Если у вас нет сервера, вы можете обратиться к этому документу для развертывания в различных бесплатных средах.Gmail
, QQ邮箱
, 163邮箱
и Outlook邮箱
программа автоматически определяет тип отправляющего почтового ящика и использует соответствующую конфигурацию. Если вы используете другой сторонний почтовый ящик или собственную почтовую службу, обратитесь к комментариям, связанным с конфигурацией почты в файле .env.example, для настройки.送信邮箱
и收信邮箱
не являются обязательными, поскольку в настоящее время программа поддерживает邮件送信
/ Telegram Bot
/企业微信
/ Server 酱
/ Bark
и другие методы отправки почты. Почтовые ящики送信邮箱
и收信邮箱
доступны только при использовании邮件送信
. Это обязательно. Информацию о других способах отправки см. в настройке функции отправки ниже. Здесь мы представим способ настройки邮件送信
/ Telegram Bot
/企业微信
/ Server 酱
/ Bark
, а также необходимую информацию. Вы можете выбрать любой из методов доставки для настройки и перейти непосредственно к соответствующему документу. чтобы просмотреть его. Если вы являетесь пользователем IOS, рекомендуется использовать метод отправки Bark
. Пользователи других платформ могут выбрать приемлемый метод отправки в соответствии со своими предпочтениями. Не рекомендуется использовать Server 酱
для отправки сообщений. Server 酱
имеет ограничение на количество сообщений, отправляемых в день, и вам необходимо быть участником, чтобы напрямую видеть содержимое сообщения. В противном случае вам придется перейти к Server 酱
веб-сайт для просмотра содержимого. Это все причины, по которым это не рекомендуется. Эту же конфигурацию можно использовать непосредственно для отправки писем через企业微信
. При отправке писем через企业微信
вы можете увидеть содержимое письма прямо на обычном клиенте WeChat.
Быстро перейти к указанному местоположению документа:
Доставка почты
Телеграм-бот
Корпоративный WeChat
Серверный соус
Доставка коры
Ниже представлены настройки Gmail
, QQ邮箱
и 163邮箱
соответственно. Вам нужно только просмотреть те части, которые вам нужны. Обратите внимание, что как QQ邮箱
так и 163邮箱
используют метод账户加授权码
для входа в систему, а谷歌邮箱
использует метод账户加密码
или账户加授权码
для входа в систему, обратите внимание. Я также хочу пожаловаться, что для внутренних почтовых ящиков вам придется потратить 10 центов, чтобы отправить текстовое сообщение провайдеру почтового ящика, чтобы получить код авторизации.
(Нажмите, чтобы развернуть или свернуть)
Рекомендуется включить режим конфиденциальности браузера перед входом в Gmail для настройки, чтобы предотвратить невозможность перехода к правильному адресу настройки, если у вас несколько учетных записей Gmail.
1. В设置>转发和POP/IMAP
установите флажок
Затем сохраните изменения.
2. Включите двухэтапную аутентификацию.
Обратитесь к официальной документации: включите двухэтапную проверку.
3. Настройте использование пароля приложения для входа на адрес электронной почты.
Обратитесь к официальной документации: Войдите в систему, используя пароль приложения.
Поскольку Gmail больше не поддерживает «небезопасные методы входа», в настоящее время вы можете войти в систему только с помощью своей учетной записи и пароля для конкретного приложения.
В设置>账户>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
включите POP3/SMTP服务
.
В это время мошеннический почтовый ящик QQ попросит вас отправить текстовое сообщение в Tencent с помощью мобильного телефона. После отправки нажмите我已发送
Затем вы увидите свой код авторизации электронной почты. Используйте свою учетную запись электронной почты и код авторизации для входа в систему. Запишите код авторизации.
В设置>POP3/SMTP/IMAP
включите POP3/SMTP服务
и IMAP/SMTP服务
и сохраните.
Теперь нажмите на客户端授权密码
на боковой панели и получите код авторизации. Экран, который вы видите, может отличаться от моего, поскольку я уже получил код авторизации, поэтому здесь есть только кнопка重置授权码
. для авторизации по подсказкам сайта. Код NetEase такой же отвратительный, как и Tencent. Чтобы получить код авторизации, нужно отправить ему текстовое сообщение с мобильного телефона.
163 После отправки почтового ящика, если получатель его не получил, он может поискать его в спаме.
После выполнения вышеуказанного действия в файле .env
установите MAIL_USERNAME
и MAIL_PASSWORD
для вашего адреса электронной почты и пароля (или токена), установите TO
для вашего получающего электронного письма, а затем установите значение MAIL_ENABLE
равным 1
, чтобы включить функцию отправки сообщения в почтовый ящик. .
Три метода настройки почтового ящика представлены выше. Если вы не хотите использовать доставку электронной почты, измените значение MAIL_ENABLE
в файле .env
в корневом каталоге на 0
чтобы отключить метод push-уведомлений по электронной почте.
Часть доставки почты завершена.
Конкретные шаги по настройке [Telegram Bot] см. здесь.
Конкретные этапы настройки [Enterprise WeChat] см. здесь.
Конкретные этапы настройки [Server Sauce] см. здесь.
Конкретные шаги настройки [Bark Send] см. здесь.
Пространство, связанное с настройкой функции обмена сообщениями, заполнено. Начнем с нескольких способов использования этого проекта. Рекомендуется использовать метод Docker, не беспокоясь об окружающей среде.
Обратите внимание, что в настоящее время это бета-версия и поддерживает установку только на компьютерах с архитектурой amd64. Пользователи Arm или других архитектур, пожалуйста, наберитесь терпения и ждите последующих обновлений. Или, если вам нужен сервер, вы можете рассмотреть дешевый VPS в США.
Debian/Ubuntu (рекомендуется)
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 ;
ЦентОС
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 Посетите https://wit.ai
3.1.2 Войдите в систему с помощью учетной записи Facebook или зарегистрируйте учетную запись с помощью адреса электронной почты. Для регистрации вам нужен только адрес электронной почты.
3.1.3 Перейдите на экран https://wit.ai/apps и создайте новое приложение.
3.1.4 Выберите английский в качестве языка, любое имя, выберите тип Private и создайте его.
3.1.5 Перейдите на экран «Управление» > «Настройки» (https://wit.ai/apps//settings).
3.1.6 Скопируйте токен клиентского доступа. В файл .env необходимо записать следующее: WIT_AI_KEY='Токен клиентского доступа, который вы скопировали'.
Измените содержимое файла конфигурации .env в соответствии со своей собственной конфигурацией. Если вы обновляете старую версию, вы также можете напрямую скопировать старую версию .env в корневой каталог новой версии проекта, и скрипт выполнит это. автоматически обновлять его. Значение конфигурации см. в аннотациях в файле .env.example.
cp .env.example .env ;
vim .env ;
После завершения изменения введите :wq
чтобы сохранить изменения и выйти.
Примечание. Для эффективности следующие команды необходимо выполнить в каталоге, где находится docker-compose.yml.
make up
Да, это так просто. Затем вы можете выполнить make logs
для просмотра журналов в реальном времени.
Запустите или обновите до последней версии
make up
останавливаться
make down
Просмотр журналов в реальном времени
make logs
Очистите пространство, занятое контейнерами
make clear
Перезапустить контейнер
make restart
Развертывание через раздел создания Docker завершается.
Если у вас есть собственный сервер, это наиболее рекомендуемый метод развертывания.
Адрес склада Docker: https://hub.docker.com/r/luolongfei/freenom. Звезды также приветствуются. Этот образ поддерживает следующие архитектуры: linux/amd64
, linux/arm64
, linux/ppc64le
, linux/s390x
, linux/386
, linux/arm/v7
, linux/arm/v6
. Теоретически он поддерживает群晖
,威联通
и树莓派
. . И различные типы VPS
.
Обновите исходный код и установите программное обеспечение (выберите одну из следующих двух строк команд в соответствии с вашей системой)
Дебиан/Убунту
apt-get update && apt-get install -y wget vim make
ЦентОС
yum update && yum install -y wget vim make
Выполните эту команду, чтобы дождаться автоматической установки Docker.
wget -qO- get.docker.com | bash
Примечание. Используйте VPS с архитектурой KVM. VPS с архитектурой OpenVZ не поддерживает установку Docker. Кроме того, CentOS 8 не поддерживает использование этого сценария для установки Docker. Дополнительную информацию об установке Docker можно найти в официальном руководстве по установке Docker.
Запустите службу Docker
systemctl start docker
Проверьте статус работы Docker
systemctl status docker
Добавьте службу Docker для автоматического запуска при загрузке.
systemctl enable docker
Команда следующая
docker run -d --name freenom --restart always -v $( pwd ) :/conf -v $( pwd ) /logs:/app/logs luolongfei/freenom
Или, если вы хотите настроить время выполнения скрипта, команда выглядит следующим образом:
docker run -d --name freenom --restart always -v $( pwd ) :/conf -v $( pwd ) /logs:/app/logs -e RUN_AT= " 11:24 " luolongfei/freenom
В приведенной выше команде есть только еще один -e RUN_AT="11:24"
, чем в предыдущей, где 11:24
означает, что задача обновления будет выполняться в 11:24 каждый день по пекинскому времени. Это время можно настроить. Параметр RUN_AT
здесь также поддерживает формат времени в команде CRON. Например, -e RUN_AT="9 11 * * *"
означает, что задача обновления будет выполняться в 11:09 по пекинскому времени каждый день, если вы не хотите. чтобы выполнять задачу каждый день, вам нужно выполнять ее только через день. Выполнение займет несколько дней, просто измените значение RUN_AT
.
Примечание. Настраивать время выполнения скрипта не рекомендуется. Поскольку вы можете определить один и тот же момент времени для многих людей, это может привести к тому, что все будут одновременно инициировать запросы к серверу Freenom, что сделает Freenom неспособным предоставлять стабильные услуги. Если вы не настроите время, программа автоматически укажет случайный момент времени с 06 до 23 часов по пекинскому времени в качестве времени выполнения, и он будет автоматически переопределяться каждый раз при перезапуске контейнера.
Заказ | значение |
---|---|
запуск докера | Начать запуск контейнера |
-d параметр | Контейнер работает в фоновом режиме и выводит идентификатор контейнера. |
--name параметр | Присвойте контейнеру идентификатор, чтобы облегчить будущие операции, такие как запуск, остановка, удаление и т. д. |
--restart параметр | Настройка типа запуска контейнера всегда означает автоматический запуск контейнера при перезапуске службы докеров. |
-v параметр | Подключите том (том). После двоеточия указывается путь к контейнеру. Перед двоеточием указывается путь к хосту (поддерживаются только абсолютные пути). $(pwd) представляет текущий каталог. вы можете заменить его ${PWD} $(pwd) . |
-e параметр | Укажите переменные среды в контейнере |
Луолунфэй/Фрином | Это полный путь к изображению, загруженному из Docker Hub. |
На этом этапе ваш контейнер автоматического обновления запущен. После выполнения ls -a
вы увидите, что в вашем текущем каталоге есть файл .env
и каталог logs
. В каталоге logs
хранятся журналы программы, а .env
— это файл конфигурации. Теперь напрямую запустите vim .env
, чтобы изменить все элементы конфигурации в файле .env
на свои собственные, и сохраните его. Затем перезапустите контейнер. Если конфигурация верна, вы скоро получите соответствующее электронное письмо.
имя переменной | значение | значение по умолчанию | Это необходимо | Примечание |
---|---|---|---|---|
FREENOM_USERNAME | Фрином аккаунт | - | да | Поддерживаются только учетные записи электронной почты. Если вы входите в систему, используя стороннюю учетную запись в социальной сети, привяжите свой адрес электронной почты на странице управления Freenom. После привязки вы сможете использовать свою учетную запись электронной почты для входа. |
FREENOM_PASSWORD | Бесплатный пароль | - | да | Некоторые специальные символы, возможно, придется экранировать. Подробную информацию см. в комментариях к файлу .env . |
MULTIPLE_ACCOUNTS | Поддержка нескольких учетных записей | - | нет | Формат нескольких учетных записей и паролей должен быть следующим: « <账户1>@<密码1>|<账户2>@<密码2>|<账户3>@<密码3> », будьте осторожны и не пропустите символ «<>». В противном случае он может быть использован. не могут быть правильно сопоставлены. Если настроено несколько учетных записей, указанные выше FREENOM_USERNAME и FREENOM_PASSWORD устанавливать не нужно. |
MAIL_USERNAME | Учетная запись электронной почты робота | - | нет | Поддержка Gmail , QQ邮箱 , 163邮箱 и Outlook邮箱 |
MAIL_PASSWORD | Пароль электронной почты робота | - | нет | Введите пароль приложения Gmail и код авторизации для QQ邮箱 или 163邮箱 |
К | Электронная почта для получения уведомлений | - | нет | Ваш наиболее часто используемый адрес электронной почты, используемый для получения электронных писем, связанных с доменным именем, отправленных с адресов электронной почты роботов. |
MAIL_ENABLE | Включить ли функцию push-уведомлений по электронной почте | 0 | нет | 1 : включить0 : не включено по умолчанию. Если установлено значение 1 , функция отправки почты включена, и указанные выше переменные MAIL_USERNAME , MAIL_PASSWORD и TO становятся обязательными. |
TELEGRAM_CHAT_ID | ваш chat_id | - | нет | Вы можете получить свой собственный id , отправив /start на @userinfobot |
TELEGRAM_BOT_TOKEN | token вашего Telegram bot | - | нет | |
TELEGRAM_BOT_ENABLE | Включить ли функцию push-уведомлений Telegram Bot | 0 | нет | 1 : включить0 : не включено по умолчанию. Если установлено значение 1 , необходимо установить указанные выше переменные TELEGRAM_CHAT_ID и TELEGRAM_BOT_TOKEN . |
NOTICE_FREQ | Частота уведомлений | 1 | нет | 0 : Только при операции обновления.1 : Выполняется каждый раз |
НЕЖА_СЕРВЕР | IP или доменное имя сервера зондов Nezha | - | нет | |
НЕЖА_ПОРТ | Порт сервера зонда Нежа | - | нет | |
НЕЖА_КЛЮЧ | Специальный ключ клиента Nezha Probe | - | нет | |
НЕЖА_TLS | SSL/TLS-шифрование клиента Nezha | - | нет | 1 : включить0 : Не включено |
Дополнительные сведения о значениях элементов конфигурации см. в комментариях в файле .env.example.
Как проверить правильность вашей конфигурации?
После изменения и сохранения файла .env
выполните docker restart freenom
, чтобы перезапустить контейнер, подождите около 5 секунд, а затем выполните docker logs freenom
чтобы просмотреть выходное содержимое. Если в выходном содержимом есть слово执行成功
, это означает, что конфигурация правильная. Если у вас не было времени настроить адрес электронной почты для доставки и другой контент, вы можете сначала отключить функцию электронной почты.
Как обновиться до последней версии или выполнить повторное развертывание?
В каталоге, где находится .env
, выполните 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
можно повторно развернуть, чтобы после развертывания это был последний код. Конечно, файл .env
, соответствующий новой версии, может иметь изменения. Не волнуйтесь, программа автоматически обновит содержимое файла .env
и перенесет существующую конфигурацию.
Одним предложением выполните следующую команду в каталоге, где находится файл .env
, чтобы завершить обновление:
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
Проверьте онлайн-статус и размер контейнера
docker ps -as
Просмотр журнала выходных данных контейнера
docker logs freenom
Перезапустить контейнер
docker restart freenom
Остановить запуск контейнера
docker stop freenom
Удалить контейнер
docker rm -f freenom
Проверьте процессор, память и другую информацию, занимаемую докер-контейнером.
docker stats --no-stream
Просмотр версии установки Docker и другой информации
docker version
Перезапустить Docker (не контейнер)
systemctl restart docker
Конец содержимого при развертывании контейнера.
Heroku прекратил предоставлять бесплатные услуги 28 ноября 2022 г., так что забудьте об этой статье. Официальное объявление: https://blog.heroku.com/next-chapter
Конкретные шаги по [Развертыванию через Heroku] см. здесь.
Железнодорожная компания обновила свои условия обслуживания и добавила ежемесячный лимит использования. Согласно новым условиям использования, максимальный срок использования составляет около 21 дня в месяц, если вы не подтвердите свою кредитную карту . Подробные условия можно найти здесь.
Конкретные шаги по [развертыванию по железной дороге] см. здесь.
Пользователям, у которых нет собственных серверов, рекомендуется использовать этот план развертывания. Этот план полностью бесплатный.
Конкретные шаги по [развертыванию через Koyeb] см. здесь.
Прочитав конкретное содержимое исходного документа и подтвердив, что вы можете это сделать , вы можете нажать кнопку ниже, чтобы попробовать развертывание одним щелчком мыши:
Бесплатный пакет был отключен от сети и больше не доступен. #208
Все облачные функции используют один и тот же сжатый пакет и обработаны для совместимости. Адрес загрузки: https://github.com/luolongfei/freenom/releases/download/v0.5.1/freenom_scf.zip. В этом документе указанный здесь адрес загрузки сжатого пакета будет обновлен при выпуске новой версии, поэтому не волнуйтесь: пакет, на который указывает адрес загрузки, который вы видите, должен быть последней версии.
После загрузки вы получите zip-файл. Поместите zip-файл в любой доступный каталог. Позже мы загрузим его в различные облачные функции в виде zip-файлов.
Конкретные шаги по [Развертыванию с помощью функции Tencent Cloud] см. здесь.
Конкретные шаги по [развертыванию с помощью функций Alibaba Cloud] см. здесь.
Конкретные этапы [развертывания с помощью функции Huawei Cloud] см. здесь.
Конкретные шаги [непосредственного получения исходного кода для развертывания] см. здесь.
Если у вас возникнут какие-либо проблемы или ошибки, вы можете сообщить о проблеме (пожалуйста, отправьте issue
в соответствии с форматом шаблона, чтобы я мог быстро воспроизвести вашу проблему, в противном случае проблема будет проигнорирована, если Freenom
изменит алгоритм и вызовет это). проект станет недействительным, пожалуйста, сообщите о проблеме и сообщите мне вовремя. Ремонт, долгосрочное обслуживание этого проекта. Добро пожаловать, star
~
Огромное спасибо «этим пользователям» за спонсирование и поддержку этого проекта!
Если вы считаете, что этот проект полезен для вас, рассмотрите возможность спонсирования этого проекта, чтобы побудить меня уделять больше времени его обслуживанию и развитию. Если вы считаете этот проект полезным, пожалуйста, рассмотрите возможность поддержки проекта в дальнейшем. Мы очень ценим вашу поддержку.
PayPal: https://www.paypal.me/mybsdc
Каждый раз, когда вы тратите деньги, вы голосуете за тот мир, который вам нужен (Анна Лаппе).
Не по теме: вы можете оставить сообщение при спонсорстве, и содержание сообщения будет отображаться на экране списка спонсоров. Если рекламное изображение отображается неправильно, посетите: https://images.llfapp.com/pay.png.
Ваша star
или赞助
— моя мотивация для долгосрочного поддержания этого проекта. Я искренне благодарю каждого сторонника: «Каждый раз, когда вы тратите деньги, вы голосуете за мир, который хотите». Кроме того, рекомендация этого проекта большему количеству людей — это еще и способ поддержки. Чем больше людей его используют, тем больше мотивации для его обновления.
Верьте в будущее и оставайтесь «в здравом уме».
Серьезность – это то, как мы участвуем в этом обществе, а серьезность – это то, как мы меняем это общество. —— Ли Чжи
@anjumrafidofficial
(Для других языков, пожалуйста, отправьте запрос на обновление этого списка)
Массачусетский технологический институт