Shelter для Android и передача файлов между профилями

archive view archive save

shelter-logo_1.jpg Shelter Андроид приложение для изоляции приложений в отдельно созданном профиле, но в версии Android 10 у Shelter есть проблема с расшариванием файлов между профилями - фича в оригинале называется file shuttle, и оно не работает.

Shelter - Free and Open Source Android App, доступно на F-Droid, а в Google Play замечен не был.

Shelter | F-Droid - Free and Open Source Android App Repository

Shelter is a Free and Open-Source (FOSS) app that leverages the "Work Profile" feature of Android to provide an isolated space that you can install or clone apps into.

For a full description, please read from the Git repository of Shelter. A summary is provided below.

The main use-cases of Shelter include:

- Installing apps inside a work profile for isolation
- "Freeze" apps inside the work profile to prevent them from running or being woken up when you are not actively using them
- Installing two copies of the same app on the same device

Note that Shelter depends on the Work Profile feature of the Android system, so any bugs related to Work Profiles in the Android-derived system you are using will affect Shelter. In addition, Shelter can only be as secure as the Work Profile implementation.

  1. Shelter file shuttle not work
  2. Переход на другое приложение (ака Island)
    1. С чего начать миграцию
    2. Island на замену Shelter
    3. Insular клон Island
  3. Создание костыля в виде ФТП моста
    1. primitive ftpd
    2. Material Files
    3. Ghost Commander
  4. Использование microSD карты

Shelter file shuttle not work

Проблема с перемещением файлов между основным и рабочим профилями в shelter появилась начиная с версии Андроид 10. Во всех остальных версиях Андроидоф 9,11,12 file shuttle арбайтен без проблем.

Проблема заключается в том, что данную фичу в Андроид 10 нельзя активировать из-за её недоступности:

shelter-file-sharing_1.jpg

shelter-file-sharing_2.jpg

shelter-file-sharing_3.jpg

Проблема неразрешима по сегодняшний день - android shelter file shuttle not work:

  • File shuttle not available #97
    ...
    riedel commented on Feb 19, 2020

    I switched to Island where this is working in q. One could do a careful code review in the differences

Похожие проблемы по ссылкам:

Второй геммор заключается в том, что даже при активной фиче (маст хэв права на доступ к файлам для обоих Shelter из основного и рабочего профилей) перемещение файлов возможно только с помощью некоего файлового менеджера Файлы из Google Play:

В качестве решения намечено несколько вариантов:

  • Переход на другое приложение (ака Island);
  • Создание костыля в виде ФТП моста;
  • Использование microSD карты.

Переход на другое приложение (ака Island)

Нужно так понимать, что вариант смены Shelter на любое аналогичное приложение повлечёт за собой переустановку всех приложений в новый рабочий профиль, а это приличный геморр если старый рабочий профиль был прилично напакован.

С чего начать миграцию

Переход начинается с Uninstalling-га, и для выбравших этот путь стоит отметить, что автор программы рекомендует ПЕРВЫМ ДЕЛОМ удалить рабочий профиль из настроек Settings -> Accounts, а уже после удалять само приложение Shelter.

GitHub - PeterCxy/Shelter: SThis repository is a mirror of https://gitea.angry.im/PeterCxy/Shelter
...
Uninstalling

To uninstall Shelter, please delete the work profile first in Settings -> Accounts, and then uninstall the Shelter app normally.

Вероятно кто-то предпочтёт начать миграцию не сразу с удаления, а с резервных копий рабочего профиля, а это длинная история о способах их создания и выходит за рамки тематики данного поста.

Удалив Shelter у нас есть два кандидата на его замену - это Island и Insular клон Island:

Island на замену Shelter

Доступно из Google Play

Island - Apps on Google Play

На острове вы можете:

* Изолировать приложение, для защиты конфиденциальности.
* Приложение-клон, для параллельного запуска.
* Заморозить приложение, чтобы полностью заблокировать его фоновое поведение.
* Скрыть приложение по разным причинам.
* Используйте VPN только на одной стороне или разные VPN на обеих сторонах.
......

Чтобы полностью удалить и удалить Island , сначала выберите «Уничтожить остров» в «Настройках - Настройки области действия - Остров». Если вы уже удалили приложение Island, пожалуйста, "Удалить рабочий профиль" в вашем устройстве "Настройки - Учетные записи".

===== РАЗРЕШЕНИЯ =====

DEVICE-ADMIN: привилегия администратора устройства требуется для создания пространства острова (рабочего профиля), которое служит фундаментальной функциональностью острова. Он будет явно запрошен для вашего согласия.

PACKAGE_USAGE_STATS: требуется для правильного распознавания рабочего состояния приложений. Он будет явно запрошен для вашего согласия.

Мы никогда не будем собирать данные, относящиеся к вашей конфиденциальности, пожалуйста, прочитайте нашу политику конфиденциальности для более подробной информации.

Однако, на странице автора программы обещаны немалые проблемы, а также, что This beta version и may be dangerous on some Android devices:

What is “Island”
...
The limitations of “Managed Mainland”:

You can no longer create new Island space after Managed Mainland is activated. It’s suggested to setup Island space before activating this mode.
On Android version prior to 7.1, app backup (e.g. Cloud backup for app data with Google Drive) will stop working. (Android 7.1+ is not affected)

Managed Mainland could only be setup manually (Setup Guide) at present.

DISCLAIMER

This beta version may be dangerous on some Android devices, it may cause boot-loop and even brick your device. The purpose of closed beta exclusive for advanced users is to widely test and improve the device compatibility. Don’t install it on your daily device and remember to BACKUP FIRST.

GitHub - oasisfeng/island: Island for Android

Короче, стрёмный кандидат для замены Shelter...

Insular клон Island

Insular | F-Droid - Free and Open Source Android App Repository

Insular is a FLOSS fork of Island.
With Insular, you can:

Isolate your Big Brother apps
Clone and run multiple accounts simutaniuosly
Freeze or archive apps and prevent any background behaviors
Unfreeze apps on-demand with home screen shortcuts
Re-freeze marked apps with one tap
Hide apps
Selectively enable (or disable) VPN for different group of apps
Prohibit USB access to mitigate attacks with physical access

If your device is incompatible or not encrypted, you can skip this limitation manually. Please refer to the XDA post for details.
To uninstall and remove Insular completely, please first "Destroy Insular" in Settings - Setup - Click the recycle-bin icon besides Insular. If you have already uninstalled Insular app, please "Remove work profile" in your device "Settings - Accounts".

PERMISSIONS

DEVICE-ADMIN: Device administrator privilege is required to create the Insular space (work profile), which serves as the fundamental functionality of Insular. It will be explicitly requested for your consent.

PACKAGE_USAGE_STATS: Required to correctly recognize the running state of apps. It will be explicitly requested for your consent.

We will never collect any data and Insular have no Internet permission. Please read our privacy policy for more details.

Differences from Island

all blobs (gms, crashlytics, etc) are removed to comply with F-droid's policy
Internet access of this app is removed because we just don't need it
All features are preserved and will be synced upon Island's updates

Вроде как улучшенная и модернизированная версия Island.

Ни Island, ни Insular ставить я не буду во избежание геморра с переустановкой и настройкой туевой хучи приложений рабочего профиля.

Кроме того, совсем не факт, что Island/Insular лишены данной и не добавят новой проблемы!

Потому, переходу на другое приложение (ака Island) я предпочитаю следующие два варианта...

Создание костыля в виде ФТП моста

Для костыля в виде ФТП моста потребуется, совсем почти ничего, ФТП-сервант и любой файловый менеджер поддерживающий монтирование ФТП - в качестве которых предлагается:

primitive ftpd

Запускаем primitive ftpd и в секции Тип хранилища, кликнув по пункту Android Storage Access Framework (SAF), выбираем каталог ФТП с которым будет работать сервант и даём права на доступ - перезапускать сервер необязательно.

simpleftp-config_1.jpg

Далее можем видеть предупреждение:

Как работает SAF

Андроид попросит выбрать каталог, который будет доступен с сервера. Переодически разрешение будет отзываться и потребуется выбирать каталог снова.

И похожет, что разрешение отзывается при каждом следующем запуске primitive ftpd, как в рабочем так и в основном профилях. Следовательно, при каждом следующем запуске primitive ftpd нужно будет снова выбирать каталог и предоставлять права доступа!

Потом открываем настройки и выбираем желаемые:

  • Имя пользователя (логин);
  • Пароль;
  • Запускаемые серверы;
  • Порт/Защищённый порт.

simpleftp-config_2.jpg

По-умолчанию primitive ftpd "биндица" (вешаетца, прослушивает) на всех интерфейсах (127.0.0.1, 192.168.1.xxx, и т.д.), но можно приказать ему прослушивать только один из них, например только 127.0.0.1 и в таком случае сделать авторизацию анонимной - для этого нужно указать ИП-адрес в IP to bind to.

Но для паралельного доступа к рабочему профилю, как в нутри гаджета, так и с наружи, можно оставить настройки по-умолчанию.

simpleftp-config_3.jpg

Следующие настройки особой погоды не делают:

simpleftp-config_4.jpg

simpleftp-config_5.jpg

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

Далее нужно настроить файловый менеджер, из обилия которых мне больше всего понравились Material Files и Ghost Commander.

Material Files

Добавить накопитель:

material-files_1.jpg

Выбираем тип сервера:

material-files_2.jpg

Вводим данные сервера, адрес/порт/логин/пароль:

material-files_3.jpg

Если при попытке доступа из-вне через FileZilla выдаётся ошибка Ошибка: Unable to open .: no such file or directory, или в файловом менеджере Material files выпадет ошибка java8.nio.file.NoSuchFileException

material-files_4.jpg

Значит забыли в primitive ftpd выбрать Тип хранилища, кликнув по пункту Android Storage Access Framework (SAF), выбирать каталог ФТП и дать права на доступ.

Ghost Commander

Открываем домашнюю страницу Ghost Commander:

ghost-commander-home.jpg

Выбрав из списка SFTP сервер (FTP сервер, кому как), заполняем форму данными для авторизации на сервере, адрес/порт/логин/пароль:

ghost-commander-sftp-connect_1.jpg

Подключившись на все вопросы отвечаем АГА:

ghost-commander-sftp-connect_2.jpg

Дальше должны увидеть список папок сервера:

ghost-commander-sftp-connect_3.jpg

А если при повторных подключениях начнёт запрашивать пароль:

ghost-commander-sftp-connect_4.jpg

Значит снова слетели права на каталог сервера в primitive ftpd - снова выбрать Тип хранилища, кликнув по пункту Android Storage Access Framework (SAF), выбирать каталог ФТП и дать права на доступ.

Использование microSD карты

microSD карта, которая в устройстве установлена в качестве внешнего хоронилища, а НЕ дополнительной памяти устройства, - по умолчанию должна быть доступна для чтения/записи из любого профиля (основного и/или рабочего).

Единственное условие - установка microSD карты в качестве внешнего хранилища (съёмного носителя), никаких дополнительных манипуляций нетребуется.


Об авторе
АдМинь БагоИскатель
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора

Нет комментариев

Вы можете стать первым, кто добавит комментарий к этой записи.

Добавить комментарий

АХТУНГ! Все комменты гостей модерасятся модерастом.
  1. Мессаги исключительно рекламного содержания, либо содержащие только одни оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются;
  2. Злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах!;
  3. Разумная обоснованная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.


Защитный код
Обновить

Комментарии в блоге
Новое на форуме