• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    Dockerfile
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is the RIPE Atlas software probe packaged as a Docker image.

RIPE Atlas Docker Image

This is the RIPE Atlas software probe packaged as a Docker image.

Build Status

Requirements

  • 1 CPU core (of course)
  • 20MiB memory
  • 100MiB HDD
  • A Linux installation with Docker installed
  • Internet access

Tags

The following prebuilt tags are available at Docker Hub. The latest tag supports multi-arch, and should be used by default.

  • latest: For all supported devices listed below (multi-arch)
  • latest-arm64: For arm64 (aarch64) devices
  • latest-armv7l: For armv7l (armhf) devices
  • latest-i386: For i386 devices
  • latest-amd64: For amd64 devices

Running

Using docker run

First we start the container:

docker run --detach --restart=always \
	--log-driver json-file --log-opt max-size=10m \
	--cpus=1 --memory=64m --memory-reservation=64m \
	--cap-drop=ALL --cap-add=CHOWN --cap-add=SETUID --cap-add=SETGID --cap-add=DAC_OVERRIDE --cap-add=NET_RAW \
	-v /var/atlas-probe/etc:/var/atlas-probe/etc \
	-v /var/atlas-probe/status:/var/atlas-probe/status \
	-e RXTXRPT=yes \
	--name ripe-atlas --hostname "$(hostname --fqdn)" \
	jamesits/ripe-atlas:latest

Using Docker Compose

An example docker-compose.yaml is provided.

git clone https://github.com/Jamesits/docker-ripe-atlas.git
cd docker-ripe-atlas
docker-compose pull
docker-compose up -d

Registering the Probe

Fetch the generated public key:

cat /var/atlas-probe/etc/probe_key.pub

Register the probe with your public key. After the registration being manually processed, you'll see your new probe in your account.

Building

If you don't want to use the prebuilt image hosted on the Docker Hub, you can build your own image.

DOCKER_BUILDKIT=1 docker build -t ripe-atlas .

Note that building this container image requires BuildKit.

Caveats

IPv6

Docker does not enable IPv6 by default. If you want IPv6 support, some level of setup and a basic understanding of IPv6 is required. Swarm mode & some Kubernetes implementation supports IPv6 too with extra configuration.

Using native address assignment

If you happened to have a block of static IPv6 addresses routed to your host, you can directly assign one of the addresses to the container. Edit /etc/docker/daemon.json and add native IPv6 address blocks, then restart the Docker daemon. An example:

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:a1a3::/48"
}

Notes:

  • These config work on Docker for Linux only
  • If daemon.json exists, merge the config lines instead of directly overwriting it; if it doesn't exist, create it manually
  • For more info, see the official doc

Using NAT (NPTv6)

If your ISP does not conform to BCOP 690 (very common), and/or your router cannot route smaller blocks of IPv6 to one server even if it has been assigned a block of valid IPv6 addresses (also very common), the method above might not work for you. As a workaround, you can setup NAT with either Docker's builtin experimental IPv6 NAT support, robbertkl/docker-ipv6nat or similar projects. Manual iptables/nftables NAT setup is also possible, but hanc marginis exiguitas non caperet.

Firstly, edit kernel parameters to enable IPv6 routing.

cat > /etc/sysctl.d/50-docker-ipv6.conf <<EOF
net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.default.forwarding=1
EOF
sysctl -p /etc/sysctl.d/50-docker-ipv6.conf

Notes:

  • This potentially introduces more attack surface and might require you set up IPv6 firewall rules to make yourself safe
  • This might break your network and your mileage may vary
  • Swap eth0 with your primary network adapter name
  • If you use static IPv6 assignment instead of SLAAC, change accept_ra to 0

Secondly, create a IPv6 NAT enabled network.

docker network create --ipv6 --subnet=fd00:a1a3::/48 ripe-atlas-network
docker run -d --restart=always -v /var/run/docker.sock:/var/run/docker.sock:ro -v /lib/modules:/lib/modules:ro --cap-drop=ALL --cap-add=NET_RAW --cap-add=NET_ADMIN --cap-add=SYS_MODULE --net=host --name=ipv6nat robbertkl/ipv6nat:latest

Finally, start the RIPE Atlas container with argument --net=ripe-atlas-network.

Auto Update

Use this recipe for auto updating the docker container.

docker run --detach --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name watchtower containrrr/watchtower --cleanup --label-enable

Then start the RIPE Atlas container with argument --label=com.centurylinklabs.watchtower.enable=true.

Backup

All the config files are stored at /var/atlas-probe. Just backup it.

More Repositories

1

proxifier-profiles

My Proxifier profiles
534
star
2

docker-dst-server

Don't Starve Together dedicated server in Docker!
Lua
426
star
3

pve-fake-subscription

Disables the "No valid subscription" dialog on all Proxmox products.
Python
355
star
4

dropWPBT

Disables the Windows Platform Binary Table (WPBT) in your UEFI firmware.
C
286
star
5

systemd-named-netns

Use named netns (net namespace) with systemd services!
Shell
130
star
6

menhera.sh

Start a RAM Linux system and free your system disk without physical access to your server.
Shell
86
star
7

vps2routeros

Install RouterOS without screen and keyboard, only Telnet/SSH is required.
Shell
67
star
8

alwaysonline

Hijack/bypass Windows NCSI and iOS portal detection on a network level.
Go
58
star
9

BGRTInjector

Customize Windows 10 boot logo without modifying UEFI firmware.
C
51
star
10

SvcGuest

Install any executable as a Windows service. (systemd compatible config!)
C#
50
star
11

linux-gre-keepalive

High-performance passive (a.k.a. reply-only) GRE keepalive support for Linux, written in eBPF/XDP.
C
42
star
12

windows-10-font-fallback-reg

Windows 10 default font fallback config registry files
35
star
13

pilot

Simple web-based SDN controller for family and friends
Python
35
star
14

MindGoWrapper

辣鸡同花顺 MindGo 量化交易平台的回测框架 Some wrapper for sh*t quant platform 10qjka MindGo
Python
33
star
15

terminal-duplicator

Record your terminal and share it with the world on a web page.
Python
29
star
16

nginx-config-boilerplate

Modular Nginx config for modern, secure sites in 2023.
Shell
24
star
17

sound-blaster-e5-battery

This repo provides some information on the battery swollen issue of Creative Sound Blaster E5.
23
star
18

CTryCatch

C++ style try/catch support library in pure C.
C
23
star
19

S0ixEnabler

Force enable S0 Low Power Idle mode on your computer.
C
22
star
20

monument

Allow a file to be decrypted when and only when you die.
Go
21
star
21

selfCA

Generate your own CA and sign certs fast. (maybe I should rename it to "not-so-easy-rsa" or "hardcore-rsa"?)
Shell
20
star
22

bin2array

Converts binary file to C-style array initializer.
Python
19
star
23

alfred-workflow-telegram

Find your friends at Telegram!
18
star
24

bgpiano

MIDI tunneling through BGP, for times when you want to broadcast your music instead of your IP packets.
Go
16
star
25

myip

Get your external IP address from command line - STUN, DNS, HTTPS API supported
Go
14
star
26

docker-meshcentral2

Automated Docker build for MeshCentral 2
Shell
14
star
27

BrainPower

PCI express x1 (full-height, half-length) socket to 12V DC adapter with specific MikroTik router mounting holes
12
star
28

SND

Minimal authoritative PTR (rDNS, reverse DNS) resolver with automatic generation of records.
Go
12
star
29

goinvoke

Load DLLs with ease, without cgo.
Go
11
star
30

ubuntu-live-miner-x86_64

Ubuntu LiveCD with xmr-stak pre-installed and pre-configured. Plug and mine!
Makefile
11
star
31

DisableSystemUpdateService

Disables wakelock caused by SystemUpdateService and save your battery. [Root required]
Java
11
star
32

jupyter-theme-chesterish-paranoid

Modified chesterish Jupyter theme with larger font and Iosevka webfont
CSS
10
star
33

DRIPSEnabler

Enables Intel PEP (Power Engine Plug-in) and adds support for DRIPS. (Hackindows?)
C
10
star
34

netease-music-status

Monitor status of Netease Music for OS X, written in Python.
Python
9
star
35

zhihudaily

Zhihu Daily Web Portal on SAE
PHP
9
star
36

SMSGateway

SMS routing server for VOIP/GOIP devices.
Python
9
star
37

vyos-buildbot

Automated build for VyOS >=1.2.0 at home
Shell
9
star
38

bird2-bgp-china-route-selector

Shell
8
star
39

webvpn-portal-skin-routeros

RouterOS style Cisco Clientless SSL VPN / AnyConnect login portal.
HTML
7
star
40

goodgoodstudy-ios

7
star
41

docker-etherpad-lite

Production ready Etherpad Lite image, with auto installation of plugins, and full fault tolerant.
Shell
7
star
42

umbrella

Git repo backup/versioning solution
Python
7
star
43

hugo-theme-ZhihuZhuanlan

仿知乎专栏的 Hugo 主题
CSS
6
star
44

debian-readonly-media-generator-base

Prebuilt minimal Debian disk image for network experiments. (eve-ng ready, wireguard/mpls/FRRouting/bird2/srext)
Shell
6
star
45

DeadManSwitch

Trigger actions remotely using DNS records.
Go
6
star
46

armbian-embedded

Generates full-customized read-only Armbian image for your embedded, long-running devices
Shell
6
star
47

james-karabiner-config

Prebuilt, device-specific Karabiner config files to enable every button on your mouse, touchpad or keyboard on OS X.
6
star
48

ScreenShooter

An automatic web page screenshot service.
C#
5
star
49

i-HDU-Auto-Login-Alfred-Workflow

Log into i-HDU with your keyboard!
Shell
5
star
50

ComOn

Quick launch PuTTY to connect to a serial (COM) port.
C#
5
star
51

HDU-Student-ID-Card

All the information you need to extract information from Hangzhou Dianzi University student ID cards.
5
star
52

docker-mtproxy

MTProxy Docker image
Shell
5
star
53

auto-image-cutter

A Matlab program to cut text into columns from an image.
MATLAB
5
star
54

go-windivert

Go
5
star
55

auto-email-homework-fetcher

Collects and organizes attachments from POP3 email server, automatically.
Python
5
star
56

RSSCrawler

Automatically archives RSS and podcast.
Python
4
star
57

EDIDTaxi

A random collection of EDID dumps.
4
star
58

Tochidjan

Real cloud accounting: Beancount + Fava + GitHub Codespaces (template repo)
Python
4
star
59

dnsdist-autoconf

Brain-friendly dnsdist config generator with Active Directory support.
Go
4
star
60

go-rkvendorstorage

A pure Golang implementation of Rockchip rknand vendor storage interface.
Go
4
star
61

AutoPeer

[WIP, do not use] Bird config generator for massive BGP players.
Go
4
star
62

libreinth

Windows 11 upgrade assistant (physical)
4
star
63

libiferr

Golang common helper routines.
Go
4
star
64

TSTool

A tool to manipulate the grace period of Terminal Services.
C#
4
star
65

docker-meow

(Deprecated due to removal of original MEOW repo) The ultimate auto-proxy solution, now on Docker!
Shell
4
star
66

HDU-Scripts

Some useful scripts and documents for Hangzhou Dianzi University 杭州电子科技大学实用脚本合集
TeX
4
star
67

docker-debug

Debian with some networking debug tools preinstalled
Dockerfile
3
star
68

PyMinerMonitor

Collect hash rates from miner and log to InfluxDB automatically.
Python
3
star
69

qemu-buildbot-windows

Builds QEMU for Windows.
Shell
3
star
70

JSPaint

Realtime synced canvas on web.
JavaScript
3
star
71

docker-compose-devicefarmer

DeviceFarmer (formerly OpenSTF) full deployment example with docker compose
Shell
3
star
72

ingestion.life

开源菜谱
CSS
3
star
73

wp-keybase-verification

Keybase.txt (Keybase.io Verification) file for WordPress.
PHP
3
star
74

NoWebview

Say no to webview.
JavaScript
2
star
75

lottery-predictor

Lottery predictor for 双色球. NO WARRANTY(TM).
C
2
star
76

class-website-model1

一个静态的班级网站模板,应用了 jQuery、Bootstrap 3 等。
CSS
2
star
77

go-procgroup

Process grouping and atomic filicide operation
Go
2
star
78

XboxRemoteWakeUp

Python
2
star
79

windows-internet-sharing-enabler

使用 Powershell 启用 Windows 7+ 自带的热点功能。
Visual Basic
2
star
80

VMWare-ESXi-buildbot

PowerShell
2
star
81

userspace-fat-filesystem

Simple FAT12/16/32 filesystem with a shell to do some basic work.
C
2
star
82

archlinux-xmr-stak-pxe

Shell
2
star
83

domain-lists

2
star
84

real.dev

real.dev assignments (don't write code like me, thanks)
JavaScript
2
star
85

NaiveSocketLibrary

Cross-platform C socket library.
C
2
star
86

TheOtherShoes

Tell the user to install an ad blocker before continuing viewing your site!
2
star
87

DebianPreseed

automate your installer
Shell
2
star
88

qianliyun-desktop

Alibaba Qianniu automation platform built using accessibility APIs (not working anymore, open-sourced for historical reason)
C#
2
star
89

mentohust

Automatically exported from code.google.com/p/mentohust
C
2
star
90

serial

Go
1
star
91

theMillionaireFastlane4Programmers

Magic code to make you RICH.
Shell
1
star
92

gohugo-theme-wp-twentytwelve

CSS
1
star
93

vpp-buildbot

Experimental nightly CI building FD.io VPP packages for Debian 10.
Shell
1
star
94

badmips

Not working single shot 32-bit MIPS processor.
C
1
star
95

pQuery

Write less, draw more: the fluent interface based Processing drawing library
Processing
1
star
96

interactive-wallpaper-collection

Some abstract wallpapers for Wallpaper Engine, with mouse tracking effects.
HTML
1
star
97

go-bytebuilder

Write any object's internal memory representation into a byte buffer
Go
1
star
98

verilog-basic-blocks

数电作业
Verilog
1
star
99

EuDilemma

Privacy or Cookies dilemma for European Union users.
HTML
1
star
100

sms_send

Python
1
star