LINUX.ORG.RU

Сообщения bryak

 

Как исключить ввод паролей ssh-agent, gpg, keepassx?

Форум — Desktop

Хотелось бы что: вставляю я флешку с ключем и всё. Чтобы это работало на ssh-agent, gpg, keepassx. Возможно ли это настроить? Только без YubiKey и чего-то подобного. Только своё. Варианты сделать ключи без паролей для ssh и keepass - достаточно плохая идея. Сделать шифрованную флешку и туда скопировать ключи без пароля - тоже не очень хорошая идея

bryak
()

Гит изменения между ветками

Форум — Development
┌─[user@debian-home]─[master]─[~/.emacs.d]
└──╼ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
┌─[user@debian-home]─[master]─[~/.emacs.d]
└──╼ git checkout compilation
Switched to branch 'compilation'
┌─[user@debian-home]─[compilation]─[~/.emacs.d]
└──╼ git status
On branch compilation
nothing to commit, working tree clean
┌─[user@debian-home]─[compilation]─[~/.emacs.d]
└──╼ echo "some" >> init.el
┌─[user@debian-home]─[compilation]─[~/.emacs.d]
└──╼ git diff
diff --git a/init.el b/init.el
index 0bb503b..43dafa5 100644
--- a/init.el
+++ b/init.el
@@ -1359,3 +1359,4 @@ can be used to add a number of spaces to the front and back of the string."
     )

 (add-hook 'after-save-hook 'byte-compile-current-buffer)
+some
┌─[user@debian-home]─[compilation]─[~/.emacs.d]
└──╼ git checkout master
M       init.el
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
┌─[user@debian-home]─[master]─[~/.emacs.d]
└──╼ git diff
diff --git a/init.el b/init.el
index 0bb503b..43dafa5 100644
--- a/init.el
+++ b/init.el
@@ -1359,3 +1359,4 @@ can be used to add a number of spaces to the front and back of the string."
     )

 (add-hook 'after-save-hook 'byte-compile-current-buffer)
+some

Что это получается, что я внес изменения в ветке compile и эти изменения кочуют из ветки в ветку?

 

bryak
()

Изменение параметра в биос

Форум — Desktop

Есть материнская плата B85-PRO GAMER. Всё хорошо, только когда в квартире прохладно, когда стоит профиль cpu fan silent, - при включении пишет cpu fan error. Видимо в биосе стоит 30 градусов - минимальная температура, при которой включается cpu fan. Изменить бы это значение на 10 градусов, чтобы при загрузке не писало «cpu fan error». Есть ли какой-то редактор биосов(хоть под линукс, хоть под windows), чтобы можно было удобно менять параметры внутри прошивки биоса?

 , ,

bryak
()

swagger api client как передать -H «accept: application/json» -H «Authorization: Token aaa»

Форум — Development
def user_register_list_with_http_info(self, **kwargs):
        """
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please define a `callback` function
        to be invoked when receiving the response.
        >>> def callback_function(response):
        >>>     pprint(response)
        >>>
        >>> thread = api.user_register_list_with_http_info(callback=callback_function)

        :param callback function: The callback function
            for asynchronous request. (optional)
        :return: None
                 If the method is called asynchronously,
                 returns the request thread.
        """

        all_params = []
        all_params.append('callback')
        all_params.append('_return_http_data_only')

        params = locals()
        for key, val in iteritems(params['kwargs']):
            if key not in all_params:
                raise TypeError(
                    "Got an unexpected keyword argument '%s'"
                    " to method user_register_list" % key
                )
            params[key] = val
        del params['kwargs']

        resource_path = '/user/register/'.replace('{format}', 'json')
        path_params = {}

        query_params = {}

        header_params = {}

        form_params = []
        local_var_files = {}

        body_params = None

        # HTTP header `Accept`
        header_params['Accept'] = self.api_client.\
            select_header_accept(['application/json'])
        if not header_params['Accept']:
            del header_params['Accept']

        # HTTP header `Content-Type`
        header_params['Content-Type'] = self.api_client.\
            select_header_content_type(['application/json'])

        # Authentication setting
        auth_settings = ['DRF Token']

        return self.api_client.call_api(resource_path, 'GET',
                                            path_params,
                                            query_params,
                                            header_params,
                                            body=body_params,
                                            post_params=form_params,
                                            files=local_var_files,
                                            response_type=None,
                                            auth_settings=auth_settings,
                                            callback=params.get('callback'),
                                            _return_http_data_only=params.get('_return_http_data_only'))

