• Stars
    star
    2
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fully Automated Serverless OTA Service for LineageOS, using Github, Basketbuild, Cloudflare and Travis

Serverless LineageOS OTA

Fully Automated Serverless OTA Service for LineageOS

HTTP to HTTPS redirect warning

If you are willing to use HTTP URLs and one day you decide to switch to HTTPS, remember that the Updater app will NOT follow the redirect when the protocol changes. Therefore only HTTP -> HTTP or HTTPS -> HTTPS redirects are allowed.

API Calls example

Those API calls are just to show the potential of this Serverless stack. They may work ( or may not ) depending on which files I do have uploaded currently on my Basketbuild account.

Huawei Y635: https://ota.julianxhokaxhiu.com/api/v1/hwY635/unofficial/2d0af02b32

Architecture

This OTA Service is done using:

  • Cloudflare: as CDN + Redirect handler for API URLs
  • Github: as JSON storage for the API answers and code repository for the generation
  • Travis: as CI to run the script for the generation
  • Basketbuild: as ROM ZIP hosting with direct link availability

Cloudflare

Page Rule

  • If the URL matches: ota.julianxhokaxhiu.com/api/v1/*/*/*
  • Then the settings are: Forwarding URL - 301 Permanent Redirect - https://ota.julianxhokaxhiu.com/v1/$1/$2/index.json

Github

