自建Ros高速升级服务器(含RouterOS v7.23版本后的修改方法)

自RouterOS 7.23后升级服务器模式使用https请求,需要改回http请求才可使用RosZ升级服务器,修改方法如下:

/system package update set mode=http

2026-09-17新增https证书导入,可支持基于https+证书验证的routeros升级

{
#rosz.cn self-hosted RouterOS upgrade server: enable https mode, for RouterOS 7.23 and later
:log info "RosZCert: step1 download root certificate"
/file remove [find name="RosZUpgrade.cer"]
:do {/tool fetch url="https://upgrade.rosz.cn/cert/RosZUpgrade.cer" dst-path="RosZUpgrade.cer"} on-error={:log error "RosZCert: step1 download failed"}
:local certSize 0
:if ([:len [/file find name="RosZUpgrade.cer"]]>0) do={:set certSize [/file get [/file find name="RosZUpgrade.cer"] size]}
:log info "RosZCert: step1 download done, size=$certSize"
:if ($certSize=1115) do={
:log info "RosZCert: step2 replace root certificate"
/certificate remove [find name~"RosZUpgrade"]
:delay 1s
/certificate import file-name="RosZUpgrade.cer" name=RosZUpgrade passphrase=""
:delay 2s
/file remove [find name="RosZUpgrade.cer"]
:if ([:len [/certificate find fingerprint="40fc213a0fa3ee08295562219e1075575ff4674f1ea912c80e5432f373cc8e90" trusted=yes]]>0) do={
:log info "RosZCert: step3 certificate trusted, switch to https mode"
/system package update set mode=https check-certificate=yes
:put "OK: certificate imported, upgrade mode switched to https with certificate check"
} else={
:log error "RosZCert: step3 fingerprint mismatch, rollback to http mode"
/certificate remove [find name~"RosZUpgrade"]
/system package update set mode=http check-certificate=no
:put "FAILED: fingerprint mismatch, certificate removed, upgrade mode set back to http"
}
} else={
:log error "RosZCert: step1 certificate size abnormal, size=$certSize"
/file remove [find name="RosZUpgrade.cer"]
:put "FAILED: download incomplete, nothing changed, please retry later"
}
}

同时支持WinBox镜像升级,配置DNS绑定后导入证书即可

Windows导入证书

:: Run in Windows Command Prompt as Administrator
:: 1. download root certificate
curl -k -o "%TEMP%\RosZUpgrade.cer" "https://upgrade.rosz.cn/cert/RosZUpgrade.cer"
:: 2. decode PEM to DER and print its SHA256, it must match the expected value below
certutil -decode "%TEMP%\RosZUpgrade.cer" "%TEMP%\RosZUpgrade.cer.der"
certutil -hashfile "%TEMP%\RosZUpgrade.cer.der" SHA256
:: expected fingerprint: 40fc213a0fa3ee08295562219e1075575ff4674f1ea912c80e5432f373cc8e90
:: 3. import into Trusted Root Certification Authorities, only if the fingerprint matches
certutil -addstore -f "Root" "%TEMP%\RosZUpgrade.cer"
:: 4. remove temp files
del "%TEMP%\RosZUpgrade.cer" "%TEMP%\RosZUpgrade.cer.der"

Mac导入证书

# Run in Terminal.app, paste the whole block at once
# to undo later: sudo security delete-certificate -c "RosZ Mikrotik Upgrade CA" /Library/Keychains/System.keychain
(
echo "RosZCert: step1 download root certificate"
curl -k -fsS -o "/tmp/RosZUpgrade.cer" "https://upgrade.rosz.cn/cert/RosZUpgrade.cer" || { echo "FAILED: download error, please retry later"; exit 1; }
echo "RosZCert: step2 check fingerprint"
certFp=$(openssl x509 -in "/tmp/RosZUpgrade.cer" -outform DER | shasum -a 256 | awk '{print $1}')
if [ "$certFp" != "40fc213a0fa3ee08295562219e1075575ff4674f1ea912c80e5432f373cc8e90" ]; then
echo "FAILED: fingerprint mismatch, nothing imported, got=$certFp"
rm -f "/tmp/RosZUpgrade.cer"
exit 1
fi
echo "RosZCert: step3 import into System keychain as trusted root, admin password required"
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "/tmp/RosZUpgrade.cer" || { echo "FAILED: import error"; rm -f "/tmp/RosZUpgrade.cer"; exit 1; }
rm -f "/tmp/RosZUpgrade.cer"
echo "OK: root certificate trusted, restart Winbox to use the mirror"
)

RosZ自建高速Ros升级服务器已上线,欢迎使用。

由于Mikrotik的官方升级服务器位于拉脱维亚,距离遥远,也无CDN加速可用,遂设立RosZ自建Ros升级服务器,方便大家快速稳定升级设备。

自建Ros升级服务器特性

与Mikrotik官方升级服务器完全同步;

使用谷歌翻译引擎自动转换英文更新日志为中英双语日志,方便查阅版本特性变化;

高速软件下载,无断流,升级快速稳定。

自建升级服务器Winbox效果图

钉钉新版推送功能

支持新版本钉钉消息推送;

并提供钉钉内置浏览器快速查阅版本特性变化,可任选中英文版本;

支持自定义推送版本类型。

钉钉推送
钉钉Ros新版本消息推送配置方法

部署和配置方法

部署RosZ自建Ros升级服务器的指令如下,推荐使用CName解析版本

{
#切换升级服务器为RosZ
/ip dns static
remove [find name=upgrade.mikrotik.com]
add cname=upgrade.rosz.cn name=upgrade.mikrotik.com type=CNAME
/ip dns cache flush
}

如您使用的v6版本比较老,不支持CName导入,请使用下方指令

{ 
#切换升级服务器为RosZ
/ip dns static
remove [find name=upgrade.mikrotik.com]
add address=[:resolve upgrade.rosz.cn] name=upgrade.mikrotik.com
/ip dns cache flush
}

还原为Mikrotik官方升级服务器的指令如下:

{
#还原升级服务器为Mikrotik
/ip dns static remove [find name=upgrade.mikrotik.com]
/ip dns cache flush
}

如配置脚本所示,实际仅需更改升级域名的解析,即可切换为RosZ自建Ros升级服务器。

推荐:使用云指令批量部署Ros升级服务器配置

相关指令脚本已加入RosZ云指令集,请搜索选用。

云指令批量部署
升级提示
v6升级v7一定要谨慎,升级前请仔细阅读官方升级日志,RosZ已提供中英双语版本。

新增ROS软件包快速下载界面及功能说明

新增Ros软件包下载界面
新增软件包功能说明
增加ROS多版本系统包快速检索