Новият начин за лесно споделяне на файлове от iPhone

Файловият сървър Pafera вече е достъпен за iOS!
2024-01-20 16:39:38
👁️ 1040
💬 0

Искате бързо представяне? Просто гледайте видеото по-горе!

Съдържание

  1. Въведение
  2. Новото приложение за споделяне на файлове Flutter
  3. Използване на приложението
  4. Разширени функции
  5. Деактивирани функции на мобилни устройства
  6. Изтегляния и изходен код
  7. Кандидатствайте за бета тестер

Въведение

Файловият сървър Pafera работи в Android Termux

Миналата година пуснах помощна програма, наречена Файлов сървър Pafera . Това е конзолно приложение, написано на Rust, което управлява уеб-базиран файлов мениджър за вашите устройства, което позволява лесно споделяне на файлове с всичко, което има уеб браузър с удобна функция за слайдшоу, за да покажете вашите снимки и икони на Shiba. Това означава, че можете да отидете на парти и да позволите на 200 приятели да преглеждат скорошните ви ваканционни снимки на собствените си телефони, по свое време и с темп.

По-късно, когато дойдоха различни предложения и модели на използване от приятели и случайни непознати в интернет, започнах да добавям все повече и повече функции. Вече може да синхронизира цели дървета на директории, да транскодира медийни файлове, да отваря файлове с приложения на собствената операционна система и автоматично да синхронизира файлове на вашите устройства.

Тъй като обаче беше конзолно приложение, винаги имаше един голям проблем, който му пречеше да бъде универсално решение за всичките ви устройства:

Конзолните приложения не могат да работят на iOS, което означава, че не можете да стартирате файловия сървър Pafera на iPhone или iPad...

До сега.

Новото приложение за споделяне на файлове Flutter

Имах малко свободно време през коледната ваканция, докато Черна гора празнуваше празниците, така че експериментирах с написването на мултиплатформено придружаващо приложение във Flutter/Dart, което ще ви позволи лесно да разглеждате сървъри от телефона си. По този начин моите по-малко склонни към технологиите приятели можеха просто да натиснат два бутона и да се свържат с моите сървъри.

По пътя разбрах, че всъщност можете да използвате Dart, за да стартирате свой собствен уеб сървър на iOS устройства, и си помислих...

хей Защо вместо това просто не внедря файловия сървър в Dart!

Така че две седмици по-късно приложението е тук.

Файловият сървър Pafera работи на iPhone

Сега производителността е ужасно ниска в сравнение с версията на Rust. Rust сървърът може да обслужва около 40 000 заявки в секунда...

Докато версията на Dart може да обслужва само около 400...

Но важното е, че работи...

и се инсталира на iPhone!

Използване на приложението

Поради грешка в PDFx библиотеката с последните версии на Flutter, трябваше да спра да използвам красиви икони за всички бутони, тъй като те се показваха като грозни черни линии.

Основната операция обаче остава същата.

Основна операция

След като всички се свържат към една и съща WiFi мрежа или гореща точка на телефона ви, просто щракнете върху иконата на приложението, изберете папката, която искате да споделите, и докоснете "Стартиране на сървъра".

След това щракнете върху бутона за QR код, оставете вашите приятели да го сканират и след това те могат щастливо да преглеждат вашата папка на своите телефони, дори да предават филми от вашия телефон директно на своите телефони.

Ако вашият приятел използва лаптоп или настолен компютър, това също не е проблем. Просто въведете URL адреса, показан над QR кода на тяхното устройство, и те могат да направят абсолютно същото.

Ако не работите с iOS или Android, това също не е проблем. Flutter Apps работят добре на OSX, Windows и Linux, така че ще получите същата функционалност и дори повече, ако инсталирате rsync, FFMpeg и ImageMagick на вашата система, за да може приложението да използва.

Разширени функции

Има доста разширени функции освен простото споделяне на файлове, така че ще дам бърз преглед тук.

Името на хоста е това, което се показва на други устройства, когато кликнат върху "Търсене на други сървъри". Можете да го използвате, за да разграничите бързо едно устройство от друго, ако споделяте няколко устройства едновременно.

Папката е папката на файловата система, която всъщност споделяте. Можете да щракнете върху "Използване на папка с документи" за по подразбиране в Документи/споделени или можете да щракнете върху "Избор на папка" за да изберете друга папка. Може също да се наложи да щракнете върху "Използване на папка с документи" ако iOS не опреснява правилно настройките на приложението при възобновяване от заспиване.

Използване на текущия IP автоматично открива текущия WiFi IP на вашето устройство. Както при "Използване на папка с документи" използвайте го, ако iOS не опреснява правилно приложението и то все още използва IP от предишна WiFi мрежа.

"Споделяне на всички интерфейси" задава публичния IP на 0.0.0.0, което означава, че всички на всичко, с което сте свързани, ще можете да видите вашия сървър. Удобен за настолни компютри с повече от една връзка, но внимавайте да го използвате на обществени места.

"Стартиране на споделянето" ще стартира сървъра и ще отвори началната страница, която можете да управлявате. Щракването върху него отново ще спре сървъра и ще запази вашите файлове в безопасност.

"Зареждане на последните настройки" и "Запазване на текущите настройки" правете точно това, което казват. Вашите настройки ще бъдат съхранени в Documents/paferafileserver.cfg точно като конзолната версия на Rust.

Разширени опции

Различните опции за парола са там, за да дадат на различните хора различни нива на достъп.

Обикновено всеки може да види вашите файлове само като се свърже с вашия сървър, но ако поставите отметка на "Активиране на частни файлове" под тези, тогава никой няма да може да види вашите файлове без паролата за четене.

Паролата за запис се използва за качване, преместване, копиране или изтриване на файлове. Без това никой друг не може да направи нищо на вашата система, освен да преглежда вашите файлове.

Паролата за обвивката е безполезна за мобилното приложение, но е много полезна за настолни операционни системи и Termux за Android. Той ви позволява да изпълнявате произволни системни команди, което го прави много мощен и много опасен в същото време. Тази функция е деактивирана по подразбиране и и двамата трябва да въведете парола за обвивка и отметнете "Активиране на командите на обвивката" по-долу, за да го използвате.

Различните опции за активиране и деактивиране ви позволяват да изберете какво могат да правят другите хора с вашата система дори когато те вече имат правилната парола. Те отменят всички други опции, така че ако деактивирате копирането на файлове, никой - дори вие самите - няма да можете да копирате файлове.

Специалната опция "Деактивиране на SSH Keycheck" е за хора като мен, които непрекъснато се скитат наоколо, докато синхронизират файлове напред-назад между различни устройства. Обикновено SSH ще поиска потвърждение, когато се свързва към система, чийто IP адрес е променен, дори ако самоличността на тази система вече е известна. Тази опция ще ви позволи автоматично да синхронизирате файлове в различни мрежи, без да влизате в конзолата, за да потвърдите SSH връзките. Използвайте го внимателно, когато сте в мрежи, които не контролирате сами.

Деактивирани функции на мобилни устройства

За разлика от работата в Termux или десктоп среда, приложенията за iOS и Android нямат достъп до обвивка, rsync, ImageMagick или FFMpeg, така че всички разширени функции за синхронизиране и транскодиране са деактивирани.

Тъй като мобилните операционни системи могат да унищожат фоновите приложения по всяко време, автоматичните задачи с ограничено време също са деактивирани.

Има възможни решения за всички тези аспекти, но времето, необходимо за интегриране на тези функции, е извън моите намерения в момента. Ако някой се интересува да ми плати, за да го добавя, тогава ще видим какво ще се случи. 😁

Изтегляния и изходен код

Както при всичките ми проекти, изходният код се хоства на Codeberg и може да бъде намерени тук .

За предварително компилирани двоични файлове можете прегледайте директорията на изданието тук ...

Или просто щракнете върху връзките по-долу:

Поради изискванията за подписване на Apple, потребителите на iOS и OSX трябва да изчакат приложението да бъде достъпно в App Store или да изтеглят изходния код и да компилират своя собствена версия за вашите устройства.

Кандидатствайте за бета тестер

Тъй като това е нова версия, сигурен съм, че ще има много грешки и странно поведение на различни системи. Ако искате да тествате бета това приложение вместо мен, моля, изпратете ми имейл с вашето устройство и версия на операционната система и аз ще ви настроя за TestFlight.

Разпространението на приложение Flutter всъщност е много по-сложно от версията на Rust, където просто качвам един изпълним файл и приключвам с цялото нещо, така че, моля, проявете разбиране, когато на Apple са необходими три седмици, за да провери приложението ми и да го разреши в iOS App Store. Нещата трябва да са много по-лесни, когато от Apple се изисква да разрешава приложения на трети страни според решението на ЕС.

Както винаги, надявам се, че ще намерите това приложение за полезно и ако искате да го персонализирате за вашите собствени цели, винаги съм на разположение като технически консултант. Забавлявайте се!

За автора

Джим програмира, откакто получи IBM PS/2 през 90-те години. И до днес той все още предпочита да пише HTML и SQL на ръка и се фокусира върху ефективността и коректността в работата си.