Code repository where the generation script lives. Two branches exists:

  • master source code for the script and the .travis.yml automated instructions
  • gh-pages the API responses you see ( including this page, if visited from https://ota.julianxhokaxhiu.com )

Travis

The CI service is configured with the following environment variables:

  • GITHUB_TOKEN the Github token required to push the content to the gh-pages branch
  • FTP_HOST the hostname of the current chosen FTP provider
  • FTP_USER the username to connect to the chosen FTP provider
  • FTP_PASS the password to connect to the chosen FTP provider
  • OTA_BASEURL the base URL for the download URLs inside the API answers ( in my case https://basketbuild.com/uploads/devs/JulianXhokaxhiu )

See .travis.yml for more informations.

Basketbuild

WARNING: delete any other directory in the root folder. Only device folders are allowed!

All my ZIP files are uploaded inside to the device type directory ( eg. /hwY635/lineage-14.1-20171226_235653-UNOFFICIAL-hwY635.zip ).

More Repositories

1

FFNx

Next generation modding platform for Final Fantasy VII and Final Fantasy VIII ( with native Steam 2013 release support! )
C++
340
star
2

LineageOTA

A simple OTA REST Server for LineageOS OTA Updater System Application
PHP
215
star
3

iPoPS

Convert your PSX Discs and ISOs into the PBP format, and play them on your PSP
C
60
star
4

gitbook-plugin-summary

Gitbook plugin to auto-generate SUMMARY.md
JavaScript
52
star
5

docker-powerdns

PowerDNS + Recursor + Admin GUI + Adblock in one single Docker
Shell
52
star
6

vps-powered-by-docker

Arch Linux setup script to obtain a full VPS with Automatic Reverse Proxy (and more) without pain
Shell
27
star
7

docker-woocommerce

PHP Docker for Woocommerce on Steroids
Dockerfile
22
star
8

docker-lineage-cicd

Docker microservice for LineageOS Continuous Integration and Continous Deployment
Dockerfile
17
star
9

PostEvent

A Cross-Domain Event Handler javascript library. Pure Vanilla JS, no dependencies.
HTML
15
star
10

sublime-projecttreetemplater

A simple templater for your project: manage the tree with a simple script!
Python
15
star
11

LineageOTAUnitTest

A LineageOS OTA Unit Test made for NodeJS
JavaScript
10
star
12

jvectormap-italy-provinces

A plugin for jVectorMap which includes an Italy Map with Provinces Areas
10
star
13

TwigPress

A boilerplate Twig Engine Theme for Wordpress
PHP
9
star
14

chrome-link-revealer

Simply reveal links when you hover your mouse over anchors
JavaScript
9
star
15

chrome-deezer-mediakeys-reloaded

Add multimedia keys support to Deezer
JavaScript
9
star
16

spotify-playlist-extractor

Bring back the freedom of choice to users. Let them export their playlist from Spotify, whenever they want :)
JavaScript
9
star
17

SteamworksSDKCI

CI builds of Steamworks SDK for CMake build systems
C++
9
star
18

docker-awesome-wordpress

A Docker that combines all the most awesome needed things for a powerful Wordpress installation
Dockerfile
8
star
19

gulp-usemin-reloaded

A better usemin
JavaScript
6
star
20

chrome-spotify-mediakeys-reloaded

Add multimedia keys support to Spotify
JavaScript
6
star
21

Palmer

FF7 Field Background Editor
C++
5
star
22

mockups-creator

A NodeJS App that creates static HTML mockups using Grunt
JavaScript
5
star
23

jquery-itunestoresearch

A simple wrap to official iTunes Store Search API with jQuery
JavaScript
4
star
24

chrome-grooveshark-mediakeys-reloaded

Add multimedia keys support to Grooveshark
JavaScript
4
star
25

Moomba

Final Fantasy VIII CAM editor
C#
4
star
26

docker-gplayweb

GPlayWeb + FDroid Server + Caddy Server on one single Docker
Shell
4
star
27

typdom3

DOMPDF wrapper for TYPO3
PHP
4
star
28

tomahawk-daapjs

A DAAP resolver for Tomahawk made in Javascript
JavaScript
3
star
29

twypo

Twig for TYPO3
PHP
3
star
30

CaitSith

Final Fantasy VII CAM editor
C#
3
star
31

docker-pagekit

PHP Docker for Pagekit
2
star
32

JPM

A simple Json Package Manager
C#
2
star
33

jquery-youtubelivefeed

A simple jQuery plugin that will let you to embed live feeds or latest one made
JavaScript
2
star
34

PuPuSharp

FF8 Field Importer/Exporter - C# version of the original PuPu Project
C#
2
star
35

amazon-bot

JavaScript
2
star
36

FF78Launcher

An alternative launcher for FF7/FF8 Steam editions
CMake
2
star
37

bgfxCI

CI builds of bgfx for x86 platform
PowerShell
2
star
38

chrome-soundcloud-mediakeys-reloaded

Enable the use of MediaKeys for Soundcloud
JavaScript
2
star
39

polysticky.js

A position sticky polyfill that doesn't suck.
JavaScript
2
star
40

dotfiles

Collection of dotfiles improved overtime, based on Arch Linux
Shell
2
star
41

gulp-closurecompiler

The ClosureCompiler.js Gulp Task
JavaScript
2
star
42

FF7SND

Final Fantasy VII Audio Extraction app ( originally made by Qhimm.com )
C#
2
star
43

jquery-tagbox

A simple Facebook (or Google+) TagBox like using jQueryUI
JavaScript
1
star
44

MMNx

Next generation Mod Manager
CMake
1
star
45

ff8_mch

Final Fantasy VIII MCH Import/Export plugin for Blender
Python
1
star
46

docker-twrp-cicd

Docker microservice for TWRP Continuous Integration and Continous Deployment
Shell
1
star
47

DeliriNotturni-Live-Page

Live page of DeliriNotturni.org
JavaScript
1
star
48

rpi-powered-by-docker

Arch Linux ARM setup script to obtain a full RPI with Automatic Reverse Proxy (and more) without pain
Shell
1
star
49

ffmpegCI

CI builds of FFMpeg for x86 platform
PowerShell
1
star
50

chrome-youtube-mediakeys-reloaded

Enable the use of MediaKeys for Youtube
JavaScript
1
star
51

blog.julianxhokaxhiu.com

Julian Xhokaxhiu's Blog
HTML
1
star
52

vpngate-ovpn-exporter

Export all VPNGate OpenVPN configurations to files inside country-code relative folders
Python
1
star
53

AUR

My Arch Linux AUR Packages
Shell
1
star
54

LLGLCI

CI builds of LLGL for x86 platform
CMake
1
star
55

docker-iperf3

iPerf3 Server Container
Dockerfile
1
star
56

docker-nginx-reloaded

Reverse Proxy Docker container with Nginx, acme.sh, DNS and Autodiscovery ( alternative to jwilder/nginx-proxy )
Twig
1
star