Хочаце кароткае прадстаўленне? Проста паглядзіце відэа вышэй!
У мінулым годзе я выпусціў утыліту пад назвай Файлавы сервер Pafera . Гэта кансольная праграма, напісаная на Rust, якая запускае вэб-дыспетчар файлаў для вашых прылад, што дазваляе лёгка абменьвацца файламі з усім, што мае вэб-браўзер са зручнай функцыяй слайд-шоў для дэманстрацыі вашых фатаграфій і значкоў shiba. Гэта азначае, што вы можаце пайсці на вечарыну і дазволіць 200 сябрам праглядаць вашы нядаўнія фатаграфіі з адпачынку на сваіх тэлефонах у свой час і ў сваім тэмпе.
Пазней, калі паступалі розныя прапановы і схемы выкарыстання ад сяброў і выпадковых незнаёмцаў у Інтэрнэце, я пачаў дадаваць усё новыя і новыя функцыі. Цяпер ён здольны сінхранізаваць цэлыя дрэвы каталогаў, перакадаваць мультымедыйныя файлы, адкрываць файлы з уласнымі праграмамі аперацыйнай сістэмы і аўтаматычна сінхранізаваць файлы на вашых прыладах.
Аднак, будучы кансольным дадаткам, заўсёды існавала адна вялікая праблема, якая перашкаджала яму быць універсальным рашэннем для ўсіх вашых прылад:
Кансольныя праграмы не могуць працаваць на iOS, гэта азначае, што вы не можаце запусціць файлавы сервер Pafera ні на iPhone, ні на iPad...
Да гэтага часу.
Падчас калядных канікул у мяне быў вольны час, пакуль Чарнагорыя святкавала святы, таму я паэксперыментаваў з напісаннем мультыплатформеннага дапаможнага прыкладання ў Flutter/Dart, якое дазволіць вам лёгка праглядаць серверы са свайго тэлефона. Такім чынам, мае менш схільныя да тэхналогій сябры маглі проста націснуць дзве кнопкі і падключыцца да маіх сервераў.
Па дарозе я зразумеў, што можна выкарыстоўваць Dart для запуску ўласнага вэб-сервера на прыладах iOS, і я падумаў...
Гэй! Чаму б мне проста не рэалізаваць файлавы сервер у Dart?
Такім чынам, праз два тыдні праграма ўжо тут.
Цяпер прадукцыйнасць страшэнна нізкая ў параўнанні з версіяй Rust. Сервер Rust можа абслугоўваць каля 40 000 запытаў у секунду...
У той час як версія Dart можа абслугоўваць толькі каля 400...
Але галоўнае, што гэта працуе...
і ён усталёўваецца на iPhone!
З-за памылкі ў бібліятэцы PDFx з апошнімі версіямі Flutter мне прыйшлося спыніць выкарыстанне прыгожых значкоў для ўсіх кнопак, бо яны выглядалі непрыгожымі чорнымі лініямі.
Аднак асноўная аперацыя застаецца ранейшай.
Пасля таго, як усе падключацца да адной сеткі Wi-Fi або кропкі доступу вашага тэлефона, проста націсніце на значок праграмы, абярыце папку, якой хочаце абагуліць, і націсніце "Запусціць сервер".
Затым націсніце на кнопку QR-кода, дазвольце вашым сябрам адсканаваць яго, і тады яны змогуць з задавальненнем праглядаць вашу папку на сваіх тэлефонах, нават трансліраваць фільмы з вашага тэлефона непасрэдна на свае тэлефоны.
Калі ваш сябар карыстаецца партатыўным або стацыянарным кампутарам, гэта таксама не праблема. Проста ўвядзіце URL-адрас, паказаны над QR-кодам на іх прыладзе, і яны змогуць зрабіць тое ж самае.
Калі вы не працуеце на iOS або Android, гэта таксама не праблема. Праграмы Flutter выдатна працуюць у OSX, Windows і Linux, так што вы атрымаеце аднолькавую функцыянальнасць і нават больш, калі ўсталюеце rsync, FFMpeg і ImageMagick у вашай сістэме для выкарыстання праграмай.
Акрамя простага абмену файламі, існуе даволі шмат дадатковых функцый, таму я дам тут кароткі агляд.
Імя хоста паказваецца іншым прыладам, калі яны націскаюць "Шукаць іншыя серверы". Вы можаце выкарыстоўваць яго, каб хутка адрозніць адну прыладу ад іншай, калі вы адначасова карыстаецеся некалькімі прыладамі.
Папка - гэта папка файлавай сістэмы, да якой вы насамрэч адкрываеце агульны доступ. Вы можаце націснуць "Выкарыстоўваць тэчку дакументаў" па змаўчанні ў Documents/shared, або вы можаце націснуць "Выбраць тэчку" каб выбраць іншую тэчку. Вам таксама можа спатрэбіцца націснуць "Выкарыстоўваць папку дакументаў" калі iOS не абнаўляе належным чынам налады праграмы пры выхадзе з рэжыму сну.
Выкарыстоўваць бягучы IP аўтаматычна вызначае бягучы IP-адрас Wi-Fi вашай прылады. Як і ў выпадку з "Выкарыстоўваць тэчку дакументаў" выкарыстоўвайце яго, калі iOS не абнаўляе праграму належным чынам і яна ўсё яшчэ выкарыстоўвае IP з папярэдняй сеткі WiFi.
"Агульны доступ на ўсіх інтэрфейсах" усталёўвае публічны IP у 0.0.0.0, што азначае, што кожны на ўсім, да чаго вы'падключаны, зможа бачыць ваш сервер. Зручны на настольных кампутарах з больш чым адным падключэннем, але будзьце асцярожныя, выкарыстоўваючы яго ў грамадскіх месцах.
"Пачаць абагульванне" запусціць сервер і адкрые галоўную старонку, якой вы можаце кіраваць. Паўторнае націсканне спыніць сервер і захавае вашы файлы ў бяспецы.
"Загрузіць апошнія налады" і "Захаваць бягучыя налады" рабіць менавіта тое, што яны кажуць. Вашы налады будуць захоўвацца ў Documents/paferafileserver.cfg, як і кансольная версія Rust.
Розныя варыянты пароляў існуюць, каб даць розным людзям розныя ўзроўні доступу.
Звычайна кожны можа бачыць вашы файлы, проста падключыўшыся да вашага сервера, але калі вы адзначыце "Уключыць прыватныя файлы" ніжэй, то ніхто не зможа ўбачыць вашы файлы без пароля чытання.
Пароль запісу выкарыстоўваецца для загрузкі, перамяшчэння, капіравання або выдалення файлаў. Без гэтага ніхто больш нічога не можа зрабіць з вашай сістэмай, акрамя прагляду вашых файлаў.
Пароль абалонкі бескарысны ў мабільным дадатку, але вельмі карысны ў настольных аперацыйных сістэмах і Termux на Android. Ён дазваляе запускаць адвольныя сістэмныя каманды, што робіць яго вельмі магутным і вельмі небяспечным адначасова. Гэта функцыя адключана па змаўчанні, і вы абодва павінны ўвесці пароль абалонкі і пастаўце галачку "Уключыць каманды абалонкі" ніжэй, каб выкарыстоўваць яго.
Розныя параметры ўключэння і выключэння дазваляюць выбраць, што іншыя людзі могуць рабіць з вашай сістэмай нават калі яны ўжо маюць правільны пароль. Яны адмяняюць усе іншыя параметры, таму, калі вы адключыце капіраванне файлаў, ніхто - нават вы самі - не зможаце капіяваць файлы.
Спецыяльная опцыя "Адключыць праверку ключоў SSH" прызначаны для такіх людзей, як я, якія пастаянна блукаюць, сінхранізуючы файлы паміж рознымі прыладамі. Звычайна SSH запытвае пацвярджэнне пры падключэнні да сістэмы, IP-адрас якой быў зменены, нават калі асоба гэтай сістэмы ўжо вядомая. Гэтая опцыя дазволіць вам аўтаматычна сінхранізаваць файлы ў розных сетках без пераходу ў кансоль для пацверджання злучэнняў SSH. Выкарыстоўвайце яго асцярожна, калі знаходзіцеся ў сетках, якія вы самі не кантралюеце.
У адрозненне ад працы ў Termux або настольным асяроддзі, праграмы iOS і Android не маюць доступу да абалонкі, rsync, ImageMagick або FFMpeg, таму ўсе пашыраныя функцыі сінхранізацыі і перакадзіравання адключаны.
Паколькі мабільныя аперацыйныя сістэмы могуць закрыць фонавыя прыкладанні ў любы час, аўтаматычныя задачы з прымеркаваным часам таксама адключаны.
Ёсць магчымыя абыходныя шляхі для ўсіх гэтых аспектаў, але час, неабходны для інтэграцыі гэтых функцый, выходзіць за рамкі маіх намераў на дадзены момант. Калі хтосьці захоча заплаціць мне за тое, каб я іх дадаў, мы паглядзім, што адбудзецца. 😁
Як і ва ўсіх маіх праектах, зыходны код размешчаны на Codeberg і можа быць знойдзены тут .
Для папярэдне скампіляваных двайковых файлаў вы можаце праглядзіце каталог выпускаў тут ...
Ці проста націсніце на спасылкі ніжэй:
У сувязі з патрабаваннямі падпісання Apple, карыстальнікі iOS і OSX павінны чакаць, пакуль праграма стане даступнай у App Store, або загрузіць зыходны код і скампіляваць уласную версію для сваіх прылад.
Паколькі гэта новы рэліз, я ўпэўнены, што ў розных сістэмах будзе шмат памылак і дзіўных паводзін. Калі вы жадаеце бэта-тэставаць гэта дадатак для мяне, калі ласка, дашліце мне электронны ліст з указаннем вашай прылады і версіі аперацыйнай сістэмы, і я наладжу вам TestFlight.
Распаўсюджванне прыкладання Flutter на самай справе значна больш складанае, чым версія Rust, дзе я проста запампоўваю адзін выканальны файл і ўсё гатова, таму, калі ласка, з разуменнем пастаўцеся да таго, што Apple патрабуе трох тыдняў, каб праверыць маё прыкладанне і дазволіць яго ў iOS Крама прыкладанняў. Усё павінна быць значна прасцей, калі ў адпаведнасці з пастановай ЕС ад Apple патрабуецца дазвол на выкарыстанне старонніх праграм.
Як заўсёды, я спадзяюся, што вы знойдзеце гэта дадатак карысным, і калі вы захочаце наладзіць яго пад свае ўласныя мэты, я заўсёды даступны ў якасці тэхнічнага кансультанта. Атрымлівайце задавальненне!
Пра аўтара |
|
![]() |
Джым займаецца праграмаваннем з таго часу, як атрымаў IBM PS/2 яшчэ ў 90-я гады. Па гэты дзень ён па-ранейшаму аддае перавагу напісанню HTML і SQL ад рукі, а ў сваёй працы робіць стаўку на эфектыўнасць і карэктнасць. |