From 36671e8514e016a2b4ea84823c38c06b68d97145 Mon Sep 17 00:00:00 2001 From: g8bpq Date: Tue, 14 Jul 2026 11:02:15 +0100 Subject: [PATCH] 6.0.25.32 --- AGWAPI.c | 23 +- APRSCode.c | 22 + BBSUtilities.c | 19 +- BPQINP3.c | 701 +++++- BPQMail.c | 2 + BPQTermMDI.c | 1 + Bpq32.c | 10 +- Cmd.c | 94 +- Debug/BuildLog.htm | Bin 0 -> 9552 bytes Debug/NodeMapTest.exe.embed.manifest | 8 + Debug/NodeMapTest.exe.embed.manifest.res | Bin 0 -> 468 bytes Debug/NodeMapTest.exe.intermediate.manifest | 8 + Debug/NodeMapTest.obj | Bin 0 -> 105125 bytes Debug/mt.dep | 1 + Debug/vc80.idb | Bin 0 -> 142336 bytes Debug/vc80.pdb | Bin 0 -> 69632 bytes Events.c | 4 +- HTTPcode.c | 8 +- HanksRT.c | 58 +- L2Code.c | 10 + L3Code.c | 21 + L4Code.c | 50 + MailTCP.c | 1 + NETROMTCP.c | 4 +- NNTPRoutines.c | 1 + NodeMapTest.c | 6 +- PG/Keps.exe | Bin 0 -> 49152 bytes PG/Keps/Debug/BuildLog.htm | Bin 0 -> 16238 bytes PG/Keps/Debug/Keps.exe | Bin 0 -> 49152 bytes PG/Keps/Debug/Keps.exe.embed.manifest | 8 + PG/Keps/Debug/Keps.exe.embed.manifest.res | Bin 0 -> 468 bytes PG/Keps/Debug/Keps.exe.intermediate.manifest | 8 + PG/Keps/Debug/Keps.ilk | Bin 0 -> 352220 bytes PG/Keps/Debug/Keps.pdb | Bin 0 -> 330752 bytes PG/Keps/Debug/keps.obj | Bin 0 -> 33099 bytes PG/Keps/Debug/mt.dep | 1 + PG/Keps/Debug/vc80.idb | Bin 0 -> 52224 bytes PG/Keps/Debug/vc80.pdb | Bin 0 -> 61440 bytes PG/Keps/Keps.cpp | 11 + PG/Keps/Keps.ncb | Bin 0 -> 396288 bytes PG/Keps/Keps.sln | 20 + PG/Keps/Keps.suo | Bin 0 -> 9728 bytes PG/Keps/Keps.vcproj | 212 ++ PG/Keps/ReadMe.txt | 33 + PG/keps.c | 493 ++++ PG/keps.txt | 2284 ++++++++++++++++++ Versions.h | 6 +- asmstrucs.h | 47 +- bpqchat.c | 6 +- bpqmail.h | 1 - cMain.c | 3 +- config.c | 2 + mailapi.c | 4 + 53 files changed, 4029 insertions(+), 162 deletions(-) create mode 100644 Debug/BuildLog.htm create mode 100644 Debug/NodeMapTest.exe.embed.manifest create mode 100644 Debug/NodeMapTest.exe.embed.manifest.res create mode 100644 Debug/NodeMapTest.exe.intermediate.manifest create mode 100644 Debug/NodeMapTest.obj create mode 100644 Debug/mt.dep create mode 100644 Debug/vc80.idb create mode 100644 Debug/vc80.pdb create mode 100644 PG/Keps.exe create mode 100644 PG/Keps/Debug/BuildLog.htm create mode 100644 PG/Keps/Debug/Keps.exe create mode 100644 PG/Keps/Debug/Keps.exe.embed.manifest create mode 100644 PG/Keps/Debug/Keps.exe.embed.manifest.res create mode 100644 PG/Keps/Debug/Keps.exe.intermediate.manifest create mode 100644 PG/Keps/Debug/Keps.ilk create mode 100644 PG/Keps/Debug/Keps.pdb create mode 100644 PG/Keps/Debug/keps.obj create mode 100644 PG/Keps/Debug/mt.dep create mode 100644 PG/Keps/Debug/vc80.idb create mode 100644 PG/Keps/Debug/vc80.pdb create mode 100644 PG/Keps/Keps.cpp create mode 100644 PG/Keps/Keps.ncb create mode 100644 PG/Keps/Keps.sln create mode 100644 PG/Keps/Keps.suo create mode 100644 PG/Keps/Keps.vcproj create mode 100644 PG/Keps/ReadMe.txt create mode 100644 PG/keps.c create mode 100644 PG/keps.txt diff --git a/AGWAPI.c b/AGWAPI.c index 5dc2f9c..96eb3b8 100644 --- a/AGWAPI.c +++ b/AGWAPI.c @@ -550,16 +550,20 @@ int AGWConnected(struct BPQConnectionInfo * Con, int Stream) if (ApplCall[i]==32) ApplCall[i]=0; -// See if incomming connection +// See if incoming connection if (Con->Listening) { // Allocate Session and send "c" Message // // Find an AGW session + + Debugprintf("Incoming AGW Call for ApplCall %s", ApplCall); for (sockptr=&Sockets[1]; sockptr <= &Sockets[CurrentSockets]; sockptr++) { + Debugprintf("Trying Socket %d, Calls %s %s", i, sockptr->CallSign1, sockptr->CallSign2); + if (sockptr->SocketActive && (memcmp(sockptr->CallSign1, ApplCall, 10) == 0) || (memcmp(sockptr->CallSign2, ApplCall, 10) == 0)) { @@ -572,6 +576,7 @@ int AGWConnected(struct BPQConnectionInfo * Con, int Stream) int maxframe; int l4window; + Debugprintf("Connection Found, Checking for duplicate calls"); keyptr=(byte *)&Con->CallKey; @@ -594,13 +599,13 @@ int AGWConnected(struct BPQConnectionInfo * Con, int Stream) for (i = 0; i < CurrentConnections; i++) { - if (Con->BPQStream == Stream) + if (AGWConnections[i].BPQStream == Stream) continue; // Dont Check ourself! if (AGWConnections[i].SocketIndex == sockptr && memcmp(&Con->CallKey, &AGWConnections[i].CallKey,21) == 0) { - SendMsg(Stream, "AGWtoBPQ - Callsign is already connected\r", 43); + SendMsg(Stream, "AGWAPI - Callsign is already connected\r", 43); Sleep (500); Disconnect(Stream); Con->CallKey[0]=0; @@ -1393,12 +1398,12 @@ int ProcessAGWCommand(struct AGWSocketConnectionInfo * sockptr) if (sockptr->AGWRXHeader.DataKind == 'V') // Unproto with VIA string { Digis = sockptr->MsgData[0]; // Number of digis - - if (Digis > 7) - { - AGWDataSocket_Disconnect(sockptr); - return 0; - } + + if (Digis > 7) + { + AGWDataSocket_Disconnect(sockptr); + return 0; + } for (j = 1; j<= Digis; j++) { diff --git a/APRSCode.c b/APRSCode.c index e8f6257..1ea6e79 100644 --- a/APRSCode.c +++ b/APRSCode.c @@ -103,6 +103,7 @@ void GetSavedAPRSMessages(); static VOID GPSDConnect(void * unused); int CanPortDigi(int Port); int FromLOC(char * Locator, double * pLat, double * pLon); +BOOL CheckExcludeList(UCHAR * Call); extern int SemHeldByAPI; extern int APRSMONDECODE(); @@ -1108,6 +1109,14 @@ Dll VOID APIENTRY Poll_APRS() monchars = (UCHAR *)monbuff; AdjBuff = Orig = (MESSAGE *)monchars; // Adjusted for digis + // Check Exclude List + + if (CheckExcludeList(Orig->ORIGIN) == 0) + { + ReleaseBuffer(monbuff); + continue; + } + Port = Orig->PORT; if (Port & 0x80) // TX @@ -3304,6 +3313,19 @@ VOID ProcessAPRSISMsg(char * APRSMsg) return; *(Dest++) = 0; // Termainate Source + + if (ExcludeList[0]) + { + // Check if excluded. Need to convert to ax.25 + + UCHAR AXCall[7]; + + ConvToAX25(Source, AXCall); + + if (CheckExcludeList == 0) + return; + } + ptr = strchr(Dest, ','); if (ptr) diff --git a/BBSUtilities.c b/BBSUtilities.c index f56e24f..e872cb9 100644 --- a/BBSUtilities.c +++ b/BBSUtilities.c @@ -452,7 +452,7 @@ void WriteLogLine(CIRCUIT * conn, int Flag, char * Msg, int MsgLen, int Flags) // Don't close/reopen logs every time -// if ((LT - LastLogTime[Flags]) > 60) + if ((LT - LastLogTime[Flags]) > 30) { LastLogTime[Flags] = LT; fclose(LogHandle[Flags]); @@ -501,6 +501,7 @@ VOID __cdecl Debugprintf(const char * format, ...) va_start(arglist, format); Len = vsprintf(Mess, format, arglist); + va_end(arglist); #ifndef LINBPQ WriteLogLine(NULL, '!',Mess, Len, LOG_DEBUG_X); #endif @@ -519,6 +520,7 @@ VOID __cdecl Logprintf(int LogMode, CIRCUIT * conn, int InOut, const char * form va_start(arglist, format); Len = vsprintf(Mess, format, arglist); + va_end(arglist); WriteLogLine(conn, InOut, Mess, Len, LogMode); return; @@ -2444,6 +2446,7 @@ VOID __cdecl nodeprintf(ConnectionInfo * conn, const char * format, ...) va_start(arglist, format); len = vsprintf(Mess, format, arglist); + va_end(arglist); QueueMsg(conn, Mess, len); @@ -2463,6 +2466,7 @@ VOID __cdecl nodeprintfEx(ConnectionInfo * conn, const char * format, ...) va_start(arglist, format); len = vsprintf(Mess, format, arglist); + va_end(arglist); QueueMsg(conn, Mess, len); @@ -10897,6 +10901,8 @@ int Connected(int Stream) user->flags |= F_Temp_B2_BBS; conn->NewUser = TRUE; + + user->lastmsg = LatestMsg - 20; // Limit L command for new users } user->TimeLastConnected = time(NULL); @@ -12068,6 +12074,8 @@ void run_pg(CIRCUIT * conn, struct UserInfo * user) iop = NULL; + printf("Len %d %x %x %x\n", conn->InputLen, conn->InputBuffer[0], conn->InputBuffer[1], conn->InputBuffer[2]); + conn->InputBuffer[conn->InputLen] = 0; strlop(conn->InputBuffer, 13); @@ -12077,7 +12085,7 @@ void run_pg(CIRCUIT * conn, struct UserInfo * user) { if (isalnum(conn->InputBuffer[i]) == 0 && conn->InputBuffer[i] != ' ') { - BBSputs(conn, "PG commnand string invalid\r"); + BBSputs(conn, "PG command string invalid\r"); conn->InputMode=0; SendPrompt(conn, user); return; @@ -12092,7 +12100,7 @@ void run_pg(CIRCUIT * conn, struct UserInfo * user) user->Temp->RUNPGPARAMS->user = user; user->Temp->RUNPGPARAMS->conn = conn; strncpy(user->Temp->RUNPGPARAMS->InputBuffer, conn->InputBuffer, 80); // needs to be length of actual input! - user->Temp->RUNPGPARAMS->Len = conn->InputLen; + user->Temp->RUNPGPARAMS->Len = strlen(conn->InputBuffer); if (conn == 0 || user == 0) { @@ -12345,7 +12353,7 @@ void run_pg( CIRCUIT * conn, struct UserInfo * user ) user->Temp->RUNPGPARAMS->user = user; user->Temp->RUNPGPARAMS->conn = conn; strncpy(user->Temp->RUNPGPARAMS->InputBuffer, conn->InputBuffer, 80); // needs to be length of actual input! - user->Temp->RUNPGPARAMS->Len = conn->InputLen; + user->Temp->RUNPGPARAMS->Len = strlen(conn->InputBuffer); index = user->Temp->PG_INDEX; conn->InputBuffer[conn->InputLen] = 0; @@ -12357,7 +12365,7 @@ void run_pg( CIRCUIT * conn, struct UserInfo * user ) { if (isalnum(conn->InputBuffer[i]) == 0 && conn->InputBuffer[i] != ' ') { - BBSputs(conn, "PG commnand string invalid\r"); + BBSputs(conn, "PG command string invalid\r"); conn->InputMode=0; SendPrompt(conn, user); return; @@ -13410,6 +13418,7 @@ VOID __cdecl nprintf(CIRCUIT * conn, const char * format, ...) va_start(arglist, format); vsprintf(buff, format, arglist); + va_end(arglist); BBSputs(conn, buff); } diff --git a/BPQINP3.c b/BPQINP3.c index a01767b..ccb100d 100644 --- a/BPQINP3.c +++ b/BPQINP3.c @@ -43,7 +43,7 @@ int NegativeDelay = 10; // Seconds between checks for negative info - should int PositiveDelay = 300; time_t SENDRIFTIME = 0; -int RIFInterval = 60; +int RIFInterval = 3600; VOID SendNegativeInfo(); VOID SortRoutes(struct DEST_LIST * Dest); @@ -97,10 +97,10 @@ VOID __cdecl Debugprintf(const char * format, ...); VOID SendINP3RIF(struct ROUTE * Route, UCHAR * Call, UCHAR * Alias, int Hops, int RTT); VOID SendOurRIF(struct ROUTE * Route); -VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, UCHAR * alias, int hops, int rtt); -VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR, int hops, int rtt); +VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, int hops, int rtt, time_t Now, unsigned char * Options); +VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR, int hops, int rtt, time_t Now); VOID KillRoute(struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR); -VOID AddHere(struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR,struct ROUTE * Route , int hops, int rtt); +VOID AddHere(struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR,struct ROUTE * Route , int hops, int rtt, time_t Now); VOID SendRIFToNewNeighbour(struct ROUTE * Route); VOID DecayNETROMRoutes(struct ROUTE * Route); VOID DeleteINP3Routes(struct ROUTE * Route); @@ -112,7 +112,7 @@ struct _RTTMSG RTTMsg = {""}; //struct ROUTE DummyRoute = {"","",""}; -int RIPTimerCount = 0; // 1 sec to 10 sec counter +int RIPTimerCount = 10; // 1 sec to 10 sec counter int PosTimerCount = 0; int NegTimerCount = 0; @@ -127,6 +127,13 @@ int RTTTimeout = 6; // 1 Min (Horizon is 1 min) uint32_t RTTID = 1; +// BPQ32001 - Original. Sends RIF in mS and adds link rtt before sending +// BPQ32002 - Sends RIF in 10mS and adds link rtt before sending +// BPQ32003 - Original. RIF in 10mS and doesn't add link rtt before sending (XR compatiblity) +// BPQ32004 - Original. RIF in 10mS ,doesn't add link rtt before sending and sends full routing table every hour + + + VOID InitialiseRTT() { UCHAR temp[256] = ""; @@ -136,7 +143,7 @@ VOID InitialiseRTT() memset(&RTTMsg, ' ', sizeof(struct _RTTMSG)); memcpy(RTTMsg.ID, "L3RTT: ", 7); memcpy(RTTMsg.VERSION, "LEVEL3_V2.1 ", 12); - memcpy(RTTMsg.SWVERSION, "BPQ32003 ", 9); // Follows XR by not adding route time before sending RIF + memcpy(RTTMsg.SWVERSION, "BPQ32004 ", 9); // Follows XR by not adding route time before sending RIF, send Hourly RIF refresh and time out routes _snprintf(temp, sizeof(temp), "$M%d $N $H%d ", MAXRTT, MaxHops); // trailing spaces extend to ensure padding if the length of characters for MAXRTT changes. memcpy(RTTMsg.FLAGS, temp, 20); // But still limit the actual characters copied. memcpy(RTTMsg.ALIAS, &MYALIASTEXT, 6); @@ -381,7 +388,7 @@ VOID ProcessRTTReply(struct ROUTE * Route, struct _L3MESSAGEBUFFER * Buff) if (Route->RTTIncrement == 0) Route->RTTIncrement = 1; - if (Route->OldBPQ) + if (Route->senderaddsRTT) Route->TXRTTIncrement = Route->RTTIncrement; else Route->TXRTTIncrement = 0; @@ -411,16 +418,21 @@ VOID ProcessRTTReply(struct ROUTE * Route, struct _L3MESSAGEBUFFER * Buff) } } +UCHAR * SkipOptions(UCHAR * ptr1, int msglen); +void DecodeRIFOptions(struct DEST_LIST * Dest, UCHAR * Options); + VOID ProcessINP3RIF(struct ROUTE * Route, UCHAR * ptr1, int msglen, int Port) { unsigned char axcall[7]; int hops; unsigned short rtt; - int len; - int opcode; char alias[6]; UINT Stamp, HH, MM; char Normcall[10]; + time_t Now = time(NULL); + unsigned char * Options; + int i; + UCHAR * oldptr1; if (Route == 0 || Route->NEIGHBOUR_LINK == 0 || Route->NEIGHBOUR_LINK->LINKCALL == 0) return; @@ -443,7 +455,7 @@ VOID ProcessINP3RIF(struct ROUTE * Route, UCHAR * ptr1, int msglen, int Port) // Update Timestamp on Route - Stamp = time(NULL) % 86400; // Secs into day + Stamp = Now % 86400; // Secs into day HH = Stamp / 3600; Stamp -= HH * 3600; @@ -462,9 +474,12 @@ VOID ProcessINP3RIF(struct ROUTE * Route, UCHAR * ptr1, int msglen, int Port) memset(alias, ' ', 6); memcpy(axcall, ptr1, 7); - if (axcall[0] < 0x60 || (axcall[0] & 1)) // Not valid ax25 callsign + for (i = 0; i < 6; i++) + { + if (axcall[i] < 0x40 || (axcall[i] & 1)) // Not valid ax25 callsign return; // Corrupt RIF - + } + ptr1+=7; hops = *ptr1++; @@ -475,40 +490,30 @@ VOID ProcessINP3RIF(struct ROUTE * Route, UCHAR * ptr1, int msglen, int Port) // if other end is old bpq then value is mS otherwise 10 mS unita - if (Route->OldBPQ == 1) + if (Route->mSRIF == 1) rtt /= 10; - if (Route->OldBPQ == 0) - rtt += Route->RTTIncrement; // Don't do this if OldBPQ set - other end has added it + if (Route->senderaddsRTT == 0) + rtt += Route->RTTIncrement; msglen -= 10; - while (*ptr1 && msglen > 0) - { - len = *ptr1; - opcode = *(ptr1+1); + Options = ptr1; - if (len < 2 || len > msglen) - return; // Duff RIF + oldptr1 = ptr1; + + ptr1 = SkipOptions(ptr1, msglen); // We now extact options here and decode them once we have a Node record - if (opcode == 0) - { - if (len > 1 && len < 9) - memcpy(alias, ptr1+2, len-2); - else - { - if (DEBUGINP3) Debugprintf("Corrupt INP3 Message"); - return; - } - } - ptr1+=len; - msglen -=len; - } + if (ptr1 == 0) + return; // Corrupt RIF + + msglen -= (ptr1 - oldptr1); // options len ptr1++; msglen--; // EOP - UpdateNode(Route, axcall, alias, hops, rtt); + UpdateNode(Route, axcall, hops, rtt, Now, Options); + } return; @@ -519,7 +524,7 @@ VOID KillRoute(struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR) } -VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, UCHAR * alias, int hops, int rtt) +VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, int hops, int rtt, time_t Now, unsigned char * Options) { struct DEST_LIST * Dest; struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR; @@ -527,6 +532,9 @@ VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, UCHAR * alias, int hops, char call[11]=""; APPLCALLS * APPL; int App; + XROptions noOptions; + int n = sizeof(noOptions); + // SEE IF any of OUR CALLs - DONT WANT TO PUT IT IN LIST! @@ -616,6 +624,7 @@ VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, UCHAR * alias, int hops, return; } + memset(&noOptions, 0, sizeof(noOptions)); if (FindDestination(axcall, &Dest)) goto Found; @@ -631,12 +640,12 @@ VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, UCHAR * alias, int hops, memset(Dest, 0, sizeof(struct DEST_LIST)); memcpy(Dest->DEST_CALL, axcall, 7); - memcpy(Dest->DEST_ALIAS, alias, 6); // Set up First Route Dest->INP3ROUTE[0].Hops = hops; Dest->INP3ROUTE[0].STT = rtt; + Dest->INP3ROUTE[0].LastRefreshed = Now; Dest->INP3FLAGS = NewNode; @@ -647,6 +656,15 @@ VOID UpdateNode(struct ROUTE * Route, UCHAR * axcall, UCHAR * alias, int hops, ConvFromAX25(Dest->DEST_CALL, call); if (DEBUGINP3) Debugprintf("INP3 Adding New Node %s Hops %d RTT %d", call, hops, rtt); + DecodeRIFOptions(Dest, Options); + +// if (memcmp(Options, &noOptions, sizeof(noOptions)) != 0) +// { +// Dest->XROptions = malloc(sizeof(noOptions)); +// memcpy(Dest->XROptions, Options, sizeof(noOptions)); +// Options->LOC = Options->QTH = Options->Ver = 0; // So not freed later +// } + return; Found: @@ -662,8 +680,7 @@ Found: ConvFromAX25(Dest->DEST_CALL, call); if (DEBUGINP3) Debugprintf("INP3 Updating Node %s Hops %d TT %d", call, hops, rtt); - if (alias[0] > ' ') - memcpy(Dest->DEST_ALIAS, alias, 6); + DecodeRIFOptions(Dest, Options); // See if we are known to it, it not add @@ -672,7 +689,7 @@ Found: if (ROUTEPTR->ROUT_NEIGHBOUR == Route) { if (DEBUGINP3) Debugprintf("INP3 Already have as route[0] - TT was %d updating to %d", ROUTEPTR->STT, rtt); - UpdateRoute(Dest, ROUTEPTR, hops, rtt); + UpdateRoute(Dest, ROUTEPTR, hops, rtt, Now); return; } @@ -681,7 +698,7 @@ Found: if (ROUTEPTR->ROUT_NEIGHBOUR == Route) { if (DEBUGINP3) Debugprintf("INP3 Already have as route[1] - TT was %d updating to %d", ROUTEPTR->STT, rtt); - UpdateRoute(Dest, ROUTEPTR, hops, rtt); + UpdateRoute(Dest, ROUTEPTR, hops, rtt, Now); return; } @@ -690,7 +707,7 @@ Found: if (ROUTEPTR->ROUT_NEIGHBOUR == Route) { if (DEBUGINP3) Debugprintf("INP3 Already have as route[2] - TT was %d updating to %d", ROUTEPTR->STT, rtt); - UpdateRoute(Dest, ROUTEPTR, hops, rtt); + UpdateRoute(Dest, ROUTEPTR, hops, rtt, Now); return; } @@ -706,7 +723,7 @@ Found: // Add here if (DEBUGINP3) Debugprintf("INP3 adding as route[%d]", i); - AddHere(ROUTEPTR, Route, hops, rtt); + AddHere(ROUTEPTR, Route, hops, rtt, Now); if (i == 0) Dest->LastTT = 0; SortRoutes(Dest); @@ -728,7 +745,7 @@ Found: memcpy(&Dest->INP3ROUTE[2], &Dest->INP3ROUTE[1], sizeof(struct INP3_DEST_ROUTE_ENTRY)); memcpy(&Dest->INP3ROUTE[1], &Dest->INP3ROUTE[0], sizeof(struct INP3_DEST_ROUTE_ENTRY)); - AddHere(&Dest->INP3ROUTE[0], Route, hops, rtt); + AddHere(&Dest->INP3ROUTE[0], Route, hops, rtt, Now); return; } @@ -738,7 +755,7 @@ Found: if (DEBUGINP3) Debugprintf("INP3 Replacing route 1"); memcpy(&Dest->INP3ROUTE[2], &Dest->INP3ROUTE[1], sizeof(struct INP3_DEST_ROUTE_ENTRY)); - AddHere(&Dest->INP3ROUTE[1], Route, hops, rtt); + AddHere(&Dest->INP3ROUTE[1], Route, hops, rtt, Now); return; } @@ -747,7 +764,7 @@ Found: // We are better. Add here if (DEBUGINP3) Debugprintf("INP3 Replacing route 2"); - AddHere(&Dest->INP3ROUTE[2], Route, hops, rtt); + AddHere(&Dest->INP3ROUTE[2], Route, hops, rtt, Now); return; } @@ -759,12 +776,12 @@ Found: } -VOID AddHere(struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR,struct ROUTE * Route , int hops, int rtt) +VOID AddHere(struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR,struct ROUTE * Route , int hops, int rtt, time_t Now) { ROUTEPTR->Hops = hops; ROUTEPTR->STT = rtt; ROUTEPTR->ROUT_NEIGHBOUR = Route; - + ROUTEPTR->LastRefreshed = Now; return; } @@ -914,7 +931,7 @@ VOID UpdateTTforRoute(struct ROUTE * Route, int TTChange) -VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR, int hops, int rtt) +VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPTR, int hops, int rtt, time_t Now) { if (ROUTEPTR->Hops == 0) { @@ -922,6 +939,7 @@ VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPT ROUTEPTR->Hops = hops; ROUTEPTR->STT = rtt; + ROUTEPTR->LastRefreshed = Now; SortRoutes(Dest); return; @@ -931,6 +949,7 @@ VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPT { ROUTEPTR->STT = rtt; ROUTEPTR->Hops = hops; + ROUTEPTR->LastRefreshed = Now; SortRoutes(Dest); return; @@ -939,6 +958,7 @@ VOID UpdateRoute(struct DEST_LIST * Dest, struct INP3_DEST_ROUTE_ENTRY * ROUTEPT ROUTEPTR->STT = rtt; ROUTEPTR->Hops = hops; + ROUTEPTR->LastRefreshed = Now; SortRoutes(Dest); return; @@ -996,14 +1016,49 @@ VOID ProcessRTTMsg(struct ROUTE * Route, struct _L3MESSAGEBUFFER * Buff, int Len { // Extract other end's SRTT - // Get SWVERSION to see if other end is old (Buggy) BPQ + // Get SWVERSION to see if other end is old (Buggy) BPQ (000) or not updating RIF before sending (001) - if (memcmp(RTTMsg->SWVERSION, "BPQ32001 ", 9) == 0) - Route->OldBPQ = 1; - else if (memcmp(RTTMsg->SWVERSION, "BPQ32002 ", 9) == 0) - Route->OldBPQ = 2; // XR mode + int inpVer = 0; // Not BPQ + + if (memcmp(RTTMsg->SWVERSION, "BPQ32", 5) == 0) + { + inpVer = atoi(&RTTMsg->SWVERSION[5]); + + if (inpVer == 1) + { + Route->mSRIF = 1; // Set if other end is BPQ sending RIF in mS (Ver < 2) + Route->senderaddsRTT = 1; // Set if link RTT added before sending (Ver = 1) + Route->timeoutRoutes = 0; // Set if other end always sends timed RIF updates (Hourly) + } + else if (inpVer == 2) + { + Route->mSRIF = 0; // Set if other end is BPQ sending RIF in mS (Ver < 2) + Route->senderaddsRTT = 1; // Set if link RTT added before sending (Ver = 1) + Route->timeoutRoutes = 0; // Set if other end always sends timed RIF updates (Hourly) + } + else if (inpVer == 3) + { + Route->mSRIF = 0; // Set if other end is BPQ sending RIF in mS (Ver < 2) + Route->senderaddsRTT = 0; // Set if link RTT added before sending (Ver = 1) + Route->timeoutRoutes = 0; // Set if other end always sends timed RIF updates (Hourly) + } + else if (inpVer >= 4) + { + Route->mSRIF = 0; // Set if other end is BPQ sending RIF in mS (Ver < 2) + Route->senderaddsRTT = 0; // Set if link RTT added before sending (Ver = 1) + Route->timeoutRoutes = 1; // Set if other end always sends timed RIF updates (Hourly) + } + } else - Route->OldBPQ = 0; + { + // XR or others + + Route->mSRIF = 0; // Set if other end is BPQ sending RIF in mS (Ver < 2) + Route->senderaddsRTT = 0; // Set if link RTT added before sending (Ver = 1) + Route->timeoutRoutes = 1; // Set if other end always sends timed RIF updates (Hourly) + + Debugprintf(RTTMsg->SWVERSION); + } sscanf(&Buff->L4DATA[6], "%u %u", &Dummy, &OtherRTT); @@ -1092,6 +1147,13 @@ VOID SendRTTMsg(struct ROUTE * Route) sprintf(temp, "$M%d $N $H%d ", MAXRTT, MaxHops); // trailing spaces extend to ensure padding if the length of characters for MAXRTT changes. memcpy(RTTMsg.FLAGS, temp, 20); // But still limit the actual characters copied. + // Normally we use Version BPQ32004 but if not using the new standard rif timer refresh (Hourly) switch to BPQ32003 which disables node timeout at other end + + if (RIFInterval == 3600) + memcpy(RTTMsg.SWVERSION, "BPQ32004 ", 9); + else + memcpy(RTTMsg.SWVERSION, "BPQ32003 ", 9); + memcpy(Msg->L4DATA, &RTTMsg, 236); Msg->LENGTH = 256 + 1 + MSGHDDRLEN; @@ -1134,7 +1196,7 @@ VOID SendKeepAlive(struct ROUTE * Route) SendNetFrame(Route, Msg); } -int BuildRIF(UCHAR * RIF, UCHAR * Call, UCHAR * Alias, int Hops, int RTT, char * Dest) +int BuildRIF(UCHAR * RIF, UCHAR * Call, UCHAR * Alias, int Hops, int RTT, char * Dest, XROptions * Options) { int AliasLen; int RIFLen; @@ -1151,6 +1213,18 @@ int BuildRIF(UCHAR * RIF, UCHAR * Call, UCHAR * Alias, int Hops, int RTT, char * RIF[8] = RTT >> 8; RIF[9] = RTT & 0xff; + if (Options && Options->Optionslist) + { + // Will include alias + + int optlen = Options->Optionslist[0]; // includes terminalting null + memcpy(&RIF[10], &Options->Optionslist[1], optlen); + RIFLen = 10 + optlen; + + if (DEBUGINP3) Debugprintf("INP3 sending RIF Entry %s:%s %d %d to %s", AliasCopy, Normcall, Hops, RTT, Dest); + return RIFLen; + } + if (Alias) { // Need to null-terminate Alias @@ -1166,18 +1240,17 @@ int BuildRIF(UCHAR * RIF, UCHAR * Call, UCHAR * Alias, int Hops, int RTT, char * RIF[10] = AliasLen+2; RIF[11] = 0; memcpy(&RIF[12], Alias, AliasLen); - RIF[12+AliasLen] = 0; + RIF[12+AliasLen] = 0; RIFLen = 13 + AliasLen; - if (DEBUGINP3) Debugprintf("INP3 sending RIF Entry %s:%s %d %d to %s", AliasCopy, Normcall, Hops, RTT, Dest); - return RIFLen; - } - RIF[10] = 0; + if (DEBUGINP3) Debugprintf("INP3 sending RIF Entry %s %d %d to %s", Normcall, Hops, RTT, Dest); - if (DEBUGINP3) Debugprintf("INP3 sending RIF Entry %s %d %d to %s", Normcall, Hops, RTT, Dest); + return RIFLen; + } - return (11); + RIF[10] = 0; + return 11; } @@ -1198,7 +1271,7 @@ VOID SendOurRIF(struct ROUTE * Route) if (DEBUGINP3) Debugprintf("INP3 Sending Our Call and Applcalls to %s ", Normcall); - if (Route->OldBPQ == 1) // old bpq bug - send mS not 10 mS units + if (Route->mSRIF == 1) // old bpq bug - send mS not 10 mS units sendTT *= 10; Msg = GetBuff(); @@ -1209,7 +1282,7 @@ VOID SendOurRIF(struct ROUTE * Route) // send a RIF for our Node and all our APPLCalls - RIFLen = BuildRIF(&Msg->L3SRCE[totLen], MYCALL, MYALIASTEXT, 1, sendTT, Normcall); + RIFLen = BuildRIF(&Msg->L3SRCE[totLen], MYCALL, MYALIASTEXT, 1, sendTT, Normcall, 0); totLen += RIFLen; for (App = 0; App < NumberofAppls; App++) @@ -1218,7 +1291,7 @@ VOID SendOurRIF(struct ROUTE * Route) if (APPL->APPLQUAL > 0) { - RIFLen = BuildRIF(&Msg->L3SRCE[totLen], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, sendTT, Normcall); + RIFLen = BuildRIF(&Msg->L3SRCE[totLen], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, sendTT, Normcall, 0); totLen += RIFLen; } } @@ -1447,7 +1520,7 @@ VOID SendRIF(struct ROUTE * Route, struct _L3MESSAGEBUFFER * Msg) SendNetFrame(Route, Msg); } -VOID SendRIFToOtherNeighbours(struct DEST_LIST * Dest, UCHAR * alias, struct INP3_DEST_ROUTE_ENTRY * Entry, int Negative, int portNum) +VOID SendRIFToOtherNeighbours(struct DEST_LIST * Dest, UCHAR * alias, struct INP3_DEST_ROUTE_ENTRY * Entry, int Negative, int portNum, int includeOptions) { UCHAR * axcall = Dest->DEST_CALL; struct ROUTE * Routes = NEIGHBOURS; @@ -1455,7 +1528,8 @@ VOID SendRIFToOtherNeighbours(struct DEST_LIST * Dest, UCHAR * alias, struct INP int count, MaxRoutes = MAXNEIGHBOURS; char NodeCall[10]; char destCall[10]; - + int rifLen; + unsigned char rif[256]; int sendHops, sendTT, lastTT; // if portNum is set sending a periodic refresh. Just sent to this port @@ -1553,16 +1627,22 @@ VOID SendRIFToOtherNeighbours(struct DEST_LIST * Dest, UCHAR * alias, struct INP if (Msg) { - if (Routes->OldBPQ == 1) // old bpq bug - send mS not 10 mS units + if (Routes->mSRIF == 1) // old bpq bug - send mS not 10 mS units sendTT *= 10; - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], axcall, alias, sendHops, sendTT, destCall); + if (includeOptions) + rifLen = BuildRIF(rif, axcall, alias, sendHops, sendTT, destCall, Dest->XROptions); + else + rifLen = BuildRIF(rif, axcall, alias, sendHops, sendTT, destCall, 0); - if (Msg->LENGTH > 250 - 15) + if (Msg->LENGTH + rifLen > 250) { SendRIF(Routes, Msg); - Routes->Msg = NULL; + Msg = Routes->Msg = CreateRIFHeader(Routes); } + + memcpy(&Msg->L3SRCE[Msg->LENGTH], rif, rifLen); + Msg->LENGTH += rifLen; } } } @@ -1578,6 +1658,8 @@ VOID SendRIFToNewNeighbour(struct ROUTE * Route) struct _L3MESSAGEBUFFER * Msg; int sendHops, sendTT; char Normcall[10]; + int rifLen; + unsigned char rif[256]; if (Route->NEIGHBOUR_LINK == 0) // shouldn't happen but to be safe.. return; @@ -1615,16 +1697,18 @@ VOID SendRIFToNewNeighbour(struct ROUTE * Route) if (Msg == NULL) return; - if (Route->OldBPQ == 1) // old bpq bug - send mS not 10 mS units + if (Route->mSRIF == 1) // old bpq bug - send mS not 10 mS units sendTT *= 10; - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], Dest->DEST_CALL, Dest->DEST_ALIAS, sendHops, sendTT, Normcall); - - if (Msg->LENGTH > 250 - 15) + rifLen = BuildRIF(rif, Dest->DEST_CALL, Dest->DEST_ALIAS, sendHops, sendTT, Normcall, Dest->XROptions); + + if (Msg->LENGTH + rifLen > 250) { SendRIF(Route, Msg); - Route->Msg = NULL; + Msg = Route->Msg = CreateRIFHeader(Route); } + memcpy(&Msg->L3SRCE[Msg->LENGTH], rif, rifLen); + Msg->LENGTH += rifLen; } } } @@ -1693,7 +1777,7 @@ VOID SendNegativeInfo() if (Entry->ROUT_NEIGHBOUR == 0) continue; - SendRIFToOtherNeighbours(Dest, Dest->DEST_ALIAS, Entry, TRUE, FALSE); + SendRIFToOtherNeighbours(Dest, Dest->DEST_ALIAS, Entry, TRUE, FALSE, FALSE); if (Entry->STT >= 60000) { @@ -1750,7 +1834,7 @@ VOID SendPositiveInfo() Entry = &Dest->INP3ROUTE[0]; if (Entry->ROUT_NEIGHBOUR) - SendRIFToOtherNeighbours(Dest, Dest->DEST_ALIAS, Entry, FALSE, FALSE); + SendRIFToOtherNeighbours(Dest, Dest->DEST_ALIAS, Entry, FALSE, FALSE, FALSE); } } @@ -1777,7 +1861,7 @@ VOID SendNewInfo() Entry = &Dest->INP3ROUTE[0]; - SendRIFToOtherNeighbours(Dest, Dest->DEST_ALIAS, Entry, TRUE, FALSE); // Send as negative so will always be worse than zero + SendRIFToOtherNeighbours(Dest, Dest->DEST_ALIAS, Entry, TRUE, FALSE, TRUE); // Send as negative so will always be worse than zero } } } @@ -1813,12 +1897,10 @@ VOID sendAlltoOneNeigbour(struct ROUTE * Route) if (Msg == 0) return; - if (Route->OldBPQ == 1) - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], MYCALL, MYALIASTEXT, 1, Route->TXRTTIncrement * 10, Call); - else if (Route->OldBPQ == 2) - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], MYCALL, MYALIASTEXT, 1, Route->TXRTTIncrement, Call); + if (Route->mSRIF == 1) + Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], MYCALL, MYALIASTEXT, 1, Route->TXRTTIncrement * 10, Call, 0); else - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], MYCALL, MYALIASTEXT, 1, 1, Call); + Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], MYCALL, MYALIASTEXT, 1, 1, Call, 0); for (App = 0; App < NumberofAppls; App++) { @@ -1826,12 +1908,10 @@ VOID sendAlltoOneNeigbour(struct ROUTE * Route) if (APPL->APPLQUAL > 0) { - if (Route->OldBPQ == 1) - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, Route->TXRTTIncrement * 10, Call); - else if (Route->OldBPQ == 2) - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, Route->TXRTTIncrement, Call); + if (Route->mSRIF == 1) + Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, Route->TXRTTIncrement * 10, Call, 0); else - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, 1, Call); + Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], APPL->APPLCALL, APPL->APPLALIAS_TEXT, 1, 1, Call, 0); } } @@ -1877,10 +1957,10 @@ VOID sendAlltoOneNeigbour(struct ROUTE * Route) if (Msg) { - if (Route->OldBPQ == 1) + if (Route->mSRIF == 1) sendTT *= 10; - Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], Dest->DEST_CALL, Dest->DEST_ALIAS, sendHops, sendTT, Call); + Msg->LENGTH += BuildRIF(&Msg->L3SRCE[Msg->LENGTH], Dest->DEST_CALL, Dest->DEST_ALIAS, sendHops, sendTT, Call, 0); if (Msg->LENGTH > 250 - 15) { @@ -1943,6 +2023,74 @@ VOID SendAllInfo() } } +int INP3NodeTimeout = 3600 *3; // 3 Hours + +void DecayINP3Routes() +{ + // Runs every 10 secs + + // Invalidate routes that haven't been refreshed for a while (if neighbour is sending periodic refresh) + + struct DEST_LIST * Dest = DESTS; + struct INP3_DEST_ROUTE_ENTRY * Entry; + time_t Now = time(NULL); + int i, n; + time_t xx; + + for (i=0; i < MAXDESTS; i++) + { + if (Dest->DEST_CALL == 0) + { + Dest++; + continue; + } + + for (n = 0; n < 3; n++) + { + Entry = &Dest->INP3ROUTE[n]; + + if (Entry->ROUT_NEIGHBOUR == 0) // Stop on first unused entry + break; + + xx = Now - Entry->LastRefreshed; + + if (Entry->ROUT_NEIGHBOUR->timeoutRoutes && Entry->LastRefreshed && (Entry->LastRefreshed + INP3NodeTimeout) < Now) + { + char Call1[10]; + char Call2[10]; + Call1[ConvFromAX25(Dest->DEST_CALL, Call1)] = 0; + Call2[ConvFromAX25(Entry->ROUT_NEIGHBOUR->NEIGHBOUR_CALL, Call2)] = 0; + + if (DEBUGINP3) Debugprintf("Timer Deleting INP3 Route %d to %s via %s", n + 1, Call1, Call2); + + if (n == 0) + { + // if removing best we need to tell others + + Entry->STT = 60000; // leave hops so we can check if we need to send + + if (Dest->DEST_ROUTE == 4) // we were using it + Dest->DEST_ROUTE = 0; + + } + else + { + // If we aren't removing the best, we don't need to tell anyone. + + if (n == 1) // 2nd + { + memcpy(&Dest->INP3ROUTE[1], &Dest->INP3ROUTE[2], sizeof(struct INP3_DEST_ROUTE_ENTRY)); + memset(&Dest->INP3ROUTE[2], 0, sizeof(struct INP3_DEST_ROUTE_ENTRY)); + } + else + memset(&Dest->INP3ROUTE[2], 0, sizeof(struct INP3_DEST_ROUTE_ENTRY)); + } + } + } + Dest++; + } +} + VOID INP3TIMER() { if (RTTMsg.ID[0] == 0) @@ -1980,6 +2128,7 @@ VOID INP3TIMER() SendRIPTimer(); SendAllInfo(); // Timer Driven refresh + DecayINP3Routes(); } else RIPTimerCount--; @@ -2040,6 +2189,7 @@ UCHAR * DisplayINP3RIF(UCHAR * ptr1, UCHAR * ptr2, int msglen) // Process optional fields + while (*ptr1 && msglen > 0) // Have an option { len = *ptr1; @@ -2092,3 +2242,370 @@ int inp3_tt2qual (int tt, int hops) return(qual); } + +/* + +5.2 XRouter Extensions + +The following identifiers are used in XRouter: + +Type 0x01: AMPRNet IP Routing Data +Value: Exactly 7 bytes total length (Option Length = 0x07). +Contains a 4-byte IPv4 address within the 44.0.0.0/8 amateur +network (in network byte order) followed by a 1-byte packed +hostmask prefix length (e.g., 0x18 for a /24). + +Type 0x10: Geographic Position +Value: Exactly 10 bytes total length. Contains two 32-bit signed +Big-Endian integers: Latitude followed by Longitude, expressed in +hundredths of a minute of arc. + +Type 0x12: Metadata Timestamp +Value: Exactly 6 bytes total length. Contains a 32-bit unsigned +integer tracking standard Unix epoch time. + +Type 0x13: TCP Service Port +Value: Exactly 4 bytes total length. A 16-bit unsigned integer +defining the active TCP port for user terminal access. Used in +conjunction with a Type 0x01 option. + +Type 0x14: Timezone Offset +Value: Exactly 4 bytes total length. A 16-bit signed integer +defining the local timezone offset relative to GMT, measured in +minutes (e.g., -60). + +Type 0x15: Maidenhead Locator +Value: A variable-length ASCII string representing the station +locator (e.g., IO83VK) with no null termination. + +Type 0x16: QTH (Location Description) +Value: A variable-length plain ASCII string describing the +station's physical location (e.g., Niagara Park) with no null +termination. + +Type 0x17: Software Version String +Value: A variable-length ASCII string representing the node +application's compile version (e.g., 501w) with no null +termination. + +5.3 Detailed Flags Specification (Option 0x11) + +Following the length byte (0x05) and type byte (0x11), this option +contains three sequential 1-byte fields: + ++------------+------------+---------+---------+---------+ +| len=0x05 | typ=0x11 | swtype | flags1 | flags_2 | ++------------+------------+---------+---------+---------+ +Figure 4: Structure of the Option 0x11 Payload + +5.3.1 Software Type (sw_type) + +A 1-byte integer identifying the node software: + +0 = Unknown, 1 = BPQ16 (DOS), 2 = XRouter16 (DOS), +3 = XServ16 (DOS), 4 = XRouter32 (Win GUI), 5 = XR32 (Win TUI), +6 = XS32 (Win TUI BBS), 7 = XRLin (Linux x86), +8 = XRouter (Raspberry Pi), 9 = BPQ32 (Windows), +10 = BPQ32 (Linux). + +5.3.2 Capability Flags 1 (flags_1) + +A 1-byte bitmask detailing supported network layer features: + +0x01 = INP3 Capable +0x02 = NetRom L3 routing enabled +0x04 = Capable of Netrom Record Route +0x08 = Capable of Netrom Control Message Protocol +0x10 = Capable of NetRomX (CREQX) +0x20 = Supports NDP (Netrom Datagram Protocol) +0x40 = Node is a GlobalNet router/host +0x80 = Supports IP over NetRom +5.3.3 Capability Flags 2 (flags_2) + +A 1-byte bitmask detailing hosted application services: + +0x01 = Has general purpose L7 command line +0x02 = Is/Has PMS (Mailbox) +0x04 = Is/Has XR Chat +0x08 = Is/Has BPQ/Roundtable chat +0x10 = Is/Has BBS +0x20 = Is/Has DX Cluster +0x40 = Is/Has RMS gateway +0x80 = Reserved (extension bit) + +G8PZT-1:XRLN64} Knoten: +Info for: KIDDER:G8PZT (HOST) [XRPi] FR=13203 RTT=0.17 Hop=1 XR {PEER} + Pos=52.4000N 2.2500W Loc=IO82VJ Qth=KIDDERMINSTER, UK + IP=44.136.16.50/32 TCP=23 v505G OFF + Supports: INP3 L3ROUT NRR NCMP L4X NDP + BBS XRCHAT RTCHAT + Updated: 02/07 13:40 Confirmed: 01/07 14:49 + +*/ + +UCHAR * SkipOptions(UCHAR * ptr1, int msglen) +{ + int len, opcode; + + // Skip options and return pointer to next entry + + while (*ptr1 && msglen > 0) + { + len = *ptr1; + opcode = *(ptr1+1); + + if (len < 2 || len > msglen) + return 0; // Duff RIF + + ptr1+=len; + msglen -=len; + } + + return ptr1; +} + +/* +// See if any XR options to add + + if (memcmp(Options, &noOptions, sizeof(noOptions)) != 0) + { + if (Dest->XROptions == 0) // None yet + Dest->XROptions = zalloc(sizeof(noOptions)); + + // Have options so copy across any new ones + + if (Options->IPADDR) + { + Dest->XROptions->IPADDR = Options->IPADDR; + Dest->XROptions->Mask = Options->Mask; // Always come togther + } + if (Options->Lat) + Dest->XROptions->Lat = Options->Lat; + + if (Options->Lon) + Dest->XROptions->Lon = Options->Lon; + + if (Options->Port) + Dest->XROptions->Port = Options->Port; + + if (Options->Time) + Dest->XROptions->Time = Options->Time; + + if (Options->TZOffset) + Dest->XROptions->TZOffset = Options->TZOffset; + + if (Options->LOC) + { + if (Dest->XROptions->LOC) + free(Dest->XROptions->LOC); + + Dest->XROptions->LOC = _strdup(Options->LOC); + } + + if (Options->QTH) + { + if (Dest->XROptions->QTH) + free(Dest->XROptions->QTH); + + Dest->XROptions->QTH = _strdup(Options->QTH); + } + + if (Options->Ver) + { + if (Dest->XROptions->Ver) + free(Dest->XROptions->Ver); + + Dest->XROptions->Ver = _strdup(Options->Ver); + } + + if (Options->SWType | Options->NetworkFlags | Options->ApplFlags) // All come together + { + Dest->XROptions->SWType = Options->SWType; + Dest->XROptions->NetworkFlags = Options->NetworkFlags; + Dest->XROptions->ApplFlags = Options->ApplFlags; + } + } +*/ + + + +void DecodeRIFOptions(struct DEST_LIST * Dest, UCHAR * ptr1) +{ + int len, opcode; + + // Options should be saved and sent out as received, including any unrecongnised ones + // Do we need to worry about getting different subsets of values at different times, + // so we need to combine new nodes with any existing ones?? + + // We treat alias separately as that is sent by all software + + unsigned char rawoptions[256]; // can't exceed packet size + int rawoptionslen = 0; + unsigned char * startoptions = ptr1; + int gotOptions = 0; + XROptions * Options = Dest->XROptions; + + + while (*ptr1) // Format already checked above + { + len = *ptr1; + opcode = *(ptr1+1); + + if (len < 2) + return; // Duff RIF + + if (opcode) + { + // Not alias so we need extended options field + + gotOptions = 1; + + if (Options == 0) + { + Options = Dest->XROptions = zalloc(sizeof(XROptions)); + } + } + + switch (opcode) + { + case 0: // Alias + + memset(Dest->DEST_ALIAS, ' ', 6); + + if (len > 1 && len < 9) + memcpy(Dest->DEST_ALIAS, ptr1+2, len-2); + break; + + case 1: // IP Address and Mask + + if (len == 7) + { + memcpy(&Options->IPADDR, ptr1+2, 4); + Options->Mask = (uint8_t)ptr1[6]; + } + break; + + case 0x10: // Geographic Position + + if (len == 10) + { + uint32_t w1; + int32_t w2; + + memcpy(&w1, ptr1+2, 4); + w2 = htonl(w1); + + Options->Lat = w2 / 6000.0; // 1/100th minute to degrees + + memcpy(&w1, ptr1+6, 4); + w2 = htonl(w1); + + Options->Lon = w2 / 6000.0; + break; + } + + + case 0x11: // Various flags + + if (len == 5) + { + Options->SWType = ptr1[2]; + Options->NetworkFlags = ptr1[3]; + Options->ApplFlags = ptr1[4]; + break; + } + + case 0x12: // Metadata Timestamp + + if (len == 6) + { + uint32_t w1; + + memcpy(&w1, ptr1+2, 4); + Options->Time = htonl(w1); + } + + break; + + case 0x13: // TCP Service Port + + if (len == 4) + { + uint16_t w1; + + memcpy(&w1, ptr1+2, 2); + Options->Port = htons(w1); + } + + case 0x14: // Timezone Offset + + if (len == 4) + { + uint16_t w1; + + memcpy(&w1, ptr1+2, 2); + Options->TZOffset = htons(w1); + } + + break; + + case 0x15: // Maidenhead Locator + + if (Options->LOC) + free (Options->LOC); + + Options->LOC = zalloc(len); + memcpy(Options->LOC, ptr1+2, len-2); + + break; + + case 0x16: // QTH (Location Description) + + if (Options->QTH) + free (Options->QTH); + + Options->QTH = zalloc(len); + memcpy(Options->QTH, ptr1+2, len-2); + + case 0x17: // Software Version String + + if (Options->Ver) + free (Options->Ver); + + Options->Ver = zalloc(len); + memcpy(Options->Ver, ptr1+2, len-2); + + } + + ptr1+=len; + } + + // ptr1 points to byte beyond end of options. Save the options string. Put length byte on front + + + if (gotOptions == 0) // Empty + return; + + if (Options) // Have other than alias + { + rawoptionslen = (ptr1 - startoptions) + 1; // include terminating null + + if (Options->Optionslist) + { + // see if changed (not much use if options include timestamp) + + if (Options->Optionslist[0] == rawoptionslen && memcmp(&Options->Optionslist[1], startoptions, rawoptionslen) == 0) + return; + + free(Options->Optionslist); + } + + Options->Optionslist = malloc(rawoptionslen + 1); + Options->Optionslist[0] = rawoptionslen; + memcpy(&Options->Optionslist[1], startoptions, rawoptionslen); + } + + return; + +} + diff --git a/BPQMail.c b/BPQMail.c index b1e361b..a535793 100644 --- a/BPQMail.c +++ b/BPQMail.c @@ -1163,6 +1163,8 @@ // Fix possible crash in SendBBSDataToPktMap // Remove Uncompressed Blocked forwarding (27) // Fix mail api returning garbage when deflate isn't requested (27) +// Fix PG command processing on 64 bit Linux (31) +// Limit L command output for new users (32) #include "bpqmail.h" diff --git a/BPQTermMDI.c b/BPQTermMDI.c index 9f9ba44..4e36e56 100644 --- a/BPQTermMDI.c +++ b/BPQTermMDI.c @@ -116,6 +116,7 @@ VOID __cdecl Debugprintf(const char * format, ...) va_start(arglist, format); Len = vsprintf_s(Mess, sizeof(Mess), format, arglist); + va_end(arglist); strcat(Mess, "\r\n"); OutputDebugString(Mess); return; diff --git a/Bpq32.c b/Bpq32.c index 3b5121f..0ce2215 100644 --- a/Bpq32.c +++ b/Bpq32.c @@ -1322,7 +1322,14 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses // Change INP3 to XR 'standard' (29) // Swap L4INDEX and L4ID in Packet Trace API (30) // More INP3 fixes (30) - +// Starting NCMP implementation +// Fix AGWAPI inbound connect for APPL Numbers above 1 (31) +// More INP3 changes (enforce RIF refresh at hourly intervals and time out nodes (31) +// Save, forward and display XR extended INP3 Options (31) +// Check packets from APRS-IS against Exclude list (32) +// Fix authorisation of Web Save Config File (32) +// Add missing calls to va_end() (32) +// Apply EXCLUDE to APRS and Digi (32) #define CKernel @@ -5829,6 +5836,7 @@ VOID __cdecl Debugprintf(const char * format, ...) va_start(arglist, format); vsprintf(Mess, format, arglist); + va_end(arglist); strcat(Mess, "\r\n"); OutputDebugString(Mess); diff --git a/Cmd.c b/Cmd.c index 36fc09d..c82404c 100644 --- a/Cmd.c +++ b/Cmd.c @@ -73,6 +73,7 @@ void SendVARANetromNodes(struct TNCINFO * TNC, MESSAGE *Buffer); VOID DoNetromConnect(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * Dest, BOOL Spy, int Service); VOID sendAlltoOneNeigbour(struct ROUTE * Route); VOID CMDSTREAMS(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, struct CMDX * CMD); +char * FormatIP(uint32_t Addr); extern VOID KISSTX(struct KISSINFO * KISS, PMESSAGE Buffer); @@ -263,8 +264,8 @@ char * __cdecl Cmdprintf(TRANSPORTENTRY * Session, char * Bufferptr, const char Paclen = 255; va_start(arglist, format); - MsgLen = vsprintf(Mess, format, arglist); + va_end(arglist); OldLen = (int)(Bufferptr - (char *)REPLYBUFFER->L2DATA); @@ -849,10 +850,10 @@ BOOL cATTACHTOBBS(TRANSPORTENTRY * Session, UINT Mask, int Paclen, int * AnySess ApplNum = 1; - while (APPLMASK && (APPLMASK & 1) == 0) + while (Mask && (Mask & 1) == 0) { ApplNum++; - APPLMASK >>= 1; + Mask >>= 1; } HOSTSESS->HOSTAPPLNUM = ApplNum; @@ -3292,6 +3293,17 @@ VOID LINKCMD(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, struct SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); } +const char SwVers[12][23] = { + "Unknown", "BPQ16 (DOS)", "XRouter16 (DOS)", "XServ16 (DOS)", + "XRouter32 (Win GUI)", + "XR32 (Win TUI)", + "XS32 (Win TUI BBS)", "XRLin (Linux x86)", + "XRouter (Raspberry Pi)", + "BPQ32 (Windows)", "BPQ32 (Linux)" +}; + + + char * DoOneNode(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * Dest) { char Normcall[10]; @@ -3300,6 +3312,8 @@ char * DoOneNode(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * struct INP3_DEST_ROUTE_ENTRY * Route; struct ROUTE * Neighbour; int i, Active, len; + time_t Now = time(NULL); + struct tm * TM; Alias[6] = 0; @@ -3308,15 +3322,67 @@ char * DoOneNode(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * Normcall[ConvFromAX25(Dest->DEST_CALL, Normcall)] = 0; - Bufferptr = Cmdprintf(Session, Bufferptr, "Routes to: %s:%s", Alias, Normcall); + if (Dest->XROptions) + { + XROptions * Options = Dest->XROptions; + + Bufferptr = Cmdprintf(Session, Bufferptr, "Nodes:\rInfo for: %s:%s [%s] ", Alias, Normcall, SwVers[Options->SWType]); + if (Options->Ver) + Bufferptr = Cmdprintf(Session, Bufferptr, "v%s ", Options->Ver); + + if (Dest->DEST_COUNT) + Bufferptr = Cmdprintf(Session, Bufferptr, " RTT=%4.2f FR=%d %c %.1d", + Dest->DEST_RTT /1000.0, Dest->DEST_COUNT, (Dest->DEST_STATE & 0x40)? 'B':' ', (Dest->DEST_STATE & 63)); - if (Dest->DEST_COUNT) - Bufferptr = Cmdprintf(Session, Bufferptr, " RTT=%4.2f FR=%d %c %.1d\r", - Dest->DEST_RTT /1000.0, Dest->DEST_COUNT, - (Dest->DEST_STATE & 0x40)? 'B':' ', (Dest->DEST_STATE & 63)); - else Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); + + if (Options->Lat) + { + if (Options->Lat > 0) + Bufferptr = Cmdprintf(Session, Bufferptr, "Pos=%3.4fN ", Options->Lat); + else + Bufferptr = Cmdprintf(Session, Bufferptr, "Pos=%3.4fS ", -Options->Lat); + + if (Options->Lon > 0) + Bufferptr = Cmdprintf(Session, Bufferptr, "%3.4fE ", Options->Lon); + else + Bufferptr = Cmdprintf(Session, Bufferptr, "%3.4fW ", -Options->Lon); + } + + if (Options->LOC) + Bufferptr = Cmdprintf(Session, Bufferptr, "Loc=%s ", Options->LOC); + + if (Options->QTH) + Bufferptr = Cmdprintf(Session, Bufferptr, "Qth=%s", Options->QTH); + if (Options->IPADDR) + Bufferptr = Cmdprintf(Session, Bufferptr, "\rIP=%s/%d", FormatIP(Options->IPADDR), Options->Mask); + + Bufferptr = Cmdprintf(Session, Bufferptr, "\r\rRoutes:\r"); + + + +/* +G7TAJ-1:TANK2} Nodes: +Info for: XRLN64:G8PZT-1 (HOST) [XRLin] + Pos=50.1458N 5.1250W Loc=IO70KD Qth=LAMANVA + IP=44.135.49.90/32 v505i OFF + Supports: INP3 L3ROUT NRR NCMP L4X NDP + BBS XRCHAT + Updated: 09/07 06:07 +*/ + } + else + { + Bufferptr = Cmdprintf(Session, Bufferptr, "Routes to: %s:%s", Alias, Normcall); + + if (Dest->DEST_COUNT) + Bufferptr = Cmdprintf(Session, Bufferptr, " RTT=%4.2f FR=%d %c %.1d\r", + Dest->DEST_RTT /1000.0, Dest->DEST_COUNT, + (Dest->DEST_STATE & 0x40)? 'B':' ', (Dest->DEST_STATE & 63)); + else + Bufferptr = Cmdprintf(Session, Bufferptr, "\r"); + } NRRoute = &Dest->NRROUTE[0]; Active = Dest->DEST_ROUTE; @@ -3349,12 +3415,18 @@ char * DoOneNode(TRANSPORTENTRY * Session, char * Bufferptr, struct DEST_LIST * if (Neighbour) { double srtt = Route->STT/100.0; + TM = gmtime(&Route->LastRefreshed); + + +// TM->tm_yday, , TM->tm_sec, MH->MHFreq, LOC); + + len = ConvFromAX25(Neighbour->NEIGHBOUR_CALL, Normcall); Normcall[len] = 0; - Bufferptr = Cmdprintf(Session, Bufferptr, "%c %d %4.2fs %d %s\r", - (Active == i + 3)?'>':' ',Route->Hops, srtt, Neighbour->NEIGHBOUR_PORT, Normcall); + Bufferptr = Cmdprintf(Session, Bufferptr, "%c %d %4.2fs %d %s %02d:%02d\r", + (Active == i + 3)?'>':' ',Route->Hops, srtt, Neighbour->NEIGHBOUR_PORT, Normcall, TM->tm_hour, TM->tm_min); } Route++; } diff --git a/Debug/BuildLog.htm b/Debug/BuildLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..b4c2e48ffbd4abd931aaba3dabad3eb93e32bca8 GIT binary patch literal 9552 zcmeI2eN$RT6vp@O&h$Inq0^Yy1}qv)G-e`*sWU1jV(kkZMg)1S{Idv;mx zy}T8)CUl0m!)4$1?Ahm>vuDr!`>&Vg%yi6!X_!~$OY?UR;b^hf33^!)a_`REyaAEW;eUf#aA%TD4Msy(}vrkq7MISP_huIQ%!{@tP9tq zwTYT2XVkZ!Cpojpo^Qe#@#GQnl%(v7yET6)!8vE6vzC&90R=-VJmMO29 zKh2Tl>7q$n9ymIj1f>|$p>X{D9EC{nUB5UY9lyo*Nzjx4O@5kCsMTLWy{vMLpYl}@Dm~s}x2j!vk~WvF)jFG?FENA@vIU=01`D7n zDud}EGN_Z-_%i75s*^w#p5!>A6?pHH&Qp>D`v<1P%p2fm+uDx5PtE9+6G{|jV6Rys*amZ*+qbhbD;_FXY9 zo#|&2f@IMWR-U4gd><;MHASyG={~FkO^P9LtzRd6Zb|61MvFrvVRCD92v%2Pn$_vF z3OjV&)e<%KDsDqZ?|u}8LXa$*lQnrod(60jHBwEllnpA|qQ7icoXSbCs56>&u!X!x zZscz$KU#i7OK548+b5stp~G=Y)Lc_9o$9!iA@{a>;uyxQ!B*`64U<6!{lrh2X_pz} zR@`$bi!By!#hV|ol*{n+h+b*5k4_Rv_*O?(1U%<<{g=EO-8$K|GMZnAkM5Xsl6K!~ zq+!%w(c*oq=isp>*{M;w&1;P)t#{RN&ZeJ7^xUVn<)dX-d%R~)ZF$alc`GeBEQ_p^ z-m+LqNqU{_lC3OEtu61>U`zjz2Gc2D=b3R)>&|YYt*Cf^i6qO1J;n1VF^6Q;X${r( z+FghINog2gFWnXA7px()<)0qoqj%Z!*`HUZ^&FbPUKQ{|{PS!GcFPtaI@OHh3%*9j zp5QO)oUR*{=s7Ovo{&NxHb8G5V~0Dmj-pXMmv9+yFIT`C$inJ|PTsA`HZAS0>=Cv} zzNYhzqB`E;L?umY5ANn0J?u$t(p{L&lU(n4ba@DtW#)Ca1xt87;&2^Jx@Mnf?e--ufd=`<6E@IjwLSyRqjg ztzi}+8ZQdk8zFMH)rtU#r#1WT}6u8?9Sjwk>Z zZ@iVfL-m&*s2g;5`>M#oW31QpA^#SeVk?IbsL`uCn^ia9826HwRtC(5a_V+P-`By5DS8&SPd9ufr zcP<*%WCYLGpwGMY^SE2vkX!A@9_&~e&h0z8H#tUgx79wH-amf0lm8DHS0tqkW*YE+ z7WvgT33vYL;IZm>ysU1N4R$1{kWTo z!Fng)`AF=Ey`~Uy| literal 0 HcmV?d00001 diff --git a/Debug/NodeMapTest.exe.embed.manifest b/Debug/NodeMapTest.exe.embed.manifest new file mode 100644 index 0000000..4b15fbf --- /dev/null +++ b/Debug/NodeMapTest.exe.embed.manifest @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Debug/NodeMapTest.exe.embed.manifest.res b/Debug/NodeMapTest.exe.embed.manifest.res new file mode 100644 index 0000000000000000000000000000000000000000..7b55d19001b1a6c9becd61f77f12ffdedbbaed6d GIT binary patch literal 468 zcmZ8d!A`?43@s8DkhpV`i!+}rY6E-te zwqePN?PvS>B?y9mk#9D?PT`4toVEBh^-w|<1sCUS)A#3BHeBn9t-ztOCg*V&aRx@( zQki+qUndWplr!|gl%lc*a^3*);o#~r6NsRTs$sOiV9sl2`Y0Em1$MNO&Z3?9jCuk=2 n4SxP;CetD*?nDf63Q55SS@-`*t%`0d>{LefSKkRf%nyPsVFr%a literal 0 HcmV?d00001 diff --git a/Debug/NodeMapTest.exe.intermediate.manifest b/Debug/NodeMapTest.exe.intermediate.manifest new file mode 100644 index 0000000..b390755 --- /dev/null +++ b/Debug/NodeMapTest.exe.intermediate.manifest @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Debug/NodeMapTest.obj b/Debug/NodeMapTest.obj new file mode 100644 index 0000000000000000000000000000000000000000..151037a038d1d5157f16129eacb2f0ba29eefcd3 GIT binary patch literal 105125 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 literal 0 HcmV?d00001 diff --git a/Events.c b/Events.c index 5d8d1be..3abb9ba 100644 --- a/Events.c +++ b/Events.c @@ -752,7 +752,7 @@ void APIL2Trace(struct _MESSAGE * Message, char * Dirn) int NR; struct PORTCONTROL * PORT = GetPortTableEntryFromPortNum(Message->PORT); time_t Now = time(NULL); -#ifdef LINBPQ +#ifndef WIN32 struct timespec ts; #else FILETIME SystemTimeAsFileTime; @@ -782,7 +782,7 @@ void APIL2Trace(struct _MESSAGE * Message, char * Dirn) if ((Message->ORIGIN[6] & 1) == 0) // Digis - ignore for now return; -#ifdef LINBPQ +#ifndef WIN32 if (clock_gettime(CLOCK_REALTIME, &ts) == -1) NowMs = Now; diff --git a/HTTPcode.c b/HTTPcode.c index 2d4415c..d0e1417 100644 --- a/HTTPcode.c +++ b/HTTPcode.c @@ -480,7 +480,7 @@ VOID PollSession(struct HTTPConnectionInfo * Session) // Make sure line isn't too long // but beware of spaces expanded to   - count chars in line - if ((realLen) > 100) + if ((realLen) > 250) { strcpy(ptr2, "
\r\n"); @@ -701,7 +701,7 @@ void ProcessTermInput(SOCKET sock, char * MsgPtr, int MsgLen, char * Key) int State; struct HTTPConnectionInfo * Session = FindSession(Key); int Stream; - int maxlen = 1000; + int maxlen = 2000; if (Session == NULL) @@ -1818,8 +1818,10 @@ int InnerProcessHTTPMessage(struct ConnectionInfo * conn) "Content-Type: application/json\r\n" "Connection: close\r\n" "Access-Control-Allow-Origin: *\r\n" + "Cache-Control: no-cache\r\n" "%s\r\n", ReplyLen, Encoding); + sendandcheck(sock, Header, HeaderLen); sendandcheck(sock, Compressed, ReplyLen); @@ -2643,7 +2645,7 @@ doHeader: { // Save Config File - if (conn->LOCALAuth) + if (conn->LOCALAuth || COOKIE) SaveConfigFile(sock, MsgPtr, Key, LOCAL); else { diff --git a/HanksRT.c b/HanksRT.c index c828fd5..3645ff9 100644 --- a/HanksRT.c +++ b/HanksRT.c @@ -125,6 +125,10 @@ time_t RunningConnectScript = 0; struct HistoryRec * History = NULL; int HistoryCount = 0; +static FILE * LogHandle[4] = {NULL, NULL, NULL, NULL}; + +static time_t LastLogTime[4] = {0, 0, 0, 0}; + typedef int (WINAPI FAR *FARPROCX)(); extern FARPROCX pRunEventProgram; @@ -299,6 +303,7 @@ VOID __cdecl nprintf(ChatCIRCUIT * conn, const char * format, ...) va_start(arglist, format); vsnprintf(buff, sizeof(buff), format, arglist); + va_end(arglist); nputs(conn, buff); } @@ -332,8 +337,9 @@ int ChatQueueMsg(ChatCIRCUIT * conn, char * msg, int len) conn->u.link->lastMsgReceived = time(NULL); // UCHAR * OutputQueue; // Messages to user - // int OutputQueueLength; // Total Malloc'ed size. Also Put Pointer for next Message - // int OutputGetPointer; // Next byte to send. When Getpointer = Queue Length all is sent - free the buffer and start again. + // int OutputQueueSize; // Total Malloc'ed size + // int OutputQueueLength; // Bytes queued. Also Put Pointer for next Message + // int OutputGetPointer; // Next byte to send. When Getpointer = QueueLength all is sent - free the buffer and start again. // Create or extend buffer @@ -819,7 +825,7 @@ VOID ProcessChatLine(ChatCIRCUIT * conn, struct UserInfo * user, char* OrigBuffe while (ptr) { - nprintf(conn, ptr->Message); + nputs(conn, ptr->Message); ptr = ptr->next; } @@ -3290,6 +3296,7 @@ VOID ChatTimer() int i = 0; ChatCIRCUIT *c; + int n; #ifndef LINBPQ int len; @@ -3477,6 +3484,22 @@ VOID ChatTimer() node_keepalive(); } + // Flush logs + + for (n = 0; n < 4; n++) + { + if (LogHandle[n]) + { + time_t LT = time(NULL); + if ((LT - LastLogTime[n]) > 30) + { + LastLogTime[n] = LT; + fclose(LogHandle[n]); + LogHandle[n] = NULL; + } + } + } + FreeSemaphore(&ChatSemaphore); if (NeedINFO) @@ -4430,15 +4453,6 @@ VOID SendChatReport(SOCKET ChatReportSocket, char * buff, int txlen) #endif - -#ifndef WIN32 -#define INVALID_HANDLE_VALUE (void *)-1 -#endif - -static FILE * LogHandle[4] = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE}; - -static time_t LastLogTime[4] = {0, 0, 0, 0}; - static char FilesNames[4][100] = {"", "", "", ""}; static char * Logs[4] = {"BBS", "CHAT", "TCP", "DEBUG"}; @@ -4479,7 +4493,7 @@ void ChatWriteLogLine(ChatCIRCUIT * conn, int Flag, char * Msg, int MsgLen, int char CRLF[2] = {0x0d,0x0a}; struct tm * tm; char Stamp[20]; - time_t T; + time_t LT; #ifndef LINBPQ @@ -4516,12 +4530,12 @@ void ChatWriteLogLine(ChatCIRCUIT * conn, int Flag, char * Msg, int MsgLen, int if (Flags == LOG_CHAT && !LogCHAT) return; - if (LogHandle[Flags] == INVALID_HANDLE_VALUE) ChatOpenLogfile(Flags); + if (LogHandle[Flags] == NULL) ChatOpenLogfile(Flags); - if (LogHandle[Flags] == INVALID_HANDLE_VALUE) return; + if (LogHandle[Flags] == NULL) return; - T = time(NULL); - tm = gmtime(&T); + LT = time(NULL); + tm = gmtime(<); sprintf(Stamp,"%02d%02d%02d %02d:%02d:%02d %c", tm->tm_year-100, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, Flag); @@ -4544,8 +4558,14 @@ void ChatWriteLogLine(ChatCIRCUIT * conn, int Flag, char * Msg, int MsgLen, int else fwrite(CRLF, 1, 2, LogHandle[Flags]); - fclose(LogHandle[Flags]); - LogHandle[Flags] = INVALID_HANDLE_VALUE; + // Don't close/reopen logs every time + + if ((LT - LastLogTime[Flags]) > 30) + { + LastLogTime[Flags] = LT; + fclose(LogHandle[Flags]); + LogHandle[Flags] = NULL; + } } diff --git a/L2Code.c b/L2Code.c index c2953f4..48c93f6 100644 --- a/L2Code.c +++ b/L2Code.c @@ -283,6 +283,8 @@ VOID L2Routine(struct PORTCONTROL * PORT, PMESSAGE Buffer) } } + + BPQTRACE(Buffer, TRUE); // TRACE - RX frames to APRS if (PORT->PORTMHEARD) @@ -293,6 +295,14 @@ VOID L2Routine(struct PORTCONTROL * PORT, PMESSAGE Buffer) InOctets[PORT->PORTNUMBER] += Buffer->LENGTH - MSGHDDRLEN; + // Check Exclude List + + if (CheckExcludeList(Buffer->ORIGIN) == 0) + { + ReleaseBuffer(Buffer); + return; + } + // CHECK THAT ALL DIGIS HAVE BEEN ACTIONED, // AND ADJUST FOR DIGIPEATERS IF PRESENT diff --git a/L3Code.c b/L3Code.c index 2ca3d93..1d7cf67 100644 --- a/L3Code.c +++ b/L3Code.c @@ -1370,6 +1370,27 @@ VOID REMOVENODE(dest_list * DEST) } L4++; } + + if (DEST->XROptions) + { + XROptions * Options = DEST->XROptions; + + if (Options->LOC) + free(Options->LOC); + + if (Options->QTH) + free(Options->QTH); + + if (Options->Ver) + free(Options->Ver); + + if (Options->Optionslist) + free(Options->Optionslist); + + + free(DEST->XROptions); + } + memset(DEST, 0, sizeof(struct DEST_LIST)); NUMBEROFNODES--; diff --git a/L4Code.c b/L4Code.c index e146218..627f8b9 100644 --- a/L4Code.c +++ b/L4Code.c @@ -74,6 +74,7 @@ void IncomingL4ConnectionEvent(TRANSPORTENTRY * L4); void L4DisconnectEvent(TRANSPORTENTRY * L4, char * Direction, char * Reason); VOID TCPNETROMSend(struct ROUTE * Route, struct _L3MESSAGEBUFFER * Frame); void L4StatusSeport(TRANSPORTENTRY * L4); +void ProcessNCMPMsg(L3MESSAGEBUFFER * L3MSG); static UINT APPLMASK; @@ -2172,6 +2173,12 @@ VOID FRAMEFORUS(struct _LINKTABLE * LINK, L3MESSAGEBUFFER * L3MSG, int ApplMask, return; } + if (L3MSG->L4ID == 0x00 && L3MSG->L4INDEX == 0x0f) // Paula's NCMP + { + ProcessNCMPMsg(L3MSG); + return; + } + ReleaseBuffer(L3MSG); return; @@ -2820,3 +2827,46 @@ int CloseAllSessions() } return Closed; } + +// NCMP Code + +/* +|<--------------- NCMP Header -------------> +| -------------------------------------------------------------- +| L3hdr | Fam | Prot | Type | Code | 00 | (options) | (Payload) +|-------------------------------------------------------------- +Field Bytes Description------------------------------------------------------- +L3hdr 15 NET/ROM Layer 3 Header +Fam 1 Protocol Family = NET/ROM = 0x0f +Prot 1 Protocol = NCMP = 0x00 +Type 1 Type of NCMP packet (see below) +Code 1 Usage depends on "type". +Options var Additional fields present in some types only +Payload var Optional payload present in some types only + +The upper 4 bits of the TYPE are reserved for future expansion, and +are set to zero in this version. The lower 4 bits are the packet type +as follows: +Type Purpose +----------------------------------- +0 Probe Request +1 Probe Reply +2 Echo Request +3 Echo Reply +4 Routing Information Unicast +5 Destination Unreachable + +*/ + +void ProcessNCMPMsg(L3MESSAGEBUFFER * L3MSG) +{ + switch(L3MSG->L4TXNO & 15) + { + case 0: + break; + } + + ReleaseBuffer(L3MSG); + return; +} + diff --git a/MailTCP.c b/MailTCP.c index 37c7cf9..bd4874e 100644 --- a/MailTCP.c +++ b/MailTCP.c @@ -161,6 +161,7 @@ VOID __cdecl sockprintf(SocketConn * sockptr, const char * format, ...) va_start(arglist, format); vsprintf(buff, format, arglist); + va_end(arglist); SendSock(sockptr, buff); } diff --git a/NETROMTCP.c b/NETROMTCP.c index 47f5b57..109a272 100644 --- a/NETROMTCP.c +++ b/NETROMTCP.c @@ -66,8 +66,8 @@ extern SOCKET NodeAPISocket; struct NRTCPMsg { - short Length; - char Call[10]; + short Length; // Including header + char Call[10]; // of sending Node unsigned char PID; char Packet[1024]; }; diff --git a/NNTPRoutines.c b/NNTPRoutines.c index 1ceea42..87ba8f9 100644 --- a/NNTPRoutines.c +++ b/NNTPRoutines.c @@ -122,6 +122,7 @@ VOID __cdecl NNTPsockprintf(SocketConn * sockptr, const char * format, ...) va_start(arglist, format); vsprintf(buff, format, arglist); + va_end(arglist); NNTPSendSock(sockptr, buff); } diff --git a/NodeMapTest.c b/NodeMapTest.c index 7b0b735..23a80bb 100644 --- a/NodeMapTest.c +++ b/NodeMapTest.c @@ -965,7 +965,7 @@ int main(int argc, char * argv[]) restartTime = time(NULL) + 120; // Restart in 2 mins } - HostEnt2 = gethostbyname ("10.8.0.38"); + HostEnt2 = gethostbyname ("192.168.193.142"); if (HostEnt2) memcpy(&txaddr2.sin_addr.s_addr,HostEnt2->h_addr,4); @@ -1043,6 +1043,8 @@ int main(int argc, char * argv[]) continue; ret = sendto(sock, RXBUFFER, nLength, 0, (struct sockaddr *)&txaddr, sizeof(txaddr)); + +// ret = sendto(sock, RXBUFFER, nLength, 0, (struct sockaddr *)&txaddr2, sizeof(txaddr2)); if (ret == -1) perror("sendto 1"); @@ -1718,7 +1720,7 @@ void GenerateOutputFiles(time_t Now) if (Node->Lat != 0.0 && Node->Lon != 0.0 && Node->LastHeard == 0) Colour = 'B'; else - Colour ='0'; + continue; //Colour ='0'; } HeardString[0] = 0; diff --git a/PG/Keps.exe b/PG/Keps.exe new file mode 100644 index 0000000000000000000000000000000000000000..5e2a2191d058b3cd10c00aae1d8607a51a9cf321 GIT binary patch literal 49152 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 QAYp-o1riqcpJIXk56?_y$p8QV literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/BuildLog.htm b/PG/Keps/Debug/BuildLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..af7f8ab6a85cf54da5d21956589e59be138c9bc8 GIT binary patch literal 16238 zcmeI3eN$Ui5XR5n&iEbf;3%|eC{VGb)~SS08F{my^#z9^5GXd#G*D_CKfC(;c5^uQ zhBQr3nSggPN$x%GyJz>=J$ugi>(4L3vv3-YLNk0B-Vg5u-Wy>j?47@_gj(1PUxh4u zt^dui9zIpdx8b|66uu7+!&s<>7vWf~H0<|Nm3b3ddK*)n-9jFvDfgRxC(nC+VC9~v z*LFBj?x|XRrQdz^G!!;c34^Ri>vM)o-XKqd(MdQzcIH z^t+{g9A-MBnHNom%H31`vg#jn_&s^v8of=bzc^;^J-!twxUE*`x2eyGxXmaI#s341 zo9FF`aj>o5hNznpJ?om87vWdE?<$p)Z}i*}1)u2IrFUN(I?xQY#jjI6Bhi#x zP|3Q|55gbesc~^8OdHkSv+K;HT64J@dgkN^iawny3t#zi*i`CnRlr{|1y)jBS{2^0xG;w8uH~hG$tvW3tM5$xWAzM z!*Hf~*fLo=)BlEQB8lktmZYy0UP{WR^&ICA=`5C7508}}<=WeFx!np+RCe7E57fIO zET0N@!+pcnX}#aG)+_1}BmuQS1dy^Dzg<>-Hi?-O1<28)#+?ZhUTVxQRO^BCWGSp# zoB7mUCAU?#7UpG39v52ZUAC$oS4GR3@Uu2R`4zQXRr&5wJeC&FLroU#L|o?iiL6#t z9N~FIqjJg?MNz(XLW3=FJD)?nMb*lu_o?{BzmMjrO3iAH zNcl|-y^pd~!hvH^ zgPlImm-mJw7G!U0_TUFk;5%3h-7US1y@fMahf&ti`F~AEzmw$5738gY#WNjIDN0+n z?1L6n&0$TNSJN}z=CaN3ik?;_|5(Ber8Dc@X^YAS4~jJAb+5bsifI87(3T9~CE&O5 zUeP=D@lbe;WjrnLjouSp@wTq_`L3Q_k3eWzPUya;chLPrve_Hmqqb7FSgIwNPg=jF zcB5C4F#m1HvLSSx7x#WN4#ML(aXXKsk*ihVA#(vQe-K*Dir*kj+h}QatOOWRmsWv0 z`I!Wl^5aSv^+M%;EtKtDyZ@Y_uXW?;#aY63F<<%dToxA{BcG2HHugsY=5N)k;+pK} znrTT*`t(H4{MIC=Jb?r2mb#+<&1;K|*y(@6e?bqi7u}M35ik159^A(=v1-_tueYsM zvGI;58$HLN=by$OOAKy<9{AoEP_aY$H0hO_-ZN((tQ4TPB5g8tbqV zD;XoN;58|r%D#TxHtrbTu8L2y!ry*;ni8k(clh+&XoI7##1A}6ICEf}g?ca(gIUSb1r<@sT{6ctg2WAGEKeEF zD{2K<-jO^sIvm_oe~cI^kr*T*wcA$uneh?5i#mZ%NL-K=jmsHrvg)kpy{b{L24u&A z^%o_0^Y~&KoBJM-1#S ztIMqO-mRlxFB-j6(DA&^(iUwmsXx~K)$p-CF>>$P=POXKHI4=A272UYo_?-}HnaZk zZ_h8vH@Msq=Hjx$zn?cGtwGe|4@ElG7g zI$V*QPgsOu`dlh{S-guHax?Yg^Gl-(sjwBRI;pDu_w z+N4s+&&eOJG;>L*R&$!|_Law4YPIlI6am3Z>vmD+A9KbA$l zYHG(%rsMy5$?h}1iKo}&4B->e&lwyzS>6!jw(8|?s^)K}`q|~Q^5uLExBt>P+%ZX= z-xZwGNlk8qU9Hxo(Jo83{1gQ@#Qn5&)X7YDvor0%bLuVL!kUnz+_E!(M3TGDBYH0S yGPnkC;wpbTIo+A%%mX)exxM~S{$%fa%f0V%|Fe6v?>av_DJ+P0(kYwn*Z&Q0h_nR& literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/Keps.exe b/PG/Keps/Debug/Keps.exe new file mode 100644 index 0000000000000000000000000000000000000000..cc539b05ca61e82f88ea700fe69f72814f95de91 GIT binary patch literal 49152 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 PGz(}J&@Ax3#RC5gTpVZA literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/Keps.exe.embed.manifest b/PG/Keps/Debug/Keps.exe.embed.manifest new file mode 100644 index 0000000..4b15fbf --- /dev/null +++ b/PG/Keps/Debug/Keps.exe.embed.manifest @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/PG/Keps/Debug/Keps.exe.embed.manifest.res b/PG/Keps/Debug/Keps.exe.embed.manifest.res new file mode 100644 index 0000000000000000000000000000000000000000..7b55d19001b1a6c9becd61f77f12ffdedbbaed6d GIT binary patch literal 468 zcmZ8d!A`?43@s8DkhpV`i!+}rY6E-te zwqePN?PvS>B?y9mk#9D?PT`4toVEBh^-w|<1sCUS)A#3BHeBn9t-ztOCg*V&aRx@( zQki+qUndWplr!|gl%lc*a^3*);o#~r6NsRTs$sOiV9sl2`Y0Em1$MNO&Z3?9jCuk=2 n4SxP;CetD*?nDf63Q55SS@-`*t%`0d>{LefSKkRf%nyPsVFr%a literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/Keps.exe.intermediate.manifest b/PG/Keps/Debug/Keps.exe.intermediate.manifest new file mode 100644 index 0000000..b390755 --- /dev/null +++ b/PG/Keps/Debug/Keps.exe.intermediate.manifest @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/PG/Keps/Debug/Keps.ilk b/PG/Keps/Debug/Keps.ilk new file mode 100644 index 0000000000000000000000000000000000000000..fa5aa296ccaaf669080056c21599f62c18380c11 GIT binary patch literal 352220 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%0D=d0K%N7oD0Td<*b^$c@ncX%G#h(l&L z-qqgUDaUql@j*F)<6=CS8ds^a#^M~Ao6)x#e8cu$rd(Y%4P&I=3ZohT9 zNqSapdSE2pvyJ1P$`Ou1xRk7~7I+k^92%;@j6tP5=gyiSm^Fi7<_>%&3GTvF42E<) z_Gq~l*F2&%n|itkA8s+4?ySqn0E3?=ur%keWD+|7;ZJ~ zREa!qB=U_~gvl{%GE%k8tA@`NsL4CKQuf;B2aYm7Z*n10_{f=61xu({0%hdEl zM_a$r=r)vZER&fa#M~o=_K$#jK&TkXp;9|ECs7-9=o8_4#5to(XED$hy9{uf$pS!R z3Hme8yKw(Ch?rT7P^Si8_;`MWKiak0z{FmwDk8Inp`eHbfL(D-C%^EAm$fmud5oOy G)#?ufSR`uz literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/Keps.pdb b/PG/Keps/Debug/Keps.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7dc4c792ca5491ef741f6370a6475549b9e66802 GIT binary patch literal 330752 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

