[aprssig] APRS POST HTTP
Heikki Hannikainen
hessu at hes.iki.fi
Thu Mar 12 02:11:26 EDT 2020
If you're experiencing packets rejected by aprsc, you can change aprsc
config to log in DEBUG mode, and it'll then log all the drops and their
reasons quite accurately.
http://he.fi/aprsc/CONFIGURATION.html first section "Command line
parameters and startup".
On Tue, 10 Mar 2020, John Gorkos wrote:
> Yes, it will only show valid packets. You might need something like tcpdump/wireshark to actually look at
> the packets to see where they're misshapen. You might see errors in the server saying it couldn't parse a
> packet it received.
>
> Creating valid APRS packets is hard. It's just the nature of the beast. The airwaves and internet are
> filled with broken, badly formed, misshapen APRS packets. The APRS Protocol Spec is your bible.
>
> On Tue, Mar 10, 2020 at 3:00 PM Rafał Antas <antas.rafal at gmail.com> wrote:
> But this will show only valid packet? I tried that and I couldn’t get anything in log
>
> Wysłane z iPada
>
> Wiadomość napisana przez John Gorkos <jgorkos at gmail.com> w dniu 10.03.2020, o godz. 22:31:
>
>
> If you’re using Linux to test with, you might consider using ‘nc’ to connect to the aprs
> server and watching specifically for your traffic, like this:
>
>
>
> $ nc localhost 14580
>
>
>
> Once you connect, validate with and monitor for all packets from your device:
>
> user SQ4LOL pass 23475
>
> #filter b/SQ4LOL
>
>
>
> Mine looks like this
>
> $ nc localhost 14580
>
> # aprsc 2.1.5-g8af3cdc
>
> user AB0OO pass 19951
>
> # logresp AB0OO verified, server T2POLAND
>
> #filter b/AB0OO-1
>
> # filter b/AB0OO-1 active
>
> # aprsc 2.1.5-g8af3cdc 9 Mar 2020 22:00:08 GMT T2POLAND [2a02:2928:a::19]:14580
>
> AB0OO-1>APRX29,TCPIP*,qAU,T2POLAND:!3724.13NT12206.28W&Temp=23.90,Humidity=34.04,Pressure=1016.65
>
>
>
> Also, after you build aprsc, do a “sudo make install” and it will wind up in /opt/aprsc
>
> Run this:
>
> sudo /opt/aprsc/sbin/aprsc -c /opt/aprsc/etc/aprsc.conf -e DEBUG -u aprsc
>
> and you’ll see the guts of what the server is doing.
>
>
>
> John Gorkos
>
>
>
>
>
> From: Rafał Antas <antas.rafal at gmail.com>
> Date: Tuesday, March 10, 2020 at 5:33 AM
> To: John Gorkos <jgorkos at gmail.com>
> Cc: VZW engr <vzwengr at gmail.com>, <aprssig at lists.tapr.org>
> Subject: Re: [aprssig] APRS POST HTTP
>
>
>
> Hi,
>
>
>
> can you make a instruction about how to check what is beeing send to APRS server from? I have
> setup APRS server and it is fine but I cannot find where I can see what exactly is pushed from my
> code
>
>
>
>
> Pozdrawiam,
>
> Rafał Antas
>
>
>
>
>
> wt., 10 mar 2020 o 01:27 John Gorkos <jgorkos at gmail.com> napisał(a):
>
> It takes about 15 minutes to download, compile, configure, and run aprsc on a
> basically standard Linux installation. If you’d like, I can come up with pretty
> detailed instructions to get a virtual machine up and running (works on all modern
> OSes/hardware) and run a server that you can test to your heart’s content against.
> Having your own test server is generally best, so you can view the logs, and run it
> in foreground mode so you can watch what’s happening.
>
>
>
> de AB0OO,
>
> John Gorkos
>
>
>
>
>
> From: aprssig <aprssig-bounces at lists.tapr.org> on behalf of VZW engr
> <vzwengr at gmail.com>
> Date: Monday, March 9, 2020 at 4:14 PM
> Cc: <aprssig at lists.tapr.org>
> Subject: Re: [aprssig] APRS POST HTTP
>
>
>
> This thread started me to thinking (which is sometimes "dangerous"). :-)
>
>
>
> Is there a test port, test server or a procedure that one can use when testing software?
>
>
>
> I'd like to try some things, but I don't want to become an annoyance.
>
>
>
> Eric
>
> WB6TIX
>
>
>
>
>
> On Mon, Mar 9, 2020, 15:05 Rafał Antas <antas.rafal at gmail.com> wrote:
>
> Hi!
>
>
>
> I have changed port to 8080. I have managed to get what I want using UDP. There is
> ESP Easy limitation in command SendToUDP which is using only IP not DNS name to
> connect to UDP server. My aim is to use rotate.aprs2.net Now I am trying to setup
> everything using HTTP Controller. I have managed to put right HTTP headers and on my
> option correct http body (user SQ4LOL pass 23475 vers EasyESPWX
> 1.0%CR%%LF%SQ4LOL>APRS,TCPIP*:=5244.43N/02333.50E-430.400MHz /A=000538 Pi-Star Rafal
> QTH:Hajnowka 73!%CR%%LF%) but it does not work. Curl command is throwing 400 No
> newline (LF) found in data
>
>
>
> curl -v -d "user SQ4LOL pass 23475 vers EasyESPWX
> 1.0%CR%%LF%SQ4LOL>APRS,TCPIP*:=5244.43N/02333.50E-430.400MHz /A=000538 Pi-Star Rafal
> QTH:Hajnowka 73!%CR%%LF%" poland.aprs2.net:8080 -H "Content-Type:
> application/octet-stream"
> * Rebuilt URL to: 192.168.237.197:8080/
> * Trying 192.168.237.197...
> * TCP_NODELAY set
> * Connected to 192.168.237.197 (192.168.237.197) port 8080 (#0)
> > POST / HTTP/1.1
> > Host: 192.168.237.197:8080
> > User-Agent: curl/7.55.1
> > Accept: */*
> > Content-Type: application/octet-stream
> > Content-Length: 147
> >
> * upload completely sent off: 147 out of 147 bytes
> < HTTP/1.1 400 No newline (LF) found in data
> < Content-Type: text/html
> < Connection: close
> < Date: Mon, 09 Mar 2020 22:00:53 GMT
> < Content-Length: 130
> <
>
>
>
>
>
>
>
>
>
>
> Pozdrawiam,
>
> Rafał Antas
>
>
>
>
>
> pon., 9 mar 2020 o 22:33 Heikki Hannikainen <hessu at hes.iki.fi> napisał(a):
>
>
> Rafał,
>
> The basic problem with your 'curl' approach is that you are using a HTTP
> client (curl) to talk to an APRS-IS server, on port 14580. Port 14580
> does
> not talk the HTTP protocol, and it never has, even on javaprssrvr.
>
> When you run that curl command, it'll send a number of HTTP request
> headers, and only then it sends the 'user' command line as the POST body.
> javaprssrvr 3.x apparently ignores all those invalid commands and then
> accepts the 'user' login command. aprsc throws the client out a bit
> faster
> after a few invalid commands (repeatedly failed login).
>
> Try 'nc' (netcat) instead of 'curl' to make a plain TCP connection
> instead
> of HTTP over TCP.
>
> John Gorkos suggested that javaprssrvr might do a websocket connection,
> but no, that's a recent javaprssrvr 4.x feature, the server in question
> was an old 3.15 version, and the websocket thing still won't run on port
> 14580 on the 4.x versions (websocket happens over HTTP, not over the
> APRS-IS port). And no, aprsc doesn't do the websocket thing.
>
> Both aprsc and javaprssrvr do support a HTTP post of a packet on port
> 8080, as documented here: http://www.aprs-is.net/SendOnlyPorts.aspx - the
> curl command should probably work there if a packet was also appended
> after the "user" login command (with a CRLF in between). Not all servers
> are configured with port 8080 support, but all servers on the
> rotate.aprs2.net DNS rotate service should have it.
>
>
> On Thu, 5 Mar 2020, Rafał Antas wrote:
>
> >
> > Hi Guys,
> >
> >
> > I am writing to you since you might help with my small problem. My
> friend (SQ2CET) and I (SQ4LOL) developed
> > small WX station using ESP8266 powered by ESPEASY software. Everything
> was fine WX date was pushed to APRS.fi
> > without any problems till yesterday. Poland APRS server
> (Poland.aprs2.net) was migrated from java
> > to aprsc and I think this is causing this problem for us. We are using
> POST http method to push data to APRS.
> > I am trying to compare Poland APRS server, running on aprsc to Czech
> running java. Everything is ok when we
> > are sending data to Czech server, but Poland server is not. I tried to
> compare it using curl command.
> >
> > Poland:
> >
> > curl --verbose --data "user SQ4LOL pass 12345" poland.aprs2.net:14580
> >
> > * Rebuilt URL to: poland.aprs2.net:14580/
> >
> > * Trying 46.21.223.230...
> >
> > * TCP_NODELAY set
> >
> > * Connected to poland.aprs2.net (46.21.223.230) port 14580 (#0)
> >
> > > POST / HTTP/1.1
> >
> > > Host: poland.aprs2.net:14580
> >
> > > User-Agent: curl/7.55.1
> >
> > > Accept: */*
> >
> > > Content-Length: 22
> >
> > > Content-Type: application/x-www-form-urlencoded
> >
> > >
> >
> > * upload completely sent off: 22 out of 22 bytes
> >
> > # aprsc 2.1.5-g8af3cdc
> >
> > # Invalid login command
> >
> > # Invalid login command
> >
> > * Connection #0 to host poland.aprs2.net left intact
> >
> >
> >
> > Czech:
> >
> >
> >
> > curl --verbose --data "user SQ4LOL pass 12345" czech.aprs2.net:14580
> >
> > * Rebuilt URL to: czech.aprs2.net:14580/
> >
> > * Trying 89.235.48.27...
> >
> > * TCP_NODELAY set
> >
> > * Connected to czech.aprs2.net (89.235.48.27) port 14580 (#0)
> >
> > > POST / HTTP/1.1
> >
> > > Host: czech.aprs2.net:14580
> >
> > > User-Agent: curl/7.55.1
> >
> > > Accept: */*
> >
> > > Content-Length: 22
> >
> > > Content-Type: application/x-www-form-urlencoded
> >
> > >
> >
> > * upload completely sent off: 22 out of 22 bytes
> >
> > # javAPRSSrvr 3.15b08
> >
> >
> >
> > Do you have any idea how we can solve this small problem?
> >
> > Pozdrawiam,
> > Rafał Antas
> >
> >
>
> - Hessu_______________________________________________
> aprssig mailing list
> aprssig at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
>
> _______________________________________________
> aprssig mailing list
> aprssig at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
>
> _______________________________________________ aprssig mailing list aprssig at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
>
> _______________________________________________
> aprssig mailing list
> aprssig at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
>
>
>
- Hessu
More information about the aprssig
mailing list