Opened 5 months ago

Last modified 3 months ago

#2533 new task

browser update server [clearnet | i2p]

Reported by: Meeh Owned by: Meeh
Priority: major Milestone: undecided
Component: apps/browser Version: 0.9.40
Keywords: Cc: Eche|on
Parent Tickets: Sensitive: no

Description

We need a way to push new updates of the browser to our users. So we reuse TBB and Mozilla's auto updater.

Subtickets

Change History (6)

comment:1 Changed 4 months ago by anonymous maybe

and dont forget as well plugins updates (Noscript , Https-everywhere ..)

comment:2 Changed 4 months ago by Meeh

https://developer.mozilla.org/en-US/docs/Mozilla/Setting_up_an_update_server

However I refuse to install the security hole they name "PHP". So I'll figure out a small python/ruby script doing the same.

comment:3 Changed 3 months ago by Meeh

Sensitive: unset

Initial code is written. A simple flask script which says no updates is added below.

from flask import Flask
import os,sys

# Flask app
app = Flask(__name__)

# Routes

@app.route('/i2pbrowser/update_3/<channel>/<build_target>/<version>/<locale>/update.xml', methods=['GET'])
def update_alias(channel,build_target,version,locale):
    return show_update_xml(channel,build_target,version,locale)

@app.route('/i2pbrowser/update_3/<channel>/<build_target>/<version>/<locale>', methods=['GET'])
def show_updates(channel,build_target,version,locale):
    return show_update_xml(channel,build_target,version,locale)

# Actual functionality

def show_update_xml(channel,build_target,version,locale):
    return """<?xml version="1.0"?>
<updates>
</updates>
"""

# Debug run mode

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5050, debug=True)

app.update.url is set to "https://i2pbrowser.meeh.no/i2pbrowser/update_3/%CHANNEL%/%BUILD_TARGET%/%VERSION%/%LOCALE%" and I've also made the service available.

comment:4 Changed 3 months ago by Meeh

Cc: Eche|on added

echelon: could you add a A record for i2p.io? i2pbrowser.i2p.io to 193.150.121.24.

comment:5 Changed 3 months ago by Meeh

Paths to expect to be requested (with changing version number and locale);
/i2pbrowser/update_3/alpha/Linux_x86_64-gcc3/2.0/en-US
/i2pbrowser/update_3/alpha/WINNT_x86_64-gcc3-x64/2.0/en-US
/i2pbrowser/update_3/alpha/Darwin_x86_64-gcc3/2.0/en-US

comment:6 Changed 3 months ago by Eche|on

Ok, added A entry.

Note: See TracTickets for help on using tickets.