工具链:接入 Domain.FI EPP

2026年2月3日 | 分类: 【项目】

【优化】

按第一版的 Domain.Fi Snap:

✅ Loaded 1 domains from snap.txt
Connecting to epp.domain.fi:700...
✅ Connected to EPP server.
✅ Login successful.
👉 Registering: homey.fi for 1 year(s)...
❌ Failed: homey.fi
✅ EPP session completed. Check snap.log for details.

Login successful 之前比较漫长,所以务必采用 hello 保活。

使用 ID X 为基础改进。

【排错】

问题:Fatal Error: Failed to read header: error:0A000418:SSL routines

SSL 证书已过期,请更换有效 SSL 证书。

✅ Loaded 1 domains from snap.txt
Connecting to epp.domain.fi:700...
✅ Connected to EPP server.
❌ Fatal Error: Failed to read header: error:0A000418:SSL routines::tlsv1 alert unknown ca

【部署】

【备注】按已调通的 .FI 基础,试图改为 EPP-FI,意为可以参与荷兰拍!!!

https://www.tongyi.com/?sessionId=7caad33d439c482ea0746372e7d3b7d8
https://www.tongyi.com/?sessionId=94d15cfd28d345a9aefb8bbc85c162e3

编译:

cd /root/EPP-FI && g++ -o snap snap.cpp -lssl -lcrypto -lpthread

执行:

cd /root/EPP-FI && ./snap

启动定时器

cd /root && nohup python3 epp-is.py &

=========================================================
EPP账号和SSL证书关联!!!
=========================================================
EPP服务器:
生产:epp.domain.fi
测试:epptest.ficora.fi
=========================================================

参考:https://github.com/ajmyyra/go-epp-fi

使用C++编程,向 epp.ficora.fi 发起 .FI 域名注册请求
将服务器对话存为日志,放在 logs 目录下。
单独.TXT文件中设置凭据。
单独.txt文件填写域名列表。每个域名后注明注册年限。年限必须是 1 到 10 之间的整数。形如 domain.com, 2

解决方案,包括:

项目结构建议
凭据和域名列表读取
EPP协议通信实现
日志记录功能

项目结构:

/FI-Domain-Registrar/
├── certs/
│ ├── client.pem <-- 客户端证书(包含私钥) │ └── client.key <-- 客户端私钥(可选) ├── logs/ <-- 自动生成的日志文件夹 ├── credentials.txt <-- 用户名、密码配置 ├── domains.txt <-- 要注册的域名列表 └── snap.cpp <-- 当前代码 测试: openssl s_client -connect epptest.ficora.fi:700 -cert certs/client.pem -key certs/client.key 返回: Verify return code: 0 (ok) Extended master secret: yes 创建项目目录结构并编译: g++ -o snap snap.cpp -lssl -lcrypto 程序会在同一目录下查找 domains.txt 文件,所以请确保在运行程序前创建并填写好这个文件。 ./epp-fi 【测试】

=============================================

– Contact create (registrant: role=5)
– Contact update
– Domain update
– Domain delete

=============================================

g++ contact-create.cpp -o contact-create -std=c++11 -lssl -lcrypto

./contact-create

创建成功:

Successfully created contact ID: C5148017

=============================================

g++ contact-update.cpp -o contact-update -std=c++11 -lssl -lcrypto

./contact-update

更新成功:

Successfully updated contact ID: C5148017

=============================================

g++ domain-update.cpp -o domain-update -std=c++11 -lssl -lcrypto

./domain-update

操作通过:

Successfully updated domain: domain888.fi

=============================================

g++ domain-delete.cpp -o domain-delete -std=c++11 -lssl -lcrypto

./domain-delete

验证通过:

Successfully deleted domain: test123test123.fi

=============================================

【配置】

IP 白名单:

Traffic on your EPP account is allowed from the listed IP addresses.
Maximum number of addresses is 10.
Please note that changes are updated at regular intervals three times a day:
8 a.m., 4 p.m. and 0 a.m. (EET / EEST: UTC+2 / UTC+3).

66.42.79.88

加密证书:

使用免费3个月证书 apache 类型压缩包中的:timenic.com_public.crt

Certificate 形如:

