 31.10.2025, 04:54
31.10.2025, 04:54 Change Language
 Change Language
							
							
							
						 Register
 Register Login
 Login
					
											You are not logged in.
|   | Source code | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # tinyp2p.py 1.0 (documentation at [url]http://freedom-to-tinker.com/tinyp2p.html)[/url]
# (C) 2004, E.W. Felten
# license: http://creativecommons.org/licenses/by-nc-sa/2.0
# python tinyp2p.py password server hostname portnum [otherurl]
import sys
import os
import SimpleXMLRPCServer
import xmlrpclib
import re
import hmac
ar, pw, res = (sys.argv, lambda u:hmac.new(sys.argv[1], u).hexdigest(), re.search)
pxy, xs = (xmlrpclib.ServerProxy, SimpleXMLRPCServer.SimpleXMLRPCServer)
def ls(p=''):
    return filter(lambda n: (p == '') or res(p, n), os.listdir(os.getcwd()))
if ar[2] != 'client':
    myU, prs, srv = ('http://' + ar[3] + ':' + ar[4], ar[5:], lambda x: x.serve_forever())
    def pr(x=[]):
        return ([(y in prs) or prs.append(y) for y in x] or 1) and prs
    def c(n):
        return ((lambda f: (f.read(), f.close()))(file(n)))[0]
    f = lambda p, n, a: (p == pw(myU)) and (((n == 0) and pr(a)) or((n == 1) and [ls(a)]) or c(a))
    def aug(u):
        return ((u == myU) and pr()) or pr(pxy(u).f(pw(u), 0, pr([myU])))
    pr() and [aug(s) for s in aug(pr()[0])]
    (lambda sv:sv.register_function(f, 'f') or srv(sv))(xs((ar[3], int(ar[4]))))
for url in pxy(ar[3]).f(pw(ar[3]), 0, []):
    for fn in filter(lambda n: not n in ls(), (pxy(url).f(pw(url), 1, ar[4]))[0]):
        (lambda fi: fi.write(pxy(url).f(pw(url), 2, fn)) or fi.close())(file(fn, 'wc')) | 
-
 
  
  
  
  
  
  
 