Opened 4 years ago

Closed 3 years ago

#12818 closed enhancement (implemented)

New way of getting the links

Reported by: ilv Owned by: ilv
Priority: High Milestone:
Component: Applications/GetTor Version:
Severity: Keywords: revamp gsoc gettor
Cc: sukhbir, mrphs, torzhongwen@… Actual Points:
Parent ID: #12817 Points:
Reviewer: Sponsor:


As part of #12817, a new format for getting the links has been developed.
It enables to easily add and delete providers (where bundles are uploaded).
The new format is as follows:

1) A folder named 'providers' should exist on GetTor basedir. Inside this
directory, every file with the .links extension is considered as a valid
links file, containing links of a specific provider (e.g. dropbox.links).

2) Links files follow Python's ConfigParser format (RFC 822). All links
files must have the following sections and options:

SECTION provider, OPTION name: string specifying the name of the
provider (i.e. "Dropbox").

SECTION key, OPTION fingerprint: the fingerprint of the key that signed
the uploaded bundles.

SECTION os, OPTION locale: link for the bundle, bundle asc, and sha256
of the file for a given operating system and locale. For example:

en = 98ea6e4f216f2fb4b6....
en = 44842c38686ca685f3....

3) Mirrors are considered as just another provider.

4) Every provider should have a script that automates the upload of bundles
and create the proper links file. The core module provide the public
create_links_file() and add_link() methods for that purpose (see core
documentation for more details).

5) Each provider's script must take care of calculating the sha256 of
each bundle and provide the fingerprint of the key that signed the bundles.

5) After creating the links file, the only thing the core module cares
about is reading files with the extension .links inside 'providers'
directory. The core assumes each .links file is well formatted.

For now Dropbox is the only supported provider. Google Drive and Github should
be implemented in the future as well.

Child Tickets

Change History (3)

comment:2 Changed 4 years ago by Jason

Cc: torzhongwen@… added

comment:3 Changed 3 years ago by ilv

Resolution: implemented
Status: newclosed

Implemented during GSoC 2014.

Note: See TracTickets for help on using tickets.