Skip to content

ShemOFF/MikasaFilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MikasaFilter


MikasaFilter

Фильтр open-source пакетов с внешних репозиториев

Поддержка пакетных менеджеров


  • pip (Python)
  • npm (Node.js)

Реализовано


  • Фиксированная дата фильтрации (стандартное значение до 18.02.2022)

Все пакеты с зависимостями вышедшие после или равными данной даты не будут доступны для загрузки

  • Динамическая дата фильтрации в GET запросе (день, месяц)

Все пакеты с зависимостями вышедшие после или равными динамической даты не будут доступны для загрузки

  • Просмотр доступных библиотек с датой релиза по фильтрации (список, json)
  • Просмотр всех библиотек с датой релиза (список, json)

Планы


  • Добавление "антирусского" списка библиотек в исключения
  • Добавить белый список библиотек в исключения
  • maven
  • deb
  • docker
  • Менеджер для конфигурации под конкретный проект

Фиксированная дата фильтрации


Из актуальной даты вычитается значение переменной "DEFAULT_MORATORIUM_DATE" из "app/project_config.py" (18.02.2022) и предоставляются пакеты с меньшей датой релиза.

Изменение фиксированной даты фильтрации


В "app/project_config.py" изменить значение переменной "DEFAULT_MORATORIUM_DATE" и перезапустить проект.

Синтаксис "DEFAULT_MORATORIUM_DATE": 'день-месяц-год'.

Динамическая дата фильтрации


Из актуальной даты вычитается день-месяц введение пользователем и предоставляются пакеты с меньшей датой релиза. Вводимые параметры:

  • День не больше 31 и не меньше 0
  • Месяц не больше 96 и не меньше 0

Работа фильтра


  • Фиксированная дата фильтрации:

    • pip:

    http://<url>:<port>/pypi-api/simple/<package_name>/
    
    • npm:

    http://<url>:<port>/npm-api/package/<package_name>
    
  • Отображение подходящих пакетов и даты релиза с фиксированной датой фильтрации:

    • pip:

      • Пользовательское

        http://<url>:<port>/pypi-api/date-upload-moratorium/<package_name>
        
      • Json

        http://<url>:<port>/pypi-api/date-upload-moratorium/json/<package_name>
        
    • npm:

      • Пользовательское

        http://<url>:<port>/npm-api/date-upload-moratorium/<package_name>
        
      • Json

        http://<url>:<port>/npm-api/date-upload-moratorium/json/<package_name>
        
  • Динамическая дата фильтрации:

    • pip:

    http://<url>:<port>/pypi-api/день-месяц/simple/<package_name>
    
    • npm:

    http://<url>:<port>/npm-api/день-месяц/package/<package_name>
    
  • Отображение подходящих пакетов и даты релиза с динамической датой фильтрации:

    • pip:

      • Пользовательское

      http://<url>:<port>/pypi-api/день-месяц/date-upload-moratorium/<package_name>
      
      • Json

      http://<url>:<port>/pypi-api/день-месяц/date-upload-moratorium/json/<package_name>
      
    • npm:

      • Пользовательское

      http://<url>:<port>/npm-api/день-месяц/date-upload-moratorium/<package_name>
      
      • Json

      http://<url>:<port>/npm-api/день-месяц/date-upload-moratorium/json/<package_name>
      
  • Отображение всех пакетов с датой публикации (Без фильтрации)

    • pip

    http://<url>:<port>/pypi-api/date-upload-all/<package_name>
    
    • npm

    http://<url>:<port>/npm-api/date-upload-all/<package_name>
    

Запуск фильтра


  • Windows:

# python >= 3.9
 
pip install -r app\requirements.txt
python app\app.py
  • Docker-compose:

docker-compose up -d

Настройка пакетных менеджеров для работы


Во всех ниже перечисленных методах можно использовать динамическую фильтрацию, а не фиксированную.

pip:

  • Terminal:

pip ... --index-url http://<url>:<port>/pypi-api/simple/pycurl/
  • Config:

# in Windows %USERPROFILE%/pip/pip.conf
vi ~/.pip/pip.conf 

[global]
index-url = http://<url>:<port>/pypi-api/simple

npm:

  • Terminal:

npm ... --registry https://<url>:<port>/npm-api/package
  • Config:

# in Windows %USERPROFILE%/.npmrc
vi ~/.npmrc


registry=https://<url>:<port>/npm-api/package

About

Filter open-source packets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published