|
|
@ -1,9 +1,12 @@
|
|
|
|
|
|
|
|
from flask.ext.babel import gettext
|
|
|
|
name = "Self IP"
|
|
|
|
name = "Self IP"
|
|
|
|
description = "Display your source IP address"
|
|
|
|
description = gettext('Display your source IP address if the query expression is "ip"')
|
|
|
|
default_on = True
|
|
|
|
default_on = True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# attach callback to the pre search hook
|
|
|
|
|
|
|
|
# request: flask request object
|
|
|
|
|
|
|
|
# ctx: the whole local context of the pre search hook
|
|
|
|
def pre_search(request, ctx):
|
|
|
|
def pre_search(request, ctx):
|
|
|
|
if ctx['search'].query == 'ip':
|
|
|
|
if ctx['search'].query == 'ip':
|
|
|
|
x_forwarded_for = request.headers.getlist("X-Forwarded-For")
|
|
|
|
x_forwarded_for = request.headers.getlist("X-Forwarded-For")
|
|
|
@ -13,5 +16,6 @@ def pre_search(request, ctx):
|
|
|
|
ip = request.remote_addr
|
|
|
|
ip = request.remote_addr
|
|
|
|
ctx['search'].answers.clear()
|
|
|
|
ctx['search'].answers.clear()
|
|
|
|
ctx['search'].answers.add(ip)
|
|
|
|
ctx['search'].answers.add(ip)
|
|
|
|
|
|
|
|
# return False prevents exeecution of the original block
|
|
|
|
return False
|
|
|
|
return False
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|