Initial commit
This commit is contained in:
parent
9f44ac0c88
commit
8dc72f3121
41
main.py
Normal file
41
main.py
Normal file
@ -0,0 +1,41 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from dnslib import RR,QTYPE,RCODE,TXT
|
||||
from dnslib.label import DNSLabel
|
||||
from dnslib.server import DNSServer,BaseResolver
|
||||
import twitter
|
||||
|
||||
class TwitterResolver(BaseResolver):
|
||||
|
||||
def resolve(self,request,handler):
|
||||
reply = request.reply()
|
||||
qname = request.q.qname
|
||||
if qname.matchSuffix("twitter.han.do."):
|
||||
try:
|
||||
api = twitter.Api(consumer_key='consumer_key',
|
||||
consumer_secret='consumer_secret',
|
||||
access_token_key='access_token',
|
||||
access_token_secret='access_token_secret')
|
||||
tweets = api.GetUserTimeline(screen_name=str(qname).split(".")[-5], count=10)
|
||||
for tweet in tweets:
|
||||
reply.add_answer(RR(qname,QTYPE.TXT,ttl=60,
|
||||
rdata=TXT(tweet.text)))
|
||||
except:
|
||||
reply.header.rcode = RCODE.NXDOMAIN
|
||||
else:
|
||||
reply.header.rcode = RCODE.NXDOMAIN
|
||||
return reply
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
import time
|
||||
|
||||
resolver = TwitterResolver()
|
||||
|
||||
udp_server = DNSServer(resolver,
|
||||
port=53,
|
||||
address="")
|
||||
udp_server.start_thread()
|
||||
|
||||
while udp_server.isAlive():
|
||||
time.sleep(1)
|
Loading…
Reference in New Issue
Block a user