atlas-sw-probe: remove package

Delete the atlas-sw-probe package in favor of the new ripe-atlas package
that will be added in a following commit.

Signed-off-by: Tiago Gaspar <tiagogaspar8@gmail.com>
This commit is contained in:
Tiago Gaspar authored and Alexandru Ardelean committed 2026-07-18 22:49:20 +03:00
1 parent d2aeaf041b
commit 6129fcd17d
6 files changed
-496

No files matched your search

-133
View File
@@ -1,133 +0,0 @@
#
# Copyright (C) 2019-2022 CZ.NIC z.s.p.o. (https://www.nic.cz/)
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=atlas-sw-probe
PKG_VERSION:=5080
PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/RIPE-NCC/ripe-atlas-software-probe.git
PKG_SOURCE:=ripe-atlas-software-probe-$(PKG_VERSION).tar.gz
PKG_MIRROR_HASH:=ad8b012803f98abbf1594384c5a4e27de9e9c112d43da272e73dd10591a566e1
PKG_SOURCE_VERSION:=67b0736887d33d1c42557e7c7694cbd4e5d8e6ee
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=LICENSE
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/atlas-sw-probe
SECTION:=net
CATEGORY:=Network
TITLE:=RIPE Atlas software probe
URL:=https://atlas.ripe.net/about/probes/
DEPENDS:=+atlas-probe +PACKAGE_dropbear:dropbearconvert
endef
define Package/atlas-sw-probe/description
RIPE Atlas SW probe is software variant of RIPE Atlas Probe.
It contains utilities which helps actively measure
Internet connectivity through ping, traceroute, DNS, SSL/TLS, NTP, and HTTP.
Data are then collected, aggregated and published by the RIPE NCC.
endef
define Package/atlas-sw-probe-rpc
SECTION:=net
CATEGORY:=Network
TITLE:=RPC service
URL:=https://atlas.ripe.net/about/probes/
DEPENDS:=+atlas-probe +bind-dig +rpcd
endef
define Package/atlas-sw-probe-rpc/description
Provides ubus calls for probe.
endef
Build/Compile:=:
Build/Install:=:
define Package/atlas-sw-probe-rpc/postinst
#!/bin/sh
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/rpcd restart
exit 0
endef
define Package/atlas-sw-probe-rpc/postrm
#!/bin/sh
[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/rpcd restart
exit 0
endef
define Package/atlas-sw-probe/conffiles
/etc/atlas/
/etc/config/atlas
/usr/libexec/atlas-probe-scripts/state/config.txt
endef
TMP_BASE_DIR:=/tmp/ripe_atlas_probe
SCRIPTS_DIR:=/usr/libexec/atlas-probe-scripts
define Package/atlas-sw-probe/install
$(INSTALL_DIR) $(1)/$(SCRIPTS_DIR)
$(INSTALL_DIR) $(1)/$(SCRIPTS_DIR)/{etc,state,bin/arch,bin/bin}
# Copy config
$(CP) $(PKG_BUILD_DIR)/atlas-config/etc/* $(1)/$(SCRIPTS_DIR)/etc/
# Copy firmware version
$(CP) $(PKG_BUILD_DIR)/atlas-config/state/FIRMWARE_APPS_VERSION $(1)/$(SCRIPTS_DIR)/state/
# Set probe mode
echo "prod" > $(1)/$(SCRIPTS_DIR)/state/mode
# Copy scripts
$(CP) $(PKG_BUILD_DIR)/bin/{ATLAS,resolvconf} $(1)/$(SCRIPTS_DIR)/bin/
$(CP) $(PKG_BUILD_DIR)/bin/*.sh $(1)/$(SCRIPTS_DIR)/bin/
$(CP) $(PKG_BUILD_DIR)/bin/arch/{linux,openwrt-sw-probe} $(1)/$(SCRIPTS_DIR)/bin/arch/
# Create config info
echo "DEVICE_NAME=openwrt-sw-probe" > $(1)/$(SCRIPTS_DIR)/bin/config.sh
echo "ATLAS_BASE=$(SCRIPTS_DIR)" >> $(1)/$(SCRIPTS_DIR)/bin/config.sh
echo "ATLAS_STATIC=$(SCRIPTS_DIR)" >> $(1)/$(SCRIPTS_DIR)/bin/config.sh
echo "SUB_ARCH=openwrt-$(ARCH)-$(PKG_VERSION)-$(PKG_RELEASE)" >> $(1)/$(SCRIPTS_DIR)/bin/bin/config.sh
# Enable sending interface traffic statistics as Atlas measurement results
echo "RXTXRPT=yes" > $(1)/$(SCRIPTS_DIR)/state/config.txt
# Fix permission
chmod 755 $(1)/$(SCRIPTS_DIR)/bin
# Add registration instruction
$(INSTALL_DIR) $(1)/etc/atlas/
$(CP) ./files/atlas.readme $(1)/etc/atlas/
# Create softlinks for writable dirs
$(LN) $(TMP_BASE_DIR)/crons $(1)/$(SCRIPTS_DIR)/crons
$(LN) $(TMP_BASE_DIR)/data $(1)/$(SCRIPTS_DIR)/data
$(LN) $(TMP_BASE_DIR)/run $(1)/$(SCRIPTS_DIR)/run
$(LN) $(TMP_BASE_DIR)/status $(1)/$(SCRIPTS_DIR)/status
# Copy init and config
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) ./files/atlas.init $(1)/etc/init.d/atlas
$(INSTALL_DIR) $(1)/etc/config/
$(INSTALL_CONF) ./files/atlas.conf $(1)/etc/config/atlas
endef
define Package/atlas-sw-probe-rpc/install
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(INSTALL_BIN) ./files/atlas_rpcd.sh $(1)/usr/libexec/rpcd/atlas
endef
$(eval $(call BuildPackage,atlas-sw-probe))
$(eval $(call BuildPackage,atlas-sw-probe-rpc))
-5
View File
@@ -1,5 +0,0 @@
config atlas 'common'
option log_stderr '1'
option log_stdout '0'
option rxtxrpt '1'
option username ''
-249
View File
@@ -1,249 +0,0 @@
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=30
EXTRA_COMMANDS="get_key probeid log create_backup load_backup create_key"
EXTRA_HELP=" get_key print probe public key (used for probe registration)
probeid print probe id
log print probe status log
create_backup backup ssh key to tar.gz
load_backup 'backup.tar.gz' load backup ssh key from tar.gz
create_key create probe priv/pub key
"
SCRIPTS_DIR="/usr/libexec/atlas-probe-scripts"
TMP_BASE_DIR="/tmp/ripe_atlas_probe"
PUB_KEY_FILE="$SCRIPTS_DIR/etc/probe_key.pub"
PRIV_KEY_FILE="$SCRIPTS_DIR/etc/probe_key"
PROBE_ID_FILE="$TMP_BASE_DIR/status/reg_init_reply.txt"
LOG_FILE="/tmp/log/ripe_sw_probe"
STATE_CONFIG="$SCRIPTS_DIR/state/config.txt"
load_backup() {
local backup_arch
local tmp_dir
backup_arch="$1"
tmp_dir="$(mktemp -u -p /var/run/atlas)"
if [ -f "$backup_arch" ]; then
safe_mkdir "$tmp_dir"
tar -xzf "$backup_arch" -C "$tmp_dir/"
if [ -f "$tmp_dir/probe_key.pub" ] && [ -f "$tmp_dir/probe_key" ]; then
mv "$tmp_dir/probe_key.pub" "$PUB_KEY_FILE"
mv "$tmp_dir/probe_key" "$PRIV_KEY_FILE"
rm -rf "$tmp_dir"
print_msg "Info: public and private key loaded from backup"
else
print_msg "Error: Could not extract probe_key or probe_key form backup archive"
rm -rf "$tmp_dir"
exit 1
fi
else
print_msg "Error: Provided backup file $backup_arch does not exists"
exit 1
fi
}
create_backup() {
local back_dir
back_dir="$(pwd)"
if [ -f "$PUB_KEY_FILE" -a -f "$PRIV_KEY_FILE" ]; then
print_msg "Info: Creating backup arch in $back_dir"
tar -czf "$back_dir/atlas-key-backup.tar.gz" -C "$SCRIPTS_DIR/etc" probe_key probe_key.pub
else
print_msg "Error: private or public key does not exists."
exit 1
fi
}
create_key() {
local username
local probe_key=/etc/atlas/probe_key
local probe_pub_key=/etc/atlas/probe_key.pub
config_load atlas
config_get username "common" username
if [ -f "$PRIV_KEY_FILE" ]; then
if [ ! -f $probe_key ]; then
print_msg "Missing probe_key in /etc/atlas"
print_msg "The key will be lost on sysupgrade. Cosider moving the keys in /etc/atlas and create a link in the $SCRIPTS_DIR/etc/ dir."
fi
print_msg "probe_key already present. Exiting..."
exit 1
fi
if [ -z "$username" ]; then
print_msg "Username not set in atlas config file. Enter your ripe-atlas username."
exit 1
fi
if [ -n "$(which ssh-keygen)" ]; then
ssh-keygen -t rsa -b 2048 -f $probe_key -N ""
sed -i "s/ \S*$/ "$username"/" $probe_pub_key
elif [ -n "$(which dropbearkey)" ] && [ -n "$(which dropbearconvert)" ]; then
local public_key
public_key="$(dropbearkey -t rsa -f /etc/atlas/probe_key_dropbear -s 2048 | sed -n 2p)"
public_key="$(echo "$public_key" | sed "s/ \S*$/ "$username"/")"
echo $public_key > $probe_pub_key
dropbearconvert dropbear openssh /etc/atlas/probe_key_dropbear $probe_key
rm /etc/atlas/probe_key_dropbear
else
print_msg "Can't find a way to generate key."
exit 1
fi
#Link priv/pub key
[ -f $PRIV_KEY_FILE ] || ln -s $probe_key $PRIV_KEY_FILE
[ -f $PUB_KEY_FILE ] || ln -s $probe_pub_key $PUB_KEY_FILE
#Fix permission
chown atlas $probe_key $probe_pub_key
chgrp atlas $probe_key $probe_pub_key
chmod 644 $probe_key $probe_pub_key
print_msg "Key generated successfully. Use the get_key command to show the public key and get instruction on how to register your probe."
}
log() {
if [ -f "$LOG_FILE" ];then
tail "$LOG_FILE"
else
print_msg "Error. No log file found. Probe isn't probably running"
exit 1
fi
}
get_key() {
if [ -f "$PUB_KEY_FILE" ]; then
echo "Probe public key (use for registration)"
echo "URL with registration form https://atlas.ripe.net/apply/swprobe/"
echo "=========================================="
cat "$PUB_KEY_FILE"
else
print_msg "Error! Pub. key not found"
exit 1
fi
}
probeid() {
local probe_id
if [ -f "$PROBE_ID_FILE" ]; then
probe_id="$(awk '/PROBE_ID/ {print $2}' "$PROBE_ID_FILE")"
if [ -z "$probe_id" ]; then
print_msg "Probe ID not found SW probe isn't probably registered yet"
exit 1
else
print_msg "Probe ID is $probe_id"
fi
else
print_msg "Probe ID not found. SW probe is not running or probe_key isn't registered yet"
exit 1
fi
}
print_msg() {
echo "$1" >&2
logger -t atlas-sw-probe "$1"
}
stop_service() {
local atlas_pid
local tunnel_pid
local pid_file
print_msg "Stopping atlas sw probe"
print_msg "Kill all atlas processes"
for pid_file in "$SCRIPTS_DIR/run/"*.vol; do
[ -f "$pid_file" ] || continue
# test if proccess is still running
atlas_pid="$(cat "$pid_file")"
if kill -0 "$atlas_pid" 2>/dev/null; then
kill "$atlas_pid"
fi
done
if [ -f "$SCRIPTS_DIR/status/con_keep_pid.vol" ]; then
print_msg "Kill ssh tunnel"
tunnel_pid="$(cat "$SCRIPTS_DIR/status/con_keep_pid.vol")"
if kill -0 "$tunnel_pid" 2>/dev/null; then
kill "$tunnel_pid"
fi
fi
# Clean run dir
rm -r $TMP_BASE_DIR
}
safe_mkdir() {
local dir="$1"
if [ -e "$dir" ] && [ ! -d "$dir" -o -L "$dir" ]; then
rm -rf "$dir"
fi
mkdir -p "$dir"
chmod 700 "$dir"
chown root:root "$dir"
}
create_tmp_dirs() {
local dirs
chown -R atlas:atlas "$SCRIPTS_DIR/bin"
chmod 755 "$SCRIPTS_DIR/bin"
dirs='crons data run status'
safe_mkdir "$TMP_BASE_DIR"
for i in $dirs; do
safe_mkdir "$TMP_BASE_DIR/$i"
done
}
start_service() {
local log_stderr
local log_stdout
local rxtxrpt
local test_setting
local probe_key=/etc/atlas/probe_key
local probe_pub_key=/etc/atlas/probe_key.pub
# The link is not saved across sysupgrade, recreate if missing
if [ ! -f $PRIV_KEY_FILE ]; then
[ -f $probe_key ] && ln -s $probe_key $PRIV_KEY_FILE
[ -f $probe_pub_key ] && ln -s $probe_pub_key $PUB_KEY_FILE
fi
# With the precheck done, check if the priv key is actually present
if [ ! -f $PRIV_KEY_FILE ]; then
print_msg "Missing probe_key. To init the key follow instruction in /etc/atlas/atlas.readme"
print_msg "Assuming atlas-sw-probe not init. Exiting..."
exit 1
fi
create_tmp_dirs
config_load atlas
config_get_bool log_stderr "common" log_stderr "0"
config_get_bool log_stdout "common" log_stdout "0"
config_get_bool rxtxrpt "common" rxtxrpt "1"
test_setting=$(grep "^[ ]*RXTXRPT=yes" "$STATE_CONFIG")
# Decide if we should write to permanent storage
if [ "$rxtxrpt" == "1" ] && [ -z "$test_setting" ]; then
echo "RXTXRPT=yes">$STATE_CONFIG
elif [ "$rxtxrpt" == "0" ] && [ ! -z "$test_setting" ]; then
echo "RXTXRPT=no">$STATE_CONFIG
fi
procd_open_instance
procd_set_param command "$SCRIPTS_DIR/bin/ATLAS"
procd_set_param stdout "$log_stdout"
procd_set_param stderr "$log_stderr"
procd_close_instance
}
-12
View File
@@ -1,12 +0,0 @@
# Atlas probe setup instruction
The atlas probe software requires a rsa 2048-4096 key for registration.
Follow these steps to register your probe on the ripe-atlas systems.
1. Insert your username in the atlas config file (/etc/config/atlas)
2. Use the command '/etc/init.d/atlas create_key' to create a priv/pub key.
3. The priv/pub key will be stored on the directory /etc/atlas/
4. Use the command '/etc/init.d/atlas get_key' to get the public key used for probe registration.
Make sure to copy the entire key and that the last value is the correct username
5. Follow the instruction from the past command or go to 'https://atlas.ripe.net/apply/swprobe/'
and register your probe.
-83
View File
@@ -1,83 +0,0 @@
#!/bin/sh
. /lib/functions.sh
SCRIPTS_DIR="/usr/libexec/atlas-probe-scripts"
TMP_BASE_DIR="/tmp/ripe_atlas_probe"
PUB_KEY_FILE="$SCRIPTS_DIR/etc/probe_key.pub"
PRIV_KEY_FILE="$SCRIPTS_DIR/etc/probe_key"
PROBE_ID_FILE="$TMP_BASE_DIR/status/reg_init_reply.txt"
get_atlas_public_key() {
local pub_key
if [ -f "$PUB_KEY_FILE" ]; then
pub_key=$(cat "$PUB_KEY_FILE")
fi
echo "{"
echo \"pub-key\":\"$pub_key\"
echo "}"
}
get_atlas_probeid() {
local probe_id
if /etc/init.d/atlas probeid 2>/dev/null; then
probe_id="$(awk '/PROBE_ID/ {print $2}' "$PROBE_ID_FILE")"
fi
echo "{"
echo \"probe-id\":\"$probe_id\"
echo "}"
}
get_reg_info() {
local pub_ip
local asn
local asn_org
if [ -z "$pub_ip" ]; then
pub_ip="$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com|tr -d '"')"
fi
echo "{"
echo \"public-ipv4\":\"$pub_ip\"
echo "}"
}
get_status() {
local status
status="$(/etc/init.d/atlas status)"
echo "{"
echo \"status\":\"$status\"
echo "}"
}
case "$1" in
list)
echo '{'
echo ' "pub-key": {},'
echo ' "probe-id": {},'
echo ' "reg-info": {}'
echo ' "status": {}'
echo '}'
;;
call)
case "$2" in
pub-key)
get_atlas_public_key
;;
probe-id)
get_atlas_probeid
;;
reg-info)
get_reg_info
;;
get-status)
get_status
;;
esac
;;
esac
@@ -1,14 +0,0 @@
--- a/bin/ATLAS
+++ b/bin/ATLAS
@@ -7,9 +7,9 @@
#exec >/tmp/ATLAS.out 2>/tmp/ATLAS.err
#set -x
-if [ -f bin/config.sh ]
+if [ -f /usr/libexec/atlas-probe-scripts/bin/config.sh ]
then
- . bin/config.sh
+ . /usr/libexec/atlas-probe-scripts/bin/config.sh
export DEVICE_NAME SUB_ARCH ATLAS_STATIC
else
echo no 'bin/config.sh' >&2