Я делаю:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from client import swagger_client
from client.swagger_client.rest import ApiException
from client.swagger_client.apis.user_api import UserApi


TARGET = {"host": "http://127.0.0.1", "port": "9996"}

configuration = swagger_client.Configuration()
configuration.host = "%s:%s" % (TARGET["host"], TARGET["port"])

api = UserApi()
# print(dir(api.user_register_list))
print(api.user_register_list())

Мне надо передать в api.user_register_list()

 -H  «accept: application/json» -H  «Authorization: Token aaa»

 

bryak
()

autocomplete аргументов скрипта

Форум — Development

есть вот такой список аргументов. Хочется, чтобы было так:

./some dev<TAB>
./some dev-
build stage

Чтобы можно было запускать

./some.sh dev<TAB>b --> ./some dev_build
actions="build-dev \
    build-stage \
    stop \
    stop-all \
    destroy \
    destroy-all \
    collectstatic \
    compilemessages \
    makemigrations \
    migrate \
    runserver \
    manage \
    db-connect \
    uni-test"

 ,

bryak
()

Chat one to one схема

Форум — Development

Есть задача организовать диалоги между пользователями. Сообщения должны хранятся на сервере неделю. Какая лучше схема организации таблиц в БД?

гуглом нашел типа этого:

class Dialog(TimeStampedModel):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_("Dialog owner"), related_name="selfDialogs",
                              on_delete=models.CASCADE)
    opponent = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_("Dialog opponent"), on_delete=models.CASCADE)

    def __str__(self):
        return _("Chat with ") + self.opponent.username


class Message(TimeStampedModel, SoftDeletableModel):
    dialog = models.ForeignKey(Dialog, verbose_name=_("Dialog"), related_name="messages", on_delete=models.CASCADE)
    sender = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_("Author"), related_name="messages",
                               on_delete=models.CASCADE)
    text = models.TextField(verbose_name=_("Message text"))
    read = models.BooleanField(verbose_name=_("Read"), default=False)
    all_objects = models.Manager()

    def get_formatted_create_datetime(self):
        return dj_date(localtime(self.created), settings.DATETIME_FORMAT)

    def __str__(self):
        return self.sender.username + "(" + self.get_formatted_create_datetime() + ") - '" + self.text + "'"

 ,

bryak
()

Как отключить enter в st?

Форум — Desktop

В st можно отключить Enter? Хочу себя приучить к C-m

 ,

bryak
()

Добавить имя branch в prompt

Форум — Desktop
PS1="\[\033[0;37m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"

Как добавить в этот PS1 вот это?

$(__git_ps1 '(%s)')

Что-то я растерялся из-за обилия [

┌─[user@debian-home]─[~/media/source_project/dj/work/some/auth]
└──╼

Надо сделать

┌─[user@debian-home]─[git_branch_name]-[~/media/source_project/dj/work/some/auth]
└──╼

А то неудобно, иногда сабмодули перескакивают на HEAD-some с мастера, нужно видеть в каком бренче нахожусь

 

bryak
()

Что есть готовое для связки djangorest + cas + jwt?

Форум — Development

Что есть готовое? Нужна стандартная схема: Централизованный сервер auth, который выдает jwt. А сервисы привязываются к auth и чекается этот jwt. Конечно, можно это всё и самому написать, но у меня не 10 рук. Хотелось бы что-то готовое, чтобы можно было сразу это имплементировать. Можно и не jwt, а обычные токены

 ,

bryak
()

firebase

Форум — Development

Я, чтобы не раздражать анонимуса, решил почитать документацию :) https://firebase.google.com/docs/auth/android/custom-auth