xub0&St|`pw{bX> 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 literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/keps.obj b/PG/Keps/Debug/keps.obj new file mode 100644 index 0000000000000000000000000000000000000000..761d20a4f752755364abd5082825eac3cf7791dc GIT binary patch literal 33099 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 literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/mt.dep b/PG/Keps/Debug/mt.dep new file mode 100644 index 0000000..2e73cda --- /dev/null +++ b/PG/Keps/Debug/mt.dep @@ -0,0 +1 @@ +Manifest resource last updated at 16:03:43.43 on 18/06/2026 diff --git a/PG/Keps/Debug/vc80.idb b/PG/Keps/Debug/vc80.idb new file mode 100644 index 0000000000000000000000000000000000000000..bfefffad2a1bf9839e2c3365a6c769b4e8408b36 GIT binary patch literal 52224 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�Xy%>o&N%yjC5C+;41jieYt4qk zZ~{06J18wOq*%vsJ?I|LvI!KH(mbx0(l4S6erIH=M6-lWUs)FGx&pKuM1KQoLG)Kh z-=TEA3g4}k^H<&qoww5AES<>GF)f|L(g7@;(b56zY7ia2(zz@>7}55k16Vqrr9)df zsimV=9kdv<1cXnXXN%4emGNn^DMc^UlC5J(rGu@Lt$9;l6q~-4f z;d6kR2UG&0zEQ8pe&)}Z+#ql+#W@t`I-KK(xfJJ7oQH8v#JLvdW1J^(F2r(92SsXUbuJz`(g0sRRm-BEK+ju15+>{F&=?``RDl5HeZTLByo_5`TtK&qNdc zbACr!bPoRn#%z-J?8C8q&sPJ}Ye3h67^Fv}sr5f=%8~t2kUzJ^;-*z4t%bQMcE*kW zYivL7YMyr1Ne%l?)m^ET1|l7f)SzL+HQju;Xn4h1j!Y?92|x0+AV4uY3`J4xm> zP>vh~FP}FFw|7o^AU{hGyc{b?vfN`d@}wYmkwx>6rIz55`G}9A`W&X#LnhHXj(nPd zTn?o9*9Eyt5WfxLkX8v|QJo;R^DYRaS?Iy%ahEZTcsXJdL=%*usO*30e;SpR#~$l0 zvj2dOg*~6aWaBN_;vp& z+=BK2nZ>z+79ktIg+$C=4=H3RDS1b@ptzx#WfzSLc|Uf4=RzqQ(`WMfANwa7aJ1=Y zfUN-0;DQ}z*^4yrXvm$f^}js(C2IVSr{X>7|7ZG+S3?(fD{OsmQK;Mnx+r$W&Hu}w zJL!S28P9CviZzwoZ%o`={E!An7a^5Y&qb+rSMH)vd%SZ|sF*^zC{peJIhp@MqlzcY z^zondy9LC4svIQ7|1~(i5c_{9Rt1H?R|Wy^SLROCjVJ^Z0tx|zfI>hapb$_9C(^b literal 0 HcmV?d00001 diff --git a/PG/Keps/Debug/vc80.pdb b/PG/Keps/Debug/vc80.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a4721dc38a3e4892e6a9926b99841f7ccc375602 GIT binary patch literal 61440 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 Jh`@LP{{h8c>(c-L literal 0 HcmV?d00001 diff --git a/PG/Keps/Keps.cpp b/PG/Keps/Keps.cpp new file mode 100644 index 0000000..5d78bdb --- /dev/null +++ b/PG/Keps/Keps.cpp @@ -0,0 +1,11 @@ +// Keps.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" + + +int _tmain(int argc, _TCHAR* argv[]) +{ + return 0; +} + diff --git a/PG/Keps/Keps.ncb b/PG/Keps/Keps.ncb new file mode 100644 index 0000000000000000000000000000000000000000..83b0b5c94cef115743f90ecc8f4acc1fd70c865d GIT binary patch literal 396288 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%0Ad`XhNAPOk0zu?qr4o;Ps;Pj0uo@S@G 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 literal 0 HcmV?d00001 diff --git a/PG/Keps/Keps.sln b/PG/Keps/Keps.sln new file mode 100644 index 0000000..274d457 --- /dev/null +++ b/PG/Keps/Keps.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Keps", "Keps.vcproj", "{A445DECF-B1C0-48A3-9227-E0A0C66EB0F5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A445DECF-B1C0-48A3-9227-E0A0C66EB0F5}.Debug|Win32.ActiveCfg = Debug|Win32 + {A445DECF-B1C0-48A3-9227-E0A0C66EB0F5}.Debug|Win32.Build.0 = Debug|Win32 + {A445DECF-B1C0-48A3-9227-E0A0C66EB0F5}.Release|Win32.ActiveCfg = Release|Win32 + {A445DECF-B1C0-48A3-9227-E0A0C66EB0F5}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/PG/Keps/Keps.suo b/PG/Keps/Keps.suo new file mode 100644 index 0000000000000000000000000000000000000000..cb943513e8667a21218f3c7d71179833db155b18 GIT binary patch literal 9728 zcmeI1TWpj?6vt;#6hu+(S_Lbu3fR_CE*8Afma8R25inXzN@)vaVQaS_21$&G(U>Uc zgFdM!_@D#~@%AiFqEU!1Cd3ep8ce*vgCUwo>+e68?$?iYcUwz|m$NzF%y;H?X6Bs# znfdnE(J|k=aj4*16QjG#MW(ZBq`4#_PmmW|y2_YgWc1$I)z#&M#*qD={y{5n7F{p) zdpMj_`+X@q0v-vEf-i$Fhp&J~!`kmFNihL4#=rlAru@IEkrlY#r1*81LbK3pA#FF0 zv!nUbL^HhG=VeD(>GW46pLczoxQI$mj&n6vFk;HInx%~1Om3msp0$g3;Y3ga4ozXR=a-- zwVnOrOxd$9)PArl{YXW@gio1Xzvy(eqQt;SzVLTQ?VI6hcDdfvfg(-pV>{lwja1ebZc_Xz_l%!Y(;rMD~Y3ABMi$Z49 zL4G~56mONW`QCO8{#4Oh6Kyv!=M=3J6SCpZH1JPYAZ(CNkmMw-;&H!lar_hhYmeF( zS2}OWI=V484FLai&glz(wbENyuc#$tn-JqC)SvJ&-}x(6%uTpnGJoM$=&l}ws{!@u@s~zWv);y^Bx5)8Zp?G=P}}6WI?2X6g39Nl@*TyTa%`tO z_A^F?rbrP;wd0hpEZ$CWKcSsmZ%f9RHN&?i2$!tyFq7EXV5L9aabooL6Kk!(EAK8& zJ-eEc*kKkBz-AM`v>nyBe5t7-yj7!oDe_9nXOWu+XjQOLrPL}%R!)t%{1#HXoK|zp zPV+=JXqDM*ZL<*3io7unlX3f7j_(Nzbq-wPeIaEY>(dKM2H=0XQ*80`m%n!~W;+rg zRtD+9$*>8fJD8-fKs9?J(tP}n1-HJJum45uzlMGrLCDR%=jfbQP?ly5vLR79<7?bN zJ-4;@H{GLJy8XZJ@xxiP#`>f)rg)EKe*G1Nr9-^DxA$=fbr!QUSYdJ#3#c$z#&SNv zZwD4zg~e84t&U5v(h6*}0^6O*uLdrqtP*RMjR)6VWF>Qu&ZABR_ACghz}98?dYh>e zpCkOwdZ6Nu&Y?Qje!hS9*i)Uq=Cu~OzbY-KXR0(ELs%+e`RXUxHL z)iR*tF&m{bwce=Q?1EdK|9Huv-L>Qn?*JvNt<>sA{S|VeQOf- ziE`Cfd35|b8~c*>q^p}>O9XjqkhbUOQ26UccF!EuZL#9?XPmL_rU2y{(_0+*#n}7@9J9qg0y^?Wt z2GKWYoeFb#pw2)2wg2hNOlL+>Hvh|Rd9FR*zZ1I8=$mxD_CJHV2VHY4JBf9nr;4>TaH@wPRzf1?0n~6MOWYZ^S7>R z#{BHvK&i6&YVJig4SB>pNau4QmymOsed-IOkgSD%OUUair}siLgP$we#QSuy$9Y5+atWy(M7W%XXBFCuHbY*(b-ZZCV$%k;0oOJ4Ryq~4oew%5y~-+Sbx d^9K>x5ik49%dV$L)r1?f<*WyAv{{rKkX$t@V literal 0 HcmV?d00001 diff --git a/PG/Keps/Keps.vcproj b/PG/Keps/Keps.vcproj new file mode 100644 index 0000000..d2d2e9d --- /dev/null +++ b/PG/Keps/Keps.vcproj @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PG/Keps/ReadMe.txt b/PG/Keps/ReadMe.txt new file mode 100644 index 0000000..559aab5 --- /dev/null +++ b/PG/Keps/ReadMe.txt @@ -0,0 +1,33 @@ +======================================================================== + CONSOLE APPLICATION : Keps Project Overview +======================================================================== + +AppWizard has created this Keps application for you. + +This file contains a summary of what you will find in each of the files that +make up your Keps application. + + +Keps.vcproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +Keps.cpp + This is the main application source file. + +///////////////////////////////////////////////////////////////////////////// +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named Keps.pch and a precompiled types file named StdAfx.obj. + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/PG/keps.c b/PG/keps.c new file mode 100644 index 0000000..0d3f05b --- /dev/null +++ b/PG/keps.c @@ -0,0 +1,493 @@ +/* + * SATPG.C + * + * Compile: + * gcc satpg.c -o satpg -lm + * + */ + +#include +#include +#include +#define _USE_MATH_DEFINES +#include +#include + +#define MAXSATS 256 +#define MAXNAME 64 + +#define KEPFILE "d:\keps.txt" + +typedef struct +{ + char name[MAXNAME]; + char l1[128]; + char l2[128]; + + double inc; + double mm; + +} SAT; + +SAT sats[MAXSATS]; +int satcount = 0; + +/* ------------------------------------------------ */ + +void trim(char *s) +{ + int l = strlen(s); + + while(l > 0 && + (s[l-1] == '\n' || s[l-1] == '\r')) + { + s[l-1] = 0; + l--; + } +} + +/* ------------------------------------------------ */ +void load_tles(void) +{ + FILE *fp; + char name[256]; + char l1[256]; + char l2[256]; + + int i; + int dup; + + fp = fopen(KEPFILE, "r"); + + if(!fp) + { + printf("Cannot open %s\n", KEPFILE); + exit(127); + return; + } + + while(fgets(name, sizeof(name), fp)) + { + trim(name); + + /* + * Skip blank lines + */ + + if(strlen(name) < 1) + continue; + + /* + * Ignore lines beginning with: + * 1 + * 2 + * # + */ + + if(name[0] == '1' || + name[0] == '2' || + name[0] == '#') + continue; + + /* + * Try reading TLE pair + */ + + if(!fgets(l1, sizeof(l1), fp)) + break; + + if(!fgets(l2, sizeof(l2), fp)) + break; + + trim(l1); + trim(l2); + + /* + * Validate TLE lines + */ + + if(strncmp(l1, "1 ", 2) != 0) + continue; + + if(strncmp(l2, "2 ", 2) != 0) + continue; + + /* + * Duplicate filter + */ + + dup = 0; + + for(i=0;i= MAXSATS) + break; + } + + fclose(fp); +} + +/* ------------------------------------------------ */ + +char *az_to_text(double az) +{ + if(az < 22.5) return "N"; + if(az < 67.5) return "NE"; + if(az < 112.5) return "E"; + if(az < 157.5) return "SE"; + if(az < 202.5) return "S"; + if(az < 247.5) return "SW"; + if(az < 292.5) return "W"; + if(az < 337.5) return "NW"; + + return "N"; +} + +#include + +#define DEG2RAD (M_PI / 180.0) +#define RAD2DEG (180.0 / M_PI) + +/* + * Observer location + * Mitcham UK example + */ + +#define OBS_LAT 51.40 +#define OBS_LON -0.16 + +/* + * Earth / GEO constants + */ + +#define EARTH_RADIUS 6378.137 +#define GEO_RADIUS 42164.0 + +/* + * Extract sub-satellite longitude + * + * For GEO satellites: + * longitude ≈ RAAN + Mean Anomaly + */ + +double get_geo_longitude(SAT *s) +{ + double raan; + double mean_anom; + double lon; + /* + * TLE line 2 fields: + * + * 2 NNNNN INC RAAN ECC ARGP MA MM + */ + + sscanf(s->l2, + "2 %*d %*lf %lf %*s %*lf %lf", + &raan, + &mean_anom); + + lon = raan + mean_anom; + + while(lon > 180.0) + lon -= 360.0; + + while(lon < -180.0) + lon += 360.0; + + return lon; +} + +/* + * Real GEO az/el calculation + */ + +void fake_track(SAT *s, + double *az, + double *el, + double *rng) +{ + double sat_lon = get_geo_longitude(s); + + double obs_lat = OBS_LAT * DEG2RAD; + double obs_lon = OBS_LON * DEG2RAD; + + double sat_lon_rad = sat_lon * DEG2RAD; + + /* + * GEO satellite position + */ + + double xs = GEO_RADIUS * cos(sat_lon_rad); + double ys = GEO_RADIUS * sin(sat_lon_rad); + double zs = 0.0; + + /* + * Observer position + */ + + double xo = EARTH_RADIUS * + cos(obs_lat) * + cos(obs_lon); + + double yo = EARTH_RADIUS * + cos(obs_lat) * + sin(obs_lon); + + double zo = EARTH_RADIUS * + sin(obs_lat); + + /* + * Vector observer -> satellite + */ + + double dx = xs - xo; + double dy = ys - yo; + double dz = zs - zo; + + *rng = sqrt(dx*dx + dy*dy + dz*dz); + + /* + * ENU conversion + */ + + double east = + -sin(obs_lon)*dx + + cos(obs_lon)*dy; + + double north = + -sin(obs_lat)*cos(obs_lon)*dx + -sin(obs_lat)*sin(obs_lon)*dy + +cos(obs_lat)*dz; + + double up = + cos(obs_lat)*cos(obs_lon)*dx + +cos(obs_lat)*sin(obs_lon)*dy + +sin(obs_lat)*dz; + + *az = atan2(east, north) * RAD2DEG; + + if(*az < 0) + *az += 360.0; + + *el = atan2(up, + sqrt(east*east + north*north)) + * RAD2DEG; +} + + + + +void draw_plot(double az, double el) +{ + char g[9][34]; + int r,c; + + int x,y; + + for(r=0;r<9;r++) + { + for(c=0;c<33;c++) + g[r][c] = ' '; + + g[r][33] = 0; + } + + strcpy(g[0], " N"); + strcpy(g[4], "W --------------+-------------- E"); + strcpy(g[8], " S"); + + double radius = (90.0 - el) / 90.0; + + double ang = (az - 90.0) * M_PI / 180.0; + + x = 16 + (int)(radius * 12 * cos(ang)); + y = 4 + (int)(radius * 4 * sin(ang)); + + if(x >=0 && x < 33 && y >=0 && y < 9) + g[y][x] = '*'; + + putchar('\r'); + putchar('\n'); + + for(r=0;r<9;r++) + printf("%s\r\n", g[r]); + + putchar('\r'); + putchar('\n'); +} + +/* ------------------------------------------------ */ + +void show_sat(SAT *s) +{ + double az,el,rng; + + fake_track(s, &az, &el, &rng); + + if(el > 0) + printf("%s GOOD\r\n", s->name); + else + printf("%s NOT VISIBLE\r\n", s->name); + + printf("AZ %.0f (%s)\r\n", + az, + az_to_text(az)); + + if(el > 0) + printf("EL %.0f deg\r\n", el); + else + printf("EL BELOW HORIZON\r\n"); + + printf("RNG %.0f km\r\n", rng); + + putchar('\r'); + putchar('\n'); + + + if(el > 0) + { + printf("Aim antenna: %s ", + az_to_text(az)); + + if(el < 15) + printf("low.\r\n"); + else if(el < 45) + printf("mid sky.\r\n"); + else + printf("high.\r\n"); + } + else + { + printf("Satellite below horizon.\r\n"); + } + + draw_plot(az, el); + + if(s->inc > 95 && s->inc < 100) + printf("Sun-synchronous polar LEO\r\n"); + + printf("%.2f orbits/day\r\n", s->mm); +} + +/* ------------------------------------------------ */ + +SAT *find_sat(char *s) +{ + int i; + + for(i=0;iFrom Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA May 11, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26131.02828537 -.00000034 00000-0 74901-4 0 9994 +2 07530 101.9918 143.8856 0012125 200.3561 181.7211 12.53697443355861 +UO-11 +1 14781U 84021B 26131.16982026 .00000814 00000-0 88631-4 0 9996 +2 14781 97.8036 97.1668 0006433 315.7966 44.2738 14.90694568251611 +AO-27 +1 22825U 93061C 26131.14983863 .00000053 00000-0 37296-4 0 9992 +2 22825 98.6892 198.5733 0007951 201.7057 158.3790 14.30931926701709 +FO-29 +1 24278U 96046B 26131.19510852 -.00000039 00000-0 -39487-5 0 9992 +2 24278 98.5281 345.1264 0349635 192.2765 166.9689 13.53272291468160 +GO-32 +1 25397U 98043D 26130.97598956 .00000047 00000-0 40585-4 0 9997 +2 25397 99.0063 122.7983 0001113 16.9991 343.1224 14.24421003446035 +ISS +1 25544U 98067A 26131.16675675 .00005444 00000-0 10622-3 0 9997 +2 25544 51.6310 123.3566 0007470 46.3627 313.7980 15.49181925566014 +NO-44 +1 26931U 01043C 26131.00137205 .00000080 00000-0 60839-4 0 9998 +2 26931 67.0514 340.4519 0006302 263.6567 96.3818 14.31941390285126 +SO-50 +1 27607U 02058C 26130.72927866 .00000748 00000-0 10595-3 0 9998 +2 27607 64.5524 244.8702 0075633 269.3097 89.9342 14.82966856258901 +CO-55 +1 27844U 03031E 26131.01616769 .00000204 00000-0 10731-3 0 9992 +2 27844 98.6748 140.0418 0008393 297.0013 63.0309 14.24312209186387 +RS-22 +1 27939U 03042A 26131.21083887 .00000216 00000-0 41663-4 0 9992 +2 27939 98.3476 314.5273 0011983 31.7180 78.9279 14.73399817210104 +CO-65 +1 32785U 08021C 26131.18755762 .00002730 00000-0 17633-3 0 9995 +2 32785 97.8261 111.8524 0009927 145.2461 214.9417 15.09096632979613 +CO-66 +1 32791U 08021J 26130.97235940 .00011027 00000-0 36525-3 0 9999 +2 32791 97.7530 127.1344 0005072 88.5832 271.5989 15.31474077981597 +RS-30 +1 32953U 08025A 26131.15903073 .00000054 00000-0 31835-3 0 9990 +2 32953 82.5069 18.4727 0020382 34.2439 325.9951 12.43178165815098 +SRMSAT +1 37841U 11058D 26131.13066574 .00000368 00000-0 55753-4 0 9999 +2 37841 19.9728 283.7690 0011716 156.0441 18.8473 14.11567394752571 +ZACUBE-1 +1 39417U 13066B 26131.14341808 .00003157 00000-0 24836-3 0 9994 +2 39417 97.8120 93.2797 0042131 17.8518 342.4174 15.00898646675179 +Delfi-N3xt +1 39428U 13066N 26131.02786888 .00004744 00000-0 41984-3 0 9990 +2 39428 97.8338 51.3844 0074392 331.6894 28.0292 14.94656030669079 +GOMX-1 +1 39430U 13066Q 26131.14073843 .00001400 00000-0 21676-3 0 9998 +2 39430 97.6512 333.9391 0128259 195.8918 163.8248 14.69313597664477 +LO-74 +1 39440U 13066AA 26131.14980934 .00002328 00000-0 21960-3 0 9993 +2 39440 97.8888 79.9863 0058762 148.6845 211.7896 14.93485032671463 +AO-73 +1 39444U 13066AE 26131.19361385 .00005682 00000-0 35839-3 0 9991 +2 39444 97.8258 101.8861 0035647 332.4449 27.4889 15.09004761674080 +DTUSAT-2 +1 40030U 14033W 26130.98092610 .00004624 00000-0 25480-3 0 9993 +2 40030 98.0872 126.3629 0008117 15.8774 344.2709 15.14529000647059 +LILACSAT-2 +1 40908U 15049K 26131.17016306 .00011634 00000-0 20748-3 0 9996 +2 40908 97.4702 166.6320 0007792 43.1441 317.0419 15.50216690590013 +Horyu-4 +1 41340U 16012D 26130.90637118 .00131902 00000-0 74753-3 0 9994 +2 41340 30.9896 348.4205 0005704 6.7696 353.3037 15.77528373564899 +Lapan A3 +1 41603U 16040E 26131.24557346 .00002464 00000-0 79828-4 0 9998 +2 41603 97.1491 128.6139 0011542 140.0792 220.1302 15.32870423549152 +CAS-2T +1 41847U 16066G 26131.18412439 .00000509 00000-0 81632-4 0 9996 +2 41847 98.3824 207.3390 0341016 241.7460 114.8921 14.44588827499451 +TechnoSat +1 42829U 17042E 26131.01233461 .00001411 00000-0 10409-3 0 9996 +2 42829 97.4239 290.1013 0016826 216.9132 143.0938 15.04724250481117 +AO-91 +1 43017U 17073E 26131.09060397 .00005996 00000-0 26415-3 0 9990 +2 43017 97.4765 359.0772 0154222 96.6340 265.2471 15.12032600459782 +S-Net D +1 43186U 18014G 26131.11497268 .00002740 00000-0 14474-3 0 9993 +2 43186 97.5389 36.1420 0009430 137.7075 222.4887 15.16318970453148 +S-Net B +1 43187U 18014H 26131.19169547 .00002761 00000-0 14591-3 0 9991 +2 43187 97.5394 36.2040 0010151 134.0553 226.1518 15.16289962453158 +S-Net A +1 43188U 18014J 26131.18002576 .00002596 00000-0 13728-3 0 9996 +2 43188 97.5404 36.3942 0010040 134.5870 225.6183 15.16325838453152 +S-Net C +1 43189U 18014K 26131.19537149 .00002851 00000-0 15054-3 0 9995 +2 43189 97.5421 36.4784 0011550 129.0934 231.1328 15.16281125451706 +Ten-Koh +1 43677U 18084G 26131.10435024 .00000760 00000-0 61802-4 0 9994 +2 43677 98.0772 321.9114 0008001 238.0924 121.9521 15.02773723410597 +PO-101 +1 43678U 18084H 26131.15579828 .00001902 00000-0 15692-3 0 9995 +2 43678 98.1100 325.7784 0012111 299.1757 60.8253 15.00266531410661 +QO-100 +1 43700U 18090A 26131.11564321 .00000155 00000-0 00000-0 0 9999 +2 43700 0.0033 75.2010 0001627 8.7258 212.4418 1.00273235 27300 +MinXSS-2 +1 43758U 18099A 26131.18881920 .00022285 00000-0 48164-3 0 9999 +2 43758 97.4545 206.4613 0007687 49.9798 310.2123 15.44489493408419 +AO-95 +1 43770U 18099N 26131.10130148 .00007590 00000-0 29846-3 0 9992 +2 43770 97.4408 191.5040 0010413 116.7346 243.4959 15.25898855407566 +SNUSat 2 +1 43782U 18099AA 26131.11021086 .00005455 00000-0 24677-3 0 9991 +2 43782 97.4089 185.0750 0011797 70.9847 289.2666 15.21262664407396 +SnugLite +1 43784U 18099AC 26131.11290757 .00007562 00000-0 29362-3 0 9993 +2 43784 97.3899 185.7766 0004280 76.8149 283.3567 15.26360439407668 +ITASat 1 +1 43786U 18099AE 26131.12685726 .00004158 00000-0 20392-3 0 9992 +2 43786 97.4060 183.3865 0014282 119.5348 240.7313 15.18571210407280 +EAGLET 1 +1 43790U 18099AJ 26131.07765206 .00002933 00000-0 17114-3 0 9990 +2 43790 97.4260 181.7317 0012814 112.1030 248.1562 15.12650734406726 +ESEO +1 43792U 18099AL 26131.06045373 .00001673 00000-0 12464-3 0 9990 +2 43792 97.3995 170.0352 0013322 99.6548 260.6184 15.04126416406220 +JO-97 +1 43803U 18099AX 26131.15127351 .00010391 00000-0 33361-3 0 9996 +2 43803 97.4154 193.8880 0006563 56.1584 304.0282 15.32471929407953 +Suomi 100 +1 43804U 18099AY 26131.13954280 .00007164 00000-0 26810-3 0 9999 +2 43804 97.4213 191.6912 0011151 58.7267 301.5063 15.27555792407760 +ISAT +1 43879U 18111D 26130.74947674 .00048674 00000-0 61630-3 0 9991 +2 43879 97.5895 63.2824 0008440 88.2362 271.9860 15.59311726405323 +UWE-4 +1 43880U 18111E 26131.03648958 .00020592 00000-0 45454-3 0 9994 +2 43880 97.5851 57.7861 0010721 97.9534 262.2930 15.43852796405049 +Sparrow +1 43881U 18111F 26131.08640255 .00076251 00000-0 75641-3 0 9996 +2 43881 97.6118 68.6977 0007664 110.2677 249.9406 15.65516907405556 +Prox-1 +1 44339U 19036A 26130.95960472 .00008466 00000-0 83345-3 0 9996 +2 44339 23.9966 2.7467 0006462 323.1483 36.8572 14.89731402367914 +Taurus 1 +1 44530U 19059C 26131.19338833 .00002738 00000-0 44797-3 0 9995 +2 44530 98.6391 293.7450 0009485 73.1672 287.0573 14.71688993353207 +TO-108 +1 44881U 19093C 26131.15656832 .00000724 00000-0 87928-4 0 9997 +2 44881 97.7533 204.2903 0012857 203.2455 156.8181 14.86457625345915 +RS-44 +1 44909U 19096E 26131.10347560 .00000010 00000-0 -10444-5 0 9990 +2 44909 82.5243 4.3509 0216605 230.9343 127.2311 12.79748087297601 +SALSAT +1 46495U 20068K 26130.98568909 .00005135 00000-0 18361-3 0 9996 +2 46495 97.8863 131.8035 0011580 76.8104 283.4426 15.29246502309673 +CSS (TIANHE-1) +1 48274U 21035A 26131.17664318 .00014757 00000-0 16684-3 0 9997 +2 48274 41.4670 187.1184 0004323 286.6334 73.4031 15.62137381287386 +CUTE +1 49263U 21088D 26131.19481488 .00135544 00000-0 78838-3 0 9998 +2 49263 97.4193 227.3703 0001335 277.9495 82.1620 15.78091657256694 +TeikyoSat 4 +1 49396U 21102B 26131.06353934 .00000998 00000-0 66173-4 0 9996 +2 49396 97.3700 161.9887 0013588 64.8246 295.4391 15.09373351247120 +Z-Sat +1 49399U 21102E 26131.15472941 .00002509 00000-0 12629-3 0 9995 +2 49399 97.3360 167.6038 0017235 22.6619 337.5373 15.17981670247828 +KOSEN 1 +1 49402U 21102H 26131.04088000 .00004594 00000-0 17937-3 0 9990 +2 49402 97.3222 173.9286 0012998 346.2844 13.8039 15.26320628248353 +HO-113 +1 50466U 21131B 26131.19252443 .00000212 00000-0 79252-4 0 9996 +2 50466 98.4951 223.7863 0003730 192.3468 167.7630 14.41321109229780 +SNUGLITE 2 +1 52899U 22065F 26131.13163480 .00000636 00000-0 12980-3 0 9995 +2 52899 98.2152 276.0399 0008471 134.2292 225.9607 14.64276471205573 +UmKA 1 (RS40S) +1 57172U 23091G 26131.17665898 .00003876 00000-0 18088-3 0 9992 +2 57172 97.5075 190.0238 0011429 244.8930 115.1119 15.20390618158386 +CubeBel-2 (EU11S) +1 57175U 23091K 26131.20005564 .00007318 00000-0 26808-3 0 9991 +2 57175 97.5073 194.1091 0008792 239.5277 120.5094 15.28283727158655 +RS-38S +1 57189U 23091Z 26131.19498866 .00010571 00000-0 31497-3 0 9990 +2 57189 97.5109 199.9714 0007487 190.9899 169.1182 15.34845194159012 +SONATE-2 +1 59112U 24043Q 26131.12679378 .00026625 00000-0 38211-3 0 9996 +2 59112 97.5494 279.3411 0006062 339.5693 20.5318 15.56091583122127 +GRBBeta +1 60237U 24128C 26130.91713484 .00002522 00000-0 18156-3 0 9999 +2 60237 61.9910 346.9978 0045504 126.9629 233.5644 15.06330418100655 +Curium One +1 60242U 24128H 26131.14068698 .00005464 00000-0 32270-3 0 9992 +2 60242 61.9799 336.9263 0045175 123.1924 237.3516 15.11910084100854 +ROBUSTA-3A +1 60243U 24128J 26131.15129132 .00004784 00000-0 29043-3 0 9993 +2 60243 61.9875 339.1574 0046325 120.7932 239.7735 15.11089418100824 +CatSat +1 60246U 24125J 26130.65834471 .00032801 00000-0 48984-3 0 9992 +2 60246 97.2134 342.7865 0021671 323.1152 36.8611 15.54702145101556 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26131.18910102 .00070537 00000-0 64140-3 0 9993 +2 61772 97.2951 9.2799 0007750 68.0159 292.1925 15.67708392128865 +AO-123 +1 61781U 24199AY 26131.14701627 .00005061 00000-0 15024-3 0 9996 +2 61781 97.3054 0.1577 0015895 83.3073 276.9979 15.35126490128247 +JINJUSat 1B +1 63210U 25052A 26131.13283679 .00010563 00000-0 34056-3 0 9994 +2 63210 97.4039 27.8649 0002743 176.6079 183.5182 15.32348291 64426 +NUSHSAT 1 +1 63211U 25052B 26131.16717502 .00012102 00000-0 36395-3 0 9994 +2 63211 97.4020 28.3464 0002418 174.1836 185.9435 15.34531535 64469 +TEVEL2-4 +1 63213U 25052D 26131.19399235 .00011427 00000-0 35724-3 0 9992 +2 63213 97.3944 27.5551 0001369 179.2477 180.8768 15.33315562 64444 +TEVEL2-5 +1 63214U 25052E 26130.94950516 .00010812 00000-0 33989-3 0 9998 +2 63214 97.3942 27.2685 0001337 177.4534 182.6716 15.33154657 64402 +TEVEL2-6 +1 63215U 25052F 26130.69985694 .00010998 00000-0 34614-3 0 9997 +2 63215 97.3944 27.0038 0001361 185.8938 174.2288 15.33112431 64363 +TEVEL2-1 +1 63217U 25052H 26131.17351758 .00010799 00000-0 34505-3 0 9999 +2 63217 97.3915 27.1439 0000874 207.6246 152.4950 15.32634673 64429 +TEVEL2-3 +1 63218U 25052J 26131.16939257 .00010761 00000-0 34333-3 0 9993 +2 63218 97.3918 27.1573 0000842 209.9970 150.1224 15.32682225 64421 +TEVEL2-2 +1 63219U 25052K 26131.17400360 .00011085 00000-0 35402-3 0 9991 +2 63219 97.3917 27.1462 0000871 212.1904 147.9285 15.32641148 64423 +TEVEL2-9 +1 63237U 25052AD 26130.64737083 .00010342 00000-0 35029-3 0 9997 +2 63237 97.3979 26.0735 0004018 277.0962 82.9822 15.30756771 64289 +TEVEL2-7 +1 63238U 25052AE 26131.20450175 .00009633 00000-0 32908-3 0 9999 +2 63238 97.3983 26.5593 0004126 273.8598 86.2171 15.30500428 64360 +TEVEL2-8 +1 63239U 25052AF 26130.95081800 .00009476 00000-0 32399-3 0 9995 +2 63239 97.3982 26.2849 0004099 276.5700 83.5075 15.30477477 64321 +HYDRA-W +1 63490U 25052BL 26113.93882235 .05662091 24406-5 29537-2 0 9997 +2 63490 97.3690 18.2798 0008685 203.5899 156.4993 16.20186780 62336 +HADES-ICM (SO-125) +1 63492U 25052BN 26130.71186245 .00582006 13575-3 17880-2 0 9995 +2 63492 97.3752 34.6178 0008453 168.0198 192.1279 15.91770935 64874 +SPIRONE +1 66657U 25274H 26131.20400206 .00001421 00000-0 14060-3 0 9999 +2 66657 97.7477 61.0302 0013275 132.2234 228.0115 14.93390226 24701 +K-HERO +1 66660U 25274L 26130.75014592 .00001609 00000-0 15676-3 0 9993 +2 66660 97.7484 60.7163 0015020 138.3573 221.8794 14.93816999 24644 +SNUGLITE-III DURI +1 66661U 25274M 26130.80610814 .00001200 00000-0 11812-3 0 9994 +2 66661 97.7479 60.7906 0015607 139.4574 220.7812 14.93870292 24654 +SilverSat +1 66909U 98067XV 26113.44966717 .07226154 12288-4 11979-2 0 9998 +2 66909 51.6027 190.0749 0007952 333.4666 26.5949 16.32457272 22308 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26130.68176839 .00006594 00000-0 27315-3 0 9993 +2 67290 97.3936 206.2042 0010846 124.8732 235.3527 15.24193958 20269 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26131.15979301 .00009386 00000-0 37484-3 0 9992 +2 67291 97.3937 206.7831 0010564 123.0824 237.1430 15.25307641 20341 +Ten-Koh2 +1 68261U 25241B 26131.02320169 .00004301 00000-0 19201-3 0 9997 +2 68261 51.6530 136.4472 0006189 27.6825 332.4482 15.23411345 9246 +JACK-002 +1 68417U 26067B 26130.87978863 .00004513 00000-0 21937-3 0 9993 +2 68417 97.4540 89.9518 0003823 70.3588 289.8059 15.18925136 6282 +DISCO 2 +1 68431U 26067R 26131.15543764 .00004682 00000-0 23006-3 0 9995 +2 68431 97.4579 90.2163 0004201 108.4262 251.7429 15.18527090 6325 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26130.85561726 .00010054 00000-0 49990-3 0 9995 +2 68446 97.4386 89.7549 0006654 183.6763 176.4423 15.17813078 6266 +PARUS-6U1 +1 68456U 26067AS 26130.86167129 .00003315 00000-0 17050-3 0 9990 +2 68456 97.4528 89.8177 0005599 173.6121 186.5185 15.17124485 6272 +SAL-E +1 68458U 26067AU 26131.12495887 .00004338 00000-0 22143-3 0 9992 +2 68458 97.4453 90.0397 0005556 181.6692 178.4524 15.17227047 6314 +FSI-SAT 2 +1 68792U 26088A 26131.16059718 .00003319 00000-0 22821-3 0 9990 +2 68792 97.5023 281.3688 0013603 230.4942 129.5084 15.06525503 2714 +OrigamiSat 2 +1 68795U 26088D 26131.14301078 .00002157 00000-0 14396-3 0 9997 +2 68795 97.5033 281.3946 0015254 201.8928 158.1650 15.07988141 2714 +ARICA 2 +1 68796U 26088E 26131.20807513 .00002756 00000-0 18220-3 0 9995 +2 68796 97.5018 281.4561 0015325 199.9200 160.1431 15.08113805 2720 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26131.14104507 .00003803 00000-0 24928-3 0 9998 +2 68797 97.5017 281.3920 0015280 199.8384 160.2253 15.08201180 2716 +MANGARO-II-Piscus +1 68798U 26088G 26131.13703227 .00002346 00000-0 15388-3 0 9993 +2 68798 97.5024 281.3998 0018610 203.9200 156.1166 15.08499209 2712 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 + +/EX +SB KEPS @ WW < CX2SA $ORB26121.1 +2Line Orbital Elements 26121.AMSAT +R:260511/0338Z 4228@GB7BWR.#45.GBR.EURO LinBPQ6.0.25 +R:260511/0319Z 9146@GB7BEX.#38.GBR.EURO LinBPQ6.0.25 +R:260511/0258Z 53957@EI2GYB.DGL.IRL.EURO LinBPQ6.0.25 +R:260508/0137Z 25437@CT1EBQ.CTLX.PRT.EU LinBPQ6.0.25 +R:260508/0039Z 1768@K4WOF.FL.USA.NOAM LinBPQ6.0.24 +R:260508/0029Z 49569@KD4WLE.#SFL.FL.USA.NOAM LinBPQ6.0.23 +R:260508/0029Z 30999@N2MH4.#SENC.NC.USA.NOAM LinBPQ6.0.24 +R:260508/0028Z 4114@N3HYM.#FRDK.MD.USA.NOAM BPQ6.0.25 +R:260508/0024Z @:CX2SA.SAL.URY.SOAM #:64816 [Salto] FBB7.00e $:ORB26121.1 + +From: CX2SA@CX2SA.SAL.URY.SOAM +To : KEPS@AMSAT + + +QST de W1STR + +AMSAT Orbital Elements for Amateur Satellites in TLE Format +>From Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA May 01, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26120.59626755 -.00000031 00000-0 96085-4 0 9996 +2 07530 101.9926 133.3432 0011994 220.6153 258.4322 12.53697390354550 +UO-11 +1 14781U 84021B 26120.63125062 .00001359 00000-0 14431-3 0 9996 +2 14781 97.8024 86.7520 0007351 353.7891 6.3235 14.90668042250043 +AO-27 +1 22825U 93061C 26120.59124487 .00000109 00000-0 58602-4 0 9994 +2 22825 98.6901 188.0163 0007443 235.3832 124.6649 14.30928987700195 +FO-29 +1 24278U 96046B 26120.47426956 .00000013 00000-0 50669-4 0 9996 +2 24278 98.5296 335.8670 0349180 220.1294 137.3578 13.53271984466712 +GO-32 +1 25397U 98043D 26120.43948020 .00000063 00000-0 47326-4 0 9996 +2 25397 99.0062 111.9975 0001611 35.8621 324.2665 14.24418789444537 +ISS +1 25544U 98067A 26120.52250176 .00006189 00000-0 12023-3 0 9994 +2 25544 51.6315 176.0292 0007158 7.8188 352.2911 15.49033593564362 +NO-44 +1 26931U 01043C 26120.38474986 .00000155 00000-0 88631-4 0 9990 +2 26931 67.0526 7.9102 0006454 264.0053 96.0313 14.31937124283603 +SO-50 +1 27607U 02058C 26120.61380811 .00001265 00000-0 16633-3 0 9992 +2 27607 64.5517 276.1629 0075618 271.1171 88.1272 14.82940590257400 +CO-55 +1 27844U 03031E 26120.61928520 .00000312 00000-0 15395-3 0 9998 +2 27844 98.6753 129.7745 0008876 330.4565 29.6111 14.24305462184908 +RS-22 +1 27939U 03042A 26120.61250030 .00000739 00000-0 12220-3 0 9996 +2 27939 98.3465 303.6310 0012451 62.4503 25.9615 14.73379983208547 +CO-65 +1 32785U 08021C 26120.57822720 .00004835 00000-0 30988-3 0 9991 +2 32785 97.8249 101.0318 0008844 179.6083 180.5154 15.08992068978015 +CO-66 +1 32791U 08021J 26120.45175439 .00020092 00000-0 67012-3 0 9994 +2 32791 97.7523 116.1352 0005105 108.3124 251.8672 15.31103491979987 +RS-30 +1 32953U 08025A 26120.53591584 .00000028 00000-0 12623-3 0 9995 +2 32953 82.5081 25.0777 0020601 56.2206 304.0833 12.43177720813777 +SRMSAT +1 37841U 11058D 26120.64063082 .00000431 00000-0 90343-4 0 9999 +2 37841 19.9736 347.2598 0011744 41.3226 351.6382 14.11564464751099 +ZACUBE-1 +1 39417U 13066B 26120.40955899 .00005584 00000-0 43585-3 0 9990 +2 39417 97.8125 82.4893 0043675 53.2749 307.2473 15.00793807673560 +Delfi-N3xt +1 39428U 13066N 26120.51689157 .00009440 00000-0 83129-3 0 9998 +2 39428 97.8353 40.8915 0075595 6.9012 353.3230 14.94487301667503 +GOMX-1 +1 39430U 13066Q 26120.51682591 .00001486 00000-0 23032-3 0 9995 +2 39430 97.6519 323.9831 0127688 230.2625 128.7276 14.69275071662918 +LO-74 +1 39440U 13066AA 26120.42970364 .00002755 00000-0 25964-3 0 9990 +2 39440 97.8881 69.2303 0057709 184.2052 175.8690 14.93419487669867 +AO-73 +1 39444U 13066AE 26120.45083755 .00009895 00000-0 62276-3 0 9995 +2 39444 97.8252 90.9324 0037047 9.4409 350.7507 15.08828815672461 +DTUSAT-2 +1 40030U 14033W 26120.47559618 .00007927 00000-0 43552-3 0 9991 +2 40030 98.0858 115.2001 0009109 47.4202 312.7795 15.14375567645468 +LILACSAT-2 +1 40908U 15049K 26120.58300029 .00017927 00000-0 32241-3 0 9999 +2 40908 97.4716 155.6566 0008657 73.9776 286.2428 15.49864518588370 +Horyu-4 +1 41340U 16012D 26120.52098681 .00145472 00000-0 94490-3 0 9994 +2 41340 30.9895 62.4942 0006347 279.9281 80.0658 15.74401799563258 +Lapan A3 +1 41603U 16040E 26120.60475993 .00003919 00000-0 12595-3 0 9996 +2 41603 97.1486 118.3273 0010337 175.3397 184.7944 15.32791975547524 +CAS-2T +1 41847U 16066G 26120.44803345 .00000652 00000-0 10193-3 0 9995 +2 41847 98.3830 196.7230 0340924 274.4340 81.7982 14.44572896497905 +TechnoSat +1 42829U 17042E 26120.50527841 .00003377 00000-0 24373-3 0 9994 +2 42829 97.4236 280.0028 0016074 254.9274 105.0174 15.04665469479531 +AO-91 +1 43017U 17073E 26120.56760982 .00009642 00000-0 42505-3 0 9997 +2 43017 97.4776 348.7762 0154191 132.5723 228.8640 15.11842589458199 +S-Net D +1 43186U 18014G 26120.62208442 .00005397 00000-0 28254-3 0 9993 +2 43186 97.5403 25.7182 0008374 171.0906 189.0477 15.16218583451559 +S-Net B +1 43187U 18014H 26120.30262479 .00005079 00000-0 26629-3 0 9990 +2 43187 97.5408 25.3861 0009103 168.5071 191.6371 15.16186010451506 +S-Net A +1 43188U 18014J 26120.62119372 .00005622 00000-0 29407-3 0 9990 +2 43188 97.5417 25.9026 0009011 168.1712 191.9734 15.16225280451556 +S-Net C +1 43189U 18014K 26120.30623640 .00004941 00000-0 25913-3 0 9995 +2 43189 97.5435 25.6569 0010559 163.4871 196.6708 15.16177368450059 +Ten-Koh +1 43677U 18084G 26120.51726923 .00002211 00000-0 17038-3 0 9992 +2 43677 98.0790 310.8788 0007393 279.4851 80.5537 15.02737140409006 +PO-101 +1 43678U 18084H 26120.61768073 .00002281 00000-0 18741-3 0 9995 +2 43678 98.1069 314.7988 0012905 334.2272 25.8306 15.00213077409084 +QO-100 +1 43700U 18090A 26120.49191795 .00000147 00000-0 00000-0 0 9990 +2 43700 0.0137 266.9736 0001700 165.7205 348.6817 1.00277015 27199 +MinXSS-2 +1 43758U 18099A 26120.17251933 .00037732 00000-0 83193-3 0 9995 +2 43758 97.4564 195.1661 0008699 86.6211 273.6032 15.43781740406710 +AO-95 +1 43770U 18099N 26120.14912640 .00011872 00000-0 46841-3 0 9991 +2 43770 97.4423 180.6034 0009975 149.6725 210.5092 15.25656511405890 +SNUSat 2 +1 43782U 18099AA 26120.58539330 .00008411 00000-0 38053-3 0 9994 +2 43782 97.4102 174.7178 0012112 102.8902 257.3688 15.21092225405796 +SnugLite +1 43784U 18099AC 26120.62301173 .00012502 00000-0 48672-3 0 9997 +2 43784 97.3910 175.3995 0004544 100.4524 259.7227 15.26124840406062 +ITASat 1 +1 43786U 18099AE 26120.58347617 .00006702 00000-0 32799-3 0 9995 +2 43786 97.4069 173.0576 0013689 152.7861 207.4093 15.18431286405688 +EAGLET 1 +1 43790U 18099AJ 26120.55936735 .00004708 00000-0 27311-3 0 9990 +2 43790 97.4273 171.4926 0012265 144.7087 215.4959 15.12566969405132 +ESEO +1 43792U 18099AL 26120.61579705 .00001029 00000-0 78379-4 0 9993 +2 43792 97.4011 160.0364 0013386 130.1813 230.0587 15.04094766404653 +JO-97 +1 43803U 18099AX 26120.44163872 .00018306 00000-0 59148-3 0 9999 +2 43803 97.4165 183.1590 0007243 87.0718 273.1353 15.32125843406318 +Suomi 100 +1 43804U 18099AY 26120.13373230 .00012858 00000-0 48218-3 0 9999 +2 43804 97.4227 180.7383 0011754 92.7798 267.4787 15.27309788406081 +ISAT +1 43879U 18111D 26120.34894173 .00079102 00000-0 10536-2 0 9999 +2 43879 97.5909 52.1910 0008783 107.0035 253.2183 15.57836101403707 +UWE-4 +1 43880U 18111E 26120.27520350 .00033104 00000-0 74416-3 0 9996 +2 43880 97.5865 46.5727 0010273 127.1071 233.1116 15.43217639403384 +Sparrow +1 43881U 18111F 26120.59753454 .00099918 00000-0 10698-2 0 9991 +2 43881 97.6130 57.3785 0007214 124.0858 236.1086 15.63499996403913 +Prox-1 +1 44339U 19036A 26120.10770695 .00015990 00000-0 16095-2 0 9995 +2 44339 23.9953 75.1193 0006557 194.7556 165.2752 14.89453634366293 +Taurus 1 +1 44530U 19059C 26120.51868634 .00006853 00000-0 11100-2 0 9999 +2 44530 98.6370 282.4197 0009795 103.7836 256.4460 14.71565351351635 +TO-108 +1 44881U 19093C 26120.52066606 .00000444 00000-0 56246-4 0 9998 +2 44881 97.7552 193.9138 0012137 241.5791 118.4202 14.86439991344338 +RS-44 +1 44909U 19096E 26120.62724622 .00000020 00000-0 41717-4 0 9999 +2 44909 82.5258 11.3107 0216386 255.5417 102.1587 12.79747949296264 +SALSAT +1 46495U 20068K 26120.45042489 .00008489 00000-0 30299-3 0 9996 +2 46495 97.8854 120.6367 0011665 107.7663 252.4849 15.29083608308068 +CSS (TIANHE-1) +1 48274U 21035A 26120.31498218 .00029313 00000-0 31348-3 0 9993 +2 48274 41.4672 253.4465 0006644 301.0493 58.9694 15.63205886285684 +CUTE +1 49263U 21088D 26120.53091714 .00069674 00000-0 46542-3 0 9990 +2 49263 97.4199 215.9528 0000987 140.2514 219.8823 15.75129279255012 +TeikyoSat 4 +1 49396U 21102B 26120.58887221 .00001607 00000-0 10437-3 0 9991 +2 49396 97.3707 151.9191 0013791 96.7285 263.5514 15.09333694245540 +Z-Sat +1 49399U 21102E 26120.60743559 .00003184 00000-0 15971-3 0 9992 +2 49399 97.3371 157.3769 0018284 57.0424 303.2565 15.17894011246226 +KOSEN 1 +1 49402U 21102H 26120.35427331 .00007974 00000-0 31043-3 0 9995 +2 49402 97.3231 163.4537 0014218 24.4601 335.7309 15.26167390246729 +HO-113 +1 50466U 21131B 26120.64050645 .00000611 00000-0 20260-3 0 9991 +2 50466 98.4957 213.2950 0003091 229.5193 130.5727 14.41311187228267 +SNUGLITE 2 +1 52899U 22065F 26120.40315336 .00001130 00000-0 22348-3 0 9991 +2 52899 98.2133 265.3385 0007852 164.8498 195.2941 14.64255007204006 +UmKA 1 (RS40S) +1 57172U 23091G 26120.58016625 .00006350 00000-0 29519-3 0 9994 +2 57172 97.5088 179.4714 0011251 287.0872 72.9131 15.20274303156774 +CubeBel-2 (EU11S) +1 57175U 23091K 26120.52691763 .00013004 00000-0 47745-3 0 9998 +2 57175 97.5087 183.3529 0008427 283.7278 76.3023 15.28041078157024 +RS-38S +1 57189U 23091Z 26120.63236377 .00016695 00000-0 50090-3 0 9997 +2 57189 97.5120 189.2157 0006493 229.9986 130.0687 15.34517994157394 +SONATE-2 +1 59112U 24043Q 26120.38537620 .00040443 00000-0 59507-3 0 9990 +2 59112 97.5479 267.9964 0006534 23.0616 337.0930 15.55323705120453 +GRBBeta +1 60237U 24128C 26120.16300868 .00004275 00000-0 29747-3 0 9998 +2 60237 61.9921 24.7077 0046692 124.5499 236.0014 15.06246315 99036 +Curium One +1 60242U 24128H 26120.29369250 .00008622 00000-0 50299-3 0 9994 +2 60242 61.9807 15.3042 0046210 121.0787 239.4856 15.11735121 99216 +ROBUSTA-3A +1 60243U 24128J 26120.43079215 .00008504 00000-0 50698-3 0 9992 +2 60243 61.9886 17.0301 0047317 118.5531 242.0339 15.10923460 99207 +CatSat +1 60246U 24125J 26120.61478375 .00050071 00000-0 77163-3 0 9994 +2 60246 97.2135 332.6735 0023070 2.7620 357.3757 15.53715587 99995 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26120.58751286 .00086956 00000-0 84989-3 0 9996 +2 61772 97.2978 358.2776 0009065 96.0705 264.1588 15.65839180127204 +AO-123 +1 61781U 24199AY 26120.58680085 .00008300 00000-0 24609-3 0 9994 +2 61781 97.3069 349.6955 0015733 116.8757 243.4097 15.34966487126623 +JINJUSat 1B +1 63210U 25052A 26120.22642149 .00017291 00000-0 56137-3 0 9992 +2 63210 97.4060 16.9607 0001350 231.0785 129.0337 15.32008456 62753 +NUSHSAT 1 +1 63211U 25052B 26120.60214753 .00021160 00000-0 64215-3 0 9997 +2 63211 97.4041 17.7521 0001015 230.4217 129.6936 15.34123011 62846 +TEVEL2-4 +1 63213U 25052D 26120.62070811 .00018444 00000-0 58131-3 0 9997 +2 63213 97.3962 16.9829 0000347 316.1175 44.0040 15.32945027 62824 +TEVEL2-5 +1 63214U 25052E 26120.44039566 .00019688 00000-0 62327-3 0 9993 +2 63214 97.3960 16.7632 0000428 311.7824 48.3381 15.32791045 62795 +TEVEL2-6 +1 63215U 25052F 26120.64742009 .00019145 00000-0 60679-3 0 9995 +2 63215 97.3962 16.9554 0000497 308.8887 51.2311 15.32759360 62829 +TEVEL2-1 +1 63217U 25052H 26120.46497484 .00019231 00000-0 61874-3 0 9995 +2 63217 97.3936 16.4513 0001070 345.5359 14.5852 15.32275390 62785 +TEVEL2-3 +1 63218U 25052J 26120.65708406 .00018565 00000-0 59650-3 0 9994 +2 63218 97.3940 16.6597 0001080 343.6471 16.4736 15.32327642 62814 +TEVEL2-2 +1 63219U 25052K 26120.66141397 .00018724 00000-0 60232-3 0 9991 +2 63219 97.3937 16.6490 0001079 344.9311 15.1898 15.32287401 62811 +TEVEL2-9 +1 63237U 25052AD 26120.44881295 .00017886 00000-0 60935-3 0 9993 +2 63237 97.4000 15.9099 0004769 328.4859 31.6096 15.30434540 62722 +TEVEL2-7 +1 63238U 25052AE 26120.21958078 .00016618 00000-0 57106-3 0 9991 +2 63238 97.4003 15.6165 0004923 329.3629 30.7323 15.30168799 62682 +TEVEL2-8 +1 63239U 25052AF 26120.61966130 .00016204 00000-0 55704-3 0 9997 +2 63239 97.3999 15.9936 0004839 329.1455 30.9500 15.30162602 62749 +HYDRA-W +1 63490U 25052BL 26113.93882235 .05662091 24406-5 29537-2 0 9997 +2 63490 97.3690 18.2798 0008685 203.5899 156.4993 16.20186780 62336 +HADES-ICM (SO-125) +1 63492U 25052BN 26120.17329350 .00491395 00000-0 25041-2 0 9994 +2 63492 97.3820 23.2455 0004471 153.3500 206.7998 15.80099034 63200 +SPIRONE +1 66657U 25274H 26120.34934002 .00002844 00000-0 27630-3 0 9995 +2 66657 97.7475 50.3354 0012444 165.8106 194.3466 14.93345709 23084 +K-HERO +1 66660U 25274L 26120.36747734 .00002099 00000-0 20302-3 0 9996 +2 66660 97.7485 50.4787 0014087 171.0409 189.1065 14.93779785 23093 +SNUGLITE-III DURI +1 66661U 25274M 26120.35685624 .00002143 00000-0 20688-3 0 9992 +2 66661 97.7479 50.4870 0014695 172.7075 187.4361 14.93838391 23091 +SilverSat +1 66909U 98067XV 26113.44966717 .07226154 12288-4 11979-2 0 9998 +2 66909 51.6027 190.0749 0007952 333.4666 26.5949 16.32457272 22308 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26120.43968107 .00010040 00000-0 41674-3 0 9997 +2 67290 97.3951 196.1010 0010296 156.8142 203.3562 15.23992200 18703 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26120.20320033 .00015023 00000-0 60321-3 0 9999 +2 67291 97.3951 195.9575 0010147 156.6625 203.5076 15.25010223 18672 +Ten-Koh2 +1 68261U 25241B 26120.39561297 .00006717 00000-0 29306-3 0 9994 +2 68261 51.6489 187.0004 0005788 350.6255 9.4613 15.23280865 7620 +JACK-002 +1 68417U 26067B 26120.60240878 .00006891 00000-0 33446-3 0 9990 +2 68417 97.4536 79.8143 0004160 88.1169 272.0541 15.18786870 4723 +DISCO 2 +1 68431U 26067R 26120.61171038 .00009311 00000-0 45617-3 0 9991 +2 68431 97.4573 79.8175 0003643 127.1484 233.0084 15.18362870 4723 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26120.57008563 .00020045 00000-0 10023-2 0 9993 +2 68446 97.4381 79.6489 0005169 226.6246 133.4558 15.17460741 4700 +PARUS-6U1 +1 68456U 26067AS 26120.57217281 .00006302 00000-0 32207-3 0 9992 +2 68456 97.4522 79.6979 0004404 212.8364 147.2597 15.17010219 4719 +SAL-E +1 68458U 26067AU 26120.57221831 .00008539 00000-0 43438-3 0 9992 +2 68458 97.4447 79.6698 0004323 225.0140 135.0744 15.17068978 4717 +FSI-SAT 2 +1 68792U 26088A 26115.68414791 .00000849 00000-0 61705-4 0 9995 +2 68792 97.4990 266.2992 0012809 287.5176 72.4651 15.06389719 389 +OrigamiSat 2 +1 68795U 26088D 26113.82356135 .00001590 00000-0 10758-3 0 9994 +2 68795 97.5008 264.4888 0014430 266.4157 93.5420 15.07861282 103 +ARICA 2 +1 68796U 26088E 26113.82352201 .00001593 00000-0 10752-3 0 9992 +2 68796 97.4989 264.4863 0014541 264.6248 95.3321 15.07951070 103 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26113.82350997 .00001596 00000-0 10767-3 0 9992 +2 68797 97.5012 264.4822 0014814 262.4592 97.4954 15.07975758 102 +MANGARO-II-Piscus +1 68798U 26088G 26113.82334568 .00001591 00000-0 10611-3 0 9992 +2 68798 97.4999 264.4888 0017891 266.9056 93.0125 15.08353756 101 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 + + +/EX +SB KEPS @ AMSAT < CX2SA $ORB26135.1 +2Line Orbital Elements 26135.AMSAT +R:260522/0052Z 4549@GB7BWR.#45.GBR.EURO LinBPQ6.0.25 +R:260522/0035Z 9490@GB7BEX.#38.GBR.EURO LinBPQ6.0.25 +R:260522/0030Z 54405@EI2GYB.DGL.IRL.EURO LinBPQ6.0.25 +R:260522/0026Z 43865@PY2BIL.SP.BRA.SOAM LinBPQ6.0.25 +R:260522/0025Z @:PI8ZTM.#ZH1.NLD.EURO #:54808 [Den Haag] $:ORB26135.1 +R:260522/0024Z @:CX2SA.SAL.URY.SOAM #:65323 [Salto] FBB7.00e $:ORB26135.1 + +From: CX2SA@CX2SA.SAL.URY.SOAM +To : KEPS@AMSAT + + +QST de W1STR + +AMSAT Orbital Elements for Amateur Satellites in TLE Format +>From Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA May 15, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26133.98839295 -.00000029 00000-0 11198-3 0 9996 +2 07530 101.9916 146.8769 0012162 194.6235 221.6905 12.53697521356232 +UO-11 +1 14781U 84021B 26133.45203940 .00000849 00000-0 92245-4 0 9995 +2 14781 97.8037 99.4225 0006305 306.6451 53.4187 14.90698287251951 +AO-27 +1 22825U 93061C 26134.15658796 .00000052 00000-0 36628-4 0 9997 +2 22825 98.6891 201.5796 0008118 192.5267 167.5715 14.30932491702133 +FO-29 +1 24278U 96046B 26134.30046802 -.00000004 00000-0 30803-4 0 9990 +2 24278 98.5276 347.8080 0349782 184.2162 175.6010 13.53272399468584 +GO-32 +1 25397U 98043D 26133.50474968 .00000028 00000-0 32496-4 0 9996 +2 25397 99.0065 125.3907 0000980 12.1123 348.0079 14.24421378446394 +ISS +1 25544U 98067A 26134.19858747 .00005122 00000-0 10032-3 0 9994 +2 25544 51.6312 108.3512 0007536 56.9254 303.2457 15.49211692566485 +NO-44 +1 26931U 01043C 26133.93490749 .00000059 00000-0 52955-4 0 9993 +2 26931 67.0511 332.8642 0006272 263.6520 96.3868 14.31942229285543 +SO-50 +1 27607U 02058C 26134.23594171 .00000640 00000-0 93285-4 0 9996 +2 27607 64.5522 234.0223 0075638 268.6719 90.5721 14.82972548259428 +CO-55 +1 27844U 03031E 26134.31787272 .00000206 00000-0 10816-3 0 9992 +2 27844 98.6747 143.3023 0008318 286.1175 73.9088 14.24313873186853 +RS-22 +1 27939U 03042A 26134.33663374 .00000002 00000-0 86089-5 0 9998 +2 27939 98.3472 317.7414 0011794 22.4638 98.2678 14.73402987210568 +CO-65 +1 32785U 08021C 26134.23763764 .00003466 00000-0 22257-3 0 9990 +2 32785 97.8259 114.9634 0010094 136.5210 223.6816 15.09113918980077 +CO-66 +1 32791U 08021J 26133.97786064 .00012151 00000-0 40134-3 0 9990 +2 32791 97.7520 130.2774 0004981 82.4291 277.7515 15.31540490982056 +RS-30 +1 32953U 08025A 26134.29767731 .00000034 00000-0 17279-3 0 9991 +2 32953 82.5074 16.5212 0020288 27.6935 332.5221 12.43177971815485 +SRMSAT +1 37841U 11058D 26134.09968181 .00000362 00000-0 52346-4 0 9991 +2 37841 19.9722 265.7987 0011653 188.7625 346.2641 14.11567924752990 +ZACUBE-1 +1 39417U 13066B 26134.14345633 .00003059 00000-0 24077-3 0 9995 +2 39417 97.8119 96.2956 0041717 7.6658 352.5194 15.00915790675622 +Delfi-N3xt +1 39428U 13066N 26134.30818915 .00004810 00000-0 42554-3 0 9999 +2 39428 97.8346 54.6598 0073953 320.6626 38.9235 14.94684418669565 +GOMX-1 +1 39430U 13066Q 26134.27339645 .00001039 00000-0 16277-3 0 9999 +2 39430 97.6514 336.8752 0128534 185.7789 174.1943 14.69319713664936 +LO-74 +1 39440U 13066AA 26134.29875776 .00001615 00000-0 15402-3 0 9991 +2 39440 97.8892 83.1463 0058903 138.5094 222.0619 14.93496311671934 +AO-73 +1 39444U 13066AE 26134.24384963 .00004978 00000-0 31443-3 0 9991 +2 39444 97.8260 104.9971 0035212 321.9795 37.8948 15.09034476674542 +DTUSAT-2 +1 40030U 14033W 26134.21824912 .00004516 00000-0 24883-3 0 9997 +2 40030 98.0863 129.8030 0007782 4.8197 355.3107 15.14554811647544 +LILACSAT-2 +1 40908U 15049K 26134.26846532 .00012366 00000-0 21992-3 0 9996 +2 40908 97.4693 169.8442 0007493 33.2688 326.9033 15.50284138590498 +Horyu-4 +1 41340U 16012D 26133.68948449 .00132750 00000-0 72995-3 0 9992 +2 41340 30.9895 328.5167 0005336 30.7718 329.3251 15.78201025565331 +Lapan A3 +1 41603U 16040E 26134.31370172 .00002365 00000-0 76693-4 0 9996 +2 41603 97.1485 131.5800 0011807 130.3018 229.9259 15.32884089549623 +CAS-2T +1 41847U 16066G 26134.23181294 .00000570 00000-0 90011-4 0 9996 +2 41847 98.3825 210.3525 0341118 232.4686 124.5057 14.44592529499896 +TechnoSat +1 42829U 17042E 26134.00479889 .00001804 00000-0 13188-3 0 9997 +2 42829 97.4240 292.9770 0017106 206.8425 153.1918 15.04734717481562 +AO-91 +1 43017U 17073E 26133.14210923 .00005670 00000-0 24989-3 0 9993 +2 43017 97.4759 1.0860 0154122 89.6523 272.2366 15.12056379460097 +S-Net D +1 43186U 18014G 26134.28253071 .00003444 00000-0 18094-3 0 9990 +2 43186 97.5393 39.2895 0009663 128.1975 232.0130 15.16337653453624 +S-Net B +1 43187U 18014H 26134.29332240 .00003280 00000-0 17260-3 0 9990 +2 43187 97.5399 39.2857 0010383 124.5559 235.6655 15.16307702453621 +S-Net A +1 43188U 18014J 26134.28157859 .00003445 00000-0 18093-3 0 9999 +2 43188 97.5408 39.4765 0010272 125.2685 234.9510 15.16344520453629 +S-Net C +1 43189U 18014K 26134.23102415 .00003190 00000-0 16798-3 0 9990 +2 43189 97.5426 39.4957 0011761 119.8182 240.4222 15.16298311452164 +Ten-Koh +1 43677U 18084G 26134.10066264 .00000667 00000-0 54802-4 0 9991 +2 43677 98.0761 325.0332 0008350 227.6253 132.4264 15.02778496411042 +PO-101 +1 43678U 18084H 26134.29049394 .00001658 00000-0 13746-3 0 9999 +2 43678 98.1106 329.0456 0011918 288.1786 71.8138 15.00277600411130 +QO-100 +1 43700U 18090A 26134.25271515 .00000158 00000-0 00000-0 0 9990 +2 43700 0.0139 274.4063 0001542 173.6669 260.7626 1.00274771 27338 +MinXSS-2 +1 43758U 18099A 26134.16897497 .00024708 00000-0 53149-3 0 9997 +2 43758 97.4553 209.5181 0007363 39.8460 320.3328 15.44611401408872 +AO-95 +1 43770U 18099N 26134.11781633 .00008247 00000-0 32363-3 0 9995 +2 43770 97.4409 194.5063 0010477 107.6536 252.5847 15.25940468408022 +SNUSat 2 +1 43782U 18099AA 26134.13592128 .00005327 00000-0 24086-3 0 9998 +2 43782 97.4087 188.0526 0011635 61.7034 298.5374 15.21292362407853 +SnugLite +1 43784U 18099AC 26134.12851138 .00007239 00000-0 28086-3 0 9996 +2 43784 97.3899 188.7598 0004133 70.1415 290.0268 15.26401246408121 +ITASat 1 +1 43786U 18099AE 26134.09204254 .00004905 00000-0 23980-3 0 9990 +2 43786 97.4058 186.2914 0014368 110.4835 249.7944 15.18595661407735 +EAGLET 1 +1 43790U 18099AJ 26134.12058776 .00002334 00000-0 13688-3 0 9993 +2 43790 97.4260 184.6939 0012892 102.7823 257.4849 15.12665712407183 +ESEO +1 43792U 18099AL 26134.05410037 .00001637 00000-0 12207-3 0 9990 +2 43792 97.3998 172.9013 0013404 90.5694 269.7068 15.04136573406676 +JO-97 +1 43803U 18099AX 26134.15484223 .00010782 00000-0 34544-3 0 9991 +2 43803 97.4156 196.8973 0006276 47.2093 312.9676 15.32531303408418 +Suomi 100 +1 43804U 18099AY 26134.15278514 .00007203 00000-0 26925-3 0 9994 +2 43804 97.4216 194.6902 0010903 49.1800 311.0383 15.27596799408221 +ISAT +1 43879U 18111D 26134.27860950 .00056210 00000-0 70169-3 0 9996 +2 43879 97.5900 67.0511 0008131 79.9769 280.2404 15.59657906405870 +UWE-4 +1 43880U 18111E 26134.27711341 .00021932 00000-0 48184-3 0 9992 +2 43880 97.5862 61.1649 0010663 88.7366 271.5103 15.43979830405549 +Sparrow +1 43881U 18111F 26134.28189242 .00083407 00000-0 81206-3 0 9990 +2 43881 97.6124 72.1523 0007667 104.6129 255.5981 15.65962548406055 +Prox-1 +1 44339U 19036A 26133.90675889 .00008940 00000-0 88071-3 0 9997 +2 44339 23.9965 343.0870 0006559 357.6910 2.3558 14.89775846368357 +Taurus 1 +1 44530U 19059C 26134.32086882 .00002167 00000-0 35626-3 0 9994 +2 44530 98.6384 297.0637 0009370 64.5135 295.7038 14.71710768353662 +TO-108 +1 44881U 19093C 26134.25307692 .00000011 00000-0 73020-5 0 9996 +2 44881 97.7540 207.3118 0013076 192.4072 167.6824 14.86460090346378 +RS-44 +1 44909U 19096E 26134.15254353 .00000027 00000-0 69631-4 0 9993 +2 44909 82.5239 2.3248 0216682 223.7721 134.6028 12.79748134297991 +SALSAT +1 46495U 20068K 26133.99559253 .00005344 00000-0 19079-3 0 9991 +2 46495 97.8855 134.9940 0011457 67.8052 292.4401 15.29276426310132 +CSS (TIANHE-1) +1 48274U 21035A 26133.47815923 .00012315 00000-0 13972-3 0 9997 +2 48274 41.4670 173.0841 0004122 296.9881 63.0537 15.62173368287749 +CUTE +1 49263U 21088D 26134.23778351 .00131280 00000-0 73961-3 0 9999 +2 49263 97.4194 230.6379 0001701 276.2054 83.9019 15.78818867257176 +TeikyoSat 4 +1 49396U 21102B 26134.04679020 .00001172 00000-0 77045-4 0 9999 +2 49396 97.3697 164.8564 0013457 55.7579 304.4923 15.09380746247579 +Z-Sat +1 49399U 21102E 26134.31882510 .00002516 00000-0 12662-3 0 9998 +2 49399 97.3357 170.6723 0016941 11.9378 348.2254 15.17994705248309 +KOSEN 1 +1 49402U 21102H 26134.05657551 .00005025 00000-0 19577-3 0 9999 +2 49402 97.3217 176.8844 0012668 335.0334 25.0290 15.26347695248811 +HO-113 +1 50466U 21131B 26134.31646506 .00000130 00000-0 53898-4 0 9997 +2 50466 98.4958 226.8927 0003949 182.5581 177.5588 14.41322913230238 +SNUGLITE 2 +1 52899U 22065F 26134.27498682 .00000614 00000-0 12551-3 0 9998 +2 52899 98.2156 279.1757 0008599 125.6699 234.5305 14.64280683206038 +UmKA 1 (RS40S) +1 57172U 23091G 26134.26992365 .00003795 00000-0 17706-3 0 9993 +2 57172 97.5075 193.1041 0011627 232.9896 127.0276 15.20412499158851 +CubeBel-2 (EU11S) +1 57175U 23091K 26134.27733789 .00007675 00000-0 28065-3 0 9991 +2 57175 97.5074 197.2104 0009036 227.1006 132.9476 15.28326108159125 +RS-38S +1 57189U 23091Z 26134.25911095 .00011170 00000-0 33198-3 0 9990 +2 57189 97.5111 203.0920 0007787 180.5665 179.5571 15.34905076159484 +SONATE-2 +1 59112U 24043Q 26133.37741957 .00025296 00000-0 36180-3 0 9994 +2 59112 97.5493 281.7198 0005913 330.7378 29.3544 15.56195234122476 +GRBBeta +1 60237U 24128C 26133.90430372 .00002765 00000-0 19753-3 0 9996 +2 60237 61.9905 336.5219 0045211 127.6054 232.9156 15.06346661101106 +Curium One +1 60242U 24128H 26134.24908623 .00005651 00000-0 33316-3 0 9997 +2 60242 61.9790 325.9266 0044666 124.0363 236.4986 15.11941919101322 +ROBUSTA-3A +1 60243U 24128J 26134.12903920 .00005248 00000-0 31713-3 0 9991 +2 60243 61.9867 328.6362 0045854 121.4904 239.0684 15.11118441101271 +CatSat +1 60246U 24125J 26134.19807845 .00037481 00000-0 55474-3 0 9991 +2 60246 97.2123 346.3542 0021333 309.0135 50.9220 15.54930068102107 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26134.25255325 .00077649 00000-0 69426-3 0 9996 +2 61772 97.2949 12.4640 0007234 59.6934 300.5042 15.68105068129347 +AO-123 +1 61781U 24199AY 26134.27579381 .00005429 00000-0 16085-3 0 9999 +2 61781 97.3050 3.2580 0015805 73.3731 286.9247 15.35157471128727 +JINJUSat 1B +1 63210U 25052A 26134.20195039 .00010748 00000-0 34582-3 0 9996 +2 63210 97.4049 30.9349 0003120 167.0393 193.0929 15.32407586 64891 +NUSHSAT 1 +1 63211U 25052B 26134.23191203 .00013241 00000-0 39701-3 0 9998 +2 63211 97.4027 31.4212 0002801 165.0419 195.0907 15.34604895 64932 +TEVEL2-4 +1 63213U 25052D 26133.21703508 .00010651 00000-0 33272-3 0 9993 +2 63213 97.3947 29.5787 0001655 172.7980 187.3286 15.33358313 64757 +TEVEL2-5 +1 63214U 25052E 26134.27805638 .00012159 00000-0 38099-3 0 9995 +2 63214 97.3949 30.5973 0001748 170.1471 189.9805 15.33225860 64912 +TEVEL2-6 +1 63215U 25052F 26134.22429804 .00011655 00000-0 36578-3 0 9998 +2 63215 97.3950 30.5284 0001820 174.0630 186.0634 15.33187265 64904 +TEVEL2-1 +1 63217U 25052H 26134.24205557 .00011401 00000-0 36339-3 0 9993 +2 63217 97.3923 30.2093 0001265 189.7444 170.3773 15.32696559 64898 +TEVEL2-3 +1 63218U 25052J 26134.23783428 .00011527 00000-0 36683-3 0 9992 +2 63218 97.3926 30.2230 0001233 191.3858 168.7356 15.32745490 64895 +TEVEL2-2 +1 63219U 25052K 26134.24252871 .00011801 00000-0 37595-3 0 9995 +2 63219 97.3924 30.2115 0001231 193.1651 166.9559 15.32703860 64895 +TEVEL2-9 +1 63237U 25052AD 26134.24260618 .00010629 00000-0 35918-3 0 9997 +2 63237 97.3986 29.6576 0004079 257.4982 102.5802 15.30825002 64832 +TEVEL2-7 +1 63238U 25052AE 26134.27731913 .00010189 00000-0 34729-3 0 9992 +2 63238 97.3988 29.6220 0004148 257.6092 102.4684 15.30557285 64834 +TEVEL2-8 +1 63239U 25052AF 26134.21981734 .00010041 00000-0 34249-3 0 9999 +2 63239 97.3988 29.5426 0004130 259.1655 100.9121 15.30538178 64823 +HYDRA-W +1 63490U 25052BL 26113.93882235 .05662091 24406-5 29537-2 0 9997 +2 63490 97.3690 18.2798 0008685 203.5899 156.4993 16.20186780 62336 +HADES-ICM (SO-125) +1 63492U 25052BN 26134.22731092 .00894338 36510-3 21295-2 0 9994 +2 63492 97.3786 38.4565 0009731 172.8007 187.3411 15.96627123 65437 +SPIRONE +1 66657U 25274H 26134.28614331 .00001661 00000-0 16335-3 0 9999 +2 66657 97.7480 64.0672 0013470 122.8851 237.3666 14.93400298 25161 +K-HERO +1 66660U 25274L 26134.30029229 .00001265 00000-0 12437-3 0 9991 +2 66660 97.7488 64.2171 0015251 127.2445 233.0169 14.93827014 25177 +SNUGLITE-III DURI +1 66661U 25274M 26133.35141050 .00001359 00000-0 13299-3 0 9994 +2 66661 97.7483 63.3007 0015802 131.5001 228.7578 14.93877191 25030 +SilverSat +1 66909U 98067XV 26113.44966717 .07226154 12288-4 11979-2 0 9998 +2 66909 51.6027 190.0749 0007952 333.4666 26.5949 16.32457272 22308 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26134.16120560 .00006484 00000-0 26831-3 0 9990 +2 67290 97.3944 209.6371 0010962 114.2650 245.9734 15.24234273 20792 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26134.17747033 .00008964 00000-0 35761-3 0 9999 +2 67291 97.3943 209.7651 0010639 113.9992 246.2361 15.25356671 20800 +Ten-Koh2 +1 68261U 25241B 26134.17196803 .00004641 00000-0 20593-3 0 9995 +2 68261 51.6540 121.4680 0006314 37.7598 322.3822 15.23440018 9729 +JACK-002 +1 68417U 26067B 26134.10778649 .00004521 00000-0 21958-3 0 9995 +2 68417 97.4544 93.1367 0003691 64.8169 295.3448 15.18950457 6773 +DISCO 2 +1 68431U 26067R 26133.39586232 .00004607 00000-0 22628-3 0 9996 +2 68431 97.4580 92.4264 0004328 104.5015 255.6699 15.18547839 6668 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26132.83338234 .00011232 00000-0 55731-3 0 9990 +2 68446 97.4387 91.6989 0006910 177.1746 182.9529 15.17853429 6567 +PARUS-6U1 +1 68456U 26067AS 26133.43395027 .00003618 00000-0 18567-3 0 9996 +2 68456 97.4530 92.3479 0005913 164.9165 195.2246 15.17141812 6661 +SAL-E +1 68458U 26067AU 26133.43325588 .00004975 00000-0 25328-3 0 9993 +2 68458 97.4457 92.3084 0005845 173.7308 186.4000 15.17248037 6661 +FSI-SAT 2 +1 68792U 26088A 26133.95021350 .00002906 00000-0 20030-3 0 9991 +2 68792 97.5027 284.0858 0013677 219.6814 140.3414 15.06542473 3135 +OrigamiSat 2 +1 68795U 26088D 26134.06264150 .00001721 00000-0 11566-3 0 9992 +2 68795 97.5031 284.2449 0015520 191.7012 168.3858 15.07998810 3155 +ARICA 2 +1 68796U 26088E 26134.32650801 .00002463 00000-0 16318-3 0 9998 +2 68796 97.5015 284.5004 0015609 189.1844 170.9101 15.08128984 3192 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26134.32563710 .00003549 00000-0 23269-3 0 9990 +2 68797 97.5013 284.5015 0015607 189.0364 171.0586 15.08222475 3196 +MANGARO-II-Piscus +1 68798U 26088G 26134.12200801 .00002137 00000-0 14050-3 0 9998 +2 68798 97.5020 284.3159 0018894 193.6770 166.3949 15.08511423 3166 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 +/EX +SB KEPS @ AMSAT < CX2SA $ORB26142.1 +2Line Orbital Elements 26142.AMSAT +R:260529/0106Z 4782@GB7BWR.#45.GBR.EURO LinBPQ6.0.25 +R:260529/0046Z 9734@GB7BEX.#38.GBR.EURO LinBPQ6.0.25 +R:260529/0023Z @:GB7CIP.#32.GBR.EURO #:60974 [Caterham Surrey GBR] $:ORB26142.1 +R:260529/0023Z @:CX2SA.SAL.URY.SOAM #:73 [Salto] FBB7.00e $:ORB26142.1 + +From: CX2SA@CX2SA.SAL.URY.SOAM +To : KEPS@AMSAT + + +QST de W1STR + +AMSAT Orbital Elements for Amateur Satellites in TLE Format +>From Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA May 22, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26141.89152713 -.00000052 00000-0 -34210-4 0 9996 +2 07530 101.9910 154.8634 0012275 179.5275 251.0103 12.53697583357222 +UO-11 +1 14781U 84021B 26141.84250610 .00000862 00000-0 93497-4 0 9998 +2 14781 97.8043 107.7160 0006032 272.5141 87.5386 14.90711392253205 +AO-27 +1 22825U 93061C 26141.70841809 .00000058 00000-0 38881-4 0 9994 +2 22825 98.6889 209.1299 0008588 170.4927 189.6419 14.30934102703218 +FO-29 +1 24278U 96046B 26141.54630569 .00000000 00000-0 34558-4 0 9999 +2 24278 98.5266 354.0642 0350132 165.4220 195.7337 13.53272944469564 +GO-32 +1 25397U 98043D 26141.86370265 .00000023 00000-0 30169-4 0 9999 +2 25397 99.0063 133.9598 0000518 348.9287 11.1880 14.24422513447583 +ISS +1 25544U 98067A 26141.81013264 .00006598 00000-0 12646-3 0 9999 +2 25544 51.6330 70.6788 0007525 83.9033 276.2813 15.49301514567663 +NO-44 +1 26931U 01043C 26141.75766036 .00000073 00000-0 58109-4 0 9990 +2 26931 67.0507 312.6302 0006208 263.6699 96.3696 14.31944512286663 +SO-50 +1 27607U 02058C 26141.45153604 .00000579 00000-0 86191-4 0 9999 +2 27607 64.5520 211.7006 0075614 267.3643 91.8806 14.82983376260491 +CO-55 +1 27844U 03031E 26141.48326484 .00000173 00000-0 93673-4 0 9998 +2 27844 98.6743 150.3782 0008295 262.0752 97.9485 14.24317125187871 +RS-22 +1 27939U 03042A 26141.87761664 .00000548 00000-0 92749-4 0 9990 +2 27939 98.3469 325.4944 0011251 359.2209 137.0326 14.73413921211676 +CO-65 +1 32785U 08021C 26141.86265625 .00003248 00000-0 20851-3 0 9996 +2 32785 97.8271 122.7423 0010717 113.7944 246.4409 15.09165957981226 +CO-66 +1 32791U 08021J 26141.88297742 .00013533 00000-0 44391-3 0 9993 +2 32791 97.7528 138.5465 0004568 66.6536 293.5185 15.31736775983265 +RS-30 +1 32953U 08025A 26141.78213934 -.00000018 00000-0 -20207-3 0 9993 +2 32953 82.5057 11.8666 0019992 11.9172 348.2377 12.43178180816419 +SRMSAT +1 37841U 11058D 26141.58428440 .00000353 00000-0 47856-4 0 9992 +2 37841 19.9710 220.4956 0011598 271.8763 219.5780 14.11569257754052 +ZACUBE-1 +1 39417U 13066B 26141.87673122 .00003291 00000-0 25856-3 0 9994 +2 39417 97.8118 104.0711 0040705 341.0100 18.9603 15.00961986676785 +Delfi-N3xt +1 39428U 13066N 26141.73888310 .00004497 00000-0 39801-3 0 9992 +2 39428 97.8348 62.0799 0073127 295.6932 63.6749 14.94757646670670 +GOMX-1 +1 39430U 13066Q 26141.83256690 .00001545 00000-0 23766-3 0 9990 +2 39430 97.6495 343.9577 0129155 161.5031 199.0936 14.69341216666045 +LO-74 +1 39440U 13066AA 26141.80253712 .00002832 00000-0 26539-3 0 9991 +2 39440 97.8896 90.6771 0059474 114.1782 246.5670 14.93527149673058 +AO-73 +1 39444U 13066AE 26141.86919839 .00005987 00000-0 37656-3 0 9996 +2 39444 97.8267 112.7754 0034817 294.6838 65.0766 15.09108611675690 +DTUSAT-2 +1 40030U 14033W 26140.95697010 .00004456 00000-0 24518-3 0 9990 +2 40030 98.0869 136.9651 0007072 341.0623 19.0343 15.14617068648563 +LILACSAT-2 +1 40908U 15049K 26141.81995208 .00013073 00000-0 23086-3 0 9992 +2 40908 97.4676 177.6742 0006586 7.0571 353.0772 15.50476276591668 +Horyu-4 +1 41340U 16012D 26141.39941902 .00152227 00000-0 75460-3 0 9997 +2 41340 30.9883 273.2630 0004037 95.4050 264.7068 15.80437185566557 +Lapan A3 +1 41603U 16040E 26141.88598591 .00002428 00000-0 78581-4 0 9991 +2 41603 97.1490 138.9011 0012205 107.0499 253.2082 15.32918160550782 +CAS-2T +1 41847U 16066G 26141.78179894 .00000702 00000-0 10806-3 0 9997 +2 41847 98.3826 217.8178 0341518 209.5069 148.6462 14.44603131500989 +TechnoSat +1 42829U 17042E 26141.38610641 .00002891 00000-0 20850-3 0 9990 +2 42829 97.4262 300.0717 0017801 181.5124 178.6051 15.04771569482674 +AO-91 +1 43017U 17073E 26141.54623661 .00006694 00000-0 29382-3 0 9992 +2 43017 97.4738 9.3125 0153649 60.9980 300.6551 15.12173908461362 +S-Net D +1 43186U 18014G 26141.67333441 .00003457 00000-0 18134-3 0 9990 +2 43186 97.5379 46.6323 0010015 106.7482 253.4851 15.16385485454741 +S-Net B +1 43187U 18014H 26141.61828139 .00003519 00000-0 18463-3 0 9992 +2 43187 97.5386 46.5632 0010719 103.2638 256.9791 15.16355227454739 +S-Net A +1 43188U 18014J 26141.73833551 .00003474 00000-0 18216-3 0 9996 +2 43188 97.5396 46.8859 0010611 103.6735 256.5680 15.16393215454752 +S-Net C +1 43189U 18014K 26141.68800722 .00003442 00000-0 18066-3 0 9993 +2 43189 97.5413 46.9069 0012057 97.7770 262.4832 15.16346650453299 +Ten-Koh +1 43677U 18084G 26141.49153061 .00001539 00000-0 11988-3 0 9999 +2 43677 98.0751 332.7324 0009135 203.4589 156.6219 15.02795007412151 +PO-101 +1 43678U 18084H 26141.82700002 .00002360 00000-0 19327-3 0 9998 +2 43678 98.1118 336.9011 0011627 261.1148 98.8758 15.00309933412264 +QO-100 +1 43700U 18090A 26141.73891693 .00000136 00000-0 00000+0 0 9991 +2 43700 0.0119 347.9404 0001349 100.4780 82.7575 1.00271059 27418 +MinXSS-2 +1 43758U 18099A 26141.74775839 .00023125 00000-0 49168-3 0 9992 +2 43758 97.4540 217.2957 0006547 11.5602 348.5796 15.44974995410046 +AO-95 +1 43770U 18099N 26141.59313666 .00007731 00000-0 30248-3 0 9999 +2 43770 97.4396 201.9481 0010395 85.8622 274.3805 15.26058773409168 +SNUSat 2 +1 43782U 18099AA 26141.56836654 .00005832 00000-0 26281-3 0 9998 +2 43782 97.4073 195.3675 0010967 38.4282 321.7733 15.21375889408986 +SnugLite +1 43784U 18099AC 26141.60157704 .00007547 00000-0 29165-3 0 9996 +2 43784 97.3882 196.1536 0003612 53.2641 306.8929 15.26520754409264 +ITASat 1 +1 43786U 18099AE 26141.73538553 .00004558 00000-0 22259-3 0 9993 +2 43786 97.4045 193.7797 0014358 86.9902 273.2975 15.18667175408898 +EAGLET 1 +1 43790U 18099AJ 26141.13245321 .00002627 00000-0 15344-3 0 9992 +2 43790 97.4247 191.5196 0012850 81.8339 278.4349 15.12703873408240 +ESEO +1 43792U 18099AL 26141.10572414 .00001059 00000-0 80377-4 0 9994 +2 43792 97.4000 179.6526 0013701 69.9510 290.3190 15.04156075407734 +JO-97 +1 43803U 18099AX 26141.72848380 .00011251 00000-0 35840-3 0 9992 +2 43803 97.4140 204.4876 0005467 22.6895 337.4587 15.32706710409574 +Suomi 100 +1 43804U 18099AY 26141.81647368 .00008719 00000-0 32407-3 0 9997 +2 43804 97.4200 202.3189 0010122 23.9931 336.1778 15.27729140409399 +ISAT +1 43879U 18111D 26141.78319963 .00057382 00000-0 69351-3 0 9995 +2 43879 97.5897 75.0721 0007053 65.3868 294.8123 15.60515348407043 +UWE-4 +1 43880U 18111E 26141.72946507 .00021785 00000-0 47342-3 0 9995 +2 43880 97.5858 68.9379 0010233 68.3750 291.8587 15.44310525406692 +Sparrow +1 43881U 18111F 26141.81929056 .00086100 00000-0 79727-3 0 9990 +2 43881 97.6126 80.3102 0007210 94.7597 265.4487 15.67209694407233 +Prox-1 +1 44339U 19036A 26141.54213877 .00009146 00000-0 89870-3 0 9998 +2 44339 23.9960 292.1475 0006798 81.8956 278.2314 14.89902593369499 +Taurus 1 +1 44530U 19059C 26141.86741959 .00003500 00000-0 56900-3 0 9994 +2 44530 98.6406 305.0718 0008930 42.8814 317.3085 14.71769982354779 +TO-108 +1 44881U 19093C 26141.85969586 -.00000232 00000-0 -20224-4 0 9990 +2 44881 97.7532 214.7332 0013733 167.3742 192.7820 14.86466872347509 +RS-44 +1 44909U 19096E 26141.57978244 .00000020 00000-0 37434-4 0 9998 +2 44909 82.5229 357.3892 0216970 206.3471 152.6467 12.79748401298947 +SALSAT +1 46495U 20068K 26141.45465465 .00005535 00000-0 19705-3 0 9990 +2 46495 97.8859 142.9019 0010937 45.0571 315.1553 15.29356447311277 +CSS (TIANHE-1) +1 48274U 21035A 26141.86139679 .00009577 00000-0 11571-3 0 9995 +2 48274 41.4679 122.0798 0007426 275.1763 84.8228 15.60726635289054 +CUTE +1 49263U 21088D 26141.77701957 .00104987 00000-0 55473-3 0 9996 +2 49263 97.4176 238.7459 0002517 261.7104 98.3878 15.80314088258369 +TeikyoSat 4 +1 49396U 21102B 26141.07393993 .00001072 00000-0 70775-4 0 9994 +2 49396 97.3690 171.6111 0012889 33.7440 326.4607 15.09398905248634 +Z-Sat +1 49399U 21102E 26141.83340809 .00002899 00000-0 14527-3 0 9999 +2 49399 97.3339 177.9580 0016065 345.5214 14.5557 15.18038034249442 +KOSEN 1 +1 49402U 21102H 26141.85779153 .00005354 00000-0 20798-3 0 9990 +2 49402 97.3205 184.5316 0012043 304.3232 55.6867 15.26424129250002 +HO-113 +1 50466U 21131B 26141.88332479 .00000115 00000-0 49326-4 0 9992 +2 50466 98.4966 234.4170 0004419 160.9363 199.1992 14.41328020231328 +SNUGLITE 2 +1 52899U 22065F 26141.85999623 .00000631 00000-0 12885-3 0 9990 +2 52899 98.2171 286.7433 0008793 105.1519 255.0657 14.64290315207144 +UmKA 1 (RS40S) +1 57172U 23091G 26141.83835531 .00004599 00000-0 21342-3 0 9999 +2 57172 97.5061 200.6414 0012270 204.4014 155.6641 15.20472652160005 +CubeBel-2 (EU11S) +1 57175U 23091K 26141.87192961 .00008857 00000-0 32211-3 0 9997 +2 57175 97.5060 204.8660 0009734 198.6703 161.4181 15.28450630160280 +RS-38S +1 57189U 23091Z 26141.82106138 .00012237 00000-0 36136-3 0 9995 +2 57189 97.5098 210.7952 0008418 156.3405 203.8227 15.35078461160642 +SONATE-2 +1 59112U 24043Q 26141.86405082 .00026703 00000-0 37559-3 0 9998 +2 59112 97.5516 290.6923 0005753 293.3199 66.7449 15.56638828123790 +GRBBeta +1 60237U 24128C 26141.80354678 .00003354 00000-0 23629-3 0 9990 +2 60237 61.9903 308.8177 0044286 129.2550 231.2486 15.06394080102296 +Curium One +1 60242U 24128H 26141.85443346 .00006924 00000-0 40435-3 0 9992 +2 60242 61.9792 299.0105 0043832 125.6330 234.8861 15.12038990102470 +ROBUSTA-3A +1 60243U 24128J 26141.87088968 .00006530 00000-0 39048-3 0 9991 +2 60243 61.9870 301.2784 0045146 122.9128 237.6322 15.11209692102440 +CatSat +1 60246U 24125J 26141.53317328 .00035477 00000-0 51485-3 0 9990 +2 60246 97.2111 353.7482 0021099 279.4556 80.4314 15.55483221103248 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26141.84364228 .00082311 00000-0 70146-3 0 9995 +2 61772 97.2925 20.3602 0005651 37.2681 322.8973 15.69279437130535 +AO-123 +1 61781U 24199AY 26141.83672274 .00005885 00000-0 17373-3 0 9991 +2 61781 97.3031 10.7481 0015304 49.0240 311.2325 15.35242025129885 +JINJUSat 1B +1 63210U 25052A 26141.64564802 .00010985 00000-0 35152-3 0 9997 +2 63210 97.4028 38.3793 0004023 146.4632 213.6865 15.32573634 66037 +NUSHSAT 1 +1 63211U 25052B 26141.73005961 .00013995 00000-0 41664-3 0 9993 +2 63211 97.4003 38.9429 0003768 145.3109 214.8381 15.34814142 66080 +TEVEL2-4 +1 63213U 25052D 26141.70008453 .00012425 00000-0 38506-3 0 9999 +2 63213 97.3928 38.0639 0002747 152.6877 207.4511 15.33570225 66050 +TEVEL2-5 +1 63214U 25052E 26141.65247975 .00012280 00000-0 38252-3 0 9995 +2 63214 97.3927 37.9715 0002665 152.7100 207.4282 15.33409785 66048 +TEVEL2-6 +1 63215U 25052F 26141.59890998 .00012324 00000-0 38436-3 0 9991 +2 63215 97.3928 37.9026 0002776 153.8216 206.3167 15.33369876 66033 +TEVEL2-1 +1 63217U 25052H 26141.42319646 .00011240 00000-0 35637-3 0 9997 +2 63217 97.3904 37.3820 0002251 164.9944 195.1365 15.32869635 65990 +TEVEL2-3 +1 63218U 25052J 26141.22291692 .00011634 00000-0 36824-3 0 9992 +2 63218 97.3903 37.2007 0002198 167.5509 192.5788 15.32914108 65965 +TEVEL2-2 +1 63219U 25052K 26141.42364117 .00011935 00000-0 37813-3 0 9991 +2 63219 97.3905 37.3842 0002173 166.3510 193.7791 15.32876877 65998 +TEVEL2-9 +1 63237U 25052AD 26141.69399681 .00010037 00000-0 33761-3 0 9994 +2 63237 97.3962 37.0853 0004554 220.1881 139.9024 15.30988116 65972 +TEVEL2-7 +1 63238U 25052AE 26141.66464890 .00010491 00000-0 35574-3 0 9995 +2 63238 97.3967 36.9830 0004687 220.4803 139.6090 15.30715220 65968 +TEVEL2-8 +1 63239U 25052AF 26140.95351763 .00010564 00000-0 35857-3 0 9996 +2 63239 97.3969 36.2522 0004539 224.9979 135.0895 15.30681443 65851 +HYDRA-W +1 63490U 25052BL 26113.93882235 .05662091 24406-5 29537-2 0 9997 +2 63490 97.3690 18.2798 0008685 203.5899 156.4993 16.20186780 62336 +HADES-ICM (SO-125) +1 63492U 25052BN 26141.26653903 .06532167 24596-5 20834-2 0 9996 +2 63492 97.3646 46.2798 0012082 212.8267 147.2275 16.26141053 66568 +SPIRONE +1 66657U 25274H 26141.79040404 .00001052 00000-0 10537-3 0 9999 +2 66657 97.7480 71.4620 0013729 100.5421 259.7346 14.93419495 26285 +K-HERO +1 66660U 25274L 26141.80242635 .00001206 00000-0 11874-3 0 9991 +2 66660 97.7487 71.6153 0015561 104.7426 255.5519 14.93842995 26298 +SNUGLITE-III DURI +1 66661U 25274M 26141.79101138 .00000814 00000-0 81764-4 0 9992 +2 66661 97.7484 71.6237 0016141 105.7130 254.5871 14.93895840 26294 +SilverSat +1 66909U 98067XV 26113.44966717 .07226154 12288-4 11979-2 0 9998 +2 66909 51.6027 190.0749 0007952 333.4666 26.5949 16.32457272 22308 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26141.84186571 .00007108 00000-0 29292-3 0 9995 +2 67290 97.3934 217.2158 0010944 91.5192 268.7299 15.24338989 21965 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26141.85237523 .00010095 00000-0 40054-3 0 9999 +2 67291 97.3934 217.3513 0010543 91.2168 269.0277 15.25506329 21974 +Ten-Koh2 +1 68261U 25241B 26141.12527701 .00004925 00000-0 21723-3 0 9994 +2 68261 51.6590 88.3906 0006535 60.8298 299.3333 15.23508494 10786 +JACK-002 +1 68417U 26067B 26141.81522266 .00004908 00000-0 23765-3 0 9990 +2 68417 97.4556 100.7423 0003163 50.4395 309.7119 15.19019063 7945 +DISCO 2 +1 68431U 26067R 26141.10534248 .00003864 00000-0 19000-3 0 9998 +2 68431 97.4593 100.0329 0004419 89.6647 270.5094 15.18609810 7838 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26140.67798287 .00011372 00000-0 56129-3 0 9996 +2 68446 97.4403 99.4112 0008038 151.4172 208.7504 15.18027540 7751 +PARUS-6U1 +1 68456U 26067AS 26141.87608873 .00003921 00000-0 20057-3 0 9993 +2 68456 97.4542 100.6536 0006757 140.1256 220.0474 15.17203197 7942 +SAL-E +1 68458U 26067AU 26141.87474542 .00005282 00000-0 26802-3 0 9995 +2 68458 97.4468 100.6069 0006783 147.4956 212.6697 15.17331417 7949 +FSI-SAT 2 +1 68792U 26088A 26141.38906227 .00002320 00000-0 16051-3 0 9990 +2 68792 97.5040 291.3318 0014293 193.2995 166.7857 15.06579140 4252 +OrigamiSat 2 +1 68795U 26088D 26141.82610571 .00003064 00000-0 20247-3 0 9994 +2 68795 97.5052 291.8243 0016239 165.9427 194.2256 15.08035037 4329 +ARICA 2 +1 68796U 26088E 26141.35945580 .00003487 00000-0 22903-3 0 9994 +2 68796 97.5034 291.3665 0016243 165.9205 194.2479 15.08169624 4251 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26141.82250461 .00004979 00000-0 32419-3 0 9994 +2 68797 97.5038 291.8216 0016237 164.2395 195.9342 15.08287059 4326 +MANGARO-II-Piscus +1 68798U 26088G 26141.81648167 .00003064 00000-0 19936-3 0 9991 +2 68798 97.5044 291.8334 0019636 167.4894 192.6826 15.08555862 4321 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 +/EX +SB KEPS @ AMSAT < CX2SA $ORB26149.1 +2Line Orbital Elements 26149.AMSAT +R:260529/0106Z 4783@GB7BWR.#45.GBR.EURO LinBPQ6.0.25 +R:260529/0052Z 9735@GB7BEX.#38.GBR.EURO LinBPQ6.0.25 +R:260529/0023Z @:GB7CIP.#32.GBR.EURO #:60975 [Caterham Surrey GBR] $:ORB26149.1 +R:260529/0023Z @:CX2SA.SAL.URY.SOAM #:74 [Salto] FBB7.00e $:ORB26149.1 + +From: CX2SA@CX2SA.SAL.URY.SOAM +To : KEPS@AMSAT + + +QST de W1STR + +AMSAT Orbital Elements for Amateur Satellites in TLE Format +>From Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA May 29, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26148.68365646 -.00000025 00000-0 13174-3 0 9995 +2 07530 101.9904 161.7267 0012369 166.6777 305.8931 12.53697774358075 +UO-11 +1 14781U 84021B 26148.82330466 .00001297 00000-0 13772-3 0 9991 +2 14781 97.8046 114.6166 0006142 243.2950 116.7639 14.90729732254244 +AO-27 +1 22825U 93061C 26148.77076877 .00000123 00000-0 63944-4 0 9994 +2 22825 98.6886 216.1905 0008965 150.9812 209.1870 14.30936282704224 +FO-29 +1 24278U 96046B 26148.57030653 -.00000005 00000-0 28278-4 0 9995 +2 24278 98.5259 0.1280 0350429 147.2181 215.1239 13.53273393470510 +GO-32 +1 25397U 98043D 26148.53681058 .00000081 00000-0 55113-4 0 9995 +2 25397 99.0064 140.8007 0000236 298.0925 62.0229 14.24424102448531 +ISS +1 25544U 98067A 26148.77610718 .00012346 00000-0 22817-3 0 9997 +2 25544 51.6335 36.1959 0007359 108.4856 251.6933 15.49449908568746 +NO-44 +1 26931U 01043C 26148.81209367 .00000169 00000-0 93778-4 0 9990 +2 26931 67.0511 294.3837 0006149 263.8462 96.1940 14.31947852287673 +SO-50 +1 27607U 02058C 26148.53219867 .00001100 00000-0 14688-3 0 9991 +2 27607 64.5510 189.7958 0075580 266.0702 93.1761 14.82999121261541 +CO-55 +1 27844U 03031E 26148.01640198 .00000320 00000-0 15756-3 0 9994 +2 27844 98.6738 156.8292 0008429 240.4784 119.5555 14.24321573188801 +RS-22 +1 27939U 03042A 26148.86682975 .00001040 00000-0 16855-3 0 9994 +2 27939 98.3468 332.6813 0010777 336.6026 130.4585 14.73427763212706 +CO-65 +1 32785U 08021C 26148.89066185 .00007421 00000-0 46976-3 0 9999 +2 32785 97.8263 129.9120 0010674 94.1173 266.1275 15.09240418982281 +CO-66 +1 32791U 08021J 26148.54585692 .00023250 00000-0 75397-3 0 9994 +2 32791 97.7513 145.5173 0003780 53.4425 306.7163 15.31983522984289 +RS-30 +1 32953U 08025A 26148.78373154 -.00000054 00000-0 -45884-3 0 9999 +2 32953 82.5060 7.5120 0019700 356.9226 3.1729 12.43177991817282 +SRMSAT +1 37841U 11058D 26148.42092105 .00000400 00000-0 73149-4 0 9994 +2 37841 19.9700 179.1124 0011731 347.7094 40.3515 14.11570911755020 +ZACUBE-1 +1 39417U 13066B 26148.87642683 .00005972 00000-0 46440-3 0 9999 +2 39417 97.8103 111.1083 0040101 316.2311 43.5736 15.01029548677836 +Delfi-N3xt +1 39428U 13066N 26148.76757691 .00007990 00000-0 70069-3 0 9991 +2 39428 97.8344 69.0996 0073199 271.6037 87.6800 14.94844521671721 +GOMX-1 +1 39430U 13066Q 26148.84680012 .00003215 00000-0 48530-3 0 9999 +2 39430 97.6495 350.5304 0129712 139.1167 221.9857 14.69373058667077 +LO-74 +1 39440U 13066AA 26148.83709315 .00004620 00000-0 42866-3 0 9994 +2 39440 97.8895 97.7376 0059393 91.4996 269.3028 14.93584719674103 +AO-73 +1 39444U 13066AE 26148.43326745 .00008280 00000-0 51776-3 0 9992 +2 39444 97.8263 119.4718 0034371 271.1115 88.6176 15.09206063676689 +DTUSAT-2 +1 40030U 14033W 26148.22384446 .00008619 00000-0 46890-3 0 9996 +2 40030 98.0859 144.6884 0006395 311.5464 48.5217 15.14718184649668 +LILACSAT-2 +1 40908U 15049K 26148.85412546 .00022151 00000-0 38618-3 0 9996 +2 40908 97.4669 184.9687 0005796 338.1119 21.9884 15.50727940592750 +Horyu-4 +1 41340U 16012D 26148.34021308 .00240730 00000-0 10388-2 0 9992 +2 41340 30.9866 223.3388 0002740 145.1105 214.9733 15.83201679567655 +Lapan A3 +1 41603U 16040E 26148.87057921 .00004216 00000-0 13447-3 0 9990 +2 41603 97.1481 145.6537 0012231 86.1537 274.1104 15.32966610551858 +CAS-2T +1 41847U 16066G 26148.77764153 .00001733 00000-0 25161-3 0 9996 +2 41847 98.3824 224.7347 0341901 188.2677 171.2793 14.44624693501993 +TechnoSat +1 42829U 17042E 26148.70069044 .00004191 00000-0 29983-3 0 9999 +2 42829 97.4267 307.1053 0018546 155.3709 204.8408 15.04824864483772 +AO-91 +1 43017U 17073E 26148.56006240 .00012922 00000-0 56294-3 0 9992 +2 43017 97.4742 16.1803 0152762 37.0143 324.1509 15.12320639462424 +S-Net D +1 43186U 18014G 26148.66793147 .00006686 00000-0 34659-3 0 9996 +2 43186 97.5387 53.5818 0010111 87.0654 273.1736 15.16459202455803 +S-Net B +1 43187U 18014H 26148.67900475 .00006998 00000-0 36286-3 0 9996 +2 43187 97.5391 53.5788 0010681 83.1149 277.1299 15.16428966455804 +S-Net A +1 43188U 18014J 26148.66691087 .00006680 00000-0 34619-3 0 9998 +2 43188 97.5403 53.7719 0010628 83.8253 276.4190 15.16466597455803 +S-Net C +1 43189U 18014K 26148.68277963 .00007111 00000-0 36860-3 0 9994 +2 43189 97.5418 53.8593 0011927 77.4704 282.7862 15.16420368454355 +Ten-Koh +1 43677U 18084G 26148.74909503 .00003648 00000-0 27699-3 0 9993 +2 43677 98.0760 340.2933 0009591 179.6897 180.4334 15.02836920413247 +PO-101 +1 43678U 18084H 26148.82979715 .00003523 00000-0 28557-3 0 9991 +2 43678 98.1141 344.2034 0011678 235.9932 124.0181 15.00347986413312 +QO-100 +1 43700U 18090A 26148.51188272 .00000154 00000-0 00000+0 0 9996 +2 43700 0.0155 298.2229 0001907 160.0872 357.8371 1.00274787 27483 +MinXSS-2 +1 43758U 18099A 26148.67697507 .00042524 00000-0 88596-3 0 9998 +2 43758 97.4547 224.4097 0006137 341.9445 18.1584 15.45450503411117 +AO-95 +1 43770U 18099N 26148.41212235 .00014430 00000-0 55904-3 0 9997 +2 43770 97.4401 208.7367 0009949 65.0064 295.2206 15.26219774410200 +SNUSat 2 +1 43782U 18099AA 26148.67148074 .00010482 00000-0 46802-3 0 9997 +2 43782 97.4076 202.3582 0010258 14.4388 345.7139 15.21497847410066 +SnugLite +1 43784U 18099AC 26148.68068441 .00015114 00000-0 57784-3 0 9997 +2 43784 97.3887 203.1578 0002910 33.4447 326.6975 15.26690104410347 +ITASat 1 +1 43786U 18099AE 26148.65354541 .00008478 00000-0 40994-3 0 9995 +2 43786 97.4043 200.5573 0014008 65.5105 294.7588 15.18767796409940 +EAGLET 1 +1 43790U 18099AJ 26148.40868609 .00005424 00000-0 31233-3 0 9992 +2 43790 97.4248 198.6021 0012501 59.6601 300.5864 15.12764837409342 +ESEO +1 43792U 18099AL 26148.55639080 .00001516 00000-0 11324-3 0 9996 +2 43792 97.3987 186.7856 0013479 47.4437 312.7925 15.04179490408858 +JO-97 +1 43803U 18099AX 26148.45249796 .00021394 00000-0 67363-3 0 9999 +2 43803 97.4144 211.2270 0004799 356.8750 3.2461 15.32936130410607 +Suomi 100 +1 43804U 18099AY 26148.69347025 .00015570 00000-0 57304-3 0 9993 +2 43804 97.4202 209.1644 0009384 358.7874 1.3340 15.27907126410441 +ISAT +1 43879U 18111D 26148.77033215 .00099392 00000-0 11437-2 0 9992 +2 43879 97.5897 82.5500 0005278 54.4708 305.7041 15.61655786408134 +UWE-4 +1 43880U 18111E 26148.53214294 .00041738 00000-0 88982-3 0 9997 +2 43880 97.5861 76.0364 0009322 49.7202 310.4860 15.44751526407741 +Sparrow +1 43881U 18111F 26148.77566278 .00140372 00000-0 12093-2 0 9999 +2 43881 97.6129 87.8561 0006122 91.5091 268.6871 15.68825146408322 +Prox-1 +1 44339U 19036A 26148.57398135 .00017006 00000-0 16864-2 0 9995 +2 44339 23.9951 245.2202 0006156 159.0032 201.0721 14.90088160370548 +Taurus 1 +1 44530U 19059C 26148.86974652 .00009760 00000-0 15662-2 0 9992 +2 44530 98.6396 312.5048 0008388 21.7580 338.3980 14.71859694355801 +TO-108 +1 44881U 19093C 26148.86042750 .00000286 00000-0 38372-4 0 9993 +2 44881 97.7538 221.5637 0014282 145.3370 214.8780 14.86479729348543 +RS-44 +1 44909U 19096E 26148.61613539 .00000037 00000-0 10244-3 0 9990 +2 44909 82.5224 352.7128 0217275 189.8719 169.8081 12.79748512299847 +SALSAT +1 46495U 20068K 26148.52069951 .00009688 00000-0 34141-3 0 9999 +2 46495 97.8848 150.3933 0010184 22.3559 337.8122 15.29469861312359 +CSS (TIANHE-1) +1 48274U 21035A 26148.77594543 .00021900 00000-0 26673-3 0 9990 +2 48274 41.4691 80.0564 0010822 299.1255 60.8500 15.59924596290130 +CUTE +1 49263U 21088D 26148.79840676 .00368502 00000-0 15907-2 0 9999 +2 49263 97.4180 246.3233 0004727 262.7661 97.3071 15.84008468259476 +TeikyoSat 4 +1 49396U 21102B 26148.63132855 .00002398 00000-0 15353-3 0 9993 +2 49396 97.3682 178.8750 0012174 8.8859 351.2583 15.09428445249775 +Z-Sat +1 49399U 21102E 26148.88634389 .00005721 00000-0 28299-3 0 9998 +2 49399 97.3342 184.7954 0015306 319.5392 40.4703 15.18099327250515 +KOSEN 1 +1 49402U 21102H 26148.67528051 .00009321 00000-0 35879-3 0 9990 +2 49402 97.3202 191.2142 0011881 276.6683 83.3203 15.26525652251041 +HO-113 +1 50466U 21131B 26148.82536716 .00000634 00000-0 20949-3 0 9998 +2 50466 98.4969 241.3208 0004823 143.2126 216.9395 14.41336393232328 +SNUGLITE 2 +1 52899U 22065F 26148.35161759 .00001144 00000-0 22588-3 0 9994 +2 52899 98.2176 293.2207 0008783 87.7163 272.5045 14.64304338208091 +UmKA 1 (RS40S) +1 57172U 23091G 26148.81414992 .00007663 00000-0 35239-3 0 9993 +2 57172 97.5065 207.5880 0012940 179.9643 180.1595 15.20560608161067 +CubeBel-2 (EU11S) +1 57175U 23091K 26148.81116044 .00016305 00000-0 58680-3 0 9991 +2 57175 97.5066 211.8613 0010370 175.2112 184.9228 15.28627391161345 +RS-38S +1 57189U 23091Z 26148.79540465 .00022191 00000-0 64748-3 0 9993 +2 57189 97.5106 217.9009 0008742 135.2065 224.9886 15.35319597161714 +SONATE-2 +1 59112U 24043Q 26148.67707366 .00043489 00000-0 59844-3 0 9995 +2 59112 97.5509 297.9020 0006022 265.6576 94.3991 15.57131288124857 +GRBBeta +1 60237U 24128C 26148.77319951 .00006129 00000-0 41875-3 0 9994 +2 60237 61.9905 284.3720 0043256 130.6766 229.8099 15.06464472103344 +Curium One +1 60242U 24128H 26148.79791903 .00011939 00000-0 68509-3 0 9991 +2 60242 61.9791 274.4322 0042578 126.8997 233.6012 15.12176846103520 +ROBUSTA-3A +1 60243U 24128J 26148.68586595 .00012229 00000-0 71683-3 0 9999 +2 60243 61.9868 277.1927 0043922 124.4610 236.0647 15.11344265103473 +CatSat +1 60246U 24125J 26148.67236620 .00065667 00000-0 92216-3 0 9998 +2 60246 97.2108 0.9523 0021270 250.7778 109.1176 15.56236887104353 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26148.85483175 .00138195 00000-0 10991-2 0 9999 +2 61772 97.2921 27.6674 0003687 10.2238 349.9099 15.70790228131635 +AO-123 +1 61781U 24199AY 26148.81059139 .00009970 00000-0 29163-3 0 9994 +2 61781 97.3031 17.6583 0014548 25.6249 334.5713 15.35355248130953 +JINJUSat 1B +1 63210U 25052A 26148.69668487 .00020242 00000-0 64015-3 0 9990 +2 63210 97.4034 45.4333 0004665 131.9188 228.2452 15.32808610 67119 +NUSHSAT 1 +1 63211U 25052B 26148.70550888 .00026274 00000-0 77167-3 0 9991 +2 63211 97.4011 45.9434 0004495 130.8260 229.3374 15.35104999 67153 +TEVEL2-4 +1 63213U 25052D 26148.68124973 .00023968 00000-0 73335-3 0 9992 +2 63213 97.3938 45.0491 0003528 140.3779 219.7722 15.33831159 67123 +TEVEL2-5 +1 63214U 25052E 26148.69962565 .00023580 00000-0 72521-3 0 9997 +2 63214 97.3928 45.0208 0003471 140.3980 219.7517 15.33670851 67122 +TEVEL2-6 +1 63215U 25052F 26148.64624072 .00023559 00000-0 72551-3 0 9990 +2 63215 97.3933 44.9521 0003570 139.8705 220.2801 15.33629270 67114 +TEVEL2-1 +1 63217U 25052H 26148.66865836 .00022715 00000-0 71086-3 0 9994 +2 63217 97.3909 44.6216 0003165 150.6260 209.5161 15.33125593 67101 +TEVEL2-3 +1 63218U 25052J 26148.66397624 .00023680 00000-0 73967-3 0 9992 +2 63218 97.3912 44.6365 0003202 151.4818 208.6600 15.33176175 67101 +TEVEL2-2 +1 63219U 25052K 26148.66907352 .00022982 00000-0 71899-3 0 9994 +2 63219 97.3907 44.6240 0003131 150.8682 209.2735 15.33132523 67106 +TEVEL2-9 +1 63237U 25052AD 26148.68699082 .00020217 00000-0 67173-3 0 9993 +2 63237 97.3970 44.0585 0005423 191.1044 169.0079 15.31217216 67046 +TEVEL2-7 +1 63238U 25052AE 26148.65890152 .00020539 00000-0 68825-3 0 9994 +2 63238 97.3974 43.9544 0005553 192.3174 167.7932 15.30937887 67039 +TEVEL2-8 +1 63239U 25052AF 26148.66694315 .00020842 00000-0 69869-3 0 9995 +2 63239 97.3975 43.9402 0005569 192.5059 167.6045 15.30922045 67039 +SPIRONE +1 66657U 25274H 26148.75853310 .00003185 00000-0 30779-3 0 9999 +2 66657 97.7484 78.3288 0013900 80.3676 279.9113 14.93453945 27323 +K-HERO +1 66660U 25274L 26148.76857758 .00002432 00000-0 23371-3 0 9998 +2 66660 97.7491 78.4855 0015654 83.7336 276.5666 14.93875998 27337 +SNUGLITE-III DURI +1 66661U 25274M 26148.75693051 .00002556 00000-0 24503-3 0 9997 +2 66661 97.7488 78.4940 0016261 84.8421 275.4655 14.93925849 27338 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26148.66858785 .00013001 00000-0 53080-3 0 9996 +2 67290 97.3943 223.9520 0010528 70.6399 289.5976 15.24480882 23007 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26148.67375939 .00018440 00000-0 72421-3 0 9995 +2 67291 97.3942 224.0945 0010122 70.1259 290.1069 15.25706480 23018 +Ten-Koh2 +1 68261U 25241B 26148.47171900 .00009225 00000-0 39303-3 0 9996 +2 68261 51.6638 53.4412 0006592 83.8236 276.3493 15.23628586 11906 +JACK-002 +1 68417U 26067B 26148.86353296 .00008552 00000-0 41038-3 0 9999 +2 68417 97.4553 107.6980 0002512 39.0818 321.0597 15.19116562 9015 +DISCO 2 +1 68431U 26067R 26148.81438544 .00010749 00000-0 52041-3 0 9997 +2 68431 97.4589 107.6397 0004230 76.7993 283.3713 15.18736327 9008 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26148.45558498 .00022066 00000-0 10761-2 0 9991 +2 68446 97.4395 107.0599 0008859 130.8185 229.3819 15.18292837 8934 +PARUS-6U1 +1 68456U 26067AS 26148.86691810 .00006822 00000-0 34553-3 0 9991 +2 68456 97.4539 107.5323 0007297 121.3380 238.8569 15.17283855 9007 +SAL-E +1 68458U 26067AU 26148.66709854 .00009547 00000-0 47993-3 0 9998 +2 68458 97.4466 107.2851 0007446 128.4198 231.7705 15.17436598 8975 +FSI-SAT 2 +1 68792U 26088A 26148.36277436 .00006323 00000-0 42937-3 0 9997 +2 68792 97.5038 298.1253 0014845 170.5781 189.5728 15.06643966 5301 +OrigamiSat 2 +1 68795U 26088D 26147.93040222 .00003942 00000-0 25836-3 0 9996 +2 68795 97.5091 297.7874 0016567 145.3253 214.9059 15.08166526 5241 +ARICA 2 +1 68796U 26088E 26148.85656116 .00005383 00000-0 35052-3 0 9996 +2 68796 97.5031 298.6883 0016816 141.1790 219.0650 15.08239362 5380 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26148.85459716 .00007882 00000-0 50925-3 0 9996 +2 68797 97.5028 298.6905 0016700 141.1913 219.0518 15.08378637 5383 +MANGARO-II-Piscus +1 68798U 26088G 26148.84740205 .00005232 00000-0 33690-3 0 9999 +2 68798 97.5036 298.7042 0020094 144.5869 215.6698 15.08612429 5385 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 +/EX +SB KEPS @ AMSAT < CX2SA $ORB26156.1 +2Line Orbital Elements 26156.AMSAT +R:260612/0151Z 5215@GB7BWR.#45.GBR.EURO LinBPQ6.0.25 +R:260612/0119Z 10175@GB7BEX.#38.GBR.EURO LinBPQ6.0.25 +R:260612/0110Z 55206@EI2GYB.DGL.IRL.EURO LinBPQ6.0.25 +R:260612/0026Z 45022@PY2BIL.SP.BRA.SOAM LinBPQ6.0.25 +R:260612/0025Z @:PI8ZTM.#ZH1.NLD.EURO #:55606 [Den Haag] $:ORB26156.1 +R:260612/0024Z @:CX2SA.SAL.URY.SOAM #:600 [Salto] FBB7.00e $:ORB26156.1 + +From: CX2SA@CX2SA.SAL.URY.SOAM +To : KEPS@AMSAT + + +QST de W1STR + +AMSAT Orbital Elements for Amateur Satellites in TLE Format +>From Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA June 05, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26155.29739884 -.00000046 00000-0 32849-5 0 9994 +2 07530 101.9902 168.4095 0012424 154.1272 275.7064 12.53697884358906 +UO-11 +1 14781U 84021B 26155.73688471 .00001488 00000-0 15713-3 0 9990 +2 14781 97.8050 121.4515 0006538 216.3990 143.6784 14.90752353255276 +AO-27 +1 22825U 93061C 26155.13386559 .00000145 00000-0 72223-4 0 9997 +2 22825 98.6882 222.5517 0009250 133.7828 226.4121 14.30938744705131 +FO-29 +1 24278U 96046B 26155.07670467 -.00000029 00000-0 38850-5 0 9995 +2 24278 98.5251 5.7442 0350656 130.3680 232.8639 13.53273623471395 +GO-32 +1 25397U 98043D 26154.57772251 .00000069 00000-0 49972-4 0 9994 +2 25397 99.0064 146.9934 0000319 213.6137 146.5021 14.24425649449397 +ISS +1 25544U 98067A 26155.74133726 .00008168 00000-0 15298-3 0 9993 +2 25544 51.6329 1.7083 0007031 132.5880 227.5702 15.49603626569822 +NO-44 +1 26931U 01043C 26154.60928777 .00000163 00000-0 91734-4 0 9991 +2 26931 67.0512 279.3895 0006115 263.9670 96.0735 14.31950876288500 +SO-50 +1 27607U 02058C 26154.26409835 .00001126 00000-0 14986-3 0 9993 +2 27607 64.5505 172.0623 0075520 265.0164 94.2317 14.83015002262395 +CO-55 +1 27844U 03031E 26154.54951729 .00000336 00000-0 16425-3 0 9995 +2 27844 98.6736 163.2800 0008691 219.4250 140.6297 14.24327019189733 +RS-22 +1 27939U 03042A 26155.86215742 .00000987 00000-0 16033-3 0 9993 +2 27939 98.3466 339.8730 0010362 313.4523 157.2500 14.73444993213738 +CO-65 +1 32785U 08021C 26155.71935219 .00005395 00000-0 34197-3 0 9991 +2 32785 97.8272 136.8804 0010637 75.2124 285.0282 15.09326445983310 +CO-66 +1 32791U 08021J 26154.55442507 .00020146 00000-0 64842-3 0 9993 +2 32791 97.7515 151.8069 0002991 42.0128 318.1342 15.32257900985206 +RS-30 +1 32953U 08025A 26155.86579933 .00000003 00000-0 -50526-4 0 9992 +2 32953 82.5044 3.1063 0019385 341.4331 18.6039 12.43178729818160 +SRMSAT +1 37841U 11058D 26155.28992140 .00000393 00000-0 69540-4 0 9995 +2 37841 19.9702 137.5332 0011914 62.8275 26.7062 14.11572942755997 +ZACUBE-1 +1 39417U 13066B 26154.94254392 .00004510 00000-0 35148-3 0 9990 +2 39417 97.8107 117.2078 0039904 294.5657 65.1411 15.01095965678748 +Delfi-N3xt +1 39428U 13066N 26155.66193727 .00007558 00000-0 66179-3 0 9999 +2 39428 97.8344 75.9859 0072712 247.8716 111.4775 14.94953338672752 +GOMX-1 +1 39430U 13066Q 26155.79272571 .00002314 00000-0 35095-3 0 9999 +2 39430 97.6487 357.0374 0130016 116.8977 244.5586 14.69410700668096 +LO-74 +1 39440U 13066AA 26154.33051700 .00005093 00000-0 47123-3 0 9990 +2 39440 97.8904 103.2522 0059453 73.9566 286.8190 14.93641817674922 +AO-73 +1 39444U 13066AE 26155.59353272 .00008112 00000-0 50553-3 0 9998 +2 39444 97.8278 126.7780 0034647 245.3456 114.4162 15.09331350677763 +DTUSAT-2 +1 40030U 14033W 26155.22591472 .00007774 00000-0 42187-3 0 9999 +2 40030 98.0864 152.1319 0006144 280.7902 79.2636 15.14842658650726 +LILACSAT-2 +1 40908U 15049K 26155.88698627 .00020496 00000-0 35383-3 0 9999 +2 40908 97.4655 192.2640 0005377 304.9654 55.1092 15.51024001593846 +Horyu-4 +1 41340U 16012D 26152.43486084 .00260233 00000-0 10081-2 0 9993 +2 41340 30.9850 193.7734 0002293 171.6706 188.3991 15.85409012568303 +Lapan A3 +1 41603U 16040E 26155.85491032 .00003928 00000-0 12525-3 0 9996 +2 41603 97.1488 152.4070 0012007 65.0358 295.2131 15.33024305552921 +CAS-2T +1 41847U 16066G 26155.63484800 .00001982 00000-0 28545-3 0 9992 +2 41847 98.3817 231.5141 0342302 167.4688 193.5290 14.44651724502984 +TechnoSat +1 42829U 17042E 26155.74901354 .00003302 00000-0 23673-3 0 9993 +2 42829 97.4275 313.8827 0018977 132.9648 227.3174 15.04880149484831 +AO-91 +1 43017U 17073E 26155.17612321 .00011345 00000-0 49455-3 0 9999 +2 43017 97.4712 22.6585 0151546 14.2510 346.2924 15.12484658463423 +S-Net D +1 43186U 18014G 26155.66212135 .00006020 00000-0 31164-3 0 9997 +2 43186 97.5370 60.5316 0009887 67.6528 292.5751 15.16549973456862 +S-Net B +1 43187U 18014H 26155.67333097 .00006432 00000-0 33300-3 0 9991 +2 43187 97.5376 60.5288 0010426 63.4642 296.7659 15.16520086456866 +S-Net A +1 43188U 18014J 26155.66106520 .00005895 00000-0 30517-3 0 9999 +2 43188 97.5386 60.7233 0010391 63.8079 296.4221 15.16557400456861 +S-Net C +1 43189U 18014K 26155.67714317 .00006393 00000-0 33099-3 0 9992 +2 43189 97.5402 60.8120 0011555 56.9894 303.2448 15.16511330455418 +Ten-Koh +1 43677U 18084G 26155.07429095 .00003243 00000-0 24650-3 0 9995 +2 43677 98.0775 346.8839 0010121 157.1972 202.9703 15.02883262414192 +PO-101 +1 43678U 18084H 26155.83239527 .00003226 00000-0 26166-3 0 9994 +2 43678 98.1154 351.5061 0011792 211.4547 148.5971 15.00391997414360 +QO-100 +1 43700U 18090A 26155.74019446 .00000156 00000-0 00000+0 0 9997 +2 43700 0.0177 0.9674 0001949 105.4242 79.0501 1.00272777 27552 +MinXSS-2 +1 43758U 18099A 26155.66838664 .00035252 00000-0 72088-3 0 9995 +2 43758 97.4538 231.5943 0006038 309.7758 50.2959 15.46039247412196 +AO-95 +1 43770U 18099N 26154.64024448 .00013080 00000-0 50433-3 0 9998 +2 43770 97.4392 214.9391 0009397 44.7441 315.4554 15.26406805411154 +SNUSat 2 +1 43782U 18099AA 26155.64240016 .00009596 00000-0 42708-3 0 9996 +2 43782 97.4061 209.2201 0009512 348.7388 11.3634 15.21642813411127 +SnugLite +1 43784U 18099AC 26155.10350941 .00013539 00000-0 51508-3 0 9998 +2 43784 97.3871 209.5144 0002220 11.0960 349.0328 15.26879137411320 +ITASat 1 +1 43786U 18099AE 26155.63704000 .00008140 00000-0 39246-3 0 9994 +2 43786 97.4030 207.4001 0013392 43.0227 317.2052 15.18890618411006 +EAGLET 1 +1 43790U 18099AJ 26155.35384480 .00005478 00000-0 31483-3 0 9990 +2 43790 97.4233 205.3626 0011918 37.5450 322.6611 15.12838404410395 +ESEO +1 43792U 18099AL 26155.67432023 .00001308 00000-0 98217-4 0 9991 +2 43792 97.3961 193.5989 0012511 23.3849 336.7944 15.04201533409929 +JO-97 +1 43803U 18099AX 26155.63215683 .00018538 00000-0 57877-3 0 9990 +2 43803 97.4135 218.4269 0004292 324.7580 35.3378 15.33239560411706 +Suomi 100 +1 43804U 18099AY 26155.63499492 .00013743 00000-0 50298-3 0 9996 +2 43804 97.4190 216.0775 0008768 331.5428 28.5331 15.28124804411502 +ISAT +1 43879U 18111D 26155.43138794 .00095893 00000-0 10486-2 0 9996 +2 43879 97.5898 89.6933 0003290 47.8179 312.3358 15.62995150409176 +UWE-4 +1 43880U 18111E 26154.36119365 .00034900 00000-0 73362-3 0 9997 +2 43880 97.5860 82.1246 0008243 33.3192 326.8573 15.45215882408648 +Sparrow +1 43881U 18111F 26155.59610858 .00151593 00000-0 11997-2 0 9990 +2 43881 97.6128 95.2751 0005059 99.0146 261.1689 15.70860609409396 +Prox-1 +1 44339U 19036A 26153.39522389 .00013271 00000-0 13054-2 0 9999 +2 44339 23.9937 213.0381 0005645 216.2369 143.7749 14.90241213371266 +Taurus 1 +1 44530U 19059C 26155.80361750 .00006517 00000-0 10468-2 0 9999 +2 44530 98.6410 319.8652 0008196 358.9323 1.1863 14.71959265356829 +TO-108 +1 44881U 19093C 26155.86108184 .00000338 00000-0 44129-4 0 9990 +2 44881 97.7533 228.3934 0014691 123.5586 236.7035 14.86496517349589 +RS-44 +1 44909U 19096E 26155.02704110 .00000001 00000-0 -44333-4 0 9998 +2 44909 82.5219 348.4520 0217591 174.8762 185.4640 12.79748573300667 +SALSAT +1 46495U 20068K 26154.99736177 .00008555 00000-0 30076-3 0 9993 +2 46495 97.8850 157.2614 0009364 359.9507 0.1729 15.29597840313346 +CSS (TIANHE-1) +1 48274U 21035A 26155.68961053 .00024475 00000-0 29392-3 0 9993 +2 48274 41.4693 38.0294 0009579 342.1781 17.8720 15.60257338291216 +CUTE +1 49263U 21088D 26155.23260345 .00391134 58145-4 13985-2 0 9993 +2 49263 97.4162 253.3120 0006992 259.2007 100.8478 15.88777469260493 +TeikyoSat 4 +1 49396U 21102B 26155.65820756 .00001857 00000-0 11967-3 0 9993 +2 49396 97.3670 185.6288 0011415 344.5234 15.5644 15.09462831250832 +Z-Sat +1 49399U 21102E 26155.80713624 .00003285 00000-0 16366-3 0 9993 +2 49399 97.3329 191.5059 0014871 293.4135 66.5535 15.18166518251568 +KOSEN 1 +1 49402U 21102H 26155.68886447 .00007530 00000-0 28928-3 0 9992 +2 49402 97.3189 198.0899 0012103 248.4486 111.5463 15.26654226252116 +HO-113 +1 50466U 21131B 26155.83678505 .00000562 00000-0 18718-3 0 9991 +2 50466 98.4978 248.2934 0005055 125.0726 235.0938 14.41345974233334 +SNUGLITE 2 +1 52899U 22065F 26153.81818698 .00001149 00000-0 22678-3 0 9997 +2 52899 98.2186 298.6759 0008699 72.9663 287.2492 14.64318814208891 +UmKA 1 (RS40S) +1 57172U 23091G 26155.72365924 .00007244 00000-0 33222-3 0 9996 +2 57172 97.5051 214.4699 0013525 157.1943 202.9895 15.20667787162117 +CubeBel-2 (EU11S) +1 57175U 23091K 26155.22582525 .00014019 00000-0 50188-3 0 9990 +2 57175 97.5053 218.3297 0010812 154.4980 205.6795 15.28829416162325 +RS-38S +1 57189U 23091Z 26155.11681252 .00018692 00000-0 54136-3 0 9998 +2 57189 97.5093 224.3441 0008752 116.2926 243.9218 15.35589021162685 +SONATE-2 +1 59112U 24043Q 26154.97364330 .00039146 00000-0 52779-3 0 9990 +2 59112 97.5529 304.5700 0006326 241.9322 118.1294 15.57700323125834 +GRBBeta +1 60237U 24128C 26155.74246985 .00004952 00000-0 34080-3 0 9997 +2 60237 61.9904 259.9266 0042354 132.1755 228.2947 15.06546882104396 +Curium One +1 60242U 24128H 26155.74067412 .00009406 00000-0 54094-3 0 9995 +2 60242 61.9788 249.8530 0041552 128.1960 232.2890 15.12335101104575 +ROBUSTA-3A +1 60243U 24128J 26154.83857688 .00009406 00000-0 55287-3 0 9992 +2 60243 61.9869 255.4438 0043220 125.2822 235.2328 15.11490826104401 +CatSat +1 60246U 24125J 26154.65070750 .00056678 00000-0 77347-3 0 9993 +2 60246 97.2095 6.9905 0021582 228.0597 131.8820 15.57035250105284 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26155.73086128 .00115729 00000-0 85499-3 0 9995 +2 61772 97.2892 34.8492 0002185 319.5385 40.5716 15.72624267132711 +AO-123 +1 61781U 24199AY 26155.26251198 .00008936 00000-0 26072-3 0 9997 +2 61781 97.3011 24.0505 0013741 3.1440 356.9888 15.35480458131948 +JINJUSat 1B +1 63210U 25052A 26155.68116339 .00018500 00000-0 58015-3 0 9998 +2 63210 97.4021 52.4231 0005273 119.5972 240.5796 15.33094184 68189 +NUSHSAT 1 +1 63211U 25052B 26155.67938850 .00023227 00000-0 67502-3 0 9991 +2 63211 97.3992 52.9449 0005054 119.3104 240.8645 15.35459375 68224 +TEVEL2-4 +1 63213U 25052D 26153.24759932 .00019833 00000-0 60334-3 0 9990 +2 63213 97.3927 49.6197 0004091 133.0862 227.0724 15.34050425 67823 +TEVEL2-5 +1 63214U 25052E 26155.68011441 .00020387 00000-0 62137-3 0 9996 +2 63214 97.3911 52.0060 0004070 127.8276 232.3335 15.33985737 68191 +TEVEL2-6 +1 63215U 25052F 26154.64839894 .00020133 00000-0 61519-3 0 9994 +2 63215 97.3918 50.9581 0004181 130.1242 230.0368 15.33906822 68039 +TEVEL2-1 +1 63217U 25052H 26153.69393788 .00019888 00000-0 61840-3 0 9999 +2 63217 97.3886 49.6443 0003899 141.0246 219.1278 15.33355434 67873 +TEVEL2-3 +1 63218U 25052J 26154.21113612 .00019661 00000-0 61001-3 0 9993 +2 63218 97.3892 50.1814 0003877 141.5958 218.5561 15.33427572 67951 +TEVEL2-2 +1 63219U 25052K 26154.60793555 .00020300 00000-0 63028-3 0 9990 +2 63219 97.3889 50.5598 0003813 141.3409 218.8107 15.33398099 68018 +TEVEL2-9 +1 63237U 25052AD 26155.67873848 .00017126 00000-0 56461-3 0 9997 +2 63237 97.3945 51.0324 0006594 167.3372 192.8036 15.31497239 68117 +TEVEL2-7 +1 63238U 25052AE 26154.60632626 .00017541 00000-0 58397-3 0 9998 +2 63238 97.3955 49.8841 0006418 171.2563 188.8791 15.31176236 67943 +TEVEL2-8 +1 63239U 25052AF 26154.94119385 .00017135 00000-0 57066-3 0 9999 +2 63239 97.3952 50.1954 0006473 170.8239 189.3121 15.31169698 67999 +SPIRONE +1 66657U 25274H 26155.05647992 .00002114 00000-0 20596-3 0 9994 +2 66657 97.7483 84.5358 0013495 61.9371 298.3212 14.93487417 28265 +K-HERO +1 66660U 25274L 26154.32797628 .00002230 00000-0 21467-3 0 9996 +2 66660 97.7488 83.9690 0015391 67.4158 292.8689 14.93903672 28169 +SNUGLITE-III DURI +1 66661U 25274M 26155.58872358 .00001878 00000-0 18134-3 0 9994 +2 66661 97.7484 85.2328 0015973 64.2020 296.0846 14.93956633 28355 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26154.18192812 .00010577 00000-0 43076-3 0 9991 +2 67290 97.3924 229.3926 0010172 52.3667 307.8492 15.24621972 23842 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26155.16619895 .00016254 00000-0 63454-3 0 9996 +2 67291 97.3930 230.5150 0009516 48.8222 311.3836 15.25939873 24004 +Ten-Koh2 +1 68261U 25241B 26153.84997429 .00006883 00000-0 29609-3 0 9990 +2 68261 51.6660 27.8529 0006535 101.1658 259.0055 15.23719437 12723 +JACK-002 +1 68417U 26067B 26155.12092779 .00007221 00000-0 34601-3 0 9992 +2 68417 97.4567 113.8754 0001764 27.3197 332.8130 15.19221851 9961 +DISCO 2 +1 68431U 26067R 26155.73210874 .00008768 00000-0 42354-3 0 9994 +2 68431 97.4600 114.4682 0003870 65.1833 294.9803 15.18875510 10052 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26153.33220636 .00018852 00000-0 91402-3 0 9994 +2 68446 97.4412 111.8588 0009424 119.3546 240.8630 15.18523368 9674 +PARUS-6U1 +1 68456U 26067AS 26155.13190689 .00005685 00000-0 28781-3 0 9999 +2 68456 97.4553 113.6985 0007643 105.1613 255.0466 15.17371761 9954 +SAL-E +1 68458U 26067AU 26155.12919632 .00008056 00000-0 40412-3 0 9997 +2 68458 97.4479 113.6404 0007870 112.3057 247.9012 15.17561784 9956 +FSI-SAT 2 +1 68792U 26088A 26153.34376270 .00004963 00000-0 33735-3 0 9991 +2 68792 97.5061 302.9786 0015366 152.9612 207.2419 15.06706036 6054 +OrigamiSat 2 +1 68795U 26088D 26154.03393240 .00004950 00000-0 32153-3 0 9996 +2 68795 97.5061 303.7468 0016403 126.4469 233.8274 15.08375608 6167 +ARICA 2 +1 68796U 26088E 26155.02644113 .00005617 00000-0 36479-3 0 9991 +2 68796 97.5055 304.7138 0016935 121.8076 238.4804 15.08313250 6311 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26152.37045560 .00007830 00000-0 50514-3 0 9993 +2 68797 97.5037 302.1246 0016669 130.5005 229.7679 15.08438851 5910 +MANGARO-II-Piscus +1 68798U 26088G 26153.29130287 .00005214 00000-0 33523-3 0 9992 +2 68798 97.5055 303.0466 0020297 130.0536 230.2477 15.08665251 6056 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 +/EX +SB KEPS @ AMSAT < CX2SA $ORB26163.1 +2Line Orbital Elements 26163.AMSAT +R:260612/0151Z 5216@GB7BWR.#45.GBR.EURO LinBPQ6.0.25 +R:260612/0119Z 10176@GB7BEX.#38.GBR.EURO LinBPQ6.0.25 +R:260612/0110Z 55207@EI2GYB.DGL.IRL.EURO LinBPQ6.0.25 +R:260612/0027Z 45023@PY2BIL.SP.BRA.SOAM LinBPQ6.0.25 +R:260612/0025Z @:PI8ZTM.#ZH1.NLD.EURO #:55607 [Den Haag] $:ORB26163.1 +R:260612/0024Z @:CX2SA.SAL.URY.SOAM #:601 [Salto] FBB7.00e $:ORB26163.1 + +From: CX2SA@CX2SA.SAL.URY.SOAM +To : KEPS@AMSAT + + +QST de W1STR + +AMSAT Orbital Elements for Amateur Satellites in TLE Format +>From Orbital Analysis Office +New England Sci-Tech STEM Education Center +Natick MA June 12, 2026 +To all radio amateurs + + +These element sets describe the orbits of various satellites +in use by the amateur radio community. For details see: +www.amsat.org/keplerian-elements-formats/ + +A daily update of element sets is available at: +www.amsat.org/tle/daily-bulletin.txt +or without bulletin text: +www.amsat.org/tle/dailytle.txt + + +AO-07 +1 07530U 74089B 26162.65147906 -.00000028 00000-0 11383-3 0 9998 +2 07530 101.9901 175.8403 0012513 140.4231 346.6371 12.53697989359829 +UO-11 +1 14781U 84021B 26162.71749374 .00001229 00000-0 13072-3 0 9995 +2 14781 97.8055 128.3534 0007126 190.9158 169.1907 14.90769946256317 +LO-19 +1 20442U 90005G 26162.53069412 .00000105 00000-0 54261-4 0 9991 +2 20442 98.8852 184.1803 0010820 218.5501 141.4911 14.34121495901580 +AO-27 +1 22825U 93061C 26162.68565860 .00000075 00000-0 45342-4 0 9993 +2 22825 98.6880 230.1011 0009459 113.9652 246.2522 14.30940798706216 +FO-29 +1 24278U 96046B 26162.54420303 .00000014 00000-0 46335-4 0 9996 +2 24278 98.5245 12.1894 0350827 111.0367 252.8667 13.53273928472403 +GO-32 +1 25397U 98043D 26162.58543429 .00000048 00000-0 41012-4 0 9991 +2 25397 99.0065 155.2028 0000734 176.4907 183.6276 14.24427354450534 +ISS +1 25544U 98067A 26162.83551936 .00007284 00000-0 13937-3 0 9994 +2 25544 51.6334 326.5798 0004934 175.2433 184.8603 15.49179015570924 +NO-44 +1 26931U 01043C 26162.64152601 .00000072 00000-0 57659-4 0 9996 +2 26931 67.0509 258.6152 0006100 264.4327 95.6080 14.31954152289657 +SO-50 +1 27607U 02058C 26162.55839360 .00000916 00000-0 12536-3 0 9999 +2 27607 64.5506 146.4007 0075403 263.5157 95.7360 14.83034770263626 +CO-55 +1 27844U 03031E 26162.55782411 .00000255 00000-0 12921-3 0 9992 +2 27844 98.6735 171.1873 0009139 194.6488 165.4428 14.24332340190876 +RS-22 +1 27939U 03042A 26162.85688567 .00001166 00000-0 18781-3 0 9991 +2 27939 98.3473 347.0658 0010045 288.8379 182.7006 14.73459418214764 +CO-65 +1 32785U 08021C 26162.87915317 .00004765 00000-0 30197-3 0 9999 +2 32785 97.8271 144.1871 0010285 55.0183 305.2009 15.09404107984398 +CO-66 +1 32791U 08021J 26162.25964503 .00015274 00000-0 48820-3 0 9998 +2 32791 97.7517 159.8749 0001967 23.1856 336.9473 15.32546772986382 +RS-30 +1 32953U 08025A 26162.86738984 -.00000003 00000-0 -93499-4 0 9990 +2 32953 82.5050 358.7505 0019066 325.8599 34.1253 12.43178812819036 +SRMSAT +1 37841U 11058D 26162.51581192 .00000355 00000-0 48954-4 0 9994 +2 37841 19.9715 93.7945 0011909 141.4141 27.1536 14.11574372757019 +ZACUBE-1 +1 39417U 13066B 26162.80818086 .00003114 00000-0 24384-3 0 9999 +2 39417 97.8084 125.1158 0040240 266.5236 93.1385 15.01156095679920 +Delfi-N3xt +1 39428U 13066N 26162.68974664 .00004026 00000-0 35436-3 0 9995 +2 39428 97.8343 83.0068 0073188 224.2839 135.2512 14.95029108673806 +GOMX-1 +1 39430U 13066Q 26162.80655015 .00002336 00000-0 35370-3 0 9997 +2 39430 97.6494 3.6098 0130200 94.6175 266.9916 14.69441735669121 +LO-74 +1 39440U 13066AA 26162.77121377 .00003584 00000-0 33291-3 0 9999 +2 39440 97.8899 111.7263 0058871 46.5267 314.0826 14.93717789676180 +AO-73 +1 39444U 13066AE 26162.55441071 .00005554 00000-0 34659-3 0 9993 +2 39444 97.8262 133.8824 0035145 220.5848 139.2760 15.09420112678819 +DTUSAT-2 +1 40030U 14033W 26162.55772759 .00006319 00000-0 34274-3 0 9994 +2 40030 98.0858 159.9274 0006276 248.7752 111.2808 15.14945636651838 +LILACSAT-2 +1 40908U 15049K 26162.85412267 .00016370 00000-0 28065-3 0 9993 +2 40908 97.4658 199.4931 0005266 270.7018 89.3630 15.51269609594924 +Horyu-4 +1 41340U 16012D 26161.10844880 .00337518 00000-0 10043-2 0 9998 +2 41340 30.9844 130.8123 0003461 226.4757 133.5616 15.90526809569681 +Lapan A3 +1 41603U 16040E 26162.90427465 .00003154 00000-0 10090-3 0 9995 +2 41603 97.1484 159.2235 0011468 43.2034 317.0107 15.33071180554004 +CAS-2T +1 41847U 16066G 26162.69969390 .00001523 00000-0 22073-3 0 9999 +2 41847 98.3821 238.4986 0342615 146.0770 216.2856 14.44676189504002 +TechnoSat +1 42829U 17042E 26162.39817513 .00003079 00000-0 22080-3 0 9997 +2 42829 97.4263 320.2771 0018777 112.5016 247.8201 15.04918472485839 +AO-91 +1 43017U 17073E 26162.58534500 .00008698 00000-0 38005-3 0 9990 +2 43017 97.4718 29.9151 0150450 348.6412 11.1435 15.12626564464549 +S-Net D +1 43186U 18014G 26162.72191544 .00004416 00000-0 22915-3 0 9993 +2 43186 97.5371 67.5470 0009451 46.9082 313.2940 15.16621821457936 +S-Net B +1 43187U 18014H 26162.73326255 .00004765 00000-0 24717-3 0 9993 +2 43187 97.5378 67.5446 0009958 42.2656 317.9343 15.16592344457930 +S-Net A +1 43188U 18014J 26162.72082205 .00004327 00000-0 22453-3 0 9996 +2 43188 97.5388 67.7398 0009847 43.1427 317.0576 15.16629419457936 +S-Net C +1 43189U 18014K 26162.67113179 .00004973 00000-0 25777-3 0 9995 +2 43189 97.5404 67.7643 0011029 35.4781 324.7183 15.16583570456475 +Ten-Koh +1 43677U 18084G 26162.53115580 .00002116 00000-0 16240-3 0 9999 +2 43677 98.0781 354.6565 0010975 131.3558 228.8611 15.02920830415316 +PO-101 +1 43678U 18084H 26162.83481030 .00002667 00000-0 21701-3 0 9998 +2 43678 98.1180 358.8112 0012215 187.4845 172.6197 15.00428066415413 +QO-100 +1 43700U 18090A 26162.62828442 .00000161 00000-0 00000+0 0 9992 +2 43700 0.0167 320.3790 0001431 157.1033 34.4948 1.00269967 27622 +MinXSS-2 +1 43758U 18099A 26162.72209756 .00031185 00000-0 62752-3 0 9992 +2 43758 97.4547 238.8477 0006295 277.9918 82.0617 15.46533045413287 +AO-95 +1 43770U 18099N 26162.11310128 .00010727 00000-0 41211-3 0 9991 +2 43770 97.4393 222.3819 0008614 20.0469 340.1107 15.26583130412293 +SNUSat 2 +1 43782U 18099AA 26162.61273932 .00007491 00000-0 33310-3 0 9995 +2 43782 97.4071 216.0820 0008897 321.3467 38.7132 15.21755815412181 +SnugLite +1 43784U 18099AC 26162.11537671 .00010460 00000-0 39674-3 0 9994 +2 43784 97.3877 216.4553 0001521 337.6782 22.4390 15.27045448412399 +ITASat 1 +1 43786U 18099AE 26162.68590565 .00006612 00000-0 31860-3 0 9992 +2 43786 97.4034 214.3073 0012715 19.6048 340.5673 15.18988570412075 +EAGLET 1 +1 43790U 18099AJ 26162.62940266 .00003955 00000-0 22801-3 0 9990 +2 43790 97.4235 212.4449 0011224 13.4989 346.6540 15.12897029411496 +ESEO +1 43792U 18099AL 26162.65911051 .00001966 00000-0 14545-3 0 9991 +2 43792 97.3966 200.2837 0011896 358.5401 1.5789 15.04225493410976 +JO-97 +1 43803U 18099AX 26162.41903211 .00013576 00000-0 42176-3 0 9998 +2 43803 97.4135 225.2337 0004121 290.5933 69.4867 15.33467542412740 +Suomi 100 +1 43804U 18099AY 26162.70662642 .00011026 00000-0 40226-3 0 9993 +2 43804 97.4194 223.1205 0008408 302.3070 57.7355 15.28290236412585 +ISAT +1 43879U 18111D 26162.79070485 .00088429 00000-0 91873-3 0 9992 +2 43879 97.5882 97.5998 0001251 59.2219 300.9163 15.64337273410329 +UWE-4 +1 43880U 18111E 26162.77811529 .00033079 00000-0 68244-3 0 9991 +2 43880 97.5852 90.9210 0006520 5.5235 354.6084 15.45791225409942 +Sparrow +1 43881U 18111F 26162.08988774 .00138135 00000-0 10146-2 0 9999 +2 43881 97.6115 102.3584 0004611 103.2888 256.8889 15.72684748410418 +Prox-1 +1 44339U 19036A 26162.63473251 .00012207 00000-0 11914-2 0 9990 +2 44339 23.9924 151.3410 0005369 331.4108 28.6097 14.90479846372648 +Taurus 1 +1 44530U 19059C 26162.80502664 .00005025 00000-0 80794-3 0 9991 +2 44530 98.6408 327.2998 0007654 335.2748 24.8090 14.72040742357859 +TO-108 +1 44881U 19093C 26162.86166634 .00000118 00000-0 19364-4 0 9991 +2 44881 97.7532 235.2236 0014977 102.4587 257.8305 14.86508603350625 +RS-44 +1 44909U 19096E 26162.61066808 .00000028 00000-0 60927-4 0 9991 +2 44909 82.5217 343.4113 0217927 157.1662 203.9312 12.79748751301632 +SALSAT +1 46495U 20068K 26162.58556220 .00006923 00000-0 24314-3 0 9991 +2 46495 97.8849 165.3093 0008526 331.4069 28.6701 15.29719030314503 +CSS (TIANHE-1) +1 48274U 21035A 26162.53781053 .00016554 00000-0 19807-3 0 9994 +2 48274 41.4693 356.3768 0008209 31.5834 328.5496 15.60566891292282 +CUTE +1 49263U 21088D 26162.21741475 .00170126 12795-4 53187-3 0 9993 +2 49263 97.4171 260.9418 0007805 241.5311 118.5177 15.91463951261601 +TeikyoSat 4 +1 49396U 21102B 26162.61866576 .00001857 00000-0 11958-3 0 9997 +2 49396 97.3672 192.3186 0010836 318.3974 41.6430 15.09489641251889 +Z-Sat +1 49399U 21102E 26162.85947080 .00002630 00000-0 13147-3 0 9998 +2 49399 97.3332 198.3438 0014802 265.7820 94.1723 15.18221160252635 +KOSEN 1 +1 49402U 21102H 26162.63638323 .00006530 00000-0 25045-3 0 9999 +2 49402 97.3194 204.9014 0012634 221.0806 138.9483 15.26758585253175 +HO-113 +1 50466U 21131B 26162.84816355 .00000475 00000-0 16045-3 0 9991 +2 50466 98.4973 255.2667 0005293 108.7025 251.4738 14.41352794234344 +SNUGLITE 2 +1 52899U 22065F 26162.63292372 .00000834 00000-0 16702-3 0 9993 +2 52899 98.2195 307.4736 0008329 48.8269 311.3650 14.64337670210180 +UmKA 1 (RS40S) +1 57172U 23091G 26162.69853169 .00005909 00000-0 27090-3 0 9995 +2 57172 97.5058 221.4167 0014017 134.8199 225.4178 15.20754474163175 +CubeBel-2 (EU11S) +1 57175U 23091K 26162.81772562 .00011356 00000-0 40481-3 0 9991 +2 57175 97.5060 225.9868 0011185 130.9539 229.2671 15.29019879163482 +RS-38S +1 57189U 23091Z 26162.80543860 .00015937 00000-0 45823-3 0 9996 +2 57189 97.5099 232.1829 0008561 93.8965 266.3257 15.35853733163866 +SONATE-2 +1 59112U 24043Q 26162.68083809 .00036244 00000-0 47794-3 0 9993 +2 59112 97.5519 312.7414 0006785 214.2461 145.8357 15.58306667127037 +GRBBeta +1 60237U 24128C 26162.57868025 .00003203 00000-0 22564-3 0 9993 +2 60237 61.9897 235.9431 0041389 133.4300 227.0250 15.06603237105429 +Curium One +1 60242U 24128H 26162.55059273 .00006356 00000-0 36934-3 0 9992 +2 60242 61.9783 225.7373 0040666 129.3155 231.1557 15.12441491105605 +ROBUSTA-3A +1 60243U 24128J 26162.51224362 .00006273 00000-0 37269-3 0 9992 +2 60243 61.9859 228.3117 0041955 127.1025 233.3917 15.11611105105568 +CatSat +1 60246U 24125J 26162.55312640 .00057615 00000-0 75817-3 0 9990 +2 60246 97.2095 14.9841 0022213 199.2504 160.7915 15.57988127106514 +HYPERVIEW-1G (RS66S) +1 61772U 24199AP 26162.85331163 .00120653 00000-0 82449-3 0 9992 +2 61772 97.2894 42.3086 0002612 249.1519 110.9466 15.74440956133839 +AO-123 +1 61781U 24199AY 26162.88690534 .00006895 00000-0 20107-3 0 9999 +2 61781 97.3015 31.6060 0012833 334.9444 25.1175 15.35599579133112 +JINJUSat 1B +1 63210U 25052A 26162.66446414 .00016024 00000-0 49924-3 0 9992 +2 63210 97.4020 59.4127 0005433 103.0743 257.1106 15.33330613 69259 +NUSHSAT 1 +1 63211U 25052B 26162.65180502 .00019890 00000-0 57318-3 0 9995 +2 63211 97.3997 59.9468 0005183 104.6380 255.5439 15.35755437 69293 +TEVEL2-4 +1 63213U 25052D 26162.70463612 .00017902 00000-0 53861-3 0 9990 +2 63213 97.3917 59.0886 0004732 113.7416 246.4323 15.34420215 69273 +TEVEL2-5 +1 63214U 25052E 26162.65930424 .00017637 00000-0 53362-3 0 9996 +2 63214 97.3921 58.9918 0004616 115.2111 244.9611 15.34247244 69264 +TEVEL2-6 +1 63215U 25052F 26162.67150742 .00017453 00000-0 52870-3 0 9995 +2 63215 97.3921 58.9890 0004506 114.2026 245.9689 15.34210437 69266 +TEVEL2-1 +1 63217U 25052H 26162.69862928 .00016389 00000-0 50495-3 0 9993 +2 63217 97.3892 58.6467 0004481 124.0183 236.1485 15.33685523 69253 +TEVEL2-3 +1 63218U 25052J 26162.69346801 .00016740 00000-0 51483-3 0 9990 +2 63218 97.3895 58.6628 0004465 124.0241 236.1426 15.33739822 69250 +TEVEL2-2 +1 63219U 25052K 26162.63372872 .00016607 00000-0 51153-3 0 9998 +2 63219 97.3892 58.5842 0004438 124.7997 235.3663 15.33691849 69249 +TEVEL2-9 +1 63237U 25052AD 26162.66933140 .00015595 00000-0 51070-3 0 9995 +2 63237 97.3955 58.0067 0007180 145.2035 214.9678 15.31729289 69181 +TEVEL2-7 +1 63238U 25052AE 26162.64384617 .00015266 00000-0 50453-3 0 9992 +2 63238 97.3956 57.8996 0007384 146.6025 213.5683 15.31438085 69172 +TEVEL2-8 +1 63239U 25052AF 26162.65204074 .00015443 00000-0 51057-3 0 9990 +2 63239 97.3954 57.8849 0007385 147.5513 212.6184 15.31421974 69176 +SPIRONE +1 66657U 25274H 26162.69424747 .00002371 00000-0 23018-3 0 9990 +2 66657 97.7482 92.0640 0013186 39.3964 320.8212 14.93524701 29402 +K-HERO +1 66660U 25274L 26162.70037605 .00001907 00000-0 18412-3 0 9995 +2 66660 97.7491 92.2272 0015174 42.4511 317.7880 14.93943998 29411 +SNUGLITE-III DURI +1 66661U 25274M 26162.35342095 .00001834 00000-0 17716-3 0 9994 +2 66661 97.7488 91.9052 0015727 43.9860 316.2609 14.93981607 29363 +SAKHACUBE-CHOLBON +1 67290U 25313AU 26162.71359684 .00008400 00000-0 34113-3 0 9995 +2 67290 97.3936 237.8168 0009403 24.6626 335.5060 15.24792040 25148 +RS95S (QMR-KWT-2) +1 67291U 25313AV 26162.70682690 .00012644 00000-0 49145-3 0 9997 +2 67291 97.3938 237.9744 0008769 23.1674 336.9958 15.26151310 25156 +Ten-Koh2 +1 68261U 25241B 26161.72007287 .00005667 00000-0 24553-3 0 9992 +2 68261 51.6686 350.4048 0006326 123.3884 236.7700 15.23827135 13924 +JACK-002 +1 68417U 26067B 26162.62928412 .00006536 00000-0 31259-3 0 9991 +2 68417 97.4561 121.2887 0000844 15.6757 344.4503 15.19326237 11101 +DISCO 2 +1 68431U 26067R 26162.84688025 .00007458 00000-0 35960-3 0 9991 +2 68431 97.4592 121.4922 0003298 52.2838 307.8695 15.18991676 11138 +HADES-SA (SpinnyONE) +1 68446U 26067AG 26162.62235870 .00017480 00000-0 83941-3 0 9997 +2 68446 97.4395 121.0022 0009569 96.0146 264.2179 15.18872260 11081 +PARUS-6U1 +1 68456U 26067AS 26162.38569289 .00004479 00000-0 22698-3 0 9991 +2 68456 97.4543 120.8384 0007638 86.8057 273.4050 15.17454121 11056 +SAL-E +1 68458U 26067AU 26162.38200311 .00005894 00000-0 29572-3 0 9991 +2 68458 97.4466 120.7745 0007993 93.8966 266.3182 15.17671197 11054 +FSI-SAT 2 +1 68792U 26088A 26162.37552808 .00003914 00000-0 26635-3 0 9993 +2 68792 97.5046 311.7813 0015567 125.1417 235.1272 15.06783507 7410 +OrigamiSat 2 +1 68795U 26088D 26162.12657880 .00002823 00000-0 18400-3 0 9994 +2 68795 97.5007 311.6580 0016405 100.0294 260.2787 15.08593796 7384 +ARICA 2 +1 68796U 26088E 26162.65547728 .00003522 00000-0 22986-3 0 9993 +2 68796 97.5045 312.1677 0017187 97.6089 262.7092 15.08382175 7463 +WASEDA-SAT-ZERO-II +1 68797U 26088F 26162.65195126 .00005254 00000-0 33909-3 0 9996 +2 68797 97.5044 312.1717 0016925 97.5686 262.7465 15.08578017 7465 +MANGARO-II-Piscus +1 68798U 26088G 26162.37767603 .00003385 00000-0 21864-3 0 9991 +2 68798 97.5053 311.9302 0020461 101.0235 259.3297 15.08739077 7420 +IO-86 +1 40931U 25360.30710720 .00000000 00000-0 12800-3 0 00 +2 40931 6.0006 332.5373 0012733 338.8432 8.1437 14.79075515 01 +LILIUM-4 +1 71922C 26067AC 26089.50133053 -.00014632 00000+0 -74472-3 0 04 +2 71922 97.4497 49.1617 0004341 5.9603 355.7042 15.16896692 16 +/EX diff --git a/Versions.h b/Versions.h index 1115329..f1cfa66 100644 --- a/Versions.h +++ b/Versions.h @@ -10,15 +10,15 @@ #endif -#define KVers 6,0,25,30 -#define KVerstring "6.0.25.30\0" +#define KVers 6,0,25,32 +#define KVerstring "6.0.25.32\0" #ifdef CKernel #define Vers KVers #define Verstring KVerstring -#define Datestring "April 2026" +#define Datestring "July 2026" #define VerComments "G8BPQ Packet Switch (C Version)" KVerstring #define VerCopyright "Copyright © 2001-2026 John Wiseman G8BPQ\0" #define VerDesc "BPQ32 Switch\0" diff --git a/asmstrucs.h b/asmstrucs.h index 5e7fb29..4c26ec5 100644 --- a/asmstrucs.h +++ b/asmstrucs.h @@ -237,7 +237,9 @@ typedef struct ROUTE int ConnectionAttempts; int Status; // - int OldBPQ; // Set if other end is BPQ sending RIF in mS + int mSRIF; // Set if other end is BPQ sending RIF in mS (Ver < 2) + int senderaddsRTT; // Set if link RTT added before sending (Ver = 1) + int timeoutRoutes; // Set if other end always sends timed RIF updates (Hourly) int LastRTT; // Last Value Reported int RTT; // Current int SRTT; // Smoothed RTT @@ -481,21 +483,45 @@ typedef struct _APPLCALLS // We treat the Routes as an array of 6. First 3 are NODES routes, next 3 are INP3 Routes. This works, but maybe is not ideal -typedef struct NR_DEST_ROUTE_ENTRY +struct NR_DEST_ROUTE_ENTRY { struct ROUTE * ROUT_NEIGHBOUR; // POINTER TO NEXT NODE IN PATH - UCHAR ROUT_QUALITY; // QUALITY - UCHAR ROUT_OBSCOUNT; - UCHAR ROUT_LOCKED; -} *PNR_DEST_ROUTE_ENTRY; + time_t padding; // + uint8_t ROUT_QUALITY; // QUALITY + uint8_t ROUT_OBSCOUNT; + uint8_t ROUT_LOCKED; +}; -typedef struct INP3_DEST_ROUTE_ENTRY +struct INP3_DEST_ROUTE_ENTRY { struct ROUTE * ROUT_NEIGHBOUR; // POINTER TO NEXT NODE IN PATH - USHORT STT; // Current time to dest from here (was called RTT but is one way not round trip. + time_t LastRefreshed; + uint16_t STT; // Current time to dest from here (was called RTT but is one way not round trip. // Is actually a smoothed value as is calculated from smoothed link times) - UCHAR Hops; -} *PDEST_ROUTE_ENTRY; + uint8_t Hops; +}; + +// Extended XR options for XROUTER + +typedef struct +{ + uint32_t IPADDR; + uint8_t Mask; + double Lat; + double Lon; + time_t Time; + uint16_t Port; + int16_t TZOffset; + char * LOC; + char * QTH; + char * Ver; + uint8_t SWType; + uint8_t NetworkFlags; + uint8_t ApplFlags; + uint8_t * Optionslist; // raw options as last received for relay +} XROptions; + + typedef struct DEST_LIST { @@ -520,6 +546,7 @@ typedef struct DEST_LIST int DEST_RTT; // SMOOTHED ROUND TRIP TIMER int DEST_COUNT; // FRAMES SENT USHORT LastTT; // Last INP3 Value sent. This is our value, which we now send + XROptions * XROptions; } dest_list; diff --git a/bpqchat.c b/bpqchat.c index 3fc9ab2..c12b5ab 100644 --- a/bpqchat.c +++ b/bpqchat.c @@ -70,12 +70,16 @@ // Allow /History to be shortened to /Hi (45) // Fix extra r charater in Chat Config Web Page -//.25 +//.24 // Increase size of status display buffers (7) // Allow sending BEL (CTRL/G) (79) // Fix sending BEL (CTRL/G) (81) +// .25 + +// Only flush logs every 30 secs (25.31) + #include "BPQChat.h" #include "Dbghelp.h" diff --git a/bpqmail.h b/bpqmail.h index 941d24a..ea7e73b 100644 --- a/bpqmail.h +++ b/bpqmail.h @@ -883,7 +883,6 @@ struct MSESSION int Index; // Line in Display }; -VOID __cdecl nprintf(CIRCUIT * conn, const char * format, ...); char * strlop(char * buf, char delim); int rt_cmd(CIRCUIT *circuit, char * Buffer); CIRCUIT *circuit_new(CIRCUIT *circuit, int flags); diff --git a/cMain.c b/cMain.c index fee87e5..b7f1b59 100644 --- a/cMain.c +++ b/cMain.c @@ -900,7 +900,8 @@ BOOL Start() MONTOFILEFLAG = cfg->C_MONTOFILE; - RIFInterval = cfg->C_RIFInterval; + if (cfg->C_RIFInterval) + RIFInterval = cfg->C_RIFInterval; if (cfg->C_OnlyVer2point0) SUPPORT2point2 = 0; diff --git a/config.c b/config.c index 57fe125..640ce10 100644 --- a/config.c +++ b/config.c @@ -192,6 +192,8 @@ VOID Consoleprintf(const char * format, ...) va_start(arglist, format); vsprintf(Mess, format, arglist); + va_end(arglist); + strcat(Mess, "\n"); WritetoConsoleLocal(Mess); diff --git a/mailapi.c b/mailapi.c index d8e6ed2..902e193 100644 --- a/mailapi.c +++ b/mailapi.c @@ -971,6 +971,10 @@ void SendBBSDataToPktMapThread(void * Param) // Get Routing MsgBytes = ReadMessageFile(Msg->number); + + if (MsgBytes == NULL) + continue; + RLines = malloc(Msg->length * 2); // Very unlikely to need so much but better safe.. strcpy(RLines, "[]");