@ -15,8 +15,6 @@ relayStatus = ""
exitWatchEmail = " From: relay status <relaystatus@encryptionin.space> \n To: exitwatch@lists.encryptionin.space \n Subject: Exit Status " + datetime . datetime . now ( datetime . timezone . utc ) . strftime ( ' % Y- % m- %d % H ' ) + " \n \n "
exitStatus = " "
newVersions = 0
for new_relay in relays :
if datetime . datetime . strptime ( new_relay [ " first_seen " ] , " % Y- % m- %d % H: % M: % S " ) > ( datetime . datetime . utcnow ( ) - datetime . timedelta ( hours = 1 ) ) :
exit = " no "
@ -25,14 +23,11 @@ for new_relay in relays:
eol = " yes "
if new_relay [ " exit_policy " ] [ 0 ] != " reject *:* " :
exit = " yes "
exitStatus + = " New exit: \" " + new_relay [ " nickname " ] + " \" , fingerprint: " + new_relay [ " fingerprint " ] + " , EOL: " + eol + " , effective family size: " + str ( len ( new_relay [ " effective_family " ] ) - 1 ) + " ; https://metrics.torproject.org/rs.html#search/ " + new_relay [ " fingerprint " ] + " \n "
relayStatus + = " New relay: \" " + new_relay [ " nickname " ] + " \" , fingerprint: " + new_relay [ " fingerprint " ] + " , potential exit: " + exit + " , EOL: " + eol + " , effective family size: " + str ( len ( new_relay [ " effective_family " ] ) - 1 ) + " ; https://metrics.torproject.org/rs.html#search/ " + new_relay [ " fingerprint " ] + " \n "
if re . search ( " 0.3.5.17|0.4.5.11 " , new_relay [ " platform " ] , re . IGNORECASE ) :
newVersions + = 1
exitStatus + = new_relay [ " nickname " ] + " \" , fingerprint: " + new_relay [ " fingerprint " ] + " , EOL: " + eol + " , effective family: " + str ( len ( new_relay [ " effective_family " ] ) - 1 ) + " ; https://metrics.torproject.org/rs.html#search/ " + new_relay [ " fingerprint " ] + " \n "
relayStatus + = new_relay [ " nickname " ] + " \" , fingerprint: " + new_relay [ " fingerprint " ] + " , exit: " + exit + " , EOL: " + eol + " , effective family: " + str ( len ( new_relay [ " effective_family " ] ) - 1 ) + " ; https://metrics.torproject.org/rs.html#search/ " + new_relay [ " fingerprint " ] + " \n "
if relayStatus :
relayWatchEmail + = relayStatus + " \n Total new versions: " + str ( newVersions ) + " \n "
relayWatchEmail + = relayStatus
try :
smtp = smtplib . SMTP ( ' localhost ' )
smtp . sendmail ( ' relaystatus@encryptionin.space ' , [ ' relaywatch@lists.encryptionin.space ' ] , relayWatchEmail )