auth = Firebase.auth
val currentUser = auth.currentUser

по ссылке https://github.com/firebase/quickstart-android/blob/f2676749632938d536741f2c5b6d668dfea7c4c7/auth/app/src/main/java/com/google/firebase/quickstart/auth/kotlin/CustomAuthActivity.kt#L47-L48

там вот такие импорты:

import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.auth.ktx.auth
import com.google.firebase.ktx.Firebase

вот это не хочет импортироваться

import com.google.firebase.ktx.Firebase

или Firebase лежит где-то в другом месте?

Task :app:compileDebugKotlin FAILED

Unresolved reference: Firebase

 

bryak
()

Блок питания ресурс конденсаторов

Форум — Desktop

Есть блок питания cooler master 500w. В работе больше 5 лет. Работа в день около 8-10 часов. Без игр. i5 + 1050(3 мес до этого на встроенной видео). Думаю, может отнести в СЦ пусть поганяют его, может там кандеры уже высохли? Или не стоит?

 

bryak
()

Замена imdb 250

Форум — Talks

Вы давно заглядывали в этот рейтинг? Там уже половина фильмов из MARVEL. Такие фильмы, как Deja Vu (2006) оттуда исчезли. Что есть на замену imdb? Чтобы можно было взять список вменяемых фильмов и налить их с торентов

 

bryak
()

Заюзать android-studio java

Форум — Desktop

в bash.nix

PATH="/run/wrappers/bin:/home/user/.nix-profile/bin:/etc/profiles/per-user/user/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:${pkgs.android-studio}/jre/bin"

export |grep -i path

declare -x PATH="/run/wrappers/bin:/home/user/.nix-profile/bin:/etc/profiles/per-user/user/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/nix/store/97rj36ghpmc8z0g246vq3bqarvxycibj-android-studio-stable-3.5.3.0/jre/bin"

[user@nixos:~]$ ls /nix/store/97rj36ghpmc8z0g246vq3bqarvxycibj-android-studio-stable-3.5.3.0/

bin  share

там нет jre

а в debian’e есть

ls /opt/android-studio/

bin  build.txt  Install-Linux-tar.txt  jre  lib  license  LICENSE.txt  NOTICE.txt  plugins  product-info.json

 

bryak
()

Принципы перевыдачи JWT токенов

Форум — Development

Окей, есть бекенд и мобильная аплека.

  1. вводим номер телефона в форму на аплеке
  2. дальше идет авторизация на firebase
  3. если авторизация прошла успешно, значит стучимся в endpoint auth api/registration, который выдает token
  4. получаем токен. Внутри него expire, пусть будет 2 часа
  5. сохраняем этот токен на endpoint auth
  6. авторизуемся в этим токеном на entrypoint’ах

А вот тут возникает несколько вопросов:

  1. Допустим, у пользователя закончился срок действия токена. Окей, он стучится на сервер auth со своим просроченным token’он, auth смотрит, что есть старый токен, окей, старый меняем на новый. Всё верно или есть какой-то другой механизм?

  2. Токен перехватили. Как определить что тот, кто дает этот токен - это владелец токена? Допустим, человек поменял телефон или данные с телефона утекли другому человеку. Этот человек можно юзать этот токен. Как этого избежать и какие есть механизмы? Может внутри токена нужно класть какой-то hardware id телефона?

 , , , ,

bryak
()

Дезинформация о мобильной версии firefox

Форум — Talks

В теме Firefox 79 присутствует дезинформация о том, что при апдейте ff стал иметь кодовую базу nightly и у него слетели addon’ы. Это не правда. Аддоны на месте и бразуер летает, по сравнению со старой кодовой базой

 

bryak
()

