No description
Find a file
2024-08-20 14:28:51 +03:00
example/.well-known feat: describe idea of pwa and web cli tools 2024-08-20 14:28:51 +03:00
src feat: describe idea of pwa and web cli tools 2024-08-20 14:28:51 +03:00
.mise.toml feat: describe idea of pwa and web cli tools 2024-08-20 14:28:51 +03:00
build.zig feat: describe idea of pwa and web cli tools 2024-08-20 14:28:51 +03:00
readme.md feat: describe idea of pwa and web cli tools 2024-08-20 14:28:51 +03:00

Командная строка из браузера

Идея состоит в том, чтобы создать браузер, который сможет превращать api интерфес в интерфейс командной строки.

Схема

pwact <tool.dns> <api_header> <api_methods>

А так же установить локально

pwact <tool.dns> install

Чтобы это заработало, необходимо использовать .well-know URL

{
    "api": "https://codeberg.org/api/v1",
    "bin": {
        "<platform>": [{
            "<architecture>": "<path_for_file" 
        }]
    }
    "settings": {
        "aliases": [{
            "alias": "i", 
            "type": "path",
            "path": "<path>"
        }]
    }
}

Например:

{
    "api": "https://codeberg.org/api/v1",
    "settings": {
        "aliases": [
            {
                "alias": "i",
                "type": "path",
                "path": "/repos/{owner}/{repo}/issues"
            },
            {
              "alias": "create",
              "type": "method",
              "method": "POST"
            },
            {
              "alias": "tea",
              "type": "bin",
              "bin": "tea"
            }
        ]
    },
    "bin": {
      "linux": [{"x86": "https://dl.gitea.com/tea/main/tea-main-linux-amd64.xz"}]
    }
}

Метод REST API - https://codeberg.org/api/v1/repos/{owner}/{repo}/issues превратиться в следующий код

По умолчанию get запрос

pwact api codeberg.org repos issues [owner] [repo]

Если нужно отправить post запрос, то

pwact api codeberg.org post --auth repos issues [owner] [repo]

токены хранятся в отдельной базе данных, независимо от репозитория.

Методы перед pwact можно переопределить

pwact api codeberg.org create --auth repos issues [owner] [repo]

Установить и запустить инструмент в изолированном контексте можно

pwact api codeberg.org install

Все те же методы работают с бинарниками.

pwact bin codeberg.org install

В настройка самого инструмента может быть настройка, которая определить по умолчанию запускать бинарники или api. Так же можно не писать api или bin если в манифесте указан только один параметр

По умолчанию все запросы в clearnet иду по https, tor и i2p - http. Но можно указать и конкретный протокол

pwact bin "http://codeberg.org" install

В случае выполнения команды по установки бинарников, даже если они не указаны в manifest на сайте, то могут быть скачаны с репозиториия pkgx Устанавливаются в случае пользователя в директорию ~/.local/bin, в случае root /usr/local/bin/