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