-----BEGIN CERTIFICATE-----
MIIF/jCCBOagAwIBAgIQCBTMpWHtRjhSLktzcNL0YzANBgkqhkiG9w0BAQsFADB
uMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLEx
B3d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlc
mUgRFYgVExTIENBIC0gRzIwHhcNMjUwOTA4MDAwMDAwWhcNMjUxMjA2MjM1OTU5
WjAWMRQwEgYDVQQDEwt0aW1lbmljLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggE
PADCCAQoCggEBAJ7gYuJKHK8D0z3IP7apqlSIHj8TQfOEUDbHj4Y3CALx18ctV6
R5YL3oQWoiWwrVMaVgX3DlX354dSJx2e38fErLVfR/3nVbawzfpOlJRp1vW0z1R
EL+YDEQvjXGDlw0KnQq+42KDbz/M/TC2t8gjRnYeLhCX4gQtDcHgH7NjABNSNza
qkaHWY1JI+uWGZLKvx8pPStWFvY+6pQKk2tAmU0CkdnwHlUNGOgUU17kztyR0Cd
Rzed4Yy8KvV+v4vyuo7a9AjH++6nrO9bR9svJjnbjvjYp+7T/oZWyTzCKBLcZqh
oU2QQysm3WMWTJ66yRt2aM2qaari1I4/3IxaZqdc8CAwEAAaOCAu4wggLqMB8GA
1UdIwQYMBaAFHjfkZBf7t6s9sV169VMVVPvJEq2MB0GA1UdDgQWBBQiXtQgVfUK
1uQiHP/aq4V5kZ8hYzAnBgNVHREEIDAeggt0aW1lbmljLmNvbYIPd3d3LnRpbWV
uaWMuY29tMD4GA1UdIAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dH
A6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lB
BYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIGABggrBgEFBQcBAQR0MHIwJAYIKwYB
BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEFBQcwAoY+aHR
0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0VuY3J5cHRpb25FdmVyeXdoZXJlRF
ZUTFNDQS1HMi5jcnQwDAYDVR0TAQH/BAIwADCCAX0GCisGAQQB1nkCBAIEggFtB
IIBaQFnAHYAEvFONL1TckyEBhnDjz96E/jntWKHiJxtMAWE6+WGJjoAAAGZKCr6
aQAABAMARzBFAiBL4kg9tMyZpAMWq6Typ/pYsgiZU29qFd0LYii5kku/HwIhAJG
QdJqcMVk4H0OP1pqlEBjnW8V7tfG7P35Bg7JWAvoyAHUA7TxL1ugGwqSiAFfbyy
TiOAHfUS/txIbFcA8g3bc+P+AAAAGZKCr6pgAABAMARjBEAiA1QrymFx2me9ii2
pduf3uRCEN4ETMCzjFORpd3YUQC7QIgWLEhrczqwElBpSaKIz5AQnTPko2HiTuK
wQlZNpHzLUAAdgCkQsUGSWBhVI8P1Oqc+3otJkVNh6l/L99FWfYnTzqEVAAAAZk
oKvrzAAAEAwBHMEUCIA1qpsC16LuTvcsfTWgD8TYT6oz1AmQ7kI/HaC1PiW5EAi
EAmlXLRM7VT9omX3shU4DRJvrXVCspIEB0aH3Cb4AEVkIwDQYJKoZIhvcNAQELB
QADggEBACX3+Rpnrn/tGb0IgMr0JI5reaIzdfE29LByDZD3aboyoHOO2yXoThoG
nx77t7jomAP4cRmOijL8bZasS/kXpk7o31Q4vqbcAj0JfPLewgyA0SJ2kNhXRro
mlFgW40ygVsoFuCVqZ1ujV9YikjG3XhNweDdH/aWbSQ38F7NHUGthK9UyHKVDyM
OOdfVwm4IDexk5O+kTjK9oNWDNdbN9u0rCXdWZU4ZGsviIIczQk6GALk+MZD7U5
FrbAQhuzRC0dHrjpq5O+VEAXcg6kDhbyl+5a052HvbLTCqPAWoihermH6+arY0r
PTKdNxACWCso5pAEl0ExrunIx70ld8F4m9I=
-----END CERTIFICATE-----

EPP 消息设置:

Settings for sending EPP messages
The I want to only receive poll messages about actions on the EPP account. field is required.
By accepting this, you will receive only poll messages about actions on the EPP account. As a default setting, the messages are sent both as poll messages and emails.

发送 EPP 消息的设置
“我只想接收有关 EPP 账户操作的轮询消息”字段为必填项。
通过接受此选项,您将只接收有关 EPP 账户操作的轮询消息。默认设置下,消息会以轮询消息和电子邮件的形式发送。