@@ -215,10 +215,12 @@ def image_proxify(url):
215215 if url.startswith('//'):
216216 url = 'https:' + url
217217
218+ url = url.encode('utf-8')
219+
218220 if not settings['server'].get('image_proxy') and not request.cookies.get('image_proxy'):
219221 return url
220222
221− h = hashlib.sha256(url.encode('utf-8') + settings['server']['secret_key'].encode('utf-8')).hexdigest()
223+ h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest()
222224
223225 return '{0}?{1}'.format(url_for('image_proxy'),
224226 urlencode(dict(url=url, h=h)))
@@ -553,12 +555,12 @@ def preferences():
553555
554556@app.route('/image_proxy', methods=['GET'])
555557def image_proxy():
556− url = request.args.get('url')
558+ url = request.args.get('url').encode('utf-8')
557559
558560 if not url:
559561 return '', 400
560562
561− h = hashlib.sha256(url.encode('utf-8') + settings['server']['secret_key'].encode('utf-8')).hexdigest()
563+ h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest()
562564
563565 if h != request.args.get('h'):
564566 return '', 400