1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/skytoup-AppServer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

AppServer

Введение

На основе Sanic создан простой App для онлайн-загрузки и установки. Можно скачать установочный пакет онлайн или установить IPA на iPhone онлайн.

Главная страница

pic

Загрузка приложения

pic

Страница с подробностями приложения

pic

Редактирование приложения

pic

Функции

  • RESTful API;
  • загрузка APK и IPA файлов;
  • скачивание APK и IPA;
  • переход по короткой ссылке на страницу загрузки;
  • управление приложениями и версиями;
  • поиск приложений;
  • улучшенная совместимость HTML с мобильными устройствами.

И многое другое...

Использование

Среда

  • Python 3.5 и выше;
  • macOS 10.12+;
  • CentOS 6+;
  • Ubuntu 14.04+;
  • другие системы ещё не протестированы.

Конфигурация (app/config.py)

Измените хост в Config на адрес вашего компьютера.

Конфигурация

Запуск сервера

Запуск из исходного кода

  1. Установите libpng12 (CentOS уже протестирован, другие системы пока не тестировались).

  2. Для систем Linux:

    • yum install libpng12 (для CentOS);
  3. Клонируйте репозиторий:

    • git clone https://github.com/skytoup/AppServer;
  4. Перейдите в папку проекта:

  • cd AppServer;
  1. Скомпилируйте pngdefry:
  • gcc vendors/pngdefry/pngdefry.c -o pngdefry;
  1. Установите зависимости:
  • pip install -r requirements.txt;
  1. Запустите сервер:
  • python main.py.
  1. Откройте браузер и перейдите по адресу: https://your_bing_host:8000.

Docker-запуск

  1. Клонируйте репозиторий:
  • git clone https://github.com/skytoup/AppServer.
  1. Перейдите в папку проекта:
  • cd AppServer.
  1. Измените app/config/config.py:BaseConfig.host на нужный IP-адрес. Неправильная настройка может привести к невозможности загрузки IPA на iOS.

  2. Соберите образ Docker:

  • docker build -t app_server ./.
  1. Запустите контейнер:
  • docker run -d -p 8000:8000 -v /path/to/data:/www/AppServer/data -v /path/to/log:/www/AppServer/log --name AppServer app_server.
  1. Или:
  • docker run -d -p 8000:8000 --name AppServer app_server.
  1. Откройте браузер и перейдите по адресу: https://your_bing_host:8000.

Тестирование сервера

  1. Установите зависимости для тестирования:
  • pip install -r requirements_test.txt.
  1. Выполните тесты:
  • pytest -q tests.

HTML-фронтенд

Это простой фронтенд, который не претендует на профессиональный уровень. Подробности можно найти здесь 👉 AppServerHTML.

HTTPS-сертификат

Используется самоподписанный сертификат, который автоматически генерируется после каждого изменения хоста в Config.

Советы

  1. После запуска сервера необходимо ввести в адресной строке хост из Config, а не 127.0.0.1, localhost или 0.0.0.0. Также следует использовать протокол https, а не http.

  2. Чтобы установить IPA на устройство iOS, необходимо перейти на страницу с подробной информацией о приложении и нажать кнопку «Установить сертификат», так как используется самоподписанный сертификат.

  3. При установке на CentOS и Ubuntu могут возникнуть проблемы 👉 здесь.

  4. В системах Linux для запуска aapt может потребоваться установить libpng12, например, для CentOS: yum install libpng12.

Более подробную информацию можно найти 👉 FAQ.

API

Базовый формат

{
    code: int,  # см. таблицу ниже
    ok: bool,  # успешность запроса
    msg: str,  # информация о запросе
    datas: dict/array,  # данные запроса
}
code Описание
0 Успех
-1 Ошибка

Загрузка приложения

POST /upload/app

Form

Параметр Обязательный Описание
package Да Загружаемый установочный файл
msg Нет Информация об обновлении

Возвращаемые данные: объект или нет (если приложение не существует, то данные возвращаются)

Параметр Описание
id Идентификатор приложения
type Тип установочного файла: 0 — iOS, 1 — Android
name Название
icon Значок
detail Краткое описание
short_chain Короткая ссылка
package_name Имя пакета
create_at Время создания

Получение списка приложений

GET /apps/<app_type>/page/<page>?t=<time>
Параметр Обязательный Описание
app_type Да Тип приложения: iOS, android, all
page Да Номер страницы, начиная с 1
time Да Для первой страницы — текущее время, для остальных — время получения первой страницы
kw Нет Фильтр по названию приложения

Возвращаемые данные: массив

Параметр Описание
id Идентификатор приложения
type Тип установочного файла: 0 — iOS, 1 — Android
name Название
icon Значок
detail Краткое описание
short_chain Короткая ссылка
package_name Имя пакета
version_name Версия последнего загруженного установочного файла
version_code Код версии последнего загруженного установочного файла
create_at Время создания

Получение информации о приложении

GET /apps/<app_id>
Параметр Обязательный Описание
app_id Да Идентификатор приложения

Возвращаемые данные: словарь

Параметр Описание
id Идентификатор приложения
type Тип установочного файла: 0 — iOS, 1 — Android
name Название
icon Значок
detail Краткое описание
short_chain Короткая ссылка
package_name Имя пакета
create_at Время создания

Удаление приложения (включая файлы)

DELETE /apps/<app_id>
Параметр Обязательный Описание
app_id Да Идентификатор приложения

Возвращаемых данных нет

Параметр Описание

Изменение информации о приложении

PUT /apps/<app_id>

Json

Параметр Обязательный Описание
app_id Да Идентификатор приложения
- - -
name Нет Название
short_chain Нет Короткая ссылка
detail Нет Краткое описание

Возвращаемых данных нет Получение временной метки первой страницы

Возвращаемые данные: массив

Параметр Описание
id Идентификатор версии приложения
app_id Идентификатор приложения
version_name Название версии
version_code Номер версии
package Адрес загрузки установочного пакета
size Размер установочного пакета
update_msg Информация об обновлении
create_at Время создания
plist Адрес для скачивания plist. Этот параметр присутствует только в том случае, если приложение относится к типу iOS

Удаление определённой версии приложения DELETE /apps/<app_id>/versions/<app_version_id>

Параметр Обязательный Описание
app_id Да Идентификатор приложения
app_version_id Да Идентификатор версии приложения

Возвращаемые данные: отсутствуют

Параметр Описание

Обновление версии 👉 ПЕРЕХОД

Используемые открытые проекты

Статьи по теме

Обсуждение и вклад

qq

Контакты

  • QQ: 875766917, пожалуйста, оставьте комментарий
  • Mail: 875766917@qq.com

Пожертвования (пожалуйста, выпейте чашку кофе, я не откажусь 😄)

Платёжная система Alipay

alipay

Платёжный сервис WeChat

wx

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сервер для онлайн-загрузки и установки приложения. Расширить Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/skytoup-AppServer.git
git@gitlife.ru:oschina-mirror/skytoup-AppServer.git
oschina-mirror
skytoup-AppServer
skytoup-AppServer
master