Encap.txt: Difference between revisions

From 44Net Wiki
Jump to navigation Jump to search
W6JMK (talk | contribs)
Recommend validating a response from the API.
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
An encap.txt file lists AMPRNet [[gateway| gateways]], in a format like this:
An encap.txt file lists [[Gateway|AMPRNet gateways]], in a format like this:


  <nowiki># This is a comment
  <nowiki># This is a comment
Line 10: Line 10:


To get an encap.txt file that lists all current gateways,
To get an encap.txt file that lists all current gateways,
request all routes from the [[API]] and convert the response from JSON to text.
request all routes from the [[API|Portal API]] and convert the response from JSON to text.
For example (using API version 2):
For example (using [[API]] version 2):


  <nowiki>curl -s -H "Authorization: Bearer $APItoken" -H "Accept: application/json" https://portal.ampr.org/api/v2/encap/routes | jq -r '.encap[] | select(.encapType == "IPIP") | "route addprivate \(.network)/\(.cidr) encap \(.gatewayIP)"'</nowiki>
  <nowiki>curl -s -H "Authorization: Bearer $APItoken" -H "Accept: application/json" https://portal.ampr.org/api/v2/encap/routes | jq -r '.encap[] | select(.encapType == "IPIP") | "route addprivate \(.network)/\(.cidr) encap \(.gatewayIP)"'</nowiki>


A more complete example is in [[encap.txt/get-encap]].
A more complete example is in [[Encap.txt/get-encap]].


If something goes wrong, the result won't be a complete list.
If something goes wrong, the result won't be a complete list.
Line 25: Line 25:
Previously, a complete encap.txt file was available from the portal as a web page.
Previously, a complete encap.txt file was available from the portal as a web page.
This is no longer supported.
This is no longer supported.
[[Category:Reference]]

Latest revision as of 20:26, 12 December 2024

An encap.txt file lists AMPRNet gateways, in a format like this:

# This is a comment
route addprivate 44.10.0.100/32 encap 136.115.52.224
route addprivate 44.100.129.0/24 encap 176.140.10.22

Originally formatted for JNOS systems, it is often parsed with a "munge script" to update Linux system routing tables.

Portal

To get an encap.txt file that lists all current gateways, request all routes from the Portal API and convert the response from JSON to text. For example (using API version 2):

curl -s -H "Authorization: Bearer $APItoken" -H "Accept: application/json" https://portal.ampr.org/api/v2/encap/routes | jq -r '.encap[] | select(.encapType == "IPIP") | "route addprivate \(.network)/\(.cidr) encap \(.gatewayIP)"'

A more complete example is in Encap.txt/get-encap.

If something goes wrong, the result won't be a complete list. Before using it to update routing tables, it's worth checking whether it has the right syntax and it's reasonably long. An empty list or a list that's much shorter than a previous version is probably erroneous.

HTTP

Previously, a complete encap.txt file was available from the portal as a web page. This is no longer supported.