mirror of
https://github.com/onionshare/onionshare.git
synced 2024-12-29 01:06:16 -05:00
Merge pull request #206 from lazlolazlolazlo/codestyle
Fix some small codestyle issues according to pep8.
This commit is contained in:
commit
2b1a3e927e
@ -40,6 +40,7 @@ if get_platform() == 'Darwin':
|
||||
else:
|
||||
osx_resources_dir = None
|
||||
|
||||
|
||||
def get_onionshare_dir():
|
||||
if get_platform() == 'Darwin':
|
||||
onionshare_dir = os.path.dirname(__file__)
|
||||
@ -47,6 +48,7 @@ def get_onionshare_dir():
|
||||
onionshare_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
|
||||
return onionshare_dir
|
||||
|
||||
|
||||
def get_html_path(filename):
|
||||
p = platform.system()
|
||||
if p == 'Darwin':
|
||||
|
@ -112,7 +112,7 @@ class OnionShare(object):
|
||||
args = ['/usr/bin/sudo', '--', '/usr/bin/onionshare']
|
||||
print "Executing: {0:s}".format(args+[str(self.port)])
|
||||
p = subprocess.Popen(args+[str(self.port)], stderr=subprocess.PIPE, stdout=subprocess.PIPE)
|
||||
stdout = p.stdout.read(22) # .onion URLs are 22 chars long
|
||||
stdout = p.stdout.read(22) # .onion URLs are 22 chars long
|
||||
|
||||
if stdout:
|
||||
self.onion_host = stdout
|
||||
@ -227,7 +227,7 @@ class OnionShare(object):
|
||||
except urllib2.HTTPError: # Tails error
|
||||
sys.stdout.write('{0:s}\n'.format(strings._('wait_for_hs_nope')))
|
||||
sys.stdout.flush()
|
||||
except httplib.BadStatusLine: # Tails (with bridge) error
|
||||
except httplib.BadStatusLine: # Tails (with bridge) error
|
||||
sys.stdout.write('{0:s}\n'.format(strings._('wait_for_hs_nope')))
|
||||
sys.stdout.flush()
|
||||
except KeyboardInterrupt:
|
||||
|
@ -14,7 +14,7 @@ are permitted provided that the following conditions are met:
|
||||
3. Neither the name of Dan Haim nor the names of his contributors may be used
|
||||
to endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY DAN HAIM "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
@ -40,7 +40,7 @@ mainly to merge bug fixes found in Sourceforge
|
||||
Modifications made by Anorov (https://github.com/Anorov)
|
||||
-Forked and renamed to PySocks
|
||||
-Fixed issue with HTTP proxy failure checking (same bug that was in the old ___recvall() method)
|
||||
-Included SocksiPyHandler (sockshandler.py), to be used as a urllib2 handler,
|
||||
-Included SocksiPyHandler (sockshandler.py), to be used as a urllib2 handler,
|
||||
courtesy of e000 (https://github.com/e000): https://gist.github.com/869791#file_socksipyhandler.py
|
||||
-Re-styled code to make it readable
|
||||
-Aliased PROXY_TYPE_SOCKS5 -> SOCKS5 etc.
|
||||
@ -136,7 +136,7 @@ def set_default_proxy(proxy_type=None, addr=None, port=None, rdns=True, username
|
||||
Sets a default proxy which all further socksocket objects will use,
|
||||
unless explicitly changed.
|
||||
"""
|
||||
socksocket.default_proxy = (proxy_type, addr.encode(), port, rdns,
|
||||
socksocket.default_proxy = (proxy_type, addr.encode(), port, rdns,
|
||||
username.encode() if username else None,
|
||||
password.encode() if password else None)
|
||||
|
||||
@ -200,7 +200,7 @@ class socksocket(socket.socket):
|
||||
|
||||
def __init__(self, family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0, _sock=None):
|
||||
_orig_socket.__init__(self, family, type, proto, _sock)
|
||||
|
||||
|
||||
if self.default_proxy:
|
||||
self.proxy = self.default_proxy
|
||||
else:
|
||||
@ -245,7 +245,7 @@ class socksocket(socket.socket):
|
||||
password - Password to authenticate with to the server.
|
||||
Only relevant when username is also provided.
|
||||
"""
|
||||
self.proxy = (proxy_type, addr.encode(), port, rdns,
|
||||
self.proxy = (proxy_type, addr.encode(), port, rdns,
|
||||
username.encode() if username else None,
|
||||
password.encode() if password else None)
|
||||
|
||||
@ -292,18 +292,18 @@ class socksocket(socket.socket):
|
||||
# No username/password were entered, therefore we
|
||||
# only support connections with no authentication.
|
||||
self.sendall(b"\x05\x01\x00")
|
||||
|
||||
|
||||
# We'll receive the server's response to determine which
|
||||
# method was selected
|
||||
chosen_auth = self._recvall(2)
|
||||
|
||||
if chosen_auth[0:1] != b"\x05":
|
||||
# Note: string[i:i+1] is used because indexing of a bytestring
|
||||
# Note: string[i:i+1] is used because indexing of a bytestring
|
||||
# via bytestring[i] yields an integer in Python 3
|
||||
raise GeneralProxyError("SOCKS5 proxy server sent invalid data")
|
||||
|
||||
|
||||
# Check the chosen authentication method
|
||||
|
||||
|
||||
if chosen_auth[1:2] == b"\x02":
|
||||
# Okay, we need to perform a basic username/password
|
||||
# authentication.
|
||||
@ -318,17 +318,17 @@ class socksocket(socket.socket):
|
||||
if auth_status[1:2] != b"\x00":
|
||||
# Authentication failed
|
||||
raise SOCKS5AuthError("SOCKS5 authentication failed")
|
||||
|
||||
|
||||
# Otherwise, authentication succeeded
|
||||
|
||||
# No authentication is required if 0x00
|
||||
# No authentication is required if 0x00
|
||||
elif chosen_auth[1:2] != b"\x00":
|
||||
# Reaching here is always bad
|
||||
if chosen_auth[1:2] == b"\xFF":
|
||||
raise SOCKS5AuthError("All offered SOCKS5 authentication methods were rejected")
|
||||
else:
|
||||
raise GeneralProxyError("SOCKS5 proxy server sent invalid data")
|
||||
|
||||
|
||||
# Now we can request the actual connection
|
||||
req = b"\x05\x01\x00"
|
||||
# If the given destination address is an IP address, we'll
|
||||
@ -349,7 +349,7 @@ class socksocket(socket.socket):
|
||||
|
||||
req += struct.pack(">H", dest_port)
|
||||
self.sendall(req)
|
||||
|
||||
|
||||
# Get the response
|
||||
resp = self._recvall(4)
|
||||
if resp[0:1] != b"\x05":
|
||||
@ -360,7 +360,7 @@ class socksocket(socket.socket):
|
||||
# Connection failed: server returned an error
|
||||
error = SOCKS5_ERRORS.get(status, "Unknown error")
|
||||
raise SOCKS5Error("{:#04x}: {}".format(status, error))
|
||||
|
||||
|
||||
# Get the bound address/port
|
||||
if resp[3:4] == b"\x01":
|
||||
bound_addr = self._recvall(4)
|
||||
@ -369,7 +369,7 @@ class socksocket(socket.socket):
|
||||
bound_addr = self._recvall(ord(resp[4:5]))
|
||||
else:
|
||||
raise GeneralProxyError("SOCKS5 proxy server sent invalid data")
|
||||
|
||||
|
||||
bound_port = struct.unpack(">H", self._recvall(2))[0]
|
||||
self.proxy_sockname = bound_addr, bound_port
|
||||
if addr_bytes:
|
||||
@ -394,15 +394,15 @@ class socksocket(socket.socket):
|
||||
remote_resolve = True
|
||||
else:
|
||||
addr_bytes = socket.inet_aton(socket.gethostbyname(dest_addr))
|
||||
|
||||
|
||||
# Construct the request packet
|
||||
req = struct.pack(">BBH", 0x04, 0x01, dest_port) + addr_bytes
|
||||
|
||||
|
||||
# The username parameter is considered userid for SOCKS4
|
||||
if username:
|
||||
req += username
|
||||
req += b"\x00"
|
||||
|
||||
|
||||
# DNS name if remote resolving is required
|
||||
# NOTE: This is actually an extension to the SOCKS4 protocol
|
||||
# called SOCKS4A and may not be supported in all cases.
|
||||
@ -439,25 +439,25 @@ class socksocket(socket.socket):
|
||||
# If we need to resolve locally, we do this now
|
||||
addr = dest_addr if rdns else socket.gethostbyname(dest_addr)
|
||||
|
||||
self.sendall(b"CONNECT " + addr.encode() + b":" + str(dest_port).encode() +
|
||||
self.sendall(b"CONNECT " + addr.encode() + b":" + str(dest_port).encode() +
|
||||
b" HTTP/1.1\r\n" + b"Host: " + dest_addr.encode() + b"\r\n\r\n")
|
||||
|
||||
|
||||
# We just need the first line to check if the connection was successful
|
||||
fobj = self.makefile()
|
||||
status_line = fobj.readline()
|
||||
fobj.close()
|
||||
|
||||
|
||||
if not status_line:
|
||||
raise GeneralProxyError("Connection closed unexpectedly")
|
||||
|
||||
|
||||
try:
|
||||
proto, status_code, status_msg = status_line.split(" ", 2)
|
||||
except ValueError:
|
||||
raise GeneralProxyError("HTTP proxy server sent invalid response")
|
||||
|
||||
|
||||
if not proto.startswith("HTTP/"):
|
||||
raise GeneralProxyError("Proxy server does not appear to be an HTTP proxy")
|
||||
|
||||
|
||||
try:
|
||||
status_code = int(status_code)
|
||||
except ValueError:
|
||||
@ -475,7 +475,7 @@ class socksocket(socket.socket):
|
||||
self.proxy_peername = addr, dest_port
|
||||
|
||||
def connect(self, dest_pair):
|
||||
"""
|
||||
"""
|
||||
Connects to the specified destination through a proxy.
|
||||
Uses the same API as socket's connect().
|
||||
To select the proxy server, use set_proxy().
|
||||
@ -500,7 +500,7 @@ class socksocket(socket.socket):
|
||||
proxy_port = proxy_port or DEFAULT_PORTS.get(proxy_type)
|
||||
if not proxy_port:
|
||||
raise GeneralProxyError("Invalid proxy type")
|
||||
|
||||
|
||||
try:
|
||||
# Initial connection to proxy server
|
||||
_orig_socket.connect(self, (proxy_addr, proxy_port))
|
||||
|
@ -146,7 +146,7 @@ def download(slug_candidate):
|
||||
basename = os.path.basename(zip_filename)
|
||||
|
||||
def generate():
|
||||
chunk_size = 102400 # 100kb
|
||||
chunk_size = 102400 # 100kb
|
||||
|
||||
fp = open(zip_filename, 'rb')
|
||||
done = False
|
||||
|
@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
import os, sys, inspect, platform
|
||||
from onionshare import helpers
|
||||
|
||||
|
||||
def get_onionshare_gui_dir():
|
||||
p = helpers.get_platform()
|
||||
if p == 'Darwin':
|
||||
|
@ -26,7 +26,7 @@ import common
|
||||
try:
|
||||
import onionshare
|
||||
except ImportError:
|
||||
sys.path.append(os.path.abspath(common.onionshare_gui_dir+"/.."))
|
||||
sys.path.append(os.path.abspath(common.onionshare_gui_dir + "/.."))
|
||||
import onionshare
|
||||
from onionshare import strings, helpers, web
|
||||
|
||||
|
@ -28,7 +28,7 @@ class Options(QtGui.QHBoxLayout):
|
||||
super(Options, self).__init__()
|
||||
|
||||
self.web = web
|
||||
|
||||
|
||||
# close automatically
|
||||
self.close_automatically = QtGui.QCheckBox()
|
||||
if self.web.stay_open:
|
||||
@ -46,4 +46,3 @@ class Options(QtGui.QHBoxLayout):
|
||||
self.web.set_stay_open(False)
|
||||
else:
|
||||
self.web.set_stay_open(True)
|
||||
|
||||
|
@ -144,7 +144,7 @@ class ServerStatus(QtGui.QVBoxLayout):
|
||||
GMEM_DDESHARE = 0x2000
|
||||
ctypes.windll.user32.OpenClipboard(None)
|
||||
ctypes.windll.user32.EmptyClipboard()
|
||||
hcd = ctypes.windll.kernel32.GlobalAlloc(GMEM_DDESHARE, len(bytes(url))+1)
|
||||
hcd = ctypes.windll.kernel32.GlobalAlloc(GMEM_DDESHARE, len(bytes(url)) + 1)
|
||||
pch_data = ctypes.windll.kernel32.GlobalLock(hcd)
|
||||
ctypes.cdll.msvcrt.strcpy(ctypes.c_char_p(pch_data), bytes(url))
|
||||
ctypes.windll.kernel32.GlobalUnlock(hcd)
|
||||
|
Loading…
Reference in New Issue
Block a user