Документация: английская версия |
объявление
Особая благодарность
введение
Эффект
Подготовьтесь заранее
Настройте функцию доставки сообщений (поддерживает доставку по электронной почте/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 freenom3.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
(Для других языков, пожалуйста, отправьте запрос на обновление этого списка)
Массачусетский технологический институт