ERROR: Duplicate mount points

Форум — Development

cat docker-compose.yml

version: '2'
services:

  python:
    build: docker/python
    container_name: ${PYTHON_CONTAINER}

    volumes:
      - ./app:/var/www/html
      - ./common/python:/var/www/html/common

    working_dir: /var/www/html

    networks:
      - some-back

    depends_on:
      - db

    environment:
      SERVICE_NAME: ${CONTAINER}

      POSTGRES_HOST: ${POSTGRES_HOST}
      POSTGRES_PORT: ${POSTGRES_PORT}
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}

  db:
    build: docker/postgis
    container_name: ${DB_CONTAINER}

    volumes:
      - ${POSTGRES_DATA}:/${POSTGRES_DATA}

    networks:
      - some-back

    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
      PGDATA: /${POSTGRES_DATA}
      VER_POSTGRES: ${VER_POSTGRES}
 
networks:
  some-back:
    external: true

cat docker-compose.dev.yml

version: '2'
services:

  python:
    tty: true

    ports:
      - "${WEB_PORT_EXT}:${WEB_PORT_INT}"

    environment:
      ENV: dev
      CONTAINER: ${CONTAINER}

При запуске docker-compose

ERROR: Duplicate mount points: [/home/user/auth/dbdata:/dbdata:rw, /home/user/auth/dbdata:/dbdata:rw]

В debian более старая версия docker-compose, в nixos по-свежей. В дебиан всё работает, в nixos - нет

 , , ,

bryak
()

Изменить место хранения контейнеров

Форум — Desktop

надо заменить /lib/systemd/system/docker.service

from:
ExecStart=/usr/bin/dockerd -H unix://
to:
ExecStart=/usr/bin/dockerd -g /home/user/docker -H unix://

Как это сделать?

 ,

bryak
()

Не пойму как организовать аутентификацию в проекте с мобильным приложением

Форум — Development

Есть endpoint’ы и entrypoint’ы. Есть мобильное приложение. Нужно сделать централизованную аутентификацию(по типу mama-cas) + мобильное приложение в firebase. Как это всё по логической цепочке делается?

Мобильное приложение авторизуется в firebase, потом обращается к микросервису auth, на котором mama-cas, все эндпоинты и энтрипоинты привязываются к сервису auth, и когда от мобильного приложения поступает запрос к API, в теле запроса должен быть token, который отдал auth мобильному приложению? При этом в auth еще нужно создать юзера с правами(и где его создавать или в auth или в endpoint-data, где лежит профиль юзера?), чтобы потом можно было рулить пермишенами

  1. схема авторизации. Вообще, как лучше ее делать? Сейчас предполагается использования только номера мобильного телефона. Но, скорей всего username делать именем телефона нельзя, т.к сегодня это номер телефона, а завтра авторизация через социалки. Что брать за основу username при регистрации? Стандартный метод username:password тут не получится использовать. В качестве username может использовать какой-то hardware-id телефона?

  2. Может ну ёё, эту django-cas-ng\mama-cas? На DRF сделать регу юзера и авторизацию с выдачей токена. А все endpoint’ы ? entrypoint’ы будут стучаться на auth по какому-то апи и чекать на наличие токена?

 , , ,

bryak
()

Поиск файлов с каким-то кол-вом комментариев

Форум — Development

Есть что-то готовое? Нужно пройтись по проекту и прочекать файлы, в которых есть n комментарий. Чтобы можно было:

  1. вывести их список, чтобы открыть текстовым редактором и пофиксить
  2. подсунуть в pre-commit

 , , ,

bryak
()

как копировать конфиги?

Форум — Desktop
  1. Что-то у меня не получается настроить https://github.com/rycee/home-manager

  2. home-manager удобно использовать, когда конфиг из одного файла. А если конфиг с директориями и там много файлов как быть? Может легче выполнить cp -prf template/some_config ~/.config?

 

bryak
()

RSS подписка